deriver

package
v1.30.2 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2026 License: GPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	// Consensus holds the consensus-layer (beacon) derivers.
	Consensus ConsensusConfig `yaml:"consensus"`
	// Execution holds the execution-layer (cryo) derivers.
	Execution execution.Config `yaml:"execution"`
}

Config groups cannon's derivers by layer: `consensus` derivers read the beacon chain, `execution` derivers extract execution-layer datasets via cryo.

func (*Config) BatchLookAheadSlots

func (c *Config) BatchLookAheadSlots() uint64

BatchLookAheadSlots is how many blocks the enabled batching backfills preload at once: two batches each.

func (*Config) Validate

func (c *Config) Validate() error

type ConsensusConfig added in v1.18.0

type ConsensusConfig struct {
	AttesterSlashingConfig         v2.AttesterSlashingDeriverConfig         `yaml:"attesterSlashing"`
	BLSToExecutionConfig           v2.BLSToExecutionChangeDeriverConfig     `yaml:"blsToExecutionChange"`
	DepositConfig                  v2.DepositDeriverConfig                  `yaml:"deposit"`
	ExecutionTransactionConfig     v2.ExecutionTransactionDeriverConfig     `yaml:"executionTransaction"`
	ProposerSlashingConfig         v2.ProposerSlashingDeriverConfig         `yaml:"proposerSlashing"`
	VoluntaryExitConfig            v2.VoluntaryExitDeriverConfig            `yaml:"voluntaryExit"`
	WithdrawalConfig               v2.WithdrawalDeriverConfig               `yaml:"withdrawal"`
	BeaconBlockConfig              v2.BeaconBlockDeriverConfig              `yaml:"beaconBlock"`
	BeaconBlobSidecarConfig        v1.BeaconBlobDeriverConfig               `yaml:"beaconBlobSidecar"`
	ProposerDutyConfig             v1.ProposerDutyDeriverConfig             `yaml:"proposerDuty"`
	ElaboratedAttestationConfig    v2.ElaboratedAttestationDeriverConfig    `yaml:"elaboratedAttestation"`
	BeaconValidatorsConfig         v1.BeaconValidatorsDeriverConfig         `yaml:"beaconValidators"`
	BeaconCommitteeConfig          v1.BeaconCommitteeDeriverConfig          `yaml:"beaconCommittee"`
	BeaconSyncCommitteeConfig      v1.BeaconSyncCommitteeDeriverConfig      `yaml:"beaconSyncCommittee"`
	BeaconBlockSyncAggregateConfig v2.BeaconBlockSyncAggregateDeriverConfig `yaml:"beaconBlockSyncAggregate"`
	BeaconBlockGraffitiConfig      v2.BeaconBlockGraffitiDeriverConfig      `yaml:"beaconBlockGraffiti"`

	ExecutionRequestDepositConfig             v2.ExecutionRequestDepositDeriverConfig             `yaml:"executionRequestDeposit"`
	ExecutionRequestWithdrawalConfig          v2.ExecutionRequestWithdrawalDeriverConfig          `yaml:"executionRequestWithdrawal"`
	ExecutionRequestConsolidationConfig       v2.ExecutionRequestConsolidationDeriverConfig       `yaml:"executionRequestConsolidation"`
	BlockRewardConfig                         v1.BlockRewardDeriverConfig                         `yaml:"blockReward"`
	AttestationRewardConfig                   v1.AttestationRewardDeriverConfig                   `yaml:"attestationReward"`
	SyncCommitteeRewardConfig                 v1.SyncCommitteeRewardDeriverConfig                 `yaml:"syncCommitteeReward"`
	RandaoConfig                              v1.RandaoDeriverConfig                              `yaml:"randao"`
	FinalityCheckpointConfig                  v1.FinalityCheckpointDeriverConfig                  `yaml:"finalityCheckpoint"`
	BeaconStatePendingDepositConfig           v1.BeaconStatePendingDepositDeriverConfig           `yaml:"beaconStatePendingDeposit"`
	BeaconStatePendingPartialWithdrawalConfig v1.BeaconStatePendingPartialWithdrawalDeriverConfig `yaml:"beaconStatePendingPartialWithdrawal"`
	BeaconStatePendingConsolidationConfig     v1.BeaconStatePendingConsolidationDeriverConfig     `yaml:"beaconStatePendingConsolidation"`

	// Gloas beacon state derivers (EIP-7732). They share one state download per epoch.
	BeaconStatePtcMemberConfig                    v1.BeaconStatePtcMemberDeriverConfig                    `yaml:"beaconStatePtcMember"`
	BeaconStateBuilderConfig                      v1.BeaconStateBuilderDeriverConfig                      `yaml:"beaconStateBuilder"`
	BeaconStateBuilderPendingPaymentConfig        v1.BeaconStateBuilderPendingPaymentDeriverConfig        `yaml:"beaconStateBuilderPendingPayment"`
	BeaconStateBuilderPendingWithdrawalConfig     v1.BeaconStateBuilderPendingWithdrawalDeriverConfig     `yaml:"beaconStateBuilderPendingWithdrawal"`
	BeaconStateExecutionPayloadAvailabilityConfig v1.BeaconStateExecutionPayloadAvailabilityDeriverConfig `yaml:"beaconStateExecutionPayloadAvailability"`

	// EIP-7732 ePBS + EIP-7928 BAL derivers (Gloas).
	BlockAccessListConfig     v2.BlockAccessListDeriverConfig     `yaml:"blockAccessList"`
	PayloadAttestationConfig  v2.PayloadAttestationDeriverConfig  `yaml:"payloadAttestation"`
	ExecutionPayloadBidConfig v2.ExecutionPayloadBidDeriverConfig `yaml:"executionPayloadBid"`

	// EIP-8282 builder execution requests and the per-block EIP-7928 BAL
	// summary (Gloas).
	ExecutionRequestBuilderDepositConfig v2.ExecutionRequestBuilderDepositDeriverConfig `yaml:"executionRequestBuilderDeposit"`
	ExecutionRequestBuilderExitConfig    v2.ExecutionRequestBuilderExitDeriverConfig    `yaml:"executionRequestBuilderExit"`
	BlockAccessListSummaryConfig         v2.BlockAccessListSummaryDeriverConfig         `yaml:"blockAccessListSummary"`
}

ConsensusConfig holds the consensus-layer deriver configs.

type EventDeriver

type EventDeriver interface {
	Start(ctx context.Context) error
	Stop(ctx context.Context) error
	Name() string
	CannonType() xatu.CannonType
	// Callbacks
	OnEventsDerived(ctx context.Context, fn func(ctx context.Context, events []*xatu.DecoratedEvent) error)
	// ActivationFork is the fork at which the deriver should start deriving events
	ActivationFork() spec.DataVersion
}

Directories

Path Synopsis
beacon
Package execution holds EL cannon derivers.
Package execution holds EL cannon derivers.

Jump to

Keyboard shortcuts

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