Versions in this module Expand all Collapse all v0 v0.0.0 Mar 14, 2022 Changes in this version + var ErrFutureBlock = errors.New("block in the future") + var ErrInvalidNumber = errors.New("invalid block number") + var ErrPrunedAncestor = errors.New("pruned ancestor") + var ErrUnknownAncestor = errors.New("unknown ancestor") + var SystemAddress = common.HexToAddress("0xffffFFFfFFffffffffffffffFfFFFfffFFFfFFfE") + type ChainHeaderReader interface + Config func() *params.ChainConfig + CurrentHeader func() *types.Header + GetHeader func(hash common.Hash, number uint64) *types.Header + GetHeaderByHash func(hash common.Hash) *types.Header + GetHeaderByNumber func(number uint64) *types.Header + GetHighestVerifiedHeader func() *types.Header + type ChainReader interface + GetBlock func(hash common.Hash, number uint64) *types.Block + type Engine interface + APIs func(chain ChainHeaderReader) []rpc.API + Author func(header *types.Header) (common.Address, error) + CalcDifficulty func(chain ChainHeaderReader, time uint64, parent *types.Header) *big.Int + Close func() error + Delay func(chain ChainReader, header *types.Header) *time.Duration + Finalize func(chain ChainHeaderReader, header *types.Header, state *state.StateDB, ...) error + FinalizeAndAssemble func(chain ChainHeaderReader, header *types.Header, state *state.StateDB, ...) (*types.Block, []*types.Receipt, error) + Prepare func(chain ChainHeaderReader, header *types.Header) error + Seal func(chain ChainHeaderReader, block *types.Block, results chan<- *types.Block, ...) error + SealHash func(header *types.Header) common.Hash + VerifyHeader func(chain ChainHeaderReader, header *types.Header, seal bool) error + VerifyHeaders func(chain ChainHeaderReader, headers []*types.Header, seals []bool) (chan<- struct{}, <-chan error) + VerifyUncles func(chain ChainReader, block *types.Block) error + type PoSA interface + AllowLightProcess func(chain ChainReader, currentHeader *types.Header) bool + EnoughDistance func(chain ChainReader, header *types.Header) bool + IsLocalBlock func(header *types.Header) bool + IsSystemContract func(to *common.Address) bool + IsSystemTransaction func(tx *types.Transaction, header *types.Header) (bool, error) + type PoW interface + Hashrate func() float64