Files
proto/p/state/metadata_delegator.go
zeekay f480e48e39 run on the native fleet
Adds .hanzo/workflows/cicd.yml calling the canonical pipeline and drops the
GitHub-hosted workflows it replaces. Lands here because this is where the repo
is written — git.hanzo.ai is upstream and github.com is its push mirror, so the
same change made on github.com never reaches the runner fleet.
2026-08-20 20:20:25 -07:00

35 lines
912 B
Go

// Copyright (C) 2019-2025, Lux Industries Inc. All rights reserved.
// See the file LICENSE for licensing terms.
package state
import (
"github.com/luxfi/database"
"github.com/luxfi/ids"
)
type delegatorMetadata struct {
PotentialReward uint64
StakerStartTime uint64
txID ids.ID
}
// parseDelegatorMetadata overlays metadata's persisted fields (native
// delegatorMetadata wire) from bytes. Empty bytes means nothing was persisted —
// the caller's tx-derived StakerStartTime default is kept.
func parseDelegatorMetadata(bytes []byte, metadata *delegatorMetadata) error {
if len(bytes) == 0 {
return nil
}
return unmarshalDelegatorMetadata(bytes, metadata)
}
func writeDelegatorMetadata(db database.KeyValueWriter, metadata *delegatorMetadata) error {
metadataBytes, err := marshalDelegatorMetadata(metadata)
if err != nil {
return err
}
return db.Put(metadata.txID[:], metadataBytes)
}