state

package
v0.0.0-...-bc03976 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 8, 2024 License: BSD-3-Clause Imports: 49 Imported by: 0

Documentation

Overview

Package state is a generated GoMock package.

Package state is a generated GoMock package.

Package state is a generated GoMock package.

Index

Constants

View Source
const (
	CodecVersion0Tag        = "v0"
	CodecVersion0    uint16 = 0

	CodecVersion1Tag        = "v1"
	CodecVersion1    uint16 = 1
)

Variables

View Source
var (
	BlockIDPrefix                 = []byte("blockID")
	BlockPrefix                   = []byte("block")
	ValidatorsPrefix              = []byte("validators")
	CurrentPrefix                 = []byte("current")
	PendingPrefix                 = []byte("pending")
	ValidatorPrefix               = []byte("validator")
	DelegatorPrefix               = []byte("delegator")
	SubnetValidatorPrefix         = []byte("subnetValidator")
	SubnetDelegatorPrefix         = []byte("subnetDelegator")
	ValidatorWeightDiffsPrefix    = []byte("flatValidatorDiffs")
	ValidatorPublicKeyDiffsPrefix = []byte("flatPublicKeyDiffs")
	TxPrefix                      = []byte("tx")
	RewardUTXOsPrefix             = []byte("rewardUTXOs")
	UTXOPrefix                    = []byte("utxo")
	SubnetPrefix                  = []byte("subnet")
	SubnetOwnerPrefix             = []byte("subnetOwner")
	SubnetManagerPrefix           = []byte("subnetManager")
	TransformedSubnetPrefix       = []byte("transformedSubnet")
	SupplyPrefix                  = []byte("supply")
	ChainPrefix                   = []byte("chain")
	SingletonPrefix               = []byte("singleton")

	TimestampKey       = []byte("timestamp")
	FeeStateKey        = []byte("fee state")
	CurrentSupplyKey   = []byte("current supply")
	LastAcceptedKey    = []byte("last accepted")
	HeightsIndexedKey  = []byte("heights indexed")
	InitializedKey     = []byte("initialized")
	BlocksReindexedKey = []byte("blocks reindexed")
)
View Source
var ErrAddingStakerAfterDeletion = errors.New("attempted to add a staker after deleting it")
View Source
var (
	ErrMissingParentState = errors.New("missing parent state")
)
View Source
var MetadataCodec codec.Manager

Functions

func GetNextStakerChangeTime

func GetNextStakerChangeTime(state Chain) (time.Time, error)

GetNextStakerChangeTime returns the next time a staker will be either added or removed to/from the current validator set.

func NewStaticFeeCalculator

func NewStaticFeeCalculator(cfg *config.Config, timestamp time.Time) fee.Calculator

NewStaticFeeCalculator creates a static fee calculator, with the config set to either the pre-AP3 or post-AP3 config.

func NextBlockTime

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

func PickFeeCalculator

func PickFeeCalculator(cfg *config.Config, state Chain) fee.Calculator

PickFeeCalculator creates either a static or a dynamic fee calculator, depending on the active upgrade.

PickFeeCalculator does not modify state.

Types

type Chain

type Chain interface {
	Stakers
	avax.UTXOAdder
	avax.UTXOGetter
	avax.UTXODeleter

	GetTimestamp() time.Time
	SetTimestamp(tm time.Time)

	GetFeeState() gas.State
	SetFeeState(f gas.State)

	GetCurrentSupply(subnetID ids.ID) (uint64, error)
	SetCurrentSupply(subnetID ids.ID, cs uint64)

	AddRewardUTXO(txID ids.ID, utxo *avax.UTXO)

	AddSubnet(subnetID ids.ID)

	GetSubnetOwner(subnetID ids.ID) (fx.Owner, error)
	SetSubnetOwner(subnetID ids.ID, owner fx.Owner)

	GetSubnetManager(subnetID ids.ID) (ids.ID, []byte, error)
	SetSubnetManager(subnetID ids.ID, chainID ids.ID, addr []byte)

	GetSubnetTransformation(subnetID ids.ID) (*txs.Tx, error)
	AddSubnetTransformation(transformSubnetTx *txs.Tx)

	AddChain(createChainTx *txs.Tx)

	GetTx(txID ids.ID) (*txs.Tx, status.Status, error)
	AddTx(tx *txs.Tx, status status.Status)
}

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

type CurrentStakers

type CurrentStakers interface {
	// GetCurrentValidator returns the [staker] describing the validator on
	// [subnetID] with [nodeID]. If the validator does not exist,
	// [database.ErrNotFound] is returned.
	GetCurrentValidator(subnetID ids.ID, nodeID ids.NodeID) (*Staker, error)

	// PutCurrentValidator adds the [staker] describing a validator to the
	// staker set.
	//
	// Invariant: [staker] is not currently a CurrentValidator
	PutCurrentValidator(staker *Staker) error

	// DeleteCurrentValidator removes the [staker] describing a validator from
	// the staker set.
	//
	// Invariant: [staker] is currently a CurrentValidator
	DeleteCurrentValidator(staker *Staker)

	// SetDelegateeReward sets the accrued delegation rewards for [nodeID] on
	// [subnetID] to [amount].
	SetDelegateeReward(subnetID ids.ID, nodeID ids.NodeID, amount uint64) error

	// GetDelegateeReward returns the accrued delegation rewards for [nodeID] on
	// [subnetID].
	GetDelegateeReward(subnetID ids.ID, nodeID ids.NodeID) (uint64, error)

	// GetCurrentDelegatorIterator returns the delegators associated with the
	// validator on [subnetID] with [nodeID]. Delegators are sorted by their
	// removal from current staker set.
	GetCurrentDelegatorIterator(subnetID ids.ID, nodeID ids.NodeID) (iterator.Iterator[*Staker], error)

	// PutCurrentDelegator adds the [staker] describing a delegator to the
	// staker set.
	//
	// Invariant: [staker] is not currently a CurrentDelegator
	PutCurrentDelegator(staker *Staker)

	// DeleteCurrentDelegator removes the [staker] describing a delegator from
	// the staker set.
	//
	// Invariant: [staker] is currently a CurrentDelegator
	DeleteCurrentDelegator(staker *Staker)

	// GetCurrentStakerIterator returns stakers in order of their removal from
	// the current staker set.
	GetCurrentStakerIterator() (iterator.Iterator[*Staker], error)
}

type Diff

type Diff interface {
	Chain

	Apply(Chain) error
}

func NewDiff

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

func NewDiffOn

func NewDiffOn(parentState Chain) (Diff, error)

type MockChain

type MockChain struct {
	// contains filtered or unexported fields
}

MockChain is a mock of Chain interface.

func NewMockChain

func NewMockChain(ctrl *gomock.Controller) *MockChain

NewMockChain creates a new mock instance.

func (*MockChain) AddChain

func (m *MockChain) AddChain(createChainTx *txs.Tx)

AddChain mocks base method.

func (*MockChain) AddRewardUTXO

func (m *MockChain) AddRewardUTXO(txID ids.ID, utxo *avax.UTXO)

AddRewardUTXO mocks base method.

func (*MockChain) AddSubnet

func (m *MockChain) AddSubnet(subnetID ids.ID)

AddSubnet mocks base method.

func (*MockChain) AddSubnetTransformation

func (m *MockChain) AddSubnetTransformation(transformSubnetTx *txs.Tx)

AddSubnetTransformation mocks base method.

func (*MockChain) AddTx

func (m *MockChain) AddTx(tx *txs.Tx, status status.Status)

AddTx mocks base method.

func (*MockChain) AddUTXO

func (m *MockChain) AddUTXO(utxo *avax.UTXO)

AddUTXO mocks base method.

func (*MockChain) DeleteCurrentDelegator

func (m *MockChain) DeleteCurrentDelegator(staker *Staker)

DeleteCurrentDelegator mocks base method.

func (*MockChain) DeleteCurrentValidator

func (m *MockChain) DeleteCurrentValidator(staker *Staker)

DeleteCurrentValidator mocks base method.

func (*MockChain) DeletePendingDelegator

func (m *MockChain) DeletePendingDelegator(staker *Staker)

DeletePendingDelegator mocks base method.

func (*MockChain) DeletePendingValidator

func (m *MockChain) DeletePendingValidator(staker *Staker)

DeletePendingValidator mocks base method.

func (*MockChain) DeleteUTXO

func (m *MockChain) DeleteUTXO(utxoID ids.ID)

DeleteUTXO mocks base method.

func (*MockChain) EXPECT

func (m *MockChain) EXPECT() *MockChainMockRecorder

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockChain) GetCurrentDelegatorIterator

func (m *MockChain) GetCurrentDelegatorIterator(subnetID ids.ID, nodeID ids.NodeID) (iterator.Iterator[*Staker], error)

GetCurrentDelegatorIterator mocks base method.

func (*MockChain) GetCurrentStakerIterator

func (m *MockChain) GetCurrentStakerIterator() (iterator.Iterator[*Staker], error)

GetCurrentStakerIterator mocks base method.

func (*MockChain) GetCurrentSupply

func (m *MockChain) GetCurrentSupply(subnetID ids.ID) (uint64, error)

GetCurrentSupply mocks base method.

func (*MockChain) GetCurrentValidator

func (m *MockChain) GetCurrentValidator(subnetID ids.ID, nodeID ids.NodeID) (*Staker, error)

GetCurrentValidator mocks base method.

func (*MockChain) GetDelegateeReward

func (m *MockChain) GetDelegateeReward(subnetID ids.ID, nodeID ids.NodeID) (uint64, error)

GetDelegateeReward mocks base method.

func (*MockChain) GetFeeState

func (m *MockChain) GetFeeState() gas.State

GetFeeState mocks base method.

func (*MockChain) GetPendingDelegatorIterator

func (m *MockChain) GetPendingDelegatorIterator(subnetID ids.ID, nodeID ids.NodeID) (iterator.Iterator[*Staker], error)

GetPendingDelegatorIterator mocks base method.

func (*MockChain) GetPendingStakerIterator

func (m *MockChain) GetPendingStakerIterator() (iterator.Iterator[*Staker], error)

GetPendingStakerIterator mocks base method.

func (*MockChain) GetPendingValidator

func (m *MockChain) GetPendingValidator(subnetID ids.ID, nodeID ids.NodeID) (*Staker, error)

GetPendingValidator mocks base method.

func (*MockChain) GetSubnetManager

func (m *MockChain) GetSubnetManager(subnetID ids.ID) (ids.ID, []byte, error)

GetSubnetManager mocks base method.

func (*MockChain) GetSubnetOwner

func (m *MockChain) GetSubnetOwner(subnetID ids.ID) (fx.Owner, error)

GetSubnetOwner mocks base method.

func (*MockChain) GetSubnetTransformation

func (m *MockChain) GetSubnetTransformation(subnetID ids.ID) (*txs.Tx, error)

GetSubnetTransformation mocks base method.

func (*MockChain) GetTimestamp

func (m *MockChain) GetTimestamp() time.Time

GetTimestamp mocks base method.

func (*MockChain) GetTx

func (m *MockChain) GetTx(txID ids.ID) (*txs.Tx, status.Status, error)

GetTx mocks base method.

func (*MockChain) GetUTXO

func (m *MockChain) GetUTXO(utxoID ids.ID) (*avax.UTXO, error)

GetUTXO mocks base method.

func (*MockChain) PutCurrentDelegator

func (m *MockChain) PutCurrentDelegator(staker *Staker)

PutCurrentDelegator mocks base method.

func (*MockChain) PutCurrentValidator

func (m *MockChain) PutCurrentValidator(staker *Staker) error

PutCurrentValidator mocks base method.

func (*MockChain) PutPendingDelegator

func (m *MockChain) PutPendingDelegator(staker *Staker)

PutPendingDelegator mocks base method.

func (*MockChain) PutPendingValidator

func (m *MockChain) PutPendingValidator(staker *Staker) error

PutPendingValidator mocks base method.

func (*MockChain) SetCurrentSupply

func (m *MockChain) SetCurrentSupply(subnetID ids.ID, cs uint64)

SetCurrentSupply mocks base method.

func (*MockChain) SetDelegateeReward

func (m *MockChain) SetDelegateeReward(subnetID ids.ID, nodeID ids.NodeID, amount uint64) error

SetDelegateeReward mocks base method.

func (*MockChain) SetFeeState

func (m *MockChain) SetFeeState(f gas.State)

SetFeeState mocks base method.

func (*MockChain) SetSubnetManager

func (m *MockChain) SetSubnetManager(subnetID, chainID ids.ID, addr []byte)

SetSubnetManager mocks base method.

func (*MockChain) SetSubnetOwner

func (m *MockChain) SetSubnetOwner(subnetID ids.ID, owner fx.Owner)

SetSubnetOwner mocks base method.

func (*MockChain) SetTimestamp

func (m *MockChain) SetTimestamp(tm time.Time)

SetTimestamp mocks base method.

type MockChainMockRecorder

type MockChainMockRecorder struct {
	// contains filtered or unexported fields
}

MockChainMockRecorder is the mock recorder for MockChain.

func (*MockChainMockRecorder) AddChain

func (mr *MockChainMockRecorder) AddChain(createChainTx any) *gomock.Call

AddChain indicates an expected call of AddChain.

func (*MockChainMockRecorder) AddRewardUTXO

func (mr *MockChainMockRecorder) AddRewardUTXO(txID, utxo any) *gomock.Call

AddRewardUTXO indicates an expected call of AddRewardUTXO.

func (*MockChainMockRecorder) AddSubnet

func (mr *MockChainMockRecorder) AddSubnet(subnetID any) *gomock.Call

AddSubnet indicates an expected call of AddSubnet.

func (*MockChainMockRecorder) AddSubnetTransformation

func (mr *MockChainMockRecorder) AddSubnetTransformation(transformSubnetTx any) *gomock.Call

AddSubnetTransformation indicates an expected call of AddSubnetTransformation.

func (*MockChainMockRecorder) AddTx

func (mr *MockChainMockRecorder) AddTx(tx, status any) *gomock.Call

AddTx indicates an expected call of AddTx.

func (*MockChainMockRecorder) AddUTXO

func (mr *MockChainMockRecorder) AddUTXO(utxo any) *gomock.Call

AddUTXO indicates an expected call of AddUTXO.

func (*MockChainMockRecorder) DeleteCurrentDelegator

func (mr *MockChainMockRecorder) DeleteCurrentDelegator(staker any) *gomock.Call

DeleteCurrentDelegator indicates an expected call of DeleteCurrentDelegator.

func (*MockChainMockRecorder) DeleteCurrentValidator

func (mr *MockChainMockRecorder) DeleteCurrentValidator(staker any) *gomock.Call

DeleteCurrentValidator indicates an expected call of DeleteCurrentValidator.

func (*MockChainMockRecorder) DeletePendingDelegator

func (mr *MockChainMockRecorder) DeletePendingDelegator(staker any) *gomock.Call

DeletePendingDelegator indicates an expected call of DeletePendingDelegator.

func (*MockChainMockRecorder) DeletePendingValidator

func (mr *MockChainMockRecorder) DeletePendingValidator(staker any) *gomock.Call

DeletePendingValidator indicates an expected call of DeletePendingValidator.

func (*MockChainMockRecorder) DeleteUTXO

func (mr *MockChainMockRecorder) DeleteUTXO(utxoID any) *gomock.Call

DeleteUTXO indicates an expected call of DeleteUTXO.

func (*MockChainMockRecorder) GetCurrentDelegatorIterator

func (mr *MockChainMockRecorder) GetCurrentDelegatorIterator(subnetID, nodeID any) *gomock.Call

GetCurrentDelegatorIterator indicates an expected call of GetCurrentDelegatorIterator.

func (*MockChainMockRecorder) GetCurrentStakerIterator

func (mr *MockChainMockRecorder) GetCurrentStakerIterator() *gomock.Call

GetCurrentStakerIterator indicates an expected call of GetCurrentStakerIterator.

func (*MockChainMockRecorder) GetCurrentSupply

func (mr *MockChainMockRecorder) GetCurrentSupply(subnetID any) *gomock.Call

GetCurrentSupply indicates an expected call of GetCurrentSupply.

func (*MockChainMockRecorder) GetCurrentValidator

func (mr *MockChainMockRecorder) GetCurrentValidator(subnetID, nodeID any) *gomock.Call

GetCurrentValidator indicates an expected call of GetCurrentValidator.

func (*MockChainMockRecorder) GetDelegateeReward

func (mr *MockChainMockRecorder) GetDelegateeReward(subnetID, nodeID any) *gomock.Call

GetDelegateeReward indicates an expected call of GetDelegateeReward.

func (*MockChainMockRecorder) GetFeeState

func (mr *MockChainMockRecorder) GetFeeState() *gomock.Call

GetFeeState indicates an expected call of GetFeeState.

func (*MockChainMockRecorder) GetPendingDelegatorIterator

func (mr *MockChainMockRecorder) GetPendingDelegatorIterator(subnetID, nodeID any) *gomock.Call

GetPendingDelegatorIterator indicates an expected call of GetPendingDelegatorIterator.

func (*MockChainMockRecorder) GetPendingStakerIterator

func (mr *MockChainMockRecorder) GetPendingStakerIterator() *gomock.Call

GetPendingStakerIterator indicates an expected call of GetPendingStakerIterator.

func (*MockChainMockRecorder) GetPendingValidator

func (mr *MockChainMockRecorder) GetPendingValidator(subnetID, nodeID any) *gomock.Call

GetPendingValidator indicates an expected call of GetPendingValidator.

func (*MockChainMockRecorder) GetSubnetManager

func (mr *MockChainMockRecorder) GetSubnetManager(subnetID any) *gomock.Call

GetSubnetManager indicates an expected call of GetSubnetManager.

func (*MockChainMockRecorder) GetSubnetOwner

func (mr *MockChainMockRecorder) GetSubnetOwner(subnetID any) *gomock.Call

GetSubnetOwner indicates an expected call of GetSubnetOwner.

func (*MockChainMockRecorder) GetSubnetTransformation

func (mr *MockChainMockRecorder) GetSubnetTransformation(subnetID any) *gomock.Call

GetSubnetTransformation indicates an expected call of GetSubnetTransformation.

func (*MockChainMockRecorder) GetTimestamp

func (mr *MockChainMockRecorder) GetTimestamp() *gomock.Call

GetTimestamp indicates an expected call of GetTimestamp.

func (*MockChainMockRecorder) GetTx

func (mr *MockChainMockRecorder) GetTx(txID any) *gomock.Call

GetTx indicates an expected call of GetTx.

func (*MockChainMockRecorder) GetUTXO

func (mr *MockChainMockRecorder) GetUTXO(utxoID any) *gomock.Call

GetUTXO indicates an expected call of GetUTXO.

func (*MockChainMockRecorder) PutCurrentDelegator

func (mr *MockChainMockRecorder) PutCurrentDelegator(staker any) *gomock.Call

PutCurrentDelegator indicates an expected call of PutCurrentDelegator.

func (*MockChainMockRecorder) PutCurrentValidator

func (mr *MockChainMockRecorder) PutCurrentValidator(staker any) *gomock.Call

PutCurrentValidator indicates an expected call of PutCurrentValidator.

func (*MockChainMockRecorder) PutPendingDelegator

func (mr *MockChainMockRecorder) PutPendingDelegator(staker any) *gomock.Call

PutPendingDelegator indicates an expected call of PutPendingDelegator.

func (*MockChainMockRecorder) PutPendingValidator

func (mr *MockChainMockRecorder) PutPendingValidator(staker any) *gomock.Call

PutPendingValidator indicates an expected call of PutPendingValidator.

func (*MockChainMockRecorder) SetCurrentSupply

func (mr *MockChainMockRecorder) SetCurrentSupply(subnetID, cs any) *gomock.Call

SetCurrentSupply indicates an expected call of SetCurrentSupply.

func (*MockChainMockRecorder) SetDelegateeReward

func (mr *MockChainMockRecorder) SetDelegateeReward(subnetID, nodeID, amount any) *gomock.Call

SetDelegateeReward indicates an expected call of SetDelegateeReward.

func (*MockChainMockRecorder) SetFeeState

func (mr *MockChainMockRecorder) SetFeeState(f any) *gomock.Call

SetFeeState indicates an expected call of SetFeeState.

func (*MockChainMockRecorder) SetSubnetManager

func (mr *MockChainMockRecorder) SetSubnetManager(subnetID, chainID, addr any) *gomock.Call

SetSubnetManager indicates an expected call of SetSubnetManager.

func (*MockChainMockRecorder) SetSubnetOwner

func (mr *MockChainMockRecorder) SetSubnetOwner(subnetID, owner any) *gomock.Call

SetSubnetOwner indicates an expected call of SetSubnetOwner.

func (*MockChainMockRecorder) SetTimestamp

func (mr *MockChainMockRecorder) SetTimestamp(tm any) *gomock.Call

SetTimestamp indicates an expected call of SetTimestamp.

type MockDiff

type MockDiff struct {
	// contains filtered or unexported fields
}

MockDiff is a mock of Diff interface.

func NewMockDiff

func NewMockDiff(ctrl *gomock.Controller) *MockDiff

NewMockDiff creates a new mock instance.

func (*MockDiff) AddChain

func (m *MockDiff) AddChain(createChainTx *txs.Tx)

AddChain mocks base method.

func (*MockDiff) AddRewardUTXO

func (m *MockDiff) AddRewardUTXO(txID ids.ID, utxo *avax.UTXO)

AddRewardUTXO mocks base method.

func (*MockDiff) AddSubnet

func (m *MockDiff) AddSubnet(subnetID ids.ID)

AddSubnet mocks base method.

func (*MockDiff) AddSubnetTransformation

func (m *MockDiff) AddSubnetTransformation(transformSubnetTx *txs.Tx)

AddSubnetTransformation mocks base method.

func (*MockDiff) AddTx

func (m *MockDiff) AddTx(tx *txs.Tx, status status.Status)

AddTx mocks base method.

func (*MockDiff) AddUTXO

func (m *MockDiff) AddUTXO(utxo *avax.UTXO)

AddUTXO mocks base method.

func (*MockDiff) Apply

func (m *MockDiff) Apply(arg0 Chain) error

Apply mocks base method.

func (*MockDiff) DeleteCurrentDelegator

func (m *MockDiff) DeleteCurrentDelegator(staker *Staker)

DeleteCurrentDelegator mocks base method.

func (*MockDiff) DeleteCurrentValidator

func (m *MockDiff) DeleteCurrentValidator(staker *Staker)

DeleteCurrentValidator mocks base method.

func (*MockDiff) DeletePendingDelegator

func (m *MockDiff) DeletePendingDelegator(staker *Staker)

DeletePendingDelegator mocks base method.

func (*MockDiff) DeletePendingValidator

func (m *MockDiff) DeletePendingValidator(staker *Staker)

DeletePendingValidator mocks base method.

func (*MockDiff) DeleteUTXO

func (m *MockDiff) DeleteUTXO(utxoID ids.ID)

DeleteUTXO mocks base method.

func (*MockDiff) EXPECT

func (m *MockDiff) EXPECT() *MockDiffMockRecorder

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockDiff) GetCurrentDelegatorIterator

func (m *MockDiff) GetCurrentDelegatorIterator(subnetID ids.ID, nodeID ids.NodeID) (iterator.Iterator[*Staker], error)

GetCurrentDelegatorIterator mocks base method.

func (*MockDiff) GetCurrentStakerIterator

func (m *MockDiff) GetCurrentStakerIterator() (iterator.Iterator[*Staker], error)

GetCurrentStakerIterator mocks base method.

func (*MockDiff) GetCurrentSupply

func (m *MockDiff) GetCurrentSupply(subnetID ids.ID) (uint64, error)

GetCurrentSupply mocks base method.

func (*MockDiff) GetCurrentValidator

func (m *MockDiff) GetCurrentValidator(subnetID ids.ID, nodeID ids.NodeID) (*Staker, error)

GetCurrentValidator mocks base method.

func (*MockDiff) GetDelegateeReward

func (m *MockDiff) GetDelegateeReward(subnetID ids.ID, nodeID ids.NodeID) (uint64, error)

GetDelegateeReward mocks base method.

func (*MockDiff) GetFeeState

func (m *MockDiff) GetFeeState() gas.State

GetFeeState mocks base method.

func (*MockDiff) GetPendingDelegatorIterator

func (m *MockDiff) GetPendingDelegatorIterator(subnetID ids.ID, nodeID ids.NodeID) (iterator.Iterator[*Staker], error)

GetPendingDelegatorIterator mocks base method.

func (*MockDiff) GetPendingStakerIterator

func (m *MockDiff) GetPendingStakerIterator() (iterator.Iterator[*Staker], error)

GetPendingStakerIterator mocks base method.

func (*MockDiff) GetPendingValidator

func (m *MockDiff) GetPendingValidator(subnetID ids.ID, nodeID ids.NodeID) (*Staker, error)

GetPendingValidator mocks base method.

func (*MockDiff) GetSubnetManager

func (m *MockDiff) GetSubnetManager(subnetID ids.ID) (ids.ID, []byte, error)

GetSubnetManager mocks base method.

func (*MockDiff) GetSubnetOwner

func (m *MockDiff) GetSubnetOwner(subnetID ids.ID) (fx.Owner, error)

GetSubnetOwner mocks base method.

func (*MockDiff) GetSubnetTransformation

func (m *MockDiff) GetSubnetTransformation(subnetID ids.ID) (*txs.Tx, error)

GetSubnetTransformation mocks base method.

func (*MockDiff) GetTimestamp

func (m *MockDiff) GetTimestamp() time.Time

GetTimestamp mocks base method.

func (*MockDiff) GetTx

func (m *MockDiff) GetTx(txID ids.ID) (*txs.Tx, status.Status, error)

GetTx mocks base method.

func (*MockDiff) GetUTXO

func (m *MockDiff) GetUTXO(utxoID ids.ID) (*avax.UTXO, error)

GetUTXO mocks base method.

func (*MockDiff) PutCurrentDelegator

func (m *MockDiff) PutCurrentDelegator(staker *Staker)

PutCurrentDelegator mocks base method.

func (*MockDiff) PutCurrentValidator

func (m *MockDiff) PutCurrentValidator(staker *Staker) error

PutCurrentValidator mocks base method.

func (*MockDiff) PutPendingDelegator

func (m *MockDiff) PutPendingDelegator(staker *Staker)

PutPendingDelegator mocks base method.

func (*MockDiff) PutPendingValidator

func (m *MockDiff) PutPendingValidator(staker *Staker) error

PutPendingValidator mocks base method.

func (*MockDiff) SetCurrentSupply

func (m *MockDiff) SetCurrentSupply(subnetID ids.ID, cs uint64)

SetCurrentSupply mocks base method.

func (*MockDiff) SetDelegateeReward

func (m *MockDiff) SetDelegateeReward(subnetID ids.ID, nodeID ids.NodeID, amount uint64) error

SetDelegateeReward mocks base method.

func (*MockDiff) SetFeeState

func (m *MockDiff) SetFeeState(f gas.State)

SetFeeState mocks base method.

func (*MockDiff) SetSubnetManager

func (m *MockDiff) SetSubnetManager(subnetID, chainID ids.ID, addr []byte)

SetSubnetManager mocks base method.

func (*MockDiff) SetSubnetOwner

func (m *MockDiff) SetSubnetOwner(subnetID ids.ID, owner fx.Owner)

SetSubnetOwner mocks base method.

func (*MockDiff) SetTimestamp

func (m *MockDiff) SetTimestamp(tm time.Time)

SetTimestamp mocks base method.

type MockDiffMockRecorder

type MockDiffMockRecorder struct {
	// contains filtered or unexported fields
}

MockDiffMockRecorder is the mock recorder for MockDiff.

func (*MockDiffMockRecorder) AddChain

func (mr *MockDiffMockRecorder) AddChain(createChainTx any) *gomock.Call

AddChain indicates an expected call of AddChain.

func (*MockDiffMockRecorder) AddRewardUTXO

func (mr *MockDiffMockRecorder) AddRewardUTXO(txID, utxo any) *gomock.Call

AddRewardUTXO indicates an expected call of AddRewardUTXO.

func (*MockDiffMockRecorder) AddSubnet

func (mr *MockDiffMockRecorder) AddSubnet(subnetID any) *gomock.Call

AddSubnet indicates an expected call of AddSubnet.

func (*MockDiffMockRecorder) AddSubnetTransformation

func (mr *MockDiffMockRecorder) AddSubnetTransformation(transformSubnetTx any) *gomock.Call

AddSubnetTransformation indicates an expected call of AddSubnetTransformation.

func (*MockDiffMockRecorder) AddTx

func (mr *MockDiffMockRecorder) AddTx(tx, status any) *gomock.Call

AddTx indicates an expected call of AddTx.

func (*MockDiffMockRecorder) AddUTXO

func (mr *MockDiffMockRecorder) AddUTXO(utxo any) *gomock.Call

AddUTXO indicates an expected call of AddUTXO.

func (*MockDiffMockRecorder) Apply

func (mr *MockDiffMockRecorder) Apply(arg0 any) *gomock.Call

Apply indicates an expected call of Apply.

func (*MockDiffMockRecorder) DeleteCurrentDelegator

func (mr *MockDiffMockRecorder) DeleteCurrentDelegator(staker any) *gomock.Call

DeleteCurrentDelegator indicates an expected call of DeleteCurrentDelegator.

func (*MockDiffMockRecorder) DeleteCurrentValidator

func (mr *MockDiffMockRecorder) DeleteCurrentValidator(staker any) *gomock.Call

DeleteCurrentValidator indicates an expected call of DeleteCurrentValidator.

func (*MockDiffMockRecorder) DeletePendingDelegator

func (mr *MockDiffMockRecorder) DeletePendingDelegator(staker any) *gomock.Call

DeletePendingDelegator indicates an expected call of DeletePendingDelegator.

func (*MockDiffMockRecorder) DeletePendingValidator

func (mr *MockDiffMockRecorder) DeletePendingValidator(staker any) *gomock.Call

DeletePendingValidator indicates an expected call of DeletePendingValidator.

func (*MockDiffMockRecorder) DeleteUTXO

func (mr *MockDiffMockRecorder) DeleteUTXO(utxoID any) *gomock.Call

DeleteUTXO indicates an expected call of DeleteUTXO.

func (*MockDiffMockRecorder) GetCurrentDelegatorIterator

func (mr *MockDiffMockRecorder) GetCurrentDelegatorIterator(subnetID, nodeID any) *gomock.Call

GetCurrentDelegatorIterator indicates an expected call of GetCurrentDelegatorIterator.

func (*MockDiffMockRecorder) GetCurrentStakerIterator

func (mr *MockDiffMockRecorder) GetCurrentStakerIterator() *gomock.Call

GetCurrentStakerIterator indicates an expected call of GetCurrentStakerIterator.

func (*MockDiffMockRecorder) GetCurrentSupply

func (mr *MockDiffMockRecorder) GetCurrentSupply(subnetID any) *gomock.Call

GetCurrentSupply indicates an expected call of GetCurrentSupply.

func (*MockDiffMockRecorder) GetCurrentValidator

func (mr *MockDiffMockRecorder) GetCurrentValidator(subnetID, nodeID any) *gomock.Call

GetCurrentValidator indicates an expected call of GetCurrentValidator.

func (*MockDiffMockRecorder) GetDelegateeReward

func (mr *MockDiffMockRecorder) GetDelegateeReward(subnetID, nodeID any) *gomock.Call

GetDelegateeReward indicates an expected call of GetDelegateeReward.

func (*MockDiffMockRecorder) GetFeeState

func (mr *MockDiffMockRecorder) GetFeeState() *gomock.Call

GetFeeState indicates an expected call of GetFeeState.

func (*MockDiffMockRecorder) GetPendingDelegatorIterator

func (mr *MockDiffMockRecorder) GetPendingDelegatorIterator(subnetID, nodeID any) *gomock.Call

GetPendingDelegatorIterator indicates an expected call of GetPendingDelegatorIterator.

func (*MockDiffMockRecorder) GetPendingStakerIterator

func (mr *MockDiffMockRecorder) GetPendingStakerIterator() *gomock.Call

GetPendingStakerIterator indicates an expected call of GetPendingStakerIterator.

func (*MockDiffMockRecorder) GetPendingValidator

func (mr *MockDiffMockRecorder) GetPendingValidator(subnetID, nodeID any) *gomock.Call

GetPendingValidator indicates an expected call of GetPendingValidator.

func (*MockDiffMockRecorder) GetSubnetManager

func (mr *MockDiffMockRecorder) GetSubnetManager(subnetID any) *gomock.Call

GetSubnetManager indicates an expected call of GetSubnetManager.

func (*MockDiffMockRecorder) GetSubnetOwner

func (mr *MockDiffMockRecorder) GetSubnetOwner(subnetID any) *gomock.Call

GetSubnetOwner indicates an expected call of GetSubnetOwner.

func (*MockDiffMockRecorder) GetSubnetTransformation

func (mr *MockDiffMockRecorder) GetSubnetTransformation(subnetID any) *gomock.Call

GetSubnetTransformation indicates an expected call of GetSubnetTransformation.

func (*MockDiffMockRecorder) GetTimestamp

func (mr *MockDiffMockRecorder) GetTimestamp() *gomock.Call

GetTimestamp indicates an expected call of GetTimestamp.

func (*MockDiffMockRecorder) GetTx

func (mr *MockDiffMockRecorder) GetTx(txID any) *gomock.Call

GetTx indicates an expected call of GetTx.

func (*MockDiffMockRecorder) GetUTXO

func (mr *MockDiffMockRecorder) GetUTXO(utxoID any) *gomock.Call

GetUTXO indicates an expected call of GetUTXO.

func (*MockDiffMockRecorder) PutCurrentDelegator

func (mr *MockDiffMockRecorder) PutCurrentDelegator(staker any) *gomock.Call

PutCurrentDelegator indicates an expected call of PutCurrentDelegator.

func (*MockDiffMockRecorder) PutCurrentValidator

func (mr *MockDiffMockRecorder) PutCurrentValidator(staker any) *gomock.Call

PutCurrentValidator indicates an expected call of PutCurrentValidator.

func (*MockDiffMockRecorder) PutPendingDelegator

func (mr *MockDiffMockRecorder) PutPendingDelegator(staker any) *gomock.Call

PutPendingDelegator indicates an expected call of PutPendingDelegator.

func (*MockDiffMockRecorder) PutPendingValidator

func (mr *MockDiffMockRecorder) PutPendingValidator(staker any) *gomock.Call

PutPendingValidator indicates an expected call of PutPendingValidator.

func (*MockDiffMockRecorder) SetCurrentSupply

func (mr *MockDiffMockRecorder) SetCurrentSupply(subnetID, cs any) *gomock.Call

SetCurrentSupply indicates an expected call of SetCurrentSupply.

func (*MockDiffMockRecorder) SetDelegateeReward

func (mr *MockDiffMockRecorder) SetDelegateeReward(subnetID, nodeID, amount any) *gomock.Call

SetDelegateeReward indicates an expected call of SetDelegateeReward.

func (*MockDiffMockRecorder) SetFeeState

func (mr *MockDiffMockRecorder) SetFeeState(f any) *gomock.Call

SetFeeState indicates an expected call of SetFeeState.

func (*MockDiffMockRecorder) SetSubnetManager

func (mr *MockDiffMockRecorder) SetSubnetManager(subnetID, chainID, addr any) *gomock.Call

SetSubnetManager indicates an expected call of SetSubnetManager.

func (*MockDiffMockRecorder) SetSubnetOwner

func (mr *MockDiffMockRecorder) SetSubnetOwner(subnetID, owner any) *gomock.Call

SetSubnetOwner indicates an expected call of SetSubnetOwner.

func (*MockDiffMockRecorder) SetTimestamp

func (mr *MockDiffMockRecorder) SetTimestamp(tm any) *gomock.Call

SetTimestamp indicates an expected call of SetTimestamp.

type MockState

type MockState struct {
	// contains filtered or unexported fields
}

MockState is a mock of State interface.

func NewMockState

func NewMockState(ctrl *gomock.Controller) *MockState

NewMockState creates a new mock instance.

func (*MockState) Abort

func (m *MockState) Abort()

Abort mocks base method.

func (*MockState) AddChain

func (m *MockState) AddChain(createChainTx *txs.Tx)

AddChain mocks base method.

func (*MockState) AddRewardUTXO

func (m *MockState) AddRewardUTXO(txID ids.ID, utxo *avax.UTXO)

AddRewardUTXO mocks base method.

func (*MockState) AddStatelessBlock

func (m *MockState) AddStatelessBlock(block block.Block)

AddStatelessBlock mocks base method.

func (*MockState) AddSubnet

func (m *MockState) AddSubnet(subnetID ids.ID)

AddSubnet mocks base method.

func (*MockState) AddSubnetTransformation

func (m *MockState) AddSubnetTransformation(transformSubnetTx *txs.Tx)

AddSubnetTransformation mocks base method.

func (*MockState) AddTx

func (m *MockState) AddTx(tx *txs.Tx, status status.Status)

AddTx mocks base method.

func (*MockState) AddUTXO

func (m *MockState) AddUTXO(utxo *avax.UTXO)

AddUTXO mocks base method.

func (*MockState) ApplyValidatorPublicKeyDiffs

func (m *MockState) ApplyValidatorPublicKeyDiffs(ctx context.Context, validators map[ids.NodeID]*validators.GetValidatorOutput, startHeight, endHeight uint64) error

ApplyValidatorPublicKeyDiffs mocks base method.

func (*MockState) ApplyValidatorWeightDiffs

func (m *MockState) ApplyValidatorWeightDiffs(ctx context.Context, validators map[ids.NodeID]*validators.GetValidatorOutput, startHeight, endHeight uint64, subnetID ids.ID) error

ApplyValidatorWeightDiffs mocks base method.

func (*MockState) Checksum

func (m *MockState) Checksum() ids.ID

Checksum mocks base method.

func (*MockState) Close

func (m *MockState) Close() error

Close mocks base method.

func (*MockState) Commit

func (m *MockState) Commit() error

Commit mocks base method.

func (*MockState) CommitBatch

func (m *MockState) CommitBatch() (database.Batch, error)

CommitBatch mocks base method.

func (*MockState) DeleteCurrentDelegator

func (m *MockState) DeleteCurrentDelegator(staker *Staker)

DeleteCurrentDelegator mocks base method.

func (*MockState) DeleteCurrentValidator

func (m *MockState) DeleteCurrentValidator(staker *Staker)

DeleteCurrentValidator mocks base method.

func (*MockState) DeletePendingDelegator

func (m *MockState) DeletePendingDelegator(staker *Staker)

DeletePendingDelegator mocks base method.

func (*MockState) DeletePendingValidator

func (m *MockState) DeletePendingValidator(staker *Staker)

DeletePendingValidator mocks base method.

func (*MockState) DeleteUTXO

func (m *MockState) DeleteUTXO(utxoID ids.ID)

DeleteUTXO mocks base method.

func (*MockState) EXPECT

func (m *MockState) EXPECT() *MockStateMockRecorder

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockState) GetBlockIDAtHeight

func (m *MockState) GetBlockIDAtHeight(height uint64) (ids.ID, error)

GetBlockIDAtHeight mocks base method.

func (*MockState) GetChains

func (m *MockState) GetChains(subnetID ids.ID) ([]*txs.Tx, error)

GetChains mocks base method.

func (*MockState) GetCurrentDelegatorIterator

func (m *MockState) GetCurrentDelegatorIterator(subnetID ids.ID, nodeID ids.NodeID) (iterator.Iterator[*Staker], error)

GetCurrentDelegatorIterator mocks base method.

func (*MockState) GetCurrentStakerIterator

func (m *MockState) GetCurrentStakerIterator() (iterator.Iterator[*Staker], error)

GetCurrentStakerIterator mocks base method.

func (*MockState) GetCurrentSupply

func (m *MockState) GetCurrentSupply(subnetID ids.ID) (uint64, error)

GetCurrentSupply mocks base method.

func (*MockState) GetCurrentValidator

func (m *MockState) GetCurrentValidator(subnetID ids.ID, nodeID ids.NodeID) (*Staker, error)

GetCurrentValidator mocks base method.

func (*MockState) GetDelegateeReward

func (m *MockState) GetDelegateeReward(subnetID ids.ID, nodeID ids.NodeID) (uint64, error)

GetDelegateeReward mocks base method.

func (*MockState) GetFeeState

func (m *MockState) GetFeeState() gas.State

GetFeeState mocks base method.

func (*MockState) GetLastAccepted

func (m *MockState) GetLastAccepted() ids.ID

GetLastAccepted mocks base method.

func (*MockState) GetPendingDelegatorIterator

func (m *MockState) GetPendingDelegatorIterator(subnetID ids.ID, nodeID ids.NodeID) (iterator.Iterator[*Staker], error)

GetPendingDelegatorIterator mocks base method.

func (*MockState) GetPendingStakerIterator

func (m *MockState) GetPendingStakerIterator() (iterator.Iterator[*Staker], error)

GetPendingStakerIterator mocks base method.

func (*MockState) GetPendingValidator

func (m *MockState) GetPendingValidator(subnetID ids.ID, nodeID ids.NodeID) (*Staker, error)

GetPendingValidator mocks base method.

func (*MockState) GetRewardUTXOs

func (m *MockState) GetRewardUTXOs(txID ids.ID) ([]*avax.UTXO, error)

GetRewardUTXOs mocks base method.

func (*MockState) GetStartTime

func (m *MockState) GetStartTime(nodeID ids.NodeID, subnetID ids.ID) (time.Time, error)

GetStartTime mocks base method.

func (*MockState) GetStatelessBlock

func (m *MockState) GetStatelessBlock(blockID ids.ID) (block.Block, error)

GetStatelessBlock mocks base method.

func (*MockState) GetSubnetIDs

func (m *MockState) GetSubnetIDs() ([]ids.ID, error)

GetSubnetIDs mocks base method.

func (*MockState) GetSubnetManager

func (m *MockState) GetSubnetManager(subnetID ids.ID) (ids.ID, []byte, error)

GetSubnetManager mocks base method.

func (*MockState) GetSubnetOwner

func (m *MockState) GetSubnetOwner(subnetID ids.ID) (fx.Owner, error)

GetSubnetOwner mocks base method.

func (*MockState) GetSubnetTransformation

func (m *MockState) GetSubnetTransformation(subnetID ids.ID) (*txs.Tx, error)

GetSubnetTransformation mocks base method.

func (*MockState) GetTimestamp

func (m *MockState) GetTimestamp() time.Time

GetTimestamp mocks base method.

func (*MockState) GetTx

func (m *MockState) GetTx(txID ids.ID) (*txs.Tx, status.Status, error)

GetTx mocks base method.

func (*MockState) GetUTXO

func (m *MockState) GetUTXO(utxoID ids.ID) (*avax.UTXO, error)

GetUTXO mocks base method.

func (*MockState) GetUptime

func (m *MockState) GetUptime(nodeID ids.NodeID, subnetID ids.ID) (time.Duration, time.Time, error)

GetUptime mocks base method.

func (*MockState) PutCurrentDelegator

func (m *MockState) PutCurrentDelegator(staker *Staker)

PutCurrentDelegator mocks base method.

func (*MockState) PutCurrentValidator

func (m *MockState) PutCurrentValidator(staker *Staker) error

PutCurrentValidator mocks base method.

func (*MockState) PutPendingDelegator

func (m *MockState) PutPendingDelegator(staker *Staker)

PutPendingDelegator mocks base method.

func (*MockState) PutPendingValidator

func (m *MockState) PutPendingValidator(staker *Staker) error

PutPendingValidator mocks base method.

func (*MockState) ReindexBlocks

func (m *MockState) ReindexBlocks(lock sync.Locker, log logging.Logger) error

ReindexBlocks mocks base method.

func (*MockState) SetCurrentSupply

func (m *MockState) SetCurrentSupply(subnetID ids.ID, cs uint64)

SetCurrentSupply mocks base method.

func (*MockState) SetDelegateeReward

func (m *MockState) SetDelegateeReward(subnetID ids.ID, nodeID ids.NodeID, amount uint64) error

SetDelegateeReward mocks base method.

func (*MockState) SetFeeState

func (m *MockState) SetFeeState(f gas.State)

SetFeeState mocks base method.

func (*MockState) SetHeight

func (m *MockState) SetHeight(height uint64)

SetHeight mocks base method.

func (*MockState) SetLastAccepted

func (m *MockState) SetLastAccepted(blkID ids.ID)

SetLastAccepted mocks base method.

func (*MockState) SetSubnetManager

func (m *MockState) SetSubnetManager(subnetID, chainID ids.ID, addr []byte)

SetSubnetManager mocks base method.

func (*MockState) SetSubnetOwner

func (m *MockState) SetSubnetOwner(subnetID ids.ID, owner fx.Owner)

SetSubnetOwner mocks base method.

func (*MockState) SetTimestamp

func (m *MockState) SetTimestamp(tm time.Time)

SetTimestamp mocks base method.

func (*MockState) SetUptime

func (m *MockState) SetUptime(nodeID ids.NodeID, subnetID ids.ID, upDuration time.Duration, lastUpdated time.Time) error

SetUptime mocks base method.

func (*MockState) UTXOIDs

func (m *MockState) UTXOIDs(addr []byte, previous ids.ID, limit int) ([]ids.ID, error)

UTXOIDs mocks base method.

type MockStateMockRecorder

type MockStateMockRecorder struct {
	// contains filtered or unexported fields
}

MockStateMockRecorder is the mock recorder for MockState.

func (*MockStateMockRecorder) Abort

func (mr *MockStateMockRecorder) Abort() *gomock.Call

Abort indicates an expected call of Abort.

func (*MockStateMockRecorder) AddChain

func (mr *MockStateMockRecorder) AddChain(createChainTx any) *gomock.Call

AddChain indicates an expected call of AddChain.

func (*MockStateMockRecorder) AddRewardUTXO

func (mr *MockStateMockRecorder) AddRewardUTXO(txID, utxo any) *gomock.Call

AddRewardUTXO indicates an expected call of AddRewardUTXO.

func (*MockStateMockRecorder) AddStatelessBlock

func (mr *MockStateMockRecorder) AddStatelessBlock(block any) *gomock.Call

AddStatelessBlock indicates an expected call of AddStatelessBlock.

func (*MockStateMockRecorder) AddSubnet

func (mr *MockStateMockRecorder) AddSubnet(subnetID any) *gomock.Call

AddSubnet indicates an expected call of AddSubnet.

func (*MockStateMockRecorder) AddSubnetTransformation

func (mr *MockStateMockRecorder) AddSubnetTransformation(transformSubnetTx any) *gomock.Call

AddSubnetTransformation indicates an expected call of AddSubnetTransformation.

func (*MockStateMockRecorder) AddTx

func (mr *MockStateMockRecorder) AddTx(tx, status any) *gomock.Call

AddTx indicates an expected call of AddTx.

func (*MockStateMockRecorder) AddUTXO

func (mr *MockStateMockRecorder) AddUTXO(utxo any) *gomock.Call

AddUTXO indicates an expected call of AddUTXO.

func (*MockStateMockRecorder) ApplyValidatorPublicKeyDiffs

func (mr *MockStateMockRecorder) ApplyValidatorPublicKeyDiffs(ctx, validators, startHeight, endHeight any) *gomock.Call

ApplyValidatorPublicKeyDiffs indicates an expected call of ApplyValidatorPublicKeyDiffs.

func (*MockStateMockRecorder) ApplyValidatorWeightDiffs

func (mr *MockStateMockRecorder) ApplyValidatorWeightDiffs(ctx, validators, startHeight, endHeight, subnetID any) *gomock.Call

ApplyValidatorWeightDiffs indicates an expected call of ApplyValidatorWeightDiffs.

func (*MockStateMockRecorder) Checksum

func (mr *MockStateMockRecorder) Checksum() *gomock.Call

Checksum indicates an expected call of Checksum.

func (*MockStateMockRecorder) Close

func (mr *MockStateMockRecorder) Close() *gomock.Call

Close indicates an expected call of Close.

func (*MockStateMockRecorder) Commit

func (mr *MockStateMockRecorder) Commit() *gomock.Call

Commit indicates an expected call of Commit.

func (*MockStateMockRecorder) CommitBatch

func (mr *MockStateMockRecorder) CommitBatch() *gomock.Call

CommitBatch indicates an expected call of CommitBatch.

func (*MockStateMockRecorder) DeleteCurrentDelegator

func (mr *MockStateMockRecorder) DeleteCurrentDelegator(staker any) *gomock.Call

DeleteCurrentDelegator indicates an expected call of DeleteCurrentDelegator.

func (*MockStateMockRecorder) DeleteCurrentValidator

func (mr *MockStateMockRecorder) DeleteCurrentValidator(staker any) *gomock.Call

DeleteCurrentValidator indicates an expected call of DeleteCurrentValidator.

func (*MockStateMockRecorder) DeletePendingDelegator

func (mr *MockStateMockRecorder) DeletePendingDelegator(staker any) *gomock.Call

DeletePendingDelegator indicates an expected call of DeletePendingDelegator.

func (*MockStateMockRecorder) DeletePendingValidator

func (mr *MockStateMockRecorder) DeletePendingValidator(staker any) *gomock.Call

DeletePendingValidator indicates an expected call of DeletePendingValidator.

func (*MockStateMockRecorder) DeleteUTXO

func (mr *MockStateMockRecorder) DeleteUTXO(utxoID any) *gomock.Call

DeleteUTXO indicates an expected call of DeleteUTXO.

func (*MockStateMockRecorder) GetBlockIDAtHeight

func (mr *MockStateMockRecorder) GetBlockIDAtHeight(height any) *gomock.Call

GetBlockIDAtHeight indicates an expected call of GetBlockIDAtHeight.

func (*MockStateMockRecorder) GetChains

func (mr *MockStateMockRecorder) GetChains(subnetID any) *gomock.Call

GetChains indicates an expected call of GetChains.

func (*MockStateMockRecorder) GetCurrentDelegatorIterator

func (mr *MockStateMockRecorder) GetCurrentDelegatorIterator(subnetID, nodeID any) *gomock.Call

GetCurrentDelegatorIterator indicates an expected call of GetCurrentDelegatorIterator.

func (*MockStateMockRecorder) GetCurrentStakerIterator

func (mr *MockStateMockRecorder) GetCurrentStakerIterator() *gomock.Call

GetCurrentStakerIterator indicates an expected call of GetCurrentStakerIterator.

func (*MockStateMockRecorder) GetCurrentSupply

func (mr *MockStateMockRecorder) GetCurrentSupply(subnetID any) *gomock.Call

GetCurrentSupply indicates an expected call of GetCurrentSupply.

func (*MockStateMockRecorder) GetCurrentValidator

func (mr *MockStateMockRecorder) GetCurrentValidator(subnetID, nodeID any) *gomock.Call

GetCurrentValidator indicates an expected call of GetCurrentValidator.

func (*MockStateMockRecorder) GetDelegateeReward

func (mr *MockStateMockRecorder) GetDelegateeReward(subnetID, nodeID any) *gomock.Call

GetDelegateeReward indicates an expected call of GetDelegateeReward.

func (*MockStateMockRecorder) GetFeeState

func (mr *MockStateMockRecorder) GetFeeState() *gomock.Call

GetFeeState indicates an expected call of GetFeeState.

func (*MockStateMockRecorder) GetLastAccepted

func (mr *MockStateMockRecorder) GetLastAccepted() *gomock.Call

GetLastAccepted indicates an expected call of GetLastAccepted.

func (*MockStateMockRecorder) GetPendingDelegatorIterator

func (mr *MockStateMockRecorder) GetPendingDelegatorIterator(subnetID, nodeID any) *gomock.Call

GetPendingDelegatorIterator indicates an expected call of GetPendingDelegatorIterator.

func (*MockStateMockRecorder) GetPendingStakerIterator

func (mr *MockStateMockRecorder) GetPendingStakerIterator() *gomock.Call

GetPendingStakerIterator indicates an expected call of GetPendingStakerIterator.

func (*MockStateMockRecorder) GetPendingValidator

func (mr *MockStateMockRecorder) GetPendingValidator(subnetID, nodeID any) *gomock.Call

GetPendingValidator indicates an expected call of GetPendingValidator.

func (*MockStateMockRecorder) GetRewardUTXOs

func (mr *MockStateMockRecorder) GetRewardUTXOs(txID any) *gomock.Call

GetRewardUTXOs indicates an expected call of GetRewardUTXOs.

func (*MockStateMockRecorder) GetStartTime

func (mr *MockStateMockRecorder) GetStartTime(nodeID, subnetID any) *gomock.Call

GetStartTime indicates an expected call of GetStartTime.

func (*MockStateMockRecorder) GetStatelessBlock

func (mr *MockStateMockRecorder) GetStatelessBlock(blockID any) *gomock.Call

GetStatelessBlock indicates an expected call of GetStatelessBlock.

func (*MockStateMockRecorder) GetSubnetIDs

func (mr *MockStateMockRecorder) GetSubnetIDs() *gomock.Call

GetSubnetIDs indicates an expected call of GetSubnetIDs.

func (*MockStateMockRecorder) GetSubnetManager

func (mr *MockStateMockRecorder) GetSubnetManager(subnetID any) *gomock.Call

GetSubnetManager indicates an expected call of GetSubnetManager.

func (*MockStateMockRecorder) GetSubnetOwner

func (mr *MockStateMockRecorder) GetSubnetOwner(subnetID any) *gomock.Call

GetSubnetOwner indicates an expected call of GetSubnetOwner.

func (*MockStateMockRecorder) GetSubnetTransformation

func (mr *MockStateMockRecorder) GetSubnetTransformation(subnetID any) *gomock.Call

GetSubnetTransformation indicates an expected call of GetSubnetTransformation.

func (*MockStateMockRecorder) GetTimestamp

func (mr *MockStateMockRecorder) GetTimestamp() *gomock.Call

GetTimestamp indicates an expected call of GetTimestamp.

func (*MockStateMockRecorder) GetTx

func (mr *MockStateMockRecorder) GetTx(txID any) *gomock.Call

GetTx indicates an expected call of GetTx.

func (*MockStateMockRecorder) GetUTXO

func (mr *MockStateMockRecorder) GetUTXO(utxoID any) *gomock.Call

GetUTXO indicates an expected call of GetUTXO.

func (*MockStateMockRecorder) GetUptime

func (mr *MockStateMockRecorder) GetUptime(nodeID, subnetID any) *gomock.Call

GetUptime indicates an expected call of GetUptime.

func (*MockStateMockRecorder) PutCurrentDelegator

func (mr *MockStateMockRecorder) PutCurrentDelegator(staker any) *gomock.Call

PutCurrentDelegator indicates an expected call of PutCurrentDelegator.

func (*MockStateMockRecorder) PutCurrentValidator

func (mr *MockStateMockRecorder) PutCurrentValidator(staker any) *gomock.Call

PutCurrentValidator indicates an expected call of PutCurrentValidator.

func (*MockStateMockRecorder) PutPendingDelegator

func (mr *MockStateMockRecorder) PutPendingDelegator(staker any) *gomock.Call

PutPendingDelegator indicates an expected call of PutPendingDelegator.

func (*MockStateMockRecorder) PutPendingValidator

func (mr *MockStateMockRecorder) PutPendingValidator(staker any) *gomock.Call

PutPendingValidator indicates an expected call of PutPendingValidator.

func (*MockStateMockRecorder) ReindexBlocks

func (mr *MockStateMockRecorder) ReindexBlocks(lock, log any) *gomock.Call

ReindexBlocks indicates an expected call of ReindexBlocks.

func (*MockStateMockRecorder) SetCurrentSupply

func (mr *MockStateMockRecorder) SetCurrentSupply(subnetID, cs any) *gomock.Call

SetCurrentSupply indicates an expected call of SetCurrentSupply.

func (*MockStateMockRecorder) SetDelegateeReward

func (mr *MockStateMockRecorder) SetDelegateeReward(subnetID, nodeID, amount any) *gomock.Call

SetDelegateeReward indicates an expected call of SetDelegateeReward.

func (*MockStateMockRecorder) SetFeeState

func (mr *MockStateMockRecorder) SetFeeState(f any) *gomock.Call

SetFeeState indicates an expected call of SetFeeState.

func (*MockStateMockRecorder) SetHeight

func (mr *MockStateMockRecorder) SetHeight(height any) *gomock.Call

SetHeight indicates an expected call of SetHeight.

func (*MockStateMockRecorder) SetLastAccepted

func (mr *MockStateMockRecorder) SetLastAccepted(blkID any) *gomock.Call

SetLastAccepted indicates an expected call of SetLastAccepted.

func (*MockStateMockRecorder) SetSubnetManager

func (mr *MockStateMockRecorder) SetSubnetManager(subnetID, chainID, addr any) *gomock.Call

SetSubnetManager indicates an expected call of SetSubnetManager.

func (*MockStateMockRecorder) SetSubnetOwner

func (mr *MockStateMockRecorder) SetSubnetOwner(subnetID, owner any) *gomock.Call

SetSubnetOwner indicates an expected call of SetSubnetOwner.

func (*MockStateMockRecorder) SetTimestamp

func (mr *MockStateMockRecorder) SetTimestamp(tm any) *gomock.Call

SetTimestamp indicates an expected call of SetTimestamp.

func (*MockStateMockRecorder) SetUptime

func (mr *MockStateMockRecorder) SetUptime(nodeID, subnetID, upDuration, lastUpdated any) *gomock.Call

SetUptime indicates an expected call of SetUptime.

func (*MockStateMockRecorder) UTXOIDs

func (mr *MockStateMockRecorder) UTXOIDs(addr, previous, limit any) *gomock.Call

UTXOIDs indicates an expected call of UTXOIDs.

type PendingStakers

type PendingStakers interface {
	// GetPendingValidator returns the Staker describing the validator on
	// [subnetID] with [nodeID]. If the validator does not exist,
	// [database.ErrNotFound] is returned.
	GetPendingValidator(subnetID ids.ID, nodeID ids.NodeID) (*Staker, error)

	// PutPendingValidator adds the [staker] describing a validator to the
	// staker set.
	PutPendingValidator(staker *Staker) error

	// DeletePendingValidator removes the [staker] describing a validator from
	// the staker set.
	DeletePendingValidator(staker *Staker)

	// GetPendingDelegatorIterator returns the delegators associated with the
	// validator on [subnetID] with [nodeID]. Delegators are sorted by their
	// removal from pending staker set.
	GetPendingDelegatorIterator(subnetID ids.ID, nodeID ids.NodeID) (iterator.Iterator[*Staker], error)

	// PutPendingDelegator adds the [staker] describing a delegator to the
	// staker set.
	PutPendingDelegator(staker *Staker)

	// DeletePendingDelegator removes the [staker] describing a delegator from
	// the staker set.
	DeletePendingDelegator(staker *Staker)

	// GetPendingStakerIterator returns stakers in order of their removal from
	// the pending staker set.
	GetPendingStakerIterator() (iterator.Iterator[*Staker], error)
}

type Staker

type Staker struct {
	TxID            ids.ID
	NodeID          ids.NodeID
	PublicKey       *bls.PublicKey
	SubnetID        ids.ID
	Weight          uint64
	StartTime       time.Time
	EndTime         time.Time
	PotentialReward uint64

	// NextTime is the next time this staker will be moved from a validator set.
	// If the staker is in the pending validator set, NextTime will equal
	// StartTime. If the staker is in the current validator set, NextTime will
	// equal EndTime.
	NextTime time.Time

	// Priority specifies how to break ties between stakers with the same
	// NextTime. This ensures that stakers created by the same transaction type
	// are grouped together. The ordering of these groups is documented in
	// [priorities.go] and depends on if the stakers are in the pending or
	// current validator set.
	Priority txs.Priority
}

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

func NewCurrentStaker(
	txID ids.ID,
	staker txs.Staker,
	startTime time.Time,
	potentialReward uint64,
) (*Staker, error)

func NewPendingStaker

func NewPendingStaker(txID ids.ID, staker txs.ScheduledStaker) (*Staker, error)

func (*Staker) Less

func (s *Staker) Less(than *Staker) bool

A *Staker is considered to be less than another *Staker when:

  1. If its NextTime is before the other's.
  2. If the NextTimes are the same, the *Staker with the lesser priority is the lesser one.
  3. If the priorities are also the same, the one with the lesser txID is lesser.

type StakerDiffIterator

type StakerDiffIterator interface {
	Next() bool
	// Returns:
	// - The staker that is changing
	// - True if the staker is being added to the current staker set, false if
	//   the staker is being removed from the current staker set
	Value() (*Staker, bool)
	Release()
}

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

func NewStakerDiffIterator(currentIterator, pendingIterator iterator.Iterator[*Staker]) StakerDiffIterator

type Stakers

type Stakers interface {
	CurrentStakers
	PendingStakers
}

type State

type State interface {
	Chain
	uptime.State
	avax.UTXOReader

	GetLastAccepted() ids.ID
	SetLastAccepted(blkID ids.ID)

	GetStatelessBlock(blockID ids.ID) (block.Block, error)

	// Invariant: [block] is an accepted block.
	AddStatelessBlock(block block.Block)

	GetBlockIDAtHeight(height uint64) (ids.ID, error)

	GetRewardUTXOs(txID ids.ID) ([]*avax.UTXO, error)
	GetSubnetIDs() ([]ids.ID, error)
	GetChains(subnetID ids.ID) ([]*txs.Tx, error)

	// ApplyValidatorWeightDiffs iterates from [startHeight] towards the genesis
	// block until it has applied all of the diffs up to and including
	// [endHeight]. Applying the diffs modifies [validators].
	//
	// Invariant: If attempting to generate the validator set for
	// [endHeight - 1], [validators] must initially contain the validator
	// weights for [startHeight].
	//
	// Note: Because this function iterates towards the genesis, [startHeight]
	// will typically be greater than or equal to [endHeight]. If [startHeight]
	// is less than [endHeight], no diffs will be applied.
	ApplyValidatorWeightDiffs(
		ctx context.Context,
		validators map[ids.NodeID]*validators.GetValidatorOutput,
		startHeight uint64,
		endHeight uint64,
		subnetID ids.ID,
	) error

	// ApplyValidatorPublicKeyDiffs iterates from [startHeight] towards the
	// genesis block until it has applied all of the diffs up to and including
	// [endHeight]. Applying the diffs modifies [validators].
	//
	// Invariant: If attempting to generate the validator set for
	// [endHeight - 1], [validators] must initially contain the validator
	// weights for [startHeight].
	//
	// Note: Because this function iterates towards the genesis, [startHeight]
	// will typically be greater than or equal to [endHeight]. If [startHeight]
	// is less than [endHeight], no diffs will be applied.
	ApplyValidatorPublicKeyDiffs(
		ctx context.Context,
		validators map[ids.NodeID]*validators.GetValidatorOutput,
		startHeight uint64,
		endHeight uint64,
	) error

	SetHeight(height uint64)

	// Discard uncommitted changes to the database.
	Abort()

	// ReindexBlocks converts any block indices using the legacy storage format
	// to the new format. If this database has already updated the indices,
	// this function will return immediately, without iterating over the
	// database.
	//
	// TODO: Remove after v1.12.x is activated
	ReindexBlocks(lock sync.Locker, log logging.Logger) error

	// Commit changes to the base database.
	Commit() error

	// Returns a batch of unwritten changes that, when written, will commit all
	// pending changes to the base database.
	CommitBatch() (database.Batch, error)

	Checksum() ids.ID

	Close() error
}

func New

func New(
	db database.Database,
	genesisBytes []byte,
	metricsReg prometheus.Registerer,
	validators validators.Manager,
	upgrades upgrade.Config,
	execCfg *config.ExecutionConfig,
	ctx *snow.Context,
	metrics metrics.Metrics,
	rewards reward.Calculator,
) (State, error)

type ValidatorWeightDiff

type ValidatorWeightDiff struct {
	Decrease bool   `serialize:"true"`
	Amount   uint64 `serialize:"true"`
}

func (*ValidatorWeightDiff) Add

func (v *ValidatorWeightDiff) Add(negative bool, amount uint64) error

type Versions

type Versions interface {
	// GetState returns the state of the chain after [blkID] has been accepted.
	// If the state is not known, `false` will be returned.
	GetState(blkID ids.ID) (Chain, bool)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL