executor

package
v1.7.15-rc.2 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2022 License: BSD-3-Clause Imports: 19 Imported by: 0

Documentation

Index

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

This section is empty.

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) ExportTx

func (e *AtomicTxExecutor) ExportTx(tx *txs.ExportTx) error

func (*AtomicTxExecutor) ImportTx

func (e *AtomicTxExecutor) ImportTx(tx *txs.ImportTx) error

func (*AtomicTxExecutor) RewardValidatorTx

func (*AtomicTxExecutor) RewardValidatorTx(*txs.RewardValidatorTx) error

type Backend

type Backend struct {
	Config        *config.Config
	Ctx           *snow.Context
	Clk           *mockable.Clock
	Fx            fx.Fx
	FlowChecker   utxo.Verifier
	Uptimes       uptime.Manager
	Rewards       reward.Calculator
	Bootstrapped  *utils.AtomicBool
	StateVersions state.Versions
}

type MempoolTxVerifier

type MempoolTxVerifier struct {
	*Backend
	ParentID ids.ID
	Tx       *txs.Tx
}

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) ExportTx

func (v *MempoolTxVerifier) ExportTx(tx *txs.ExportTx) error

func (*MempoolTxVerifier) ImportTx

func (v *MempoolTxVerifier) ImportTx(tx *txs.ImportTx) 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) ExportTx

func (*ProposalTxExecutor) ExportTx(*txs.ExportTx) error

func (*ProposalTxExecutor) ImportTx

func (*ProposalTxExecutor) ImportTx(*txs.ImportTx) 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) ExportTx

func (e *StandardTxExecutor) ExportTx(tx *txs.ExportTx) error

func (*StandardTxExecutor) ImportTx

func (e *StandardTxExecutor) ImportTx(tx *txs.ImportTx) error

func (*StandardTxExecutor) RewardValidatorTx

func (*StandardTxExecutor) RewardValidatorTx(*txs.RewardValidatorTx) error

Jump to

Keyboard shortcuts

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