Documentation ¶
Index ¶
Constants ¶
View Source
const ( TracerConfig = `{"onlyTopCall":true}` TracerName = "callTracer" )
Variables ¶
View Source
var NopTracer = &nopTracer{}
Functions ¶
func DefaultCallTracer ¶
func NewSafeTxTracer ¶
func NewSafeTxTracer(ct *CallTracerCollector) *tracers.Tracer
Types ¶
type BlocksProvider ¶
type BlocksProvider struct {
// contains filtered or unexported fields
}
This BlocksProvider implementation is used in the EVM events ingestion pipeline. The ingestion module notifies the BlocksProvider of incoming EVM blocks, by calling the `OnBlockReceived` method. This method guarantees that blocks are processed sequentially, and keeps track of the latest block, which is used for generating the proper `BlockContext`. This is necessary for replaying EVM blocks/transactions locally, and verifying that there are no state mismatches.
func NewBlocksProvider ¶
func NewBlocksProvider( blocks storage.BlockIndexer, chainID flowGo.ChainID, tracer *tracers.Tracer, ) *BlocksProvider
func (*BlocksProvider) GetSnapshotAt ¶
func (bp *BlocksProvider) GetSnapshotAt(height uint64) ( evmTypes.BlockSnapshot, error, )
func (*BlocksProvider) OnBlockReceived ¶
func (bp *BlocksProvider) OnBlockReceived(block *models.Block) error
type CallTracerCollector ¶
type CallTracerCollector struct {
// contains filtered or unexported fields
}
func NewCallTracerCollector ¶
func NewCallTracerCollector(logger zerolog.Logger) ( *CallTracerCollector, error, )
func (*CallTracerCollector) Collect ¶
func (ct *CallTracerCollector) Collect(txID common.Hash) (json.RawMessage, error)
func (*CallTracerCollector) ResetTracer ¶
func (t *CallTracerCollector) ResetTracer() error
func (*CallTracerCollector) TxTracer ¶
func (t *CallTracerCollector) TxTracer() *tracers.Tracer
Click to show internal directories.
Click to hide internal directories.