exec3

package
v0.0.0-...-ff78b6e Latest Latest
Warning

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

Go to latest
Published: Dec 6, 2023 License: GPL-3.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewWorkersPool

func NewWorkersPool(lock sync.Locker, ctx context.Context, background bool, chainDb kv.RoDB, rs *state.StateV3, in *exec22.QueueWithRetry, blockReader services.FullBlockReader, chainConfig *chain.Config, genesis *types.Genesis, engine consensus.Engine, workerCount int) (reconWorkers []*Worker, applyWorker *Worker, rws *exec22.ResultsQueue, clear func(), wait func())

Types

type CallTracer

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

func NewCallTracer

func NewCallTracer() *CallTracer

func (*CallTracer) CaptureEnd

func (ct *CallTracer) CaptureEnd(output []byte, usedGas uint64, err error)

func (*CallTracer) CaptureEnter

func (ct *CallTracer) CaptureEnter(typ vm.OpCode, from libcommon.Address, to libcommon.Address, precompile bool, create bool, input []byte, gas uint64, value *uint256.Int, code []byte)

func (*CallTracer) CaptureExit

func (ct *CallTracer) CaptureExit(output []byte, usedGas uint64, err error)

func (*CallTracer) CaptureFault

func (ct *CallTracer) CaptureFault(pc uint64, op vm.OpCode, gas, cost uint64, scope *vm.ScopeContext, depth int, err error)

func (*CallTracer) CaptureStart

func (ct *CallTracer) CaptureStart(env *vm.EVM, from libcommon.Address, to libcommon.Address, precompile bool, create bool, input []byte, gas uint64, value *uint256.Int, code []byte)

func (*CallTracer) CaptureState

func (ct *CallTracer) CaptureState(pc uint64, op vm.OpCode, gas, cost uint64, scope *vm.ScopeContext, rData []byte, depth int, err error)

func (*CallTracer) CaptureTxEnd

func (ct *CallTracer) CaptureTxEnd(restGas uint64)

func (*CallTracer) CaptureTxStart

func (ct *CallTracer) CaptureTxStart(gasLimit uint64)

func (*CallTracer) Froms

func (ct *CallTracer) Froms() map[libcommon.Address]struct{}

func (*CallTracer) Reset

func (ct *CallTracer) Reset()

func (*CallTracer) Tos

func (ct *CallTracer) Tos() map[libcommon.Address]struct{}

type ChainReader

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

func NewChainReader

func NewChainReader(config *chain.Config, tx kv.Tx, blockReader services.FullBlockReader) ChainReader

func (ChainReader) BorEventsByBlock

func (cr ChainReader) BorEventsByBlock(hash libcommon.Hash, number uint64) []rlp.RawValue

func (ChainReader) BorSpan

func (cr ChainReader) BorSpan(spanId uint64) []byte

func (ChainReader) Config

func (cr ChainReader) Config() *chain.Config

func (ChainReader) CurrentHeader

func (cr ChainReader) CurrentHeader() *types.Header

func (ChainReader) FrozenBlocks

func (cr ChainReader) FrozenBlocks() uint64

func (ChainReader) GetBlock

func (cr ChainReader) GetBlock(hash libcommon.Hash, number uint64) *types.Block

func (ChainReader) GetHeader

func (cr ChainReader) GetHeader(hash libcommon.Hash, number uint64) *types.Header

func (ChainReader) GetHeaderByHash

func (cr ChainReader) GetHeaderByHash(hash libcommon.Hash) *types.Header

func (ChainReader) GetHeaderByNumber

func (cr ChainReader) GetHeaderByNumber(number uint64) *types.Header

func (ChainReader) GetTd

func (cr ChainReader) GetTd(hash libcommon.Hash, number uint64) *big.Int

func (ChainReader) HasBlock

func (cr ChainReader) HasBlock(hash libcommon.Hash, number uint64) bool

type FillWorker

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

func NewFillWorker

func NewFillWorker(txNum uint64, as *libstate.AggregatorStep) *FillWorker

func (*FillWorker) FillAccounts

func (fw *FillWorker) FillAccounts(plainStateCollector *etl.Collector) error

func (*FillWorker) FillCode

func (fw *FillWorker) FillCode(codeCollector, plainContractCollector *etl.Collector) error

func (*FillWorker) FillStorage

func (fw *FillWorker) FillStorage(plainStateCollector *etl.Collector) error

type ReconWorker

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

func NewReconWorker

func NewReconWorker(lock sync.Locker, ctx context.Context, rs *state.ReconState,
	as *libstate.AggregatorStep, blockReader services.FullBlockReader,
	chainConfig *chain.Config, logger log.Logger, genesis *types.Genesis, engine consensus.Engine,
	chainTx kv.Tx,
) *ReconWorker

func (*ReconWorker) Run

func (rw *ReconWorker) Run() error

func (*ReconWorker) SetChainTx

func (rw *ReconWorker) SetChainTx(chainTx kv.Tx)

func (*ReconWorker) SetTx

func (rw *ReconWorker) SetTx(tx kv.Tx)

type ScanWorker

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

func NewScanWorker

func NewScanWorker(txNum uint64, as *libstate.AggregatorStep) *ScanWorker

func (*ScanWorker) Bitmap

func (sw *ScanWorker) Bitmap() *roaring64.Bitmap

func (*ScanWorker) BitmapAccounts

func (sw *ScanWorker) BitmapAccounts() error

func (*ScanWorker) BitmapCode

func (sw *ScanWorker) BitmapCode() error

func (*ScanWorker) BitmapStorage

func (sw *ScanWorker) BitmapStorage() error

type Worker

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

func NewWorker

func NewWorker(lock sync.Locker, ctx context.Context, background bool, chainDb kv.RoDB, rs *state.StateV3, in *exec22.QueueWithRetry, blockReader services.FullBlockReader, chainConfig *chain.Config, genesis *types.Genesis, results *exec22.ResultsQueue, engine consensus.Engine) *Worker

func (*Worker) DiscardReadList

func (rw *Worker) DiscardReadList()

func (*Worker) ResetTx

func (rw *Worker) ResetTx(chainTx kv.Tx)

func (*Worker) Run

func (rw *Worker) Run() error

func (*Worker) RunTxTask

func (rw *Worker) RunTxTask(txTask *exec22.TxTask)

func (*Worker) RunTxTaskNoLock

func (rw *Worker) RunTxTaskNoLock(txTask *exec22.TxTask)

func (*Worker) Tx

func (rw *Worker) Tx() kv.Tx

Jump to

Keyboard shortcuts

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