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 ¶
BatchLookAheadSlots is how many blocks the enabled batching backfills preload at once: two batches each.
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
}
Click to show internal directories.
Click to hide internal directories.