worker

package
v1.10.2 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2024 License: LGPL-3.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetNewEpoch

func GetNewEpoch(chain core.BlockChain) *big.Int

GetNewEpoch gets the current epoch.

Types

type Environment

type Environment interface {
	CurrentHeader() *block.Header
}

type Worker

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

Worker is the main object which takes care of submitting new work to consensus engine and gathering the sealing result.

func New

func New(
	chain core.BlockChain, beacon core.BlockChain,
) *Worker

New create a new worker object.

func (*Worker) ApplyShardReduction

func (w *Worker) ApplyShardReduction()

ApplyShardReduction only used to reduce shards of Testnet

func (*Worker) CollectVerifiedSlashes

func (w *Worker) CollectVerifiedSlashes() error

CollectVerifiedSlashes sets w.current.slashes only to those that past verification

func (*Worker) CommitReceipts

func (w *Worker) CommitReceipts(receiptsList []*types.CXReceiptsProof) error

CommitReceipts commits a list of already verified incoming cross shard receipts

func (*Worker) CommitSortedTransactions

func (w *Worker) CommitSortedTransactions(
	txs *types.TransactionsByPriceAndNonce,
	coinbase common.Address,
)

CommitSortedTransactions commits transactions for new block.

func (*Worker) CommitTransactions

func (w *Worker) CommitTransactions(
	pendingNormal map[common.Address]types.Transactions,
	pendingStaking staking.StakingTransactions, coinbase common.Address,
) error

CommitTransactions commits transactions for new block.

func (*Worker) FinalizeNewBlock

func (w *Worker) FinalizeNewBlock(
	commitSigs chan []byte, viewID func() uint64, coinbase common.Address,
	crossLinks types.CrossLinks, shardState *shard.State,
) (*types.Block, error)

FinalizeNewBlock generate a new block for the next consensus round.

func (*Worker) GasCeil

func (w *Worker) GasCeil() uint64

func (*Worker) GasFloor

func (w *Worker) GasFloor(epoch *big.Int) uint64

func (*Worker) GetCurrentHeader

func (w *Worker) GetCurrentHeader() *block.Header

GetCurrentHeader returns the current header to propose

func (*Worker) GetCurrentReceipts

func (w *Worker) GetCurrentReceipts() []*types.Receipt

GetCurrentReceipts get the receipts generated starting from the last state.

func (*Worker) GetCurrentResult

func (w *Worker) GetCurrentResult() *core.ProcessorResult

GetCurrentResult gets the current block processing result.

func (*Worker) GetCurrentState

func (w *Worker) GetCurrentState() *state.DB

GetCurrentState gets the current state.

func (*Worker) UpdateCurrent

func (w *Worker) UpdateCurrent() (Environment, error)

UpdateCurrent updates the current environment with the current state and header.

Jump to

Keyboard shortcuts

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