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.CalculatorPickFeeCalculator 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) intfunc (e ExpiryEntry) Less(o ExpiryEntry) boolfunc (e *ExpiryEntry) Marshal() []bytefunc (e *ExpiryEntry) Unmarshal(data []byte) errorL1Validator
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) intfunc (v L1Validator) IsActive() boolfunc (v L1Validator) Less(o L1Validator) boolL1Validators
MockChain
MockChain is a mock of Chain interface.
func NewMockChain(ctrl *gomock.Controller) *MockChainfunc (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() *MockChainMockRecorderfunc (m *MockChain) GetAccruedFees() uint64func (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.Statefunc (m *MockChain) GetL1Validator(validationID ids.ID) (L1Validator, error)func (m *MockChain) GetL1ValidatorExcess() gas.Gasfunc (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.Timefunc (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) boolfunc (m *MockChain) NumActiveL1Validators() intfunc (m *MockChain) PutCurrentDelegator(staker *Staker)func (m *MockChain) PutCurrentValidator(staker *Staker) errorfunc (m *MockChain) PutExpiry(arg0 ExpiryEntry)func (m *MockChain) PutL1Validator(validator L1Validator) errorfunc (m *MockChain) PutPendingDelegator(staker *Staker)func (m *MockChain) PutPendingValidator(staker *Staker) errorfunc (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) errorfunc (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.Callfunc (mr *MockChainMockRecorder) AddNet(netID any) *gomock.Callfunc (mr *MockChainMockRecorder) AddNetTransformation(transformNetTx any) *gomock.Callfunc (mr *MockChainMockRecorder) AddRewardUTXO(txID, arg1 any) *gomock.Callfunc (mr *MockChainMockRecorder) AddTx(tx, arg1 any) *gomock.Callfunc (mr *MockChainMockRecorder) AddUTXO(arg0 any) *gomock.Callfunc (mr *MockChainMockRecorder) DeleteCurrentDelegator(staker any) *gomock.Callfunc (mr *MockChainMockRecorder) DeleteCurrentValidator(staker any) *gomock.Callfunc (mr *MockChainMockRecorder) DeleteExpiry(arg0 any) *gomock.Callfunc (mr *MockChainMockRecorder) DeletePendingDelegator(staker any) *gomock.Callfunc (mr *MockChainMockRecorder) DeletePendingValidator(staker any) *gomock.Callfunc (mr *MockChainMockRecorder) DeleteUTXO(utxoID any) *gomock.Callfunc (mr *MockChainMockRecorder) GetAccruedFees() *gomock.Callfunc (mr *MockChainMockRecorder) GetActiveL1ValidatorsIterator() *gomock.Callfunc (mr *MockChainMockRecorder) GetChainIDByName(name any) *gomock.Callfunc (mr *MockChainMockRecorder) GetCurrentDelegatorIterator(chainID, nodeID any) *gomock.Callfunc (mr *MockChainMockRecorder) GetCurrentStakerIterator() *gomock.Callfunc (mr *MockChainMockRecorder) GetCurrentSupply(chainID any) *gomock.Callfunc (mr *MockChainMockRecorder) GetCurrentValidator(netID, nodeID any) *gomock.Callfunc (mr *MockChainMockRecorder) GetDelegateeReward(netID, nodeID any) *gomock.Callfunc (mr *MockChainMockRecorder) GetExpiryIterator() *gomock.Callfunc (mr *MockChainMockRecorder) GetFeeState() *gomock.Callfunc (mr *MockChainMockRecorder) GetL1Validator(validationID any) *gomock.Callfunc (mr *MockChainMockRecorder) GetL1ValidatorExcess() *gomock.Callfunc (mr *MockChainMockRecorder) GetNetOwner(netID any) *gomock.Callfunc (mr *MockChainMockRecorder) GetNetToL1Conversion(chainID any) *gomock.Callfunc (mr *MockChainMockRecorder) GetNetTransformation(chainID any) *gomock.Callfunc (mr *MockChainMockRecorder) GetPendingDelegatorIterator(chainID, nodeID any) *gomock.Callfunc (mr *MockChainMockRecorder) GetPendingStakerIterator() *gomock.Callfunc (mr *MockChainMockRecorder) GetPendingValidator(netID, nodeID any) *gomock.Callfunc (mr *MockChainMockRecorder) GetTimestamp() *gomock.Callfunc (mr *MockChainMockRecorder) GetTx(txID any) *gomock.Callfunc (mr *MockChainMockRecorder) GetUTXO(utxoID any) *gomock.Callfunc (mr *MockChainMockRecorder) HasExpiry(arg0 any) *gomock.Callfunc (mr *MockChainMockRecorder) HasL1Validator(chainID, nodeID any) *gomock.Callfunc (mr *MockChainMockRecorder) IsChainNameTaken(name any) *gomock.Callfunc (mr *MockChainMockRecorder) NumActiveL1Validators() *gomock.Callfunc (mr *MockChainMockRecorder) PutCurrentDelegator(staker any) *gomock.Callfunc (mr *MockChainMockRecorder) PutCurrentValidator(staker any) *gomock.Callfunc (mr *MockChainMockRecorder) PutExpiry(arg0 any) *gomock.Callfunc (mr *MockChainMockRecorder) PutL1Validator(validator any) *gomock.Callfunc (mr *MockChainMockRecorder) PutPendingDelegator(staker any) *gomock.Callfunc (mr *MockChainMockRecorder) PutPendingValidator(staker any) *gomock.Callfunc (mr *MockChainMockRecorder) SetAccruedFees(f any) *gomock.Callfunc (mr *MockChainMockRecorder) SetCurrentSupply(chainID, cs any) *gomock.Callfunc (mr *MockChainMockRecorder) SetDelegateeReward(netID, nodeID, amount any) *gomock.Callfunc (mr *MockChainMockRecorder) SetFeeState(f any) *gomock.Callfunc (mr *MockChainMockRecorder) SetL1ValidatorExcess(e any) *gomock.Callfunc (mr *MockChainMockRecorder) SetNetOwner(netID, owner any) *gomock.Callfunc (mr *MockChainMockRecorder) SetNetToL1Conversion(chainID, c any) *gomock.Callfunc (mr *MockChainMockRecorder) SetTimestamp(tm any) *gomock.Callfunc (mr *MockChainMockRecorder) WeightOfL1Validators(chainID any) *gomock.CallMockDiff
MockDiff is a mock of Diff interface.
func NewMockDiff(ctrl *gomock.Controller) *MockDifffunc (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) errorfunc (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() *MockDiffMockRecorderfunc (m *MockDiff) GetAccruedFees() uint64func (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.Statefunc (m *MockDiff) GetL1Validator(validationID ids.ID) (L1Validator, error)func (m *MockDiff) GetL1ValidatorExcess() gas.Gasfunc (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.Timefunc (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) boolfunc (m *MockDiff) NumActiveL1Validators() intfunc (m *MockDiff) PutCurrentDelegator(staker *Staker)func (m *MockDiff) PutCurrentValidator(staker *Staker) errorfunc (m *MockDiff) PutExpiry(arg0 ExpiryEntry)func (m *MockDiff) PutL1Validator(validator L1Validator) errorfunc (m *MockDiff) PutPendingDelegator(staker *Staker)func (m *MockDiff) PutPendingValidator(staker *Staker) errorfunc (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) errorfunc (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.Callfunc (mr *MockDiffMockRecorder) AddNet(netID any) *gomock.Callfunc (mr *MockDiffMockRecorder) AddNetTransformation(transformNetTx any) *gomock.Callfunc (mr *MockDiffMockRecorder) AddRewardUTXO(txID, arg1 any) *gomock.Callfunc (mr *MockDiffMockRecorder) AddTx(tx, arg1 any) *gomock.Callfunc (mr *MockDiffMockRecorder) AddUTXO(arg0 any) *gomock.Callfunc (mr *MockDiffMockRecorder) Apply(arg0 any) *gomock.Callfunc (mr *MockDiffMockRecorder) DeleteCurrentDelegator(staker any) *gomock.Callfunc (mr *MockDiffMockRecorder) DeleteCurrentValidator(staker any) *gomock.Callfunc (mr *MockDiffMockRecorder) DeleteExpiry(arg0 any) *gomock.Callfunc (mr *MockDiffMockRecorder) DeletePendingDelegator(staker any) *gomock.Callfunc (mr *MockDiffMockRecorder) DeletePendingValidator(staker any) *gomock.Callfunc (mr *MockDiffMockRecorder) DeleteUTXO(utxoID any) *gomock.Callfunc (mr *MockDiffMockRecorder) GetAccruedFees() *gomock.Callfunc (mr *MockDiffMockRecorder) GetActiveL1ValidatorsIterator() *gomock.Callfunc (mr *MockDiffMockRecorder) GetChainIDByName(name any) *gomock.Callfunc (mr *MockDiffMockRecorder) GetCurrentDelegatorIterator(chainID, nodeID any) *gomock.Callfunc (mr *MockDiffMockRecorder) GetCurrentStakerIterator() *gomock.Callfunc (mr *MockDiffMockRecorder) GetCurrentSupply(chainID any) *gomock.Callfunc (mr *MockDiffMockRecorder) GetCurrentValidator(netID, nodeID any) *gomock.Callfunc (mr *MockDiffMockRecorder) GetDelegateeReward(netID, nodeID any) *gomock.Callfunc (mr *MockDiffMockRecorder) GetExpiryIterator() *gomock.Callfunc (mr *MockDiffMockRecorder) GetFeeState() *gomock.Callfunc (mr *MockDiffMockRecorder) GetL1Validator(validationID any) *gomock.Callfunc (mr *MockDiffMockRecorder) GetL1ValidatorExcess() *gomock.Callfunc (mr *MockDiffMockRecorder) GetNetOwner(netID any) *gomock.Callfunc (mr *MockDiffMockRecorder) GetNetToL1Conversion(chainID any) *gomock.Callfunc (mr *MockDiffMockRecorder) GetNetTransformation(chainID any) *gomock.Callfunc (mr *MockDiffMockRecorder) GetPendingDelegatorIterator(chainID, nodeID any) *gomock.Callfunc (mr *MockDiffMockRecorder) GetPendingStakerIterator() *gomock.Callfunc (mr *MockDiffMockRecorder) GetPendingValidator(netID, nodeID any) *gomock.Callfunc (mr *MockDiffMockRecorder) GetTimestamp() *gomock.Callfunc (mr *MockDiffMockRecorder) GetTx(txID any) *gomock.Callfunc (mr *MockDiffMockRecorder) GetUTXO(utxoID any) *gomock.Callfunc (mr *MockDiffMockRecorder) HasExpiry(arg0 any) *gomock.Callfunc (mr *MockDiffMockRecorder) HasL1Validator(chainID, nodeID any) *gomock.Callfunc (mr *MockDiffMockRecorder) IsChainNameTaken(name any) *gomock.Callfunc (mr *MockDiffMockRecorder) NumActiveL1Validators() *gomock.Callfunc (mr *MockDiffMockRecorder) PutCurrentDelegator(staker any) *gomock.Callfunc (mr *MockDiffMockRecorder) PutCurrentValidator(staker any) *gomock.Callfunc (mr *MockDiffMockRecorder) PutExpiry(arg0 any) *gomock.Callfunc (mr *MockDiffMockRecorder) PutL1Validator(validator any) *gomock.Callfunc (mr *MockDiffMockRecorder) PutPendingDelegator(staker any) *gomock.Callfunc (mr *MockDiffMockRecorder) PutPendingValidator(staker any) *gomock.Callfunc (mr *MockDiffMockRecorder) SetAccruedFees(f any) *gomock.Callfunc (mr *MockDiffMockRecorder) SetCurrentSupply(chainID, cs any) *gomock.Callfunc (mr *MockDiffMockRecorder) SetDelegateeReward(netID, nodeID, amount any) *gomock.Callfunc (mr *MockDiffMockRecorder) SetFeeState(f any) *gomock.Callfunc (mr *MockDiffMockRecorder) SetL1ValidatorExcess(e any) *gomock.Callfunc (mr *MockDiffMockRecorder) SetNetOwner(netID, owner any) *gomock.Callfunc (mr *MockDiffMockRecorder) SetNetToL1Conversion(chainID, c any) *gomock.Callfunc (mr *MockDiffMockRecorder) SetTimestamp(tm any) *gomock.Callfunc (mr *MockDiffMockRecorder) WeightOfL1Validators(chainID any) *gomock.CallMockStakerIterator
MockStakerIterator is a mock of StakerIterator interface.
func NewMockStakerIterator(ctrl *gomock.Controller) *MockStakerIteratorfunc (m *MockStakerIterator) EXPECT() *MockStakerIteratorMockRecorderfunc (m *MockStakerIterator) Next() boolfunc (m *MockStakerIterator) Release()func (m *MockStakerIterator) Value() *StakerMockStakerIteratorMockRecorder
MockStakerIteratorMockRecorder is the mock recorder for MockStakerIterator.
func (mr *MockStakerIteratorMockRecorder) Next() *gomock.Callfunc (mr *MockStakerIteratorMockRecorder) Release() *gomock.Callfunc (mr *MockStakerIteratorMockRecorder) Value() *gomock.CallMockState
MockState is a mock of State interface.
func NewMockState(ctrl *gomock.Controller) *MockStatefunc (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) errorfunc (m *MockState) ApplyValidatorWeightDiffs(ctx context.Context, arg1 map[ids.NodeID]*validators.GetValidatorOutput, startHeight, endHeight uint64, netID ids.ID) errorfunc (m *MockState) Checksum() ids.IDfunc (m *MockState) Close() errorfunc (m *MockState) Commit() errorfunc (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() *MockStateMockRecorderfunc (m *MockState) GetAccruedFees() uint64func (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.Statefunc (m *MockState) GetL1Validator(validationID ids.ID) (L1Validator, error)func (m *MockState) GetL1ValidatorExcess() gas.Gasfunc (m *MockState) GetLastAccepted() ids.IDfunc (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.Timefunc (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) boolfunc (m *MockState) NumActiveL1Validators() intfunc (m *MockState) PutCurrentDelegator(staker *Staker)func (m *MockState) PutCurrentValidator(staker *Staker) errorfunc (m *MockState) PutExpiry(arg0 ExpiryEntry)func (m *MockState) PutL1Validator(validator L1Validator) errorfunc (m *MockState) PutPendingDelegator(staker *Staker)func (m *MockState) PutPendingValidator(staker *Staker) errorfunc (m *MockState) ReindexBlocks(lock sync.Locker, arg1 log.Logger) errorfunc (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) errorfunc (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) errorfunc (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.Callfunc (mr *MockStateMockRecorder) AddChain(createChainTx any) *gomock.Callfunc (mr *MockStateMockRecorder) AddNet(netID any) *gomock.Callfunc (mr *MockStateMockRecorder) AddNetTransformation(transformNetTx any) *gomock.Callfunc (mr *MockStateMockRecorder) AddRewardUTXO(txID, arg1 any) *gomock.Callfunc (mr *MockStateMockRecorder) AddStatelessBlock(arg0 any) *gomock.Callfunc (mr *MockStateMockRecorder) AddTx(tx, arg1 any) *gomock.Callfunc (mr *MockStateMockRecorder) AddUTXO(arg0 any) *gomock.Callfunc (mr *MockStateMockRecorder) ApplyValidatorPublicKeyDiffs(ctx, arg1, startHeight, endHeight, chainID any) *gomock.Callfunc (mr *MockStateMockRecorder) ApplyValidatorWeightDiffs(ctx, arg1, startHeight, endHeight, netID any) *gomock.Callfunc (mr *MockStateMockRecorder) Checksum() *gomock.Callfunc (mr *MockStateMockRecorder) Close() *gomock.Callfunc (mr *MockStateMockRecorder) Commit() *gomock.Callfunc (mr *MockStateMockRecorder) CommitBatch() *gomock.Callfunc (mr *MockStateMockRecorder) DeleteCurrentDelegator(staker any) *gomock.Callfunc (mr *MockStateMockRecorder) DeleteCurrentValidator(staker any) *gomock.Callfunc (mr *MockStateMockRecorder) DeleteExpiry(arg0 any) *gomock.Callfunc (mr *MockStateMockRecorder) DeletePendingDelegator(staker any) *gomock.Callfunc (mr *MockStateMockRecorder) DeletePendingValidator(staker any) *gomock.Callfunc (mr *MockStateMockRecorder) DeleteUTXO(utxoID any) *gomock.Callfunc (mr *MockStateMockRecorder) GetAccruedFees() *gomock.Callfunc (mr *MockStateMockRecorder) GetActiveL1ValidatorsIterator() *gomock.Callfunc (mr *MockStateMockRecorder) GetBlockIDAtHeight(height any) *gomock.Callfunc (mr *MockStateMockRecorder) GetChainIDByName(name any) *gomock.Callfunc (mr *MockStateMockRecorder) GetChainIDs() *gomock.Callfunc (mr *MockStateMockRecorder) GetChains(netID any) *gomock.Callfunc (mr *MockStateMockRecorder) GetCurrentDelegatorIterator(chainID, nodeID any) *gomock.Callfunc (mr *MockStateMockRecorder) GetCurrentStakerIterator() *gomock.Callfunc (mr *MockStateMockRecorder) GetCurrentSupply(chainID any) *gomock.Callfunc (mr *MockStateMockRecorder) GetCurrentValidator(netID, nodeID any) *gomock.Callfunc (mr *MockStateMockRecorder) GetCurrentValidators(ctx, chainID any) *gomock.Callfunc (mr *MockStateMockRecorder) GetDelegateeReward(netID, nodeID any) *gomock.Callfunc (mr *MockStateMockRecorder) GetExpiryIterator() *gomock.Callfunc (mr *MockStateMockRecorder) GetFeeState() *gomock.Callfunc (mr *MockStateMockRecorder) GetL1Validator(validationID any) *gomock.Callfunc (mr *MockStateMockRecorder) GetL1ValidatorExcess() *gomock.Callfunc (mr *MockStateMockRecorder) GetLastAccepted() *gomock.Callfunc (mr *MockStateMockRecorder) GetNetOwner(netID any) *gomock.Callfunc (mr *MockStateMockRecorder) GetNetToL1Conversion(chainID any) *gomock.Callfunc (mr *MockStateMockRecorder) GetNetTransformation(chainID any) *gomock.Callfunc (mr *MockStateMockRecorder) GetPendingDelegatorIterator(chainID, nodeID any) *gomock.Callfunc (mr *MockStateMockRecorder) GetPendingStakerIterator() *gomock.Callfunc (mr *MockStateMockRecorder) GetPendingValidator(netID, nodeID any) *gomock.Callfunc (mr *MockStateMockRecorder) GetRewardUTXOs(txID any) *gomock.Callfunc (mr *MockStateMockRecorder) GetStartTime(nodeID, netID any) *gomock.Callfunc (mr *MockStateMockRecorder) GetStatelessBlock(blockID any) *gomock.Callfunc (mr *MockStateMockRecorder) GetTimestamp() *gomock.Callfunc (mr *MockStateMockRecorder) GetTx(txID any) *gomock.Callfunc (mr *MockStateMockRecorder) GetUTXO(utxoID any) *gomock.Callfunc (mr *MockStateMockRecorder) GetUptime(nodeID, netID any) *gomock.Callfunc (mr *MockStateMockRecorder) HasExpiry(arg0 any) *gomock.Callfunc (mr *MockStateMockRecorder) HasL1Validator(chainID, nodeID any) *gomock.Callfunc (mr *MockStateMockRecorder) IsChainNameTaken(name any) *gomock.Callfunc (mr *MockStateMockRecorder) NumActiveL1Validators() *gomock.Callfunc (mr *MockStateMockRecorder) PutCurrentDelegator(staker any) *gomock.Callfunc (mr *MockStateMockRecorder) PutCurrentValidator(staker any) *gomock.Callfunc (mr *MockStateMockRecorder) PutExpiry(arg0 any) *gomock.Callfunc (mr *MockStateMockRecorder) PutL1Validator(validator any) *gomock.Callfunc (mr *MockStateMockRecorder) PutPendingDelegator(staker any) *gomock.Callfunc (mr *MockStateMockRecorder) PutPendingValidator(staker any) *gomock.Callfunc (mr *MockStateMockRecorder) ReindexBlocks(lock, arg1 any) *gomock.Callfunc (mr *MockStateMockRecorder) SetAccruedFees(f any) *gomock.Callfunc (mr *MockStateMockRecorder) SetCurrentSupply(chainID, cs any) *gomock.Callfunc (mr *MockStateMockRecorder) SetDelegateeReward(netID, nodeID, amount any) *gomock.Callfunc (mr *MockStateMockRecorder) SetFeeState(f any) *gomock.Callfunc (mr *MockStateMockRecorder) SetHeight(height any) *gomock.Callfunc (mr *MockStateMockRecorder) SetL1ValidatorExcess(e any) *gomock.Callfunc (mr *MockStateMockRecorder) SetLastAccepted(blkID any) *gomock.Callfunc (mr *MockStateMockRecorder) SetNetOwner(netID, owner any) *gomock.Callfunc (mr *MockStateMockRecorder) SetNetToL1Conversion(chainID, c any) *gomock.Callfunc (mr *MockStateMockRecorder) SetTimestamp(tm any) *gomock.Callfunc (mr *MockStateMockRecorder) SetUptime(nodeID, netID, uptime, lastUpdated any) *gomock.Callfunc (mr *MockStateMockRecorder) UTXOIDs(addr, previous, limit any) *gomock.Callfunc (mr *MockStateMockRecorder) WeightOfL1Validators(chainID any) *gomock.CallMockVersions
MockVersions is a mock of Versions interface.
func NewMockVersions(ctrl *gomock.Controller) *MockVersionsfunc (m *MockVersions) EXPECT() *MockVersionsMockRecorderfunc (m *MockVersions) GetState(blkID ids.ID) (Chain, bool)MockVersionsMockRecorder
MockVersionsMockRecorder is the mock recorder for MockVersions.
func (mr *MockVersionsMockRecorder) GetState(blkID any) *gomock.CallNetToL1Conversion
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) boolStakerDiffIterator
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]) StakerDiffIteratorStakerIterator
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) StakerIteratorfunc NewMergedIterator(stakers ...StakerIterator) StakerIteratorfunc NewTreeIterator(tree *btree.BTreeG[*Staker]) StakerIteratorStakers
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) errorfunc (v *ValidatorWeightDiff) Sub(amount uint64) error