execution

package
v1.22.0 Latest Latest
Warning

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

Go to latest
Published: Jul 17, 2026 License: GPL-3.0 Imports: 23 Imported by: 0

Documentation

Overview

Package execution holds EL cannon derivers. Each deriver pulls a single cryo dataset over a block range, converts the rows into chunked DecoratedEvents, and advances its own block cursor — mirroring the per-deriver independence of the consensus-layer derivers. The shared loop lives in deriver_base.go; each deriver supplies its row struct, cryo columns, and row→proto mapping.

Index

Constants

AddressAppearancesDeriverName is the cannon type produced by the address appearances deriver.

BalanceDiffsDeriverName is the cannon type produced by the balance diffs deriver.

BalanceReadsDeriverName is the cannon type produced by the balance reads deriver.

BlockDeriverName is the cannon type produced by the block deriver.

ContractsDeriverName is the cannon type produced by the contracts deriver.

Erc20TransfersDeriverName is the cannon type produced by the erc20_transfers deriver.

Erc721TransfersDeriverName is the cannon type produced by the erc721 transfers deriver.

FourByteCountsDeriverName is the cannon type produced by the four_byte_counts deriver.

LogsDeriverName is the cannon type produced by the logs deriver.

NativeTransfersDeriverName is the cannon type produced by the native transfers deriver.

NonceDiffsDeriverName is the cannon type produced by the nonce_diffs deriver.

NonceReadsDeriverName is the cannon type produced by the nonce reads deriver.

StorageDiffsDeriverName is the cannon type produced by the storage diffs deriver.

StorageReadsDeriverName is the cannon type produced by the storage reads deriver.

TracesDeriverName is the cannon type produced by the traces deriver.

TransactionDeriverName is the cannon type produced by the transaction deriver.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddressAppearancesDeriver

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

AddressAppearancesDeriver derives canonical_execution_address_appearances events via cryo.

func NewAddressAppearancesDeriver

func NewAddressAppearancesDeriver(
	log observability.ContextualLogger,
	config *AddressAppearancesDeriverConfig,
	iter *iterator.BackfillingBlock,
	runner *cryo.Runner,
	beacon *ethereum.BeaconNode,
	clientMeta *xatu.ClientMeta,
) *AddressAppearancesDeriver

NewAddressAppearancesDeriver creates an address appearances deriver.

func (*AddressAppearancesDeriver) ActivationFork

func (b *AddressAppearancesDeriver) ActivationFork() spec.DataVersion

ActivationFork returns Phase0 so the deriver starts as soon as the beacon node is ready; the iterator gates EL progress on CL finality.

func (*AddressAppearancesDeriver) CannonType

func (b *AddressAppearancesDeriver) CannonType() xatu.CannonType

CannonType returns the deriver's cannon type.

func (*AddressAppearancesDeriver) Name

Name returns the deriver name.

func (*AddressAppearancesDeriver) OnEventsDerived

func (b *AddressAppearancesDeriver) OnEventsDerived(_ context.Context, fn func(ctx context.Context, events []*xatu.DecoratedEvent) error)

OnEventsDerived registers a callback for derived events.

func (*AddressAppearancesDeriver) Start

Start begins the deriver loop.

func (*AddressAppearancesDeriver) Stop

Stop is a no-op for the address appearances deriver.

type AddressAppearancesDeriverConfig

type AddressAppearancesDeriverConfig struct {
	Enabled   bool                            `yaml:"enabled" default:"false"`
	ChunkSize int                             `yaml:"chunkSize" default:"100"`
	Iterator  iterator.BackfillingBlockConfig `yaml:"iterator"`
}

AddressAppearancesDeriverConfig configures the address appearances deriver.

type BalanceDiffsDeriver

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

BalanceDiffsDeriver derives canonical_execution_balance_diffs events via cryo.

func NewBalanceDiffsDeriver

func NewBalanceDiffsDeriver(
	log observability.ContextualLogger,
	config *BalanceDiffsDeriverConfig,
	iter *iterator.BackfillingBlock,
	runner *cryo.Runner,
	beacon *ethereum.BeaconNode,
	clientMeta *xatu.ClientMeta,
) *BalanceDiffsDeriver

NewBalanceDiffsDeriver creates a balance diffs deriver.

func (*BalanceDiffsDeriver) ActivationFork

func (b *BalanceDiffsDeriver) ActivationFork() spec.DataVersion

ActivationFork returns Phase0 so the deriver starts as soon as the beacon node is ready; the iterator gates EL progress on CL finality.

func (*BalanceDiffsDeriver) CannonType

func (b *BalanceDiffsDeriver) CannonType() xatu.CannonType

CannonType returns the deriver's cannon type.

func (*BalanceDiffsDeriver) Name

func (b *BalanceDiffsDeriver) Name() string

Name returns the deriver name.

func (*BalanceDiffsDeriver) OnEventsDerived

func (b *BalanceDiffsDeriver) OnEventsDerived(_ context.Context, fn func(ctx context.Context, events []*xatu.DecoratedEvent) error)

OnEventsDerived registers a callback for derived events.

func (*BalanceDiffsDeriver) Start

func (b *BalanceDiffsDeriver) Start(ctx context.Context) error

Start begins the deriver loop.

func (*BalanceDiffsDeriver) Stop

Stop is a no-op for the balance diffs deriver.

type BalanceDiffsDeriverConfig

type BalanceDiffsDeriverConfig struct {
	Enabled   bool                            `yaml:"enabled" default:"false"`
	ChunkSize int                             `yaml:"chunkSize" default:"100"`
	Iterator  iterator.BackfillingBlockConfig `yaml:"iterator"`
}

BalanceDiffsDeriverConfig configures the balance diffs deriver.

type BalanceReadsDeriver

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

BalanceReadsDeriver derives canonical_execution_balance_reads events via cryo.

func NewBalanceReadsDeriver

func NewBalanceReadsDeriver(
	log observability.ContextualLogger,
	config *BalanceReadsDeriverConfig,
	iter *iterator.BackfillingBlock,
	runner *cryo.Runner,
	beacon *ethereum.BeaconNode,
	clientMeta *xatu.ClientMeta,
) *BalanceReadsDeriver

NewBalanceReadsDeriver creates a balance reads deriver.

func (*BalanceReadsDeriver) ActivationFork

func (b *BalanceReadsDeriver) ActivationFork() spec.DataVersion

ActivationFork returns Phase0 so the deriver starts as soon as the beacon node is ready; the iterator gates EL progress on CL finality.

func (*BalanceReadsDeriver) CannonType

func (b *BalanceReadsDeriver) CannonType() xatu.CannonType

CannonType returns the deriver's cannon type.

func (*BalanceReadsDeriver) Name

func (b *BalanceReadsDeriver) Name() string

Name returns the deriver name.

func (*BalanceReadsDeriver) OnEventsDerived

func (b *BalanceReadsDeriver) OnEventsDerived(_ context.Context, fn func(ctx context.Context, events []*xatu.DecoratedEvent) error)

OnEventsDerived registers a callback for derived events.

func (*BalanceReadsDeriver) Start

func (b *BalanceReadsDeriver) Start(ctx context.Context) error

Start begins the deriver loop.

func (*BalanceReadsDeriver) Stop

Stop is a no-op for the balance reads deriver.

type BalanceReadsDeriverConfig

type BalanceReadsDeriverConfig struct {
	Enabled   bool                            `yaml:"enabled" default:"false"`
	ChunkSize int                             `yaml:"chunkSize" default:"100"`
	Iterator  iterator.BackfillingBlockConfig `yaml:"iterator"`
}

BalanceReadsDeriverConfig configures the balance reads deriver.

type BlockDeriver

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

BlockDeriver derives canonical_execution_block events via cryo.

func NewBlockDeriver

func NewBlockDeriver(
	log observability.ContextualLogger,
	config *BlockDeriverConfig,
	iter *iterator.BackfillingBlock,
	runner *cryo.Runner,
	beacon *ethereum.BeaconNode,
	clientMeta *xatu.ClientMeta,
) *BlockDeriver

NewBlockDeriver creates a block deriver.

func (*BlockDeriver) ActivationFork

func (b *BlockDeriver) ActivationFork() spec.DataVersion

ActivationFork returns Phase0 so the deriver starts as soon as the beacon node is ready; the iterator gates EL progress on CL finality.

func (*BlockDeriver) CannonType

func (b *BlockDeriver) CannonType() xatu.CannonType

CannonType returns the deriver's cannon type.

func (*BlockDeriver) Name

func (b *BlockDeriver) Name() string

Name returns the deriver name.

func (*BlockDeriver) OnEventsDerived

func (b *BlockDeriver) OnEventsDerived(_ context.Context, fn func(ctx context.Context, events []*xatu.DecoratedEvent) error)

OnEventsDerived registers a callback for derived events.

func (*BlockDeriver) Start

func (b *BlockDeriver) Start(ctx context.Context) error

Start begins the deriver loop.

func (*BlockDeriver) Stop

func (b *BlockDeriver) Stop(_ context.Context) error

Stop is a no-op for the block deriver.

type BlockDeriverConfig

type BlockDeriverConfig struct {
	Enabled   bool                            `yaml:"enabled" default:"false"`
	ChunkSize int                             `yaml:"chunkSize" default:"100"`
	Iterator  iterator.BackfillingBlockConfig `yaml:"iterator"`
}

BlockDeriverConfig configures the block deriver.

type Config

type Config struct {
	// Block configures the canonical_execution_block deriver.
	Block BlockDeriverConfig `yaml:"block"`
	// Transaction configures the canonical_execution_transaction deriver.
	Transaction TransactionDeriverConfig `yaml:"transaction"`
	// Logs configures the canonical_execution_logs deriver.
	Logs LogsDeriverConfig `yaml:"logs"`
	// Traces configures the canonical_execution_traces deriver.
	Traces TracesDeriverConfig `yaml:"traces"`
	// NativeTransfers configures the canonical_execution_native_transfers deriver.
	NativeTransfers NativeTransfersDeriverConfig `yaml:"nativeTransfers"`
	// Erc20Transfers configures the canonical_execution_erc20_transfers deriver.
	Erc20Transfers Erc20TransfersDeriverConfig `yaml:"erc20Transfers"`
	// Erc721Transfers configures the canonical_execution_erc721_transfers deriver.
	Erc721Transfers Erc721TransfersDeriverConfig `yaml:"erc721Transfers"`
	// Contracts configures the canonical_execution_contracts deriver.
	Contracts ContractsDeriverConfig `yaml:"contracts"`
	// BalanceDiffs configures the canonical_execution_balance_diffs deriver.
	BalanceDiffs BalanceDiffsDeriverConfig `yaml:"balanceDiffs"`
	// StorageDiffs configures the canonical_execution_storage_diffs deriver.
	StorageDiffs StorageDiffsDeriverConfig `yaml:"storageDiffs"`
	// NonceDiffs configures the canonical_execution_nonce_diffs deriver.
	NonceDiffs NonceDiffsDeriverConfig `yaml:"nonceDiffs"`
	// BalanceReads configures the canonical_execution_balance_reads deriver.
	BalanceReads BalanceReadsDeriverConfig `yaml:"balanceReads"`
	// StorageReads configures the canonical_execution_storage_reads deriver.
	StorageReads StorageReadsDeriverConfig `yaml:"storageReads"`
	// NonceReads configures the canonical_execution_nonce_reads deriver.
	NonceReads NonceReadsDeriverConfig `yaml:"nonceReads"`
	// FourByteCounts configures the canonical_execution_four_byte_counts deriver.
	FourByteCounts FourByteCountsDeriverConfig `yaml:"fourByteCounts"`
	// AddressAppearances configures the canonical_execution_address_appearances deriver.
	AddressAppearances AddressAppearancesDeriverConfig `yaml:"addressAppearances"`
}

Config groups the per-dataset EL (execution-layer) deriver configs. It maps to the `derivers.execution` block in cannon config. The shared EL connection lives in `ethereum.executionNodeAddress` and the cryo runner in the top-level `cryo` config — both are supplied to the derivers by the cannon wiring.

func (*Config) AnyEnabled

func (c *Config) AnyEnabled() bool

AnyEnabled reports whether at least one EL deriver is enabled. Cannon uses this to decide whether the execution node address + cryo config are required.

type ContractsDeriver

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

ContractsDeriver derives canonical_execution_contracts events via cryo.

func NewContractsDeriver

func NewContractsDeriver(
	log observability.ContextualLogger,
	config *ContractsDeriverConfig,
	iter *iterator.BackfillingBlock,
	runner *cryo.Runner,
	beacon *ethereum.BeaconNode,
	clientMeta *xatu.ClientMeta,
) *ContractsDeriver

NewContractsDeriver creates a contracts deriver.

func (*ContractsDeriver) ActivationFork

func (b *ContractsDeriver) ActivationFork() spec.DataVersion

ActivationFork returns Phase0 so the deriver starts as soon as the beacon node is ready; the iterator gates EL progress on CL finality.

func (*ContractsDeriver) CannonType

func (b *ContractsDeriver) CannonType() xatu.CannonType

CannonType returns the deriver's cannon type.

func (*ContractsDeriver) Name

func (b *ContractsDeriver) Name() string

Name returns the deriver name.

func (*ContractsDeriver) OnEventsDerived

func (b *ContractsDeriver) OnEventsDerived(_ context.Context, fn func(ctx context.Context, events []*xatu.DecoratedEvent) error)

OnEventsDerived registers a callback for derived events.

func (*ContractsDeriver) Start

func (b *ContractsDeriver) Start(ctx context.Context) error

Start begins the deriver loop.

func (*ContractsDeriver) Stop

Stop is a no-op for the contracts deriver.

type ContractsDeriverConfig

type ContractsDeriverConfig struct {
	Enabled   bool                            `yaml:"enabled" default:"false"`
	ChunkSize int                             `yaml:"chunkSize" default:"100"`
	Iterator  iterator.BackfillingBlockConfig `yaml:"iterator"`
}

ContractsDeriverConfig configures the contracts deriver.

type Erc20TransfersDeriver

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

Erc20TransfersDeriver derives canonical_execution_erc20_transfers events via cryo.

func NewErc20TransfersDeriver

func NewErc20TransfersDeriver(
	log observability.ContextualLogger,
	config *Erc20TransfersDeriverConfig,
	iter *iterator.BackfillingBlock,
	runner *cryo.Runner,
	beacon *ethereum.BeaconNode,
	clientMeta *xatu.ClientMeta,
) *Erc20TransfersDeriver

NewErc20TransfersDeriver creates an erc20_transfers deriver.

func (*Erc20TransfersDeriver) ActivationFork

func (b *Erc20TransfersDeriver) ActivationFork() spec.DataVersion

ActivationFork returns Phase0 so the deriver starts as soon as the beacon node is ready; the iterator gates EL progress on CL finality.

func (*Erc20TransfersDeriver) CannonType

func (b *Erc20TransfersDeriver) CannonType() xatu.CannonType

CannonType returns the deriver's cannon type.

func (*Erc20TransfersDeriver) Name

func (b *Erc20TransfersDeriver) Name() string

Name returns the deriver name.

func (*Erc20TransfersDeriver) OnEventsDerived

func (b *Erc20TransfersDeriver) OnEventsDerived(_ context.Context, fn func(ctx context.Context, events []*xatu.DecoratedEvent) error)

OnEventsDerived registers a callback for derived events.

func (*Erc20TransfersDeriver) Start

Start begins the deriver loop.

func (*Erc20TransfersDeriver) Stop

Stop is a no-op for the erc20_transfers deriver.

type Erc20TransfersDeriverConfig

type Erc20TransfersDeriverConfig struct {
	Enabled   bool                            `yaml:"enabled" default:"false"`
	ChunkSize int                             `yaml:"chunkSize" default:"100"`
	Iterator  iterator.BackfillingBlockConfig `yaml:"iterator"`
}

Erc20TransfersDeriverConfig configures the erc20_transfers deriver.

type Erc721TransfersDeriver

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

Erc721TransfersDeriver derives canonical_execution_erc721_transfers events via cryo.

func NewErc721TransfersDeriver

func NewErc721TransfersDeriver(
	log observability.ContextualLogger,
	config *Erc721TransfersDeriverConfig,
	iter *iterator.BackfillingBlock,
	runner *cryo.Runner,
	beacon *ethereum.BeaconNode,
	clientMeta *xatu.ClientMeta,
) *Erc721TransfersDeriver

NewErc721TransfersDeriver creates an erc721 transfers deriver.

func (*Erc721TransfersDeriver) ActivationFork

func (b *Erc721TransfersDeriver) ActivationFork() spec.DataVersion

ActivationFork returns Phase0 so the deriver starts as soon as the beacon node is ready; the iterator gates EL progress on CL finality.

func (*Erc721TransfersDeriver) CannonType

func (b *Erc721TransfersDeriver) CannonType() xatu.CannonType

CannonType returns the deriver's cannon type.

func (*Erc721TransfersDeriver) Name

func (b *Erc721TransfersDeriver) Name() string

Name returns the deriver name.

func (*Erc721TransfersDeriver) OnEventsDerived

func (b *Erc721TransfersDeriver) OnEventsDerived(_ context.Context, fn func(ctx context.Context, events []*xatu.DecoratedEvent) error)

OnEventsDerived registers a callback for derived events.

func (*Erc721TransfersDeriver) Start

Start begins the deriver loop.

func (*Erc721TransfersDeriver) Stop

Stop is a no-op for the erc721 transfers deriver.

type Erc721TransfersDeriverConfig

type Erc721TransfersDeriverConfig struct {
	Enabled   bool                            `yaml:"enabled" default:"false"`
	ChunkSize int                             `yaml:"chunkSize" default:"100"`
	Iterator  iterator.BackfillingBlockConfig `yaml:"iterator"`
}

Erc721TransfersDeriverConfig configures the erc721 transfers deriver.

type FourByteCountsDeriver

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

FourByteCountsDeriver derives canonical_execution_four_byte_counts events via cryo.

func NewFourByteCountsDeriver

func NewFourByteCountsDeriver(
	log observability.ContextualLogger,
	config *FourByteCountsDeriverConfig,
	iter *iterator.BackfillingBlock,
	runner *cryo.Runner,
	beacon *ethereum.BeaconNode,
	clientMeta *xatu.ClientMeta,
) *FourByteCountsDeriver

NewFourByteCountsDeriver creates a four_byte_counts deriver.

func (*FourByteCountsDeriver) ActivationFork

func (b *FourByteCountsDeriver) ActivationFork() spec.DataVersion

ActivationFork returns Phase0 so the deriver starts as soon as the beacon node is ready; the iterator gates EL progress on CL finality.

func (*FourByteCountsDeriver) CannonType

func (b *FourByteCountsDeriver) CannonType() xatu.CannonType

CannonType returns the deriver's cannon type.

func (*FourByteCountsDeriver) Name

func (b *FourByteCountsDeriver) Name() string

Name returns the deriver name.

func (*FourByteCountsDeriver) OnEventsDerived

func (b *FourByteCountsDeriver) OnEventsDerived(_ context.Context, fn func(ctx context.Context, events []*xatu.DecoratedEvent) error)

OnEventsDerived registers a callback for derived events.

func (*FourByteCountsDeriver) Start

Start begins the deriver loop.

func (*FourByteCountsDeriver) Stop

Stop is a no-op for the four_byte_counts deriver.

type FourByteCountsDeriverConfig

type FourByteCountsDeriverConfig struct {
	Enabled   bool                            `yaml:"enabled" default:"false"`
	ChunkSize int                             `yaml:"chunkSize" default:"100"`
	Iterator  iterator.BackfillingBlockConfig `yaml:"iterator"`
}

FourByteCountsDeriverConfig configures the four_byte_counts deriver.

type LogsDeriver

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

LogsDeriver derives canonical_execution_logs events via cryo.

func NewLogsDeriver

func NewLogsDeriver(
	log observability.ContextualLogger,
	config *LogsDeriverConfig,
	iter *iterator.BackfillingBlock,
	runner *cryo.Runner,
	beacon *ethereum.BeaconNode,
	clientMeta *xatu.ClientMeta,
) *LogsDeriver

NewLogsDeriver creates a logs deriver.

func (*LogsDeriver) ActivationFork

func (b *LogsDeriver) ActivationFork() spec.DataVersion

ActivationFork returns Phase0 so the deriver starts as soon as the beacon node is ready; the iterator gates EL progress on CL finality.

func (*LogsDeriver) CannonType

func (b *LogsDeriver) CannonType() xatu.CannonType

CannonType returns the deriver's cannon type.

func (*LogsDeriver) Name

func (b *LogsDeriver) Name() string

Name returns the deriver name.

func (*LogsDeriver) OnEventsDerived

func (b *LogsDeriver) OnEventsDerived(_ context.Context, fn func(ctx context.Context, events []*xatu.DecoratedEvent) error)

OnEventsDerived registers a callback for derived events.

func (*LogsDeriver) Start

func (b *LogsDeriver) Start(ctx context.Context) error

Start begins the deriver loop.

func (*LogsDeriver) Stop

func (b *LogsDeriver) Stop(_ context.Context) error

Stop is a no-op for the logs deriver.

type LogsDeriverConfig

type LogsDeriverConfig struct {
	Enabled   bool                            `yaml:"enabled" default:"false"`
	ChunkSize int                             `yaml:"chunkSize" default:"100"`
	Iterator  iterator.BackfillingBlockConfig `yaml:"iterator"`
}

LogsDeriverConfig configures the logs deriver.

type NativeTransfersDeriver

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

NativeTransfersDeriver derives canonical_execution_native_transfers events via cryo.

func NewNativeTransfersDeriver

func NewNativeTransfersDeriver(
	log observability.ContextualLogger,
	config *NativeTransfersDeriverConfig,
	iter *iterator.BackfillingBlock,
	runner *cryo.Runner,
	beacon *ethereum.BeaconNode,
	clientMeta *xatu.ClientMeta,
) *NativeTransfersDeriver

NewNativeTransfersDeriver creates a native transfers deriver.

func (*NativeTransfersDeriver) ActivationFork

func (b *NativeTransfersDeriver) ActivationFork() spec.DataVersion

ActivationFork returns Phase0 so the deriver starts as soon as the beacon node is ready; the iterator gates EL progress on CL finality.

func (*NativeTransfersDeriver) CannonType

func (b *NativeTransfersDeriver) CannonType() xatu.CannonType

CannonType returns the deriver's cannon type.

func (*NativeTransfersDeriver) Name

func (b *NativeTransfersDeriver) Name() string

Name returns the deriver name.

func (*NativeTransfersDeriver) OnEventsDerived

func (b *NativeTransfersDeriver) OnEventsDerived(_ context.Context, fn func(ctx context.Context, events []*xatu.DecoratedEvent) error)

OnEventsDerived registers a callback for derived events.

func (*NativeTransfersDeriver) Start

Start begins the deriver loop.

func (*NativeTransfersDeriver) Stop

Stop is a no-op for the native transfers deriver.

type NativeTransfersDeriverConfig

type NativeTransfersDeriverConfig struct {
	Enabled   bool                            `yaml:"enabled" default:"false"`
	ChunkSize int                             `yaml:"chunkSize" default:"100"`
	Iterator  iterator.BackfillingBlockConfig `yaml:"iterator"`
}

NativeTransfersDeriverConfig configures the native transfers deriver.

type NonceDiffsDeriver

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

NonceDiffsDeriver derives canonical_execution_nonce_diffs events via cryo.

func NewNonceDiffsDeriver

func NewNonceDiffsDeriver(
	log observability.ContextualLogger,
	config *NonceDiffsDeriverConfig,
	iter *iterator.BackfillingBlock,
	runner *cryo.Runner,
	beacon *ethereum.BeaconNode,
	clientMeta *xatu.ClientMeta,
) *NonceDiffsDeriver

NewNonceDiffsDeriver creates a nonce_diffs deriver.

func (*NonceDiffsDeriver) ActivationFork

func (b *NonceDiffsDeriver) ActivationFork() spec.DataVersion

ActivationFork returns Phase0 so the deriver starts as soon as the beacon node is ready; the iterator gates EL progress on CL finality.

func (*NonceDiffsDeriver) CannonType

func (b *NonceDiffsDeriver) CannonType() xatu.CannonType

CannonType returns the deriver's cannon type.

func (*NonceDiffsDeriver) Name

func (b *NonceDiffsDeriver) Name() string

Name returns the deriver name.

func (*NonceDiffsDeriver) OnEventsDerived

func (b *NonceDiffsDeriver) OnEventsDerived(_ context.Context, fn func(ctx context.Context, events []*xatu.DecoratedEvent) error)

OnEventsDerived registers a callback for derived events.

func (*NonceDiffsDeriver) Start

func (b *NonceDiffsDeriver) Start(ctx context.Context) error

Start begins the deriver loop.

func (*NonceDiffsDeriver) Stop

Stop is a no-op for the nonce_diffs deriver.

type NonceDiffsDeriverConfig

type NonceDiffsDeriverConfig struct {
	Enabled   bool                            `yaml:"enabled" default:"false"`
	ChunkSize int                             `yaml:"chunkSize" default:"100"`
	Iterator  iterator.BackfillingBlockConfig `yaml:"iterator"`
}

NonceDiffsDeriverConfig configures the nonce_diffs deriver.

type NonceReadsDeriver

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

NonceReadsDeriver derives canonical_execution_nonce_reads events via cryo.

func NewNonceReadsDeriver

func NewNonceReadsDeriver(
	log observability.ContextualLogger,
	config *NonceReadsDeriverConfig,
	iter *iterator.BackfillingBlock,
	runner *cryo.Runner,
	beacon *ethereum.BeaconNode,
	clientMeta *xatu.ClientMeta,
) *NonceReadsDeriver

NewNonceReadsDeriver creates a nonce reads deriver.

func (*NonceReadsDeriver) ActivationFork

func (b *NonceReadsDeriver) ActivationFork() spec.DataVersion

ActivationFork returns Phase0 so the deriver starts as soon as the beacon node is ready; the iterator gates EL progress on CL finality.

func (*NonceReadsDeriver) CannonType

func (b *NonceReadsDeriver) CannonType() xatu.CannonType

CannonType returns the deriver's cannon type.

func (*NonceReadsDeriver) Name

func (b *NonceReadsDeriver) Name() string

Name returns the deriver name.

func (*NonceReadsDeriver) OnEventsDerived

func (b *NonceReadsDeriver) OnEventsDerived(_ context.Context, fn func(ctx context.Context, events []*xatu.DecoratedEvent) error)

OnEventsDerived registers a callback for derived events.

func (*NonceReadsDeriver) Start

func (b *NonceReadsDeriver) Start(ctx context.Context) error

Start begins the deriver loop.

func (*NonceReadsDeriver) Stop

Stop is a no-op for the nonce reads deriver.

type NonceReadsDeriverConfig

type NonceReadsDeriverConfig struct {
	Enabled   bool                            `yaml:"enabled" default:"false"`
	ChunkSize int                             `yaml:"chunkSize" default:"100"`
	Iterator  iterator.BackfillingBlockConfig `yaml:"iterator"`
}

NonceReadsDeriverConfig configures the nonce reads deriver.

type StorageDiffsDeriver

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

StorageDiffsDeriver derives canonical_execution_storage_diffs events via cryo.

func NewStorageDiffsDeriver

func NewStorageDiffsDeriver(
	log observability.ContextualLogger,
	config *StorageDiffsDeriverConfig,
	iter *iterator.BackfillingBlock,
	runner *cryo.Runner,
	beacon *ethereum.BeaconNode,
	clientMeta *xatu.ClientMeta,
) *StorageDiffsDeriver

NewStorageDiffsDeriver creates a storage diffs deriver.

func (*StorageDiffsDeriver) ActivationFork

func (b *StorageDiffsDeriver) ActivationFork() spec.DataVersion

ActivationFork returns Phase0 so the deriver starts as soon as the beacon node is ready; the iterator gates EL progress on CL finality.

func (*StorageDiffsDeriver) CannonType

func (b *StorageDiffsDeriver) CannonType() xatu.CannonType

CannonType returns the deriver's cannon type.

func (*StorageDiffsDeriver) Name

func (b *StorageDiffsDeriver) Name() string

Name returns the deriver name.

func (*StorageDiffsDeriver) OnEventsDerived

func (b *StorageDiffsDeriver) OnEventsDerived(_ context.Context, fn func(ctx context.Context, events []*xatu.DecoratedEvent) error)

OnEventsDerived registers a callback for derived events.

func (*StorageDiffsDeriver) Start

func (b *StorageDiffsDeriver) Start(ctx context.Context) error

Start begins the deriver loop.

func (*StorageDiffsDeriver) Stop

Stop is a no-op for the storage diffs deriver.

type StorageDiffsDeriverConfig

type StorageDiffsDeriverConfig struct {
	Enabled   bool                            `yaml:"enabled" default:"false"`
	ChunkSize int                             `yaml:"chunkSize" default:"100"`
	Iterator  iterator.BackfillingBlockConfig `yaml:"iterator"`
}

StorageDiffsDeriverConfig configures the storage diffs deriver.

type StorageReadsDeriver

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

StorageReadsDeriver derives canonical_execution_storage_reads events via cryo.

func NewStorageReadsDeriver

func NewStorageReadsDeriver(
	log observability.ContextualLogger,
	config *StorageReadsDeriverConfig,
	iter *iterator.BackfillingBlock,
	runner *cryo.Runner,
	beacon *ethereum.BeaconNode,
	clientMeta *xatu.ClientMeta,
) *StorageReadsDeriver

NewStorageReadsDeriver creates a storage reads deriver.

func (*StorageReadsDeriver) ActivationFork

func (b *StorageReadsDeriver) ActivationFork() spec.DataVersion

ActivationFork returns Phase0 so the deriver starts as soon as the beacon node is ready; the iterator gates EL progress on CL finality.

func (*StorageReadsDeriver) CannonType

func (b *StorageReadsDeriver) CannonType() xatu.CannonType

CannonType returns the deriver's cannon type.

func (*StorageReadsDeriver) Name

func (b *StorageReadsDeriver) Name() string

Name returns the deriver name.

func (*StorageReadsDeriver) OnEventsDerived

func (b *StorageReadsDeriver) OnEventsDerived(_ context.Context, fn func(ctx context.Context, events []*xatu.DecoratedEvent) error)

OnEventsDerived registers a callback for derived events.

func (*StorageReadsDeriver) Start

func (b *StorageReadsDeriver) Start(ctx context.Context) error

Start begins the deriver loop.

func (*StorageReadsDeriver) Stop

Stop is a no-op for the storage reads deriver.

type StorageReadsDeriverConfig

type StorageReadsDeriverConfig struct {
	Enabled   bool                            `yaml:"enabled" default:"false"`
	ChunkSize int                             `yaml:"chunkSize" default:"100"`
	Iterator  iterator.BackfillingBlockConfig `yaml:"iterator"`
}

StorageReadsDeriverConfig configures the storage reads deriver.

type TracesDeriver

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

TracesDeriver derives canonical_execution_traces events via cryo.

func NewTracesDeriver

func NewTracesDeriver(
	log observability.ContextualLogger,
	config *TracesDeriverConfig,
	iter *iterator.BackfillingBlock,
	runner *cryo.Runner,
	beacon *ethereum.BeaconNode,
	clientMeta *xatu.ClientMeta,
) *TracesDeriver

NewTracesDeriver creates a traces deriver.

func (*TracesDeriver) ActivationFork

func (b *TracesDeriver) ActivationFork() spec.DataVersion

ActivationFork returns Phase0 so the deriver starts as soon as the beacon node is ready; the iterator gates EL progress on CL finality.

func (*TracesDeriver) CannonType

func (b *TracesDeriver) CannonType() xatu.CannonType

CannonType returns the deriver's cannon type.

func (*TracesDeriver) Name

func (b *TracesDeriver) Name() string

Name returns the deriver name.

func (*TracesDeriver) OnEventsDerived

func (b *TracesDeriver) OnEventsDerived(_ context.Context, fn func(ctx context.Context, events []*xatu.DecoratedEvent) error)

OnEventsDerived registers a callback for derived events.

func (*TracesDeriver) Start

func (b *TracesDeriver) Start(ctx context.Context) error

Start begins the deriver loop.

func (*TracesDeriver) Stop

func (b *TracesDeriver) Stop(_ context.Context) error

Stop is a no-op for the traces deriver.

type TracesDeriverConfig

type TracesDeriverConfig struct {
	Enabled   bool                            `yaml:"enabled" default:"false"`
	ChunkSize int                             `yaml:"chunkSize" default:"100"`
	Iterator  iterator.BackfillingBlockConfig `yaml:"iterator"`
}

TracesDeriverConfig configures the traces deriver.

type TransactionDeriver

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

TransactionDeriver derives canonical_execution_transaction events via cryo.

func NewTransactionDeriver

func NewTransactionDeriver(
	log observability.ContextualLogger,
	config *TransactionDeriverConfig,
	iter *iterator.BackfillingBlock,
	runner *cryo.Runner,
	beacon *ethereum.BeaconNode,
	clientMeta *xatu.ClientMeta,
) *TransactionDeriver

NewTransactionDeriver creates a transaction deriver.

func (*TransactionDeriver) ActivationFork

func (b *TransactionDeriver) ActivationFork() spec.DataVersion

ActivationFork returns Phase0 so the deriver starts as soon as the beacon node is ready; the iterator gates EL progress on CL finality.

func (*TransactionDeriver) CannonType

func (b *TransactionDeriver) CannonType() xatu.CannonType

CannonType returns the deriver's cannon type.

func (*TransactionDeriver) Name

func (b *TransactionDeriver) Name() string

Name returns the deriver name.

func (*TransactionDeriver) OnEventsDerived

func (b *TransactionDeriver) OnEventsDerived(_ context.Context, fn func(ctx context.Context, events []*xatu.DecoratedEvent) error)

OnEventsDerived registers a callback for derived events.

func (*TransactionDeriver) Start

func (b *TransactionDeriver) Start(ctx context.Context) error

Start begins the deriver loop.

func (*TransactionDeriver) Stop

Stop is a no-op for the transaction deriver.

type TransactionDeriverConfig

type TransactionDeriverConfig struct {
	Enabled   bool                            `yaml:"enabled" default:"false"`
	ChunkSize int                             `yaml:"chunkSize" default:"100"`
	Iterator  iterator.BackfillingBlockConfig `yaml:"iterator"`
}

TransactionDeriverConfig configures the transaction deriver.

Jump to

Keyboard shortcuts

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