Run NodesReferencevmsplatformvm

state

Package state is a generated GoMock package.

import "github.com/luxfi/node/vms/platformvm/state"

Package state is a generated GoMock package.

Package state is a generated GoMock package.

Package state is a generated GoMock package.

Package state is a generated GoMock package.

Package state is a generated GoMock package.

Functions

GetNextStakerChangeTime

func GetNextStakerChangeTime(
	config validatorfee.Config,
	state Chain,
	nextTime time.Time,
) (time.Time, error)

GetNextStakerChangeTime returns the next time a staker will be either added to or removed from the validator set. If the next staker change time is further in the future than [nextTime], then [nextTime] is returned.

NextBlockTime

func NextBlockTime(
	config validatorfee.Config,
	state Chain,
	clk *mockable.Clock,
) (time.Time, bool, error)

PickFeeCalculator

func PickFeeCalculator(config *config.Internal, state Chain) txfee.Calculator

PickFeeCalculator returns the dynamic fee calculator; the legacy simple (zero-fee) calculator is unreachable under activate-all-implicitly.

PickFeeCalculator does not modify [state].

Types

Chain

Chain collects all methods to manage the state of the chain for block execution.

CurrentStakers

Diff

func NewDiff(
	parentID ids.ID,
	stateVersions Versions,
) (Diff, error)
func NewDiffOn(parentState Chain) (Diff, error)

Expiry

ExpiryEntry

func (e ExpiryEntry) Compare(o ExpiryEntry) int
func (e ExpiryEntry) Less(o ExpiryEntry) bool
func (e *ExpiryEntry) Marshal() []byte
func (e *ExpiryEntry) Unmarshal(data []byte) error

L1Validator

L1Validator defines an LP-77 validator. For a given ValidationID, it is expected for ChainID, NodeID, PublicKey, RemainingBalanceOwner, DeactivationOwner, and StartTime to be constant.

func (v L1Validator) Compare(o L1Validator) int
func (v L1Validator) IsActive() bool
func (v L1Validator) Less(o L1Validator) bool

L1Validators

MockChain

MockChain is a mock of Chain interface.

func NewMockChain(ctrl *gomock.Controller) *MockChain
func (m *MockChain) AddChain(createChainTx *txs.Tx)
func (m *MockChain) AddNet(netID ids.ID)
func (m *MockChain) AddNetTransformation(transformNetTx *txs.Tx)
func (m *MockChain) AddRewardUTXO(txID ids.ID, arg1 *utxo.UTXO)
func (m *MockChain) AddTx(tx *txs.Tx, arg1 status.Status)
func (m *MockChain) AddUTXO(arg0 *utxo.UTXO)
func (m *MockChain) DeleteCurrentDelegator(staker *Staker)
func (m *MockChain) DeleteCurrentValidator(staker *Staker)
func (m *MockChain) DeleteExpiry(arg0 ExpiryEntry)
func (m *MockChain) DeletePendingDelegator(staker *Staker)
func (m *MockChain) DeletePendingValidator(staker *Staker)
func (m *MockChain) DeleteUTXO(utxoID ids.ID)
func (m *MockChain) EXPECT() *MockChainMockRecorder
func (m *MockChain) GetAccruedFees() uint64
func (m *MockChain) GetActiveL1ValidatorsIterator() (iterator.Iterator[L1Validator], error)
func (m *MockChain) GetChainIDByName(name string) (ids.ID, error)
func (m *MockChain) GetCurrentDelegatorIterator(chainID ids.ID, nodeID ids.NodeID) (iterator.Iterator[*Staker], error)
func (m *MockChain) GetCurrentStakerIterator() (iterator.Iterator[*Staker], error)
func (m *MockChain) GetCurrentSupply(chainID ids.ID) (uint64, error)
func (m *MockChain) GetCurrentValidator(netID ids.ID, nodeID ids.NodeID) (*Staker, error)
func (m *MockChain) GetDelegateeReward(netID ids.ID, nodeID ids.NodeID) (uint64, error)
func (m *MockChain) GetExpiryIterator() (iterator.Iterator[ExpiryEntry], error)
func (m *MockChain) GetFeeState() gas.State
func (m *MockChain) GetL1Validator(validationID ids.ID) (L1Validator, error)
func (m *MockChain) GetL1ValidatorExcess() gas.Gas
func (m *MockChain) GetNetOwner(netID ids.ID) (fx.Owner, error)
func (m *MockChain) GetNetToL1Conversion(chainID ids.ID) (NetToL1Conversion, error)
func (m *MockChain) GetNetTransformation(chainID ids.ID) (*txs.Tx, error)
func (m *MockChain) GetPendingDelegatorIterator(chainID ids.ID, nodeID ids.NodeID) (iterator.Iterator[*Staker], error)
func (m *MockChain) GetPendingStakerIterator() (iterator.Iterator[*Staker], error)
func (m *MockChain) GetPendingValidator(netID ids.ID, nodeID ids.NodeID) (*Staker, error)
func (m *MockChain) GetTimestamp() time.Time
func (m *MockChain) GetTx(txID ids.ID) (*txs.Tx, status.Status, error)
func (m *MockChain) GetUTXO(utxoID ids.ID) (*utxo.UTXO, error)
func (m *MockChain) HasExpiry(arg0 ExpiryEntry) (bool, error)
func (m *MockChain) HasL1Validator(chainID ids.ID, nodeID ids.NodeID) (bool, error)
func (m *MockChain) IsChainNameTaken(name string) bool
func (m *MockChain) NumActiveL1Validators() int
func (m *MockChain) PutCurrentDelegator(staker *Staker)
func (m *MockChain) PutCurrentValidator(staker *Staker) error
func (m *MockChain) PutExpiry(arg0 ExpiryEntry)
func (m *MockChain) PutL1Validator(validator L1Validator) error
func (m *MockChain) PutPendingDelegator(staker *Staker)
func (m *MockChain) PutPendingValidator(staker *Staker) error
func (m *MockChain) SetAccruedFees(f uint64)
func (m *MockChain) SetCurrentSupply(chainID ids.ID, cs uint64)
func (m *MockChain) SetDelegateeReward(netID ids.ID, nodeID ids.NodeID, amount uint64) error
func (m *MockChain) SetFeeState(f gas.State)
func (m *MockChain) SetL1ValidatorExcess(e gas.Gas)
func (m *MockChain) SetNetOwner(netID ids.ID, owner fx.Owner)
func (m *MockChain) SetNetToL1Conversion(chainID ids.ID, c NetToL1Conversion)
func (m *MockChain) SetTimestamp(tm time.Time)
func (m *MockChain) WeightOfL1Validators(chainID ids.ID) (uint64, error)

MockChainMockRecorder

MockChainMockRecorder is the mock recorder for MockChain.

func (mr *MockChainMockRecorder) AddChain(createChainTx any) *gomock.Call
func (mr *MockChainMockRecorder) AddNet(netID any) *gomock.Call
func (mr *MockChainMockRecorder) AddNetTransformation(transformNetTx any) *gomock.Call
func (mr *MockChainMockRecorder) AddRewardUTXO(txID, arg1 any) *gomock.Call
func (mr *MockChainMockRecorder) AddTx(tx, arg1 any) *gomock.Call
func (mr *MockChainMockRecorder) AddUTXO(arg0 any) *gomock.Call
func (mr *MockChainMockRecorder) DeleteCurrentDelegator(staker any) *gomock.Call
func (mr *MockChainMockRecorder) DeleteCurrentValidator(staker any) *gomock.Call
func (mr *MockChainMockRecorder) DeleteExpiry(arg0 any) *gomock.Call
func (mr *MockChainMockRecorder) DeletePendingDelegator(staker any) *gomock.Call
func (mr *MockChainMockRecorder) DeletePendingValidator(staker any) *gomock.Call
func (mr *MockChainMockRecorder) DeleteUTXO(utxoID any) *gomock.Call
func (mr *MockChainMockRecorder) GetAccruedFees() *gomock.Call
func (mr *MockChainMockRecorder) GetActiveL1ValidatorsIterator() *gomock.Call
func (mr *MockChainMockRecorder) GetChainIDByName(name any) *gomock.Call
func (mr *MockChainMockRecorder) GetCurrentDelegatorIterator(chainID, nodeID any) *gomock.Call
func (mr *MockChainMockRecorder) GetCurrentStakerIterator() *gomock.Call
func (mr *MockChainMockRecorder) GetCurrentSupply(chainID any) *gomock.Call
func (mr *MockChainMockRecorder) GetCurrentValidator(netID, nodeID any) *gomock.Call
func (mr *MockChainMockRecorder) GetDelegateeReward(netID, nodeID any) *gomock.Call
func (mr *MockChainMockRecorder) GetExpiryIterator() *gomock.Call
func (mr *MockChainMockRecorder) GetFeeState() *gomock.Call
func (mr *MockChainMockRecorder) GetL1Validator(validationID any) *gomock.Call
func (mr *MockChainMockRecorder) GetL1ValidatorExcess() *gomock.Call
func (mr *MockChainMockRecorder) GetNetOwner(netID any) *gomock.Call
func (mr *MockChainMockRecorder) GetNetToL1Conversion(chainID any) *gomock.Call
func (mr *MockChainMockRecorder) GetNetTransformation(chainID any) *gomock.Call
func (mr *MockChainMockRecorder) GetPendingDelegatorIterator(chainID, nodeID any) *gomock.Call
func (mr *MockChainMockRecorder) GetPendingStakerIterator() *gomock.Call
func (mr *MockChainMockRecorder) GetPendingValidator(netID, nodeID any) *gomock.Call
func (mr *MockChainMockRecorder) GetTimestamp() *gomock.Call
func (mr *MockChainMockRecorder) GetTx(txID any) *gomock.Call
func (mr *MockChainMockRecorder) GetUTXO(utxoID any) *gomock.Call
func (mr *MockChainMockRecorder) HasExpiry(arg0 any) *gomock.Call
func (mr *MockChainMockRecorder) HasL1Validator(chainID, nodeID any) *gomock.Call
func (mr *MockChainMockRecorder) IsChainNameTaken(name any) *gomock.Call
func (mr *MockChainMockRecorder) NumActiveL1Validators() *gomock.Call
func (mr *MockChainMockRecorder) PutCurrentDelegator(staker any) *gomock.Call
func (mr *MockChainMockRecorder) PutCurrentValidator(staker any) *gomock.Call
func (mr *MockChainMockRecorder) PutExpiry(arg0 any) *gomock.Call
func (mr *MockChainMockRecorder) PutL1Validator(validator any) *gomock.Call
func (mr *MockChainMockRecorder) PutPendingDelegator(staker any) *gomock.Call
func (mr *MockChainMockRecorder) PutPendingValidator(staker any) *gomock.Call
func (mr *MockChainMockRecorder) SetAccruedFees(f any) *gomock.Call
func (mr *MockChainMockRecorder) SetCurrentSupply(chainID, cs any) *gomock.Call
func (mr *MockChainMockRecorder) SetDelegateeReward(netID, nodeID, amount any) *gomock.Call
func (mr *MockChainMockRecorder) SetFeeState(f any) *gomock.Call
func (mr *MockChainMockRecorder) SetL1ValidatorExcess(e any) *gomock.Call
func (mr *MockChainMockRecorder) SetNetOwner(netID, owner any) *gomock.Call
func (mr *MockChainMockRecorder) SetNetToL1Conversion(chainID, c any) *gomock.Call
func (mr *MockChainMockRecorder) SetTimestamp(tm any) *gomock.Call
func (mr *MockChainMockRecorder) WeightOfL1Validators(chainID any) *gomock.Call

MockDiff

MockDiff is a mock of Diff interface.

func NewMockDiff(ctrl *gomock.Controller) *MockDiff
func (m *MockDiff) AddChain(createChainTx *txs.Tx)
func (m *MockDiff) AddNet(netID ids.ID)
func (m *MockDiff) AddNetTransformation(transformNetTx *txs.Tx)
func (m *MockDiff) AddRewardUTXO(txID ids.ID, arg1 *utxo.UTXO)
func (m *MockDiff) AddTx(tx *txs.Tx, arg1 status.Status)
func (m *MockDiff) AddUTXO(arg0 *utxo.UTXO)
func (m *MockDiff) Apply(arg0 Chain) error
func (m *MockDiff) DeleteCurrentDelegator(staker *Staker)
func (m *MockDiff) DeleteCurrentValidator(staker *Staker)
func (m *MockDiff) DeleteExpiry(arg0 ExpiryEntry)
func (m *MockDiff) DeletePendingDelegator(staker *Staker)
func (m *MockDiff) DeletePendingValidator(staker *Staker)
func (m *MockDiff) DeleteUTXO(utxoID ids.ID)
func (m *MockDiff) EXPECT() *MockDiffMockRecorder
func (m *MockDiff) GetAccruedFees() uint64
func (m *MockDiff) GetActiveL1ValidatorsIterator() (iterator.Iterator[L1Validator], error)
func (m *MockDiff) GetChainIDByName(name string) (ids.ID, error)
func (m *MockDiff) GetCurrentDelegatorIterator(chainID ids.ID, nodeID ids.NodeID) (iterator.Iterator[*Staker], error)
func (m *MockDiff) GetCurrentStakerIterator() (iterator.Iterator[*Staker], error)
func (m *MockDiff) GetCurrentSupply(chainID ids.ID) (uint64, error)
func (m *MockDiff) GetCurrentValidator(netID ids.ID, nodeID ids.NodeID) (*Staker, error)
func (m *MockDiff) GetDelegateeReward(netID ids.ID, nodeID ids.NodeID) (uint64, error)
func (m *MockDiff) GetExpiryIterator() (iterator.Iterator[ExpiryEntry], error)
func (m *MockDiff) GetFeeState() gas.State
func (m *MockDiff) GetL1Validator(validationID ids.ID) (L1Validator, error)
func (m *MockDiff) GetL1ValidatorExcess() gas.Gas
func (m *MockDiff) GetNetOwner(netID ids.ID) (fx.Owner, error)
func (m *MockDiff) GetNetToL1Conversion(chainID ids.ID) (NetToL1Conversion, error)
func (m *MockDiff) GetNetTransformation(chainID ids.ID) (*txs.Tx, error)
func (m *MockDiff) GetPendingDelegatorIterator(chainID ids.ID, nodeID ids.NodeID) (iterator.Iterator[*Staker], error)
func (m *MockDiff) GetPendingStakerIterator() (iterator.Iterator[*Staker], error)
func (m *MockDiff) GetPendingValidator(netID ids.ID, nodeID ids.NodeID) (*Staker, error)
func (m *MockDiff) GetTimestamp() time.Time
func (m *MockDiff) GetTx(txID ids.ID) (*txs.Tx, status.Status, error)
func (m *MockDiff) GetUTXO(utxoID ids.ID) (*utxo.UTXO, error)
func (m *MockDiff) HasExpiry(arg0 ExpiryEntry) (bool, error)
func (m *MockDiff) HasL1Validator(chainID ids.ID, nodeID ids.NodeID) (bool, error)
func (m *MockDiff) IsChainNameTaken(name string) bool
func (m *MockDiff) NumActiveL1Validators() int
func (m *MockDiff) PutCurrentDelegator(staker *Staker)
func (m *MockDiff) PutCurrentValidator(staker *Staker) error
func (m *MockDiff) PutExpiry(arg0 ExpiryEntry)
func (m *MockDiff) PutL1Validator(validator L1Validator) error
func (m *MockDiff) PutPendingDelegator(staker *Staker)
func (m *MockDiff) PutPendingValidator(staker *Staker) error
func (m *MockDiff) SetAccruedFees(f uint64)
func (m *MockDiff) SetCurrentSupply(chainID ids.ID, cs uint64)
func (m *MockDiff) SetDelegateeReward(netID ids.ID, nodeID ids.NodeID, amount uint64) error
func (m *MockDiff) SetFeeState(f gas.State)
func (m *MockDiff) SetL1ValidatorExcess(e gas.Gas)
func (m *MockDiff) SetNetOwner(netID ids.ID, owner fx.Owner)
func (m *MockDiff) SetNetToL1Conversion(chainID ids.ID, c NetToL1Conversion)
func (m *MockDiff) SetTimestamp(tm time.Time)
func (m *MockDiff) WeightOfL1Validators(chainID ids.ID) (uint64, error)

MockDiffMockRecorder

MockDiffMockRecorder is the mock recorder for MockDiff.

func (mr *MockDiffMockRecorder) AddChain(createChainTx any) *gomock.Call
func (mr *MockDiffMockRecorder) AddNet(netID any) *gomock.Call
func (mr *MockDiffMockRecorder) AddNetTransformation(transformNetTx any) *gomock.Call
func (mr *MockDiffMockRecorder) AddRewardUTXO(txID, arg1 any) *gomock.Call
func (mr *MockDiffMockRecorder) AddTx(tx, arg1 any) *gomock.Call
func (mr *MockDiffMockRecorder) AddUTXO(arg0 any) *gomock.Call
func (mr *MockDiffMockRecorder) Apply(arg0 any) *gomock.Call
func (mr *MockDiffMockRecorder) DeleteCurrentDelegator(staker any) *gomock.Call
func (mr *MockDiffMockRecorder) DeleteCurrentValidator(staker any) *gomock.Call
func (mr *MockDiffMockRecorder) DeleteExpiry(arg0 any) *gomock.Call
func (mr *MockDiffMockRecorder) DeletePendingDelegator(staker any) *gomock.Call
func (mr *MockDiffMockRecorder) DeletePendingValidator(staker any) *gomock.Call
func (mr *MockDiffMockRecorder) DeleteUTXO(utxoID any) *gomock.Call
func (mr *MockDiffMockRecorder) GetAccruedFees() *gomock.Call
func (mr *MockDiffMockRecorder) GetActiveL1ValidatorsIterator() *gomock.Call
func (mr *MockDiffMockRecorder) GetChainIDByName(name any) *gomock.Call
func (mr *MockDiffMockRecorder) GetCurrentDelegatorIterator(chainID, nodeID any) *gomock.Call
func (mr *MockDiffMockRecorder) GetCurrentStakerIterator() *gomock.Call
func (mr *MockDiffMockRecorder) GetCurrentSupply(chainID any) *gomock.Call
func (mr *MockDiffMockRecorder) GetCurrentValidator(netID, nodeID any) *gomock.Call
func (mr *MockDiffMockRecorder) GetDelegateeReward(netID, nodeID any) *gomock.Call
func (mr *MockDiffMockRecorder) GetExpiryIterator() *gomock.Call
func (mr *MockDiffMockRecorder) GetFeeState() *gomock.Call
func (mr *MockDiffMockRecorder) GetL1Validator(validationID any) *gomock.Call
func (mr *MockDiffMockRecorder) GetL1ValidatorExcess() *gomock.Call
func (mr *MockDiffMockRecorder) GetNetOwner(netID any) *gomock.Call
func (mr *MockDiffMockRecorder) GetNetToL1Conversion(chainID any) *gomock.Call
func (mr *MockDiffMockRecorder) GetNetTransformation(chainID any) *gomock.Call
func (mr *MockDiffMockRecorder) GetPendingDelegatorIterator(chainID, nodeID any) *gomock.Call
func (mr *MockDiffMockRecorder) GetPendingStakerIterator() *gomock.Call
func (mr *MockDiffMockRecorder) GetPendingValidator(netID, nodeID any) *gomock.Call
func (mr *MockDiffMockRecorder) GetTimestamp() *gomock.Call
func (mr *MockDiffMockRecorder) GetTx(txID any) *gomock.Call
func (mr *MockDiffMockRecorder) GetUTXO(utxoID any) *gomock.Call
func (mr *MockDiffMockRecorder) HasExpiry(arg0 any) *gomock.Call
func (mr *MockDiffMockRecorder) HasL1Validator(chainID, nodeID any) *gomock.Call
func (mr *MockDiffMockRecorder) IsChainNameTaken(name any) *gomock.Call
func (mr *MockDiffMockRecorder) NumActiveL1Validators() *gomock.Call
func (mr *MockDiffMockRecorder) PutCurrentDelegator(staker any) *gomock.Call
func (mr *MockDiffMockRecorder) PutCurrentValidator(staker any) *gomock.Call
func (mr *MockDiffMockRecorder) PutExpiry(arg0 any) *gomock.Call
func (mr *MockDiffMockRecorder) PutL1Validator(validator any) *gomock.Call
func (mr *MockDiffMockRecorder) PutPendingDelegator(staker any) *gomock.Call
func (mr *MockDiffMockRecorder) PutPendingValidator(staker any) *gomock.Call
func (mr *MockDiffMockRecorder) SetAccruedFees(f any) *gomock.Call
func (mr *MockDiffMockRecorder) SetCurrentSupply(chainID, cs any) *gomock.Call
func (mr *MockDiffMockRecorder) SetDelegateeReward(netID, nodeID, amount any) *gomock.Call
func (mr *MockDiffMockRecorder) SetFeeState(f any) *gomock.Call
func (mr *MockDiffMockRecorder) SetL1ValidatorExcess(e any) *gomock.Call
func (mr *MockDiffMockRecorder) SetNetOwner(netID, owner any) *gomock.Call
func (mr *MockDiffMockRecorder) SetNetToL1Conversion(chainID, c any) *gomock.Call
func (mr *MockDiffMockRecorder) SetTimestamp(tm any) *gomock.Call
func (mr *MockDiffMockRecorder) WeightOfL1Validators(chainID any) *gomock.Call

MockStakerIterator

MockStakerIterator is a mock of StakerIterator interface.

func NewMockStakerIterator(ctrl *gomock.Controller) *MockStakerIterator
func (m *MockStakerIterator) EXPECT() *MockStakerIteratorMockRecorder
func (m *MockStakerIterator) Next() bool
func (m *MockStakerIterator) Release()
func (m *MockStakerIterator) Value() *Staker

MockStakerIteratorMockRecorder

MockStakerIteratorMockRecorder is the mock recorder for MockStakerIterator.

func (mr *MockStakerIteratorMockRecorder) Next() *gomock.Call
func (mr *MockStakerIteratorMockRecorder) Release() *gomock.Call
func (mr *MockStakerIteratorMockRecorder) Value() *gomock.Call

MockState

MockState is a mock of State interface.

func NewMockState(ctrl *gomock.Controller) *MockState
func (m *MockState) Abort()
func (m *MockState) AddChain(createChainTx *txs.Tx)
func (m *MockState) AddNet(netID ids.ID)
func (m *MockState) AddNetTransformation(transformNetTx *txs.Tx)
func (m *MockState) AddRewardUTXO(txID ids.ID, arg1 *utxo.UTXO)
func (m *MockState) AddStatelessBlock(arg0 block.Block)
func (m *MockState) AddTx(tx *txs.Tx, arg1 status.Status)
func (m *MockState) AddUTXO(arg0 *utxo.UTXO)
func (m *MockState) ApplyValidatorPublicKeyDiffs(ctx context.Context, arg1 map[ids.NodeID]*validators.GetValidatorOutput, startHeight, endHeight uint64, chainID ids.ID) error
func (m *MockState) ApplyValidatorWeightDiffs(ctx context.Context, arg1 map[ids.NodeID]*validators.GetValidatorOutput, startHeight, endHeight uint64, netID ids.ID) error
func (m *MockState) Checksum() ids.ID
func (m *MockState) Close() error
func (m *MockState) Commit() error
func (m *MockState) CommitBatch() (database.Batch, error)
func (m *MockState) DeleteCurrentDelegator(staker *Staker)
func (m *MockState) DeleteCurrentValidator(staker *Staker)
func (m *MockState) DeleteExpiry(arg0 ExpiryEntry)
func (m *MockState) DeletePendingDelegator(staker *Staker)
func (m *MockState) DeletePendingValidator(staker *Staker)
func (m *MockState) DeleteUTXO(utxoID ids.ID)
func (m *MockState) EXPECT() *MockStateMockRecorder
func (m *MockState) GetAccruedFees() uint64
func (m *MockState) GetActiveL1ValidatorsIterator() (iterator.Iterator[L1Validator], error)
func (m *MockState) GetBlockIDAtHeight(height uint64) (ids.ID, error)
func (m *MockState) GetChainIDByName(name string) (ids.ID, error)
func (m *MockState) GetChainIDs() ([]ids.ID, error)
func (m *MockState) GetChains(netID ids.ID) ([]*txs.Tx, error)
func (m *MockState) GetCurrentDelegatorIterator(chainID ids.ID, nodeID ids.NodeID) (iterator.Iterator[*Staker], error)
func (m *MockState) GetCurrentStakerIterator() (iterator.Iterator[*Staker], error)
func (m *MockState) GetCurrentSupply(chainID ids.ID) (uint64, error)
func (m *MockState) GetCurrentValidator(netID ids.ID, nodeID ids.NodeID) (*Staker, error)
func (m *MockState) GetCurrentValidators(ctx context.Context, chainID ids.ID) ([]*Staker, []L1Validator, uint64, error)
func (m *MockState) GetDelegateeReward(netID ids.ID, nodeID ids.NodeID) (uint64, error)
func (m *MockState) GetExpiryIterator() (iterator.Iterator[ExpiryEntry], error)
func (m *MockState) GetFeeState() gas.State
func (m *MockState) GetL1Validator(validationID ids.ID) (L1Validator, error)
func (m *MockState) GetL1ValidatorExcess() gas.Gas
func (m *MockState) GetLastAccepted() ids.ID
func (m *MockState) GetNetOwner(netID ids.ID) (fx.Owner, error)
func (m *MockState) GetNetToL1Conversion(chainID ids.ID) (NetToL1Conversion, error)
func (m *MockState) GetNetTransformation(chainID ids.ID) (*txs.Tx, error)
func (m *MockState) GetPendingDelegatorIterator(chainID ids.ID, nodeID ids.NodeID) (iterator.Iterator[*Staker], error)
func (m *MockState) GetPendingStakerIterator() (iterator.Iterator[*Staker], error)
func (m *MockState) GetPendingValidator(netID ids.ID, nodeID ids.NodeID) (*Staker, error)
func (m *MockState) GetRewardUTXOs(txID ids.ID) ([]*utxo.UTXO, error)
func (m *MockState) GetStartTime(nodeID ids.NodeID, netID ids.ID) (time.Time, error)
func (m *MockState) GetStatelessBlock(blockID ids.ID) (block.Block, error)
func (m *MockState) GetTimestamp() time.Time
func (m *MockState) GetTx(txID ids.ID) (*txs.Tx, status.Status, error)
func (m *MockState) GetUTXO(utxoID ids.ID) (*utxo.UTXO, error)
func (m *MockState) GetUptime(nodeID ids.NodeID, netID ids.ID) (time.Duration, time.Duration, error)
func (m *MockState) HasExpiry(arg0 ExpiryEntry) (bool, error)
func (m *MockState) HasL1Validator(chainID ids.ID, nodeID ids.NodeID) (bool, error)
func (m *MockState) IsChainNameTaken(name string) bool
func (m *MockState) NumActiveL1Validators() int
func (m *MockState) PutCurrentDelegator(staker *Staker)
func (m *MockState) PutCurrentValidator(staker *Staker) error
func (m *MockState) PutExpiry(arg0 ExpiryEntry)
func (m *MockState) PutL1Validator(validator L1Validator) error
func (m *MockState) PutPendingDelegator(staker *Staker)
func (m *MockState) PutPendingValidator(staker *Staker) error
func (m *MockState) ReindexBlocks(lock sync.Locker, arg1 log.Logger) error
func (m *MockState) SetAccruedFees(f uint64)
func (m *MockState) SetCurrentSupply(chainID ids.ID, cs uint64)
func (m *MockState) SetDelegateeReward(netID ids.ID, nodeID ids.NodeID, amount uint64) error
func (m *MockState) SetFeeState(f gas.State)
func (m *MockState) SetHeight(height uint64)
func (m *MockState) SetL1ValidatorExcess(e gas.Gas)
func (m *MockState) SetLastAccepted(blkID ids.ID)
func (m *MockState) SetNetOwner(netID ids.ID, owner fx.Owner)
func (m *MockState) SetNetToL1Conversion(chainID ids.ID, c NetToL1Conversion)
func (m *MockState) SetTimestamp(tm time.Time)
func (m *MockState) SetUptime(nodeID ids.NodeID, netID ids.ID, uptime time.Duration, lastUpdated time.Time) error
func (m *MockState) UTXOIDs(addr []byte, previous ids.ID, limit int) ([]ids.ID, error)
func (m *MockState) WeightOfL1Validators(chainID ids.ID) (uint64, error)

MockStateMockRecorder

MockStateMockRecorder is the mock recorder for MockState.

func (mr *MockStateMockRecorder) Abort() *gomock.Call
func (mr *MockStateMockRecorder) AddChain(createChainTx any) *gomock.Call
func (mr *MockStateMockRecorder) AddNet(netID any) *gomock.Call
func (mr *MockStateMockRecorder) AddNetTransformation(transformNetTx any) *gomock.Call
func (mr *MockStateMockRecorder) AddRewardUTXO(txID, arg1 any) *gomock.Call
func (mr *MockStateMockRecorder) AddStatelessBlock(arg0 any) *gomock.Call
func (mr *MockStateMockRecorder) AddTx(tx, arg1 any) *gomock.Call
func (mr *MockStateMockRecorder) AddUTXO(arg0 any) *gomock.Call
func (mr *MockStateMockRecorder) ApplyValidatorPublicKeyDiffs(ctx, arg1, startHeight, endHeight, chainID any) *gomock.Call
func (mr *MockStateMockRecorder) ApplyValidatorWeightDiffs(ctx, arg1, startHeight, endHeight, netID any) *gomock.Call
func (mr *MockStateMockRecorder) Checksum() *gomock.Call
func (mr *MockStateMockRecorder) Close() *gomock.Call
func (mr *MockStateMockRecorder) Commit() *gomock.Call
func (mr *MockStateMockRecorder) CommitBatch() *gomock.Call
func (mr *MockStateMockRecorder) DeleteCurrentDelegator(staker any) *gomock.Call
func (mr *MockStateMockRecorder) DeleteCurrentValidator(staker any) *gomock.Call
func (mr *MockStateMockRecorder) DeleteExpiry(arg0 any) *gomock.Call
func (mr *MockStateMockRecorder) DeletePendingDelegator(staker any) *gomock.Call
func (mr *MockStateMockRecorder) DeletePendingValidator(staker any) *gomock.Call
func (mr *MockStateMockRecorder) DeleteUTXO(utxoID any) *gomock.Call
func (mr *MockStateMockRecorder) GetAccruedFees() *gomock.Call
func (mr *MockStateMockRecorder) GetActiveL1ValidatorsIterator() *gomock.Call
func (mr *MockStateMockRecorder) GetBlockIDAtHeight(height any) *gomock.Call
func (mr *MockStateMockRecorder) GetChainIDByName(name any) *gomock.Call
func (mr *MockStateMockRecorder) GetChainIDs() *gomock.Call
func (mr *MockStateMockRecorder) GetChains(netID any) *gomock.Call
func (mr *MockStateMockRecorder) GetCurrentDelegatorIterator(chainID, nodeID any) *gomock.Call
func (mr *MockStateMockRecorder) GetCurrentStakerIterator() *gomock.Call
func (mr *MockStateMockRecorder) GetCurrentSupply(chainID any) *gomock.Call
func (mr *MockStateMockRecorder) GetCurrentValidator(netID, nodeID any) *gomock.Call
func (mr *MockStateMockRecorder) GetCurrentValidators(ctx, chainID any) *gomock.Call
func (mr *MockStateMockRecorder) GetDelegateeReward(netID, nodeID any) *gomock.Call
func (mr *MockStateMockRecorder) GetExpiryIterator() *gomock.Call
func (mr *MockStateMockRecorder) GetFeeState() *gomock.Call
func (mr *MockStateMockRecorder) GetL1Validator(validationID any) *gomock.Call
func (mr *MockStateMockRecorder) GetL1ValidatorExcess() *gomock.Call
func (mr *MockStateMockRecorder) GetLastAccepted() *gomock.Call
func (mr *MockStateMockRecorder) GetNetOwner(netID any) *gomock.Call
func (mr *MockStateMockRecorder) GetNetToL1Conversion(chainID any) *gomock.Call
func (mr *MockStateMockRecorder) GetNetTransformation(chainID any) *gomock.Call
func (mr *MockStateMockRecorder) GetPendingDelegatorIterator(chainID, nodeID any) *gomock.Call
func (mr *MockStateMockRecorder) GetPendingStakerIterator() *gomock.Call
func (mr *MockStateMockRecorder) GetPendingValidator(netID, nodeID any) *gomock.Call
func (mr *MockStateMockRecorder) GetRewardUTXOs(txID any) *gomock.Call
func (mr *MockStateMockRecorder) GetStartTime(nodeID, netID any) *gomock.Call
func (mr *MockStateMockRecorder) GetStatelessBlock(blockID any) *gomock.Call
func (mr *MockStateMockRecorder) GetTimestamp() *gomock.Call
func (mr *MockStateMockRecorder) GetTx(txID any) *gomock.Call
func (mr *MockStateMockRecorder) GetUTXO(utxoID any) *gomock.Call
func (mr *MockStateMockRecorder) GetUptime(nodeID, netID any) *gomock.Call
func (mr *MockStateMockRecorder) HasExpiry(arg0 any) *gomock.Call
func (mr *MockStateMockRecorder) HasL1Validator(chainID, nodeID any) *gomock.Call
func (mr *MockStateMockRecorder) IsChainNameTaken(name any) *gomock.Call
func (mr *MockStateMockRecorder) NumActiveL1Validators() *gomock.Call
func (mr *MockStateMockRecorder) PutCurrentDelegator(staker any) *gomock.Call
func (mr *MockStateMockRecorder) PutCurrentValidator(staker any) *gomock.Call
func (mr *MockStateMockRecorder) PutExpiry(arg0 any) *gomock.Call
func (mr *MockStateMockRecorder) PutL1Validator(validator any) *gomock.Call
func (mr *MockStateMockRecorder) PutPendingDelegator(staker any) *gomock.Call
func (mr *MockStateMockRecorder) PutPendingValidator(staker any) *gomock.Call
func (mr *MockStateMockRecorder) ReindexBlocks(lock, arg1 any) *gomock.Call
func (mr *MockStateMockRecorder) SetAccruedFees(f any) *gomock.Call
func (mr *MockStateMockRecorder) SetCurrentSupply(chainID, cs any) *gomock.Call
func (mr *MockStateMockRecorder) SetDelegateeReward(netID, nodeID, amount any) *gomock.Call
func (mr *MockStateMockRecorder) SetFeeState(f any) *gomock.Call
func (mr *MockStateMockRecorder) SetHeight(height any) *gomock.Call
func (mr *MockStateMockRecorder) SetL1ValidatorExcess(e any) *gomock.Call
func (mr *MockStateMockRecorder) SetLastAccepted(blkID any) *gomock.Call
func (mr *MockStateMockRecorder) SetNetOwner(netID, owner any) *gomock.Call
func (mr *MockStateMockRecorder) SetNetToL1Conversion(chainID, c any) *gomock.Call
func (mr *MockStateMockRecorder) SetTimestamp(tm any) *gomock.Call
func (mr *MockStateMockRecorder) SetUptime(nodeID, netID, uptime, lastUpdated any) *gomock.Call
func (mr *MockStateMockRecorder) UTXOIDs(addr, previous, limit any) *gomock.Call
func (mr *MockStateMockRecorder) WeightOfL1Validators(chainID any) *gomock.Call

MockVersions

MockVersions is a mock of Versions interface.

func NewMockVersions(ctrl *gomock.Controller) *MockVersions
func (m *MockVersions) EXPECT() *MockVersionsMockRecorder
func (m *MockVersions) GetState(blkID ids.ID) (Chain, bool)

MockVersionsMockRecorder

MockVersionsMockRecorder is the mock recorder for MockVersions.

func (mr *MockVersionsMockRecorder) GetState(blkID any) *gomock.Call

NetToL1Conversion

PendingStakers

Staker

Staker contains all information required to represent a validator or delegator in the current and pending validator sets. Invariant: Staker's size is bounded to prevent OOM DoS attacks.

func NewCurrentStaker(
	txID ids.ID,
	staker txs.Staker,
	startTime time.Time,
	potentialReward uint64,
) (*Staker, error)
func NewPendingStaker(txID ids.ID, staker txs.ScheduledStaker) (*Staker, error)
func (s *Staker) Less(than *Staker) bool

StakerDiffIterator

StakerDiffIterator is an iterator that iterates over the events that will be performed on the current staker set.

There are two event types affecting current staker set, removal of an existing staker and addition of a new staker from the pending set.

The ordering of operations is:

  • Staker operations are performed in order of their [NextTime].
  • If operations have the same [NextTime], stakers are first added to the current staker set, then removed.
  • Further ties are broken by *Staker.Less(), returning the lesser staker first.
func NewStakerDiffIterator(currentIterator, pendingIterator iterator.Iterator[*Staker]) StakerDiffIterator

StakerIterator

StakerIterator is an iterator for Staker objects. Iterators should be released when they are no longer needed.

func NewMaskedIterator(parentIterator StakerIterator, maskedStakers map[ids.ID]*Staker) StakerIterator
func NewMergedIterator(stakers ...StakerIterator) StakerIterator
func NewTreeIterator(tree *btree.BTreeG[*Staker]) StakerIterator

Stakers

State

func New(
	db database.Database,
	genesisBytes []byte,
	metricsReg metric.Registerer,
	validators validators.Manager,
	upgrades upgrade.Config,
	execCfg *config.Config,
	rt *runtime.Runtime,
	metrics metrics.Metrics,
	rewards reward.Calculator,
) (State, error)

ValidatorWeightDiff

func (v *ValidatorWeightDiff) Add(amount uint64) error
func (v *ValidatorWeightDiff) Sub(amount uint64) error

Versions