Documentation
¶
Index ¶
- func AssembleTracer(ctx context.Context, config *tracersConfig.TraceConfig, txHash libcommon.Hash, ...) (vm.EVMLogger, bool, context.CancelFunc, error)
- func ComputeBlockContext(ctx context.Context, engine consensus.EngineReader, header *types.Header, ...) (*state.IntraBlockState, evmtypes.BlockContext, state.StateReader, *chain.Rules, ...)
- func ComputeTxContext(statedb *state.IntraBlockState, engine consensus.EngineReader, ...) (core.Message, evmtypes.TxContext, error)
- func DoCall(ctx context.Context, engine consensus.EngineReader, args ethapi2.CallArgs, ...) (*evmtypes.ExecutionResult, error)
- func ExecuteTraceTx(blockCtx evmtypes.BlockContext, txCtx evmtypes.TxContext, ...) error
- func MakeHeaderGetter(requireCanonical bool, tx kv.Getter, headerReader services.HeaderReader) func(uint64) libcommon.Hash
- func NewEVMBlockContext(engine consensus.EngineReader, header *types.Header, requireCanonical bool, ...) evmtypes.BlockContext
- func TraceTx(ctx context.Context, engine consensus.EngineReader, message core.Message, ...) (usedGas uint64, err error)
- type BlockGetter
- type ReusableCaller
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AssembleTracer ¶
func ComputeBlockContext ¶
func ComputeBlockContext(ctx context.Context, engine consensus.EngineReader, header *types.Header, cfg *chain.Config, headerReader services.HeaderReader, txNumsReader rawdbv3.TxNumsReader, dbtx kv.TemporalTx, txIndex int) (*state.IntraBlockState, evmtypes.BlockContext, state.StateReader, *chain.Rules, *types.Signer, error)
ComputeBlockContext returns the execution environment of a certain block.
func ComputeTxContext ¶
func ComputeTxContext(statedb *state.IntraBlockState, engine consensus.EngineReader, rules *chain.Rules, signer *types.Signer, block *types.Block, cfg *chain.Config, txIndex int) (core.Message, evmtypes.TxContext, error)
ComputeTxContext returns the execution environment of a certain transaction.
func DoCall ¶
func DoCall( ctx context.Context, engine consensus.EngineReader, args ethapi2.CallArgs, tx kv.Tx, blockNrOrHash rpc.BlockNumberOrHash, header *types.Header, overrides *ethapi2.StateOverrides, gasCap uint64, chainConfig *chain.Config, stateReader state.StateReader, headerReader services.HeaderReader, callTimeout time.Duration, ) (*evmtypes.ExecutionResult, error)
func ExecuteTraceTx ¶
func ExecuteTraceTx( blockCtx evmtypes.BlockContext, txCtx evmtypes.TxContext, ibs evmtypes.IntraBlockState, config *tracersConfig.TraceConfig, chainConfig *chain.Config, stream *jsoniter.Stream, tracer vm.EVMLogger, streaming bool, execCb func(evm *vm.EVM, refunds bool) (*evmtypes.ExecutionResult, error), ) error
func MakeHeaderGetter ¶
func NewEVMBlockContext ¶
func NewEVMBlockContext(engine consensus.EngineReader, header *types.Header, requireCanonical bool, tx kv.Getter, headerReader services.HeaderReader, config *chain.Config) evmtypes.BlockContext
func TraceTx ¶
func TraceTx( ctx context.Context, engine consensus.EngineReader, message core.Message, blockCtx evmtypes.BlockContext, txCtx evmtypes.TxContext, blockHash libcommon.Hash, txnIndex int, ibs evmtypes.IntraBlockState, config *tracersConfig.TraceConfig, chainConfig *chain.Config, stream *jsoniter.Stream, callTimeout time.Duration, ) (usedGas uint64, err error)
TraceTx configures a new tracer according to the provided configuration, and executes the given message in the provided environment. The return value will be tracer dependent.
Types ¶
type BlockGetter ¶
type BlockGetter interface { // GetBlockByHash retrieves a block from the database by hash, caching it if found. GetBlockByHash(hash libcommon.Hash) (*types.Block, error) // GetBlock retrieves a block from the database by hash and number, // caching it if found. GetBlock(hash libcommon.Hash, number uint64) *types.Block }
type ReusableCaller ¶
type ReusableCaller struct {
// contains filtered or unexported fields
}
func NewReusableCaller ¶
func NewReusableCaller( engine consensus.EngineReader, stateReader state.StateReader, overrides *ethapi2.StateOverrides, header *types.Header, initialArgs ethapi2.CallArgs, gasCap uint64, blockNrOrHash rpc.BlockNumberOrHash, tx kv.Tx, headerReader services.HeaderReader, chainConfig *chain.Config, callTimeout time.Duration, ) (*ReusableCaller, error)
func (*ReusableCaller) DoCallWithNewGas ¶
func (r *ReusableCaller) DoCallWithNewGas( ctx context.Context, newGas uint64, engine consensus.EngineReader, overrides *ethapi2.StateOverrides, ) (*evmtypes.ExecutionResult, error)
Click to show internal directories.
Click to hide internal directories.