Documentation ¶
Index ¶
- Constants
- func GetMaxWeight(chainState state.Chain, validator *state.Staker, startTime time.Time, ...) (uint64, error)
- func GetNextStakerChangeTime(state state.Chain) (time.Time, error)
- func GetValidator(state state.Chain, subnetID ids.ID, nodeID ids.NodeID) (*state.Staker, error)
- type AtomicTxExecutor
- func (*AtomicTxExecutor) AddDelegatorTx(*txs.AddDelegatorTx) error
- func (*AtomicTxExecutor) AddSubnetValidatorTx(*txs.AddSubnetValidatorTx) error
- func (*AtomicTxExecutor) AddValidatorTx(*txs.AddValidatorTx) error
- func (*AtomicTxExecutor) AdvanceTimeTx(*txs.AdvanceTimeTx) error
- func (*AtomicTxExecutor) CreateChainTx(*txs.CreateChainTx) error
- func (*AtomicTxExecutor) CreateSubnetTx(*txs.CreateSubnetTx) error
- func (e *AtomicTxExecutor) ExportTx(tx *txs.ExportTx) error
- func (e *AtomicTxExecutor) ImportTx(tx *txs.ImportTx) error
- func (*AtomicTxExecutor) RewardValidatorTx(*txs.RewardValidatorTx) error
- type Backend
- type MempoolTxVerifier
- func (v *MempoolTxVerifier) AddDelegatorTx(tx *txs.AddDelegatorTx) error
- func (v *MempoolTxVerifier) AddSubnetValidatorTx(tx *txs.AddSubnetValidatorTx) error
- func (v *MempoolTxVerifier) AddValidatorTx(tx *txs.AddValidatorTx) error
- func (*MempoolTxVerifier) AdvanceTimeTx(*txs.AdvanceTimeTx) error
- func (v *MempoolTxVerifier) CreateChainTx(tx *txs.CreateChainTx) error
- func (v *MempoolTxVerifier) CreateSubnetTx(tx *txs.CreateSubnetTx) error
- func (v *MempoolTxVerifier) ExportTx(tx *txs.ExportTx) error
- func (v *MempoolTxVerifier) ImportTx(tx *txs.ImportTx) error
- func (*MempoolTxVerifier) RewardValidatorTx(*txs.RewardValidatorTx) error
- type ProposalTxExecutor
- func (e *ProposalTxExecutor) AddDelegatorTx(tx *txs.AddDelegatorTx) error
- func (e *ProposalTxExecutor) AddSubnetValidatorTx(tx *txs.AddSubnetValidatorTx) error
- func (e *ProposalTxExecutor) AddValidatorTx(tx *txs.AddValidatorTx) error
- func (e *ProposalTxExecutor) AdvanceTimeTx(tx *txs.AdvanceTimeTx) error
- func (*ProposalTxExecutor) CreateChainTx(*txs.CreateChainTx) error
- func (*ProposalTxExecutor) CreateSubnetTx(*txs.CreateSubnetTx) error
- func (*ProposalTxExecutor) ExportTx(*txs.ExportTx) error
- func (*ProposalTxExecutor) ImportTx(*txs.ImportTx) error
- func (e *ProposalTxExecutor) RewardValidatorTx(tx *txs.RewardValidatorTx) error
- type StandardTxExecutor
- func (*StandardTxExecutor) AddDelegatorTx(*txs.AddDelegatorTx) error
- func (*StandardTxExecutor) AddSubnetValidatorTx(*txs.AddSubnetValidatorTx) error
- func (*StandardTxExecutor) AddValidatorTx(*txs.AddValidatorTx) error
- func (*StandardTxExecutor) AdvanceTimeTx(*txs.AdvanceTimeTx) error
- func (e *StandardTxExecutor) CreateChainTx(tx *txs.CreateChainTx) error
- func (e *StandardTxExecutor) CreateSubnetTx(tx *txs.CreateSubnetTx) error
- func (e *StandardTxExecutor) ExportTx(tx *txs.ExportTx) error
- func (e *StandardTxExecutor) ImportTx(tx *txs.ImportTx) error
- func (*StandardTxExecutor) RewardValidatorTx(*txs.RewardValidatorTx) error
Constants ¶
View Source
const ( // Maximum future start time for staking/delegating MaxFutureStartTime = 24 * 7 * 2 * time.Hour // SyncBound is the synchrony bound used for safe decision making SyncBound = 10 * time.Second MaxValidatorWeightFactor = 5 )
Variables ¶
This section is empty.
Functions ¶
func GetMaxWeight ¶
func GetMaxWeight( chainState state.Chain, validator *state.Staker, startTime time.Time, endTime time.Time, ) (uint64, error)
GetMaxWeight returns the maximum total weight of the [validator], including its own weight, between [startTime] and [endTime]. The weight changes are applied in the order they will be applied as chain time advances. Invariant: - [validator.StartTime] <= [startTime] < [endTime] <= [validator.EndTime]
func GetNextStakerChangeTime ¶
GetNextStakerChangeTime returns the next time a staker will be either added or removed to/from the current validator set.
Types ¶
type AtomicTxExecutor ¶
type AtomicTxExecutor struct { // inputs, to be filled before visitor methods are called *Backend ParentID ids.ID Tx *txs.Tx // outputs of visitor execution OnAccept state.Diff Inputs ids.Set AtomicRequests map[ids.ID]*atomic.Requests }
atomicTxExecutor is used to execute atomic transactions pre-AP5. After AP5 the execution was moved to be performed inside of the standardTxExecutor.
func (*AtomicTxExecutor) AddDelegatorTx ¶
func (*AtomicTxExecutor) AddDelegatorTx(*txs.AddDelegatorTx) error
func (*AtomicTxExecutor) AddSubnetValidatorTx ¶
func (*AtomicTxExecutor) AddSubnetValidatorTx(*txs.AddSubnetValidatorTx) error
func (*AtomicTxExecutor) AddValidatorTx ¶
func (*AtomicTxExecutor) AddValidatorTx(*txs.AddValidatorTx) error
func (*AtomicTxExecutor) AdvanceTimeTx ¶
func (*AtomicTxExecutor) AdvanceTimeTx(*txs.AdvanceTimeTx) error
func (*AtomicTxExecutor) CreateChainTx ¶
func (*AtomicTxExecutor) CreateChainTx(*txs.CreateChainTx) error
func (*AtomicTxExecutor) CreateSubnetTx ¶
func (*AtomicTxExecutor) CreateSubnetTx(*txs.CreateSubnetTx) error
func (*AtomicTxExecutor) RewardValidatorTx ¶
func (*AtomicTxExecutor) RewardValidatorTx(*txs.RewardValidatorTx) error
type MempoolTxVerifier ¶
func (*MempoolTxVerifier) AddDelegatorTx ¶
func (v *MempoolTxVerifier) AddDelegatorTx(tx *txs.AddDelegatorTx) error
func (*MempoolTxVerifier) AddSubnetValidatorTx ¶
func (v *MempoolTxVerifier) AddSubnetValidatorTx(tx *txs.AddSubnetValidatorTx) error
func (*MempoolTxVerifier) AddValidatorTx ¶
func (v *MempoolTxVerifier) AddValidatorTx(tx *txs.AddValidatorTx) error
func (*MempoolTxVerifier) AdvanceTimeTx ¶
func (*MempoolTxVerifier) AdvanceTimeTx(*txs.AdvanceTimeTx) error
func (*MempoolTxVerifier) CreateChainTx ¶
func (v *MempoolTxVerifier) CreateChainTx(tx *txs.CreateChainTx) error
func (*MempoolTxVerifier) CreateSubnetTx ¶
func (v *MempoolTxVerifier) CreateSubnetTx(tx *txs.CreateSubnetTx) error
func (*MempoolTxVerifier) RewardValidatorTx ¶
func (*MempoolTxVerifier) RewardValidatorTx(*txs.RewardValidatorTx) error
type ProposalTxExecutor ¶
type ProposalTxExecutor struct { // inputs, to be filled before visitor methods are called *Backend ParentID ids.ID Tx *txs.Tx // outputs of visitor execution OnCommit state.Diff OnAbort state.Diff PrefersCommit bool }
func (*ProposalTxExecutor) AddDelegatorTx ¶
func (e *ProposalTxExecutor) AddDelegatorTx(tx *txs.AddDelegatorTx) error
func (*ProposalTxExecutor) AddSubnetValidatorTx ¶
func (e *ProposalTxExecutor) AddSubnetValidatorTx(tx *txs.AddSubnetValidatorTx) error
func (*ProposalTxExecutor) AddValidatorTx ¶
func (e *ProposalTxExecutor) AddValidatorTx(tx *txs.AddValidatorTx) error
func (*ProposalTxExecutor) AdvanceTimeTx ¶
func (e *ProposalTxExecutor) AdvanceTimeTx(tx *txs.AdvanceTimeTx) error
func (*ProposalTxExecutor) CreateChainTx ¶
func (*ProposalTxExecutor) CreateChainTx(*txs.CreateChainTx) error
func (*ProposalTxExecutor) CreateSubnetTx ¶
func (*ProposalTxExecutor) CreateSubnetTx(*txs.CreateSubnetTx) error
func (*ProposalTxExecutor) RewardValidatorTx ¶
func (e *ProposalTxExecutor) RewardValidatorTx(tx *txs.RewardValidatorTx) error
type StandardTxExecutor ¶
type StandardTxExecutor struct { // inputs, to be filled before visitor methods are called *Backend State state.Diff // state is expected to be modified Tx *txs.Tx // outputs of visitor execution OnAccept func() // may be nil Inputs ids.Set AtomicRequests map[ids.ID]*atomic.Requests // may be nil }
func (*StandardTxExecutor) AddDelegatorTx ¶
func (*StandardTxExecutor) AddDelegatorTx(*txs.AddDelegatorTx) error
func (*StandardTxExecutor) AddSubnetValidatorTx ¶
func (*StandardTxExecutor) AddSubnetValidatorTx(*txs.AddSubnetValidatorTx) error
func (*StandardTxExecutor) AddValidatorTx ¶
func (*StandardTxExecutor) AddValidatorTx(*txs.AddValidatorTx) error
func (*StandardTxExecutor) AdvanceTimeTx ¶
func (*StandardTxExecutor) AdvanceTimeTx(*txs.AdvanceTimeTx) error
func (*StandardTxExecutor) CreateChainTx ¶
func (e *StandardTxExecutor) CreateChainTx(tx *txs.CreateChainTx) error
func (*StandardTxExecutor) CreateSubnetTx ¶
func (e *StandardTxExecutor) CreateSubnetTx(tx *txs.CreateSubnetTx) error
func (*StandardTxExecutor) RewardValidatorTx ¶
func (*StandardTxExecutor) RewardValidatorTx(*txs.RewardValidatorTx) error
Click to show internal directories.
Click to hide internal directories.