import { ContainerType, ListBasicType, ValueOf } from "@chainsafe/ssz"; import { ChainForkConfig } from "@lodestar/config"; import { ForkName } from "@lodestar/params"; import { Attestation, AttesterSlashing, BuilderIndex, Epoch, LightClientFinalityUpdate, LightClientOptimisticUpdate, RootHex, SSEPayloadAttributes, Slot, StringType, UintNum64, altair, capella, electra, gloas, phase0 } from "@lodestar/types"; import { EmptyMeta, EmptyResponseData } from "../../utils/codecs.js"; import { Endpoint, RouteDefinitions } from "../../utils/index.js"; export declare const blobSidecarSSE: ContainerType<{ blockRoot: StringType; index: import("@chainsafe/ssz").UintNumberType; slot: import("@chainsafe/ssz").UintNumberType; kzgCommitment: StringType; versionedHash: StringType; }>; type BlobSidecarSSE = ValueOf; export declare const fuluDataColumnSidecarSSE: ContainerType<{ blockRoot: StringType; index: import("@chainsafe/ssz").UintNumberType; slot: import("@chainsafe/ssz").UintNumberType; kzgCommitments: ListBasicType>; }>; declare const gloasDataColumnSidecarSSE: ContainerType<{ blockRoot: StringType; index: import("@chainsafe/ssz").UintNumberType; slot: import("@chainsafe/ssz").UintNumberType; }>; type FuluDataColumnSidecarSSE = ValueOf; type GloasDataColumnSidecarSSE = ValueOf; type DataColumnSidecarSSE = FuluDataColumnSidecarSSE | GloasDataColumnSidecarSSE; export declare enum EventType { /** * The node has finished processing, resulting in a new head. previous_duty_dependent_root is * `get_block_root_at_slot(state, compute_start_slot_at_epoch(epoch - 1) - 1)` and * current_duty_dependent_root is `get_block_root_at_slot(state, compute_start_slot_at_epoch(epoch) - 1)`. * Both dependent roots use the genesis block root in the case of underflow. */ head = "head", /** The node has received a block (from P2P or API) that is successfully imported on the fork-choice `on_block` handler */ block = "block", /** The node has received a block (from P2P or API) that passes validation rules of the `beacon_block` topic */ blockGossip = "block_gossip", /** The node has received a valid attestation (from P2P or API) */ attestation = "attestation", /** The node has received a valid SingleAttestation (from P2P or API) */ singleAttestation = "single_attestation", /** The node has received a valid voluntary exit (from P2P or API) */ voluntaryExit = "voluntary_exit", /** The node has received a valid proposer slashing (from P2P or API) */ proposerSlashing = "proposer_slashing", /** The node has received a valid attester slashing (from P2P or API) */ attesterSlashing = "attester_slashing", /** The node has received a valid blsToExecutionChange (from P2P or API) */ blsToExecutionChange = "bls_to_execution_change", /** Finalized checkpoint has been updated */ finalizedCheckpoint = "finalized_checkpoint", /** The node has reorganized its chain */ chainReorg = "chain_reorg", /** The node has received a valid sync committee SignedContributionAndProof (from P2P or API) */ contributionAndProof = "contribution_and_proof", /** New or better optimistic header update available */ lightClientOptimisticUpdate = "light_client_optimistic_update", /** New or better finality update available */ lightClientFinalityUpdate = "light_client_finality_update", /** Payload attributes for block proposal */ payloadAttributes = "payload_attributes", /** The node has received a valid BlobSidecar (from P2P or API) */ blobSidecar = "blob_sidecar", /** The node has received a valid DataColumnSidecar (from P2P or API) */ dataColumnSidecar = "data_column_sidecar", /** The node has received a `SignedExecutionPayloadEnvelope` (from P2P or API) that is successfully imported on the fork-choice `on_execution_payload` handler */ executionPayload = "execution_payload", /** The node has received a `SignedExecutionPayloadEnvelope` (from P2P or API) that passes validation rules of the `execution_payload` topic */ executionPayloadGossip = "execution_payload_gossip", /** The node has verified that the execution payload and blobs for a block are available and ready for payload attestation */ executionPayloadAvailable = "execution_payload_available", /** The node has received a `SignedExecutionPayloadBid` (from P2P or API) that passes gossip validation on the `execution_payload_bid` topic */ executionPayloadBid = "execution_payload_bid" } export declare const eventTypes: { [K in EventType]: K; }; export type EventData = { [EventType.head]: { slot: Slot; block: RootHex; state: RootHex; epochTransition: boolean; previousDutyDependentRoot: RootHex; currentDutyDependentRoot: RootHex; executionOptimistic: boolean; }; [EventType.block]: { slot: Slot; block: RootHex; executionOptimistic: boolean; }; [EventType.blockGossip]: { slot: Slot; block: RootHex; }; [EventType.attestation]: Attestation; [EventType.singleAttestation]: electra.SingleAttestation; [EventType.voluntaryExit]: phase0.SignedVoluntaryExit; [EventType.proposerSlashing]: phase0.ProposerSlashing; [EventType.attesterSlashing]: AttesterSlashing; [EventType.blsToExecutionChange]: capella.SignedBLSToExecutionChange; [EventType.finalizedCheckpoint]: { block: RootHex; state: RootHex; epoch: Epoch; executionOptimistic: boolean; }; [EventType.chainReorg]: { slot: Slot; depth: UintNum64; oldHeadBlock: RootHex; newHeadBlock: RootHex; oldHeadState: RootHex; newHeadState: RootHex; epoch: Epoch; executionOptimistic: boolean; }; [EventType.contributionAndProof]: altair.SignedContributionAndProof; [EventType.lightClientOptimisticUpdate]: { version: ForkName; data: LightClientOptimisticUpdate; }; [EventType.lightClientFinalityUpdate]: { version: ForkName; data: LightClientFinalityUpdate; }; [EventType.payloadAttributes]: { version: ForkName; data: SSEPayloadAttributes; }; [EventType.blobSidecar]: BlobSidecarSSE; [EventType.dataColumnSidecar]: DataColumnSidecarSSE; [EventType.executionPayload]: { slot: Slot; builderIndex: BuilderIndex; blockHash: RootHex; blockRoot: RootHex; executionOptimistic: boolean; }; [EventType.executionPayloadGossip]: { slot: Slot; builderIndex: BuilderIndex; blockHash: RootHex; blockRoot: RootHex; }; [EventType.executionPayloadAvailable]: { slot: Slot; blockRoot: RootHex; }; [EventType.executionPayloadBid]: { version: ForkName; data: gloas.SignedExecutionPayloadBid; }; }; export type BeaconEvent = { [K in EventType]: { type: K; message: EventData[K]; }; }[EventType]; type EventstreamArgs = { /** Event types to subscribe to */ topics: EventType[]; signal: AbortSignal; onEvent: (event: BeaconEvent) => void; onError?: (err: Error) => void; onClose?: () => void; }; export type Endpoints = { /** * Subscribe to beacon node events * Provides endpoint to subscribe to beacon node Server-Sent-Events stream. * Consumers should use [eventsource](https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface) * implementation to listen on those events. * * Returns if SSE stream has been opened. */ eventstream: Endpoint<"GET", EventstreamArgs, { query: { topics: EventType[]; }; }, EmptyResponseData, EmptyMeta>; }; export declare function getDefinitions(_config: ChainForkConfig): RouteDefinitions; export type TypeJson = { toJson: (data: T) => unknown; fromJson: (data: unknown) => T; }; export declare function getTypeByEvent(config: ChainForkConfig): { [K in EventType]: TypeJson; }; export declare function getEventSerdes(config: ChainForkConfig): { toJson: (event: BeaconEvent) => unknown; fromJson: (type: EventType, data: unknown) => import("@chainsafe/ssz").ValueOfFields<{ message: ContainerType<{ aggregatorIndex: import("@chainsafe/ssz").UintNumberType; contribution: ContainerType<{ slot: import("@chainsafe/ssz").UintNumberType; beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType; subcommitteeIndex: import("@chainsafe/ssz").UintNumberType; aggregationBits: import("@chainsafe/ssz").BitVectorType; signature: import("@chainsafe/ssz").ByteVectorType; }>; selectionProof: import("@chainsafe/ssz").ByteVectorType; }>; signature: import("@chainsafe/ssz").ByteVectorType; }> | import("@chainsafe/ssz").ValueOfFields<{ message: ContainerType<{ validatorIndex: import("@chainsafe/ssz").UintNumberType; fromBlsPubkey: import("@chainsafe/ssz").ByteVectorType; toExecutionAddress: import("@lodestar/types").ExecutionAddressType; }>; signature: import("@chainsafe/ssz").ByteVectorType; }> | import("@chainsafe/ssz").ValueOfFields<{ aggregationBits: import("@chainsafe/ssz").BitListType; data: ContainerType<{ slot: import("@chainsafe/ssz").UintNumberType; index: import("@chainsafe/ssz").UintNumberType; beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType; source: ContainerType<{ epoch: import("@chainsafe/ssz").UintNumberType; root: import("@chainsafe/ssz").ByteVectorType; }>; target: ContainerType<{ epoch: import("@chainsafe/ssz").UintNumberType; root: import("@chainsafe/ssz").ByteVectorType; }>; }>; signature: import("@chainsafe/ssz").ByteVectorType; committeeBits: import("@chainsafe/ssz").BitVectorType; }> | import("@chainsafe/ssz").ValueOfFields<{ committeeIndex: import("@chainsafe/ssz").UintNumberType; attesterIndex: import("@chainsafe/ssz").UintNumberType; data: ContainerType<{ slot: import("@chainsafe/ssz").UintNumberType; index: import("@chainsafe/ssz").UintNumberType; beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType; source: ContainerType<{ epoch: import("@chainsafe/ssz").UintNumberType; root: import("@chainsafe/ssz").ByteVectorType; }>; target: ContainerType<{ epoch: import("@chainsafe/ssz").UintNumberType; root: import("@chainsafe/ssz").ByteVectorType; }>; }>; signature: import("@chainsafe/ssz").ByteVectorType; }> | import("@chainsafe/ssz").ValueOfFields<{ attestation1: ContainerType<{ attestingIndices: ListBasicType; data: ContainerType<{ slot: import("@chainsafe/ssz").UintBigintType; index: import("@chainsafe/ssz").UintBigintType; beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType; source: ContainerType<{ epoch: import("@chainsafe/ssz").UintBigintType; root: import("@chainsafe/ssz").ByteVectorType; }>; target: ContainerType<{ epoch: import("@chainsafe/ssz").UintBigintType; root: import("@chainsafe/ssz").ByteVectorType; }>; }>; signature: import("@chainsafe/ssz").ByteVectorType; }>; attestation2: ContainerType<{ attestingIndices: ListBasicType; data: ContainerType<{ slot: import("@chainsafe/ssz").UintBigintType; index: import("@chainsafe/ssz").UintBigintType; beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType; source: ContainerType<{ epoch: import("@chainsafe/ssz").UintBigintType; root: import("@chainsafe/ssz").ByteVectorType; }>; target: ContainerType<{ epoch: import("@chainsafe/ssz").UintBigintType; root: import("@chainsafe/ssz").ByteVectorType; }>; }>; signature: import("@chainsafe/ssz").ByteVectorType; }>; }> | import("@chainsafe/ssz").ValueOfFields<{ aggregationBits: import("@chainsafe/ssz").BitListType; data: ContainerType<{ slot: import("@chainsafe/ssz").UintNumberType; index: import("@chainsafe/ssz").UintNumberType; beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType; source: ContainerType<{ epoch: import("@chainsafe/ssz").UintNumberType; root: import("@chainsafe/ssz").ByteVectorType; }>; target: ContainerType<{ epoch: import("@chainsafe/ssz").UintNumberType; root: import("@chainsafe/ssz").ByteVectorType; }>; }>; signature: import("@chainsafe/ssz").ByteVectorType; }> | import("@chainsafe/ssz").ValueOfFields<{ attestation1: ContainerType<{ attestingIndices: ListBasicType; data: ContainerType<{ slot: import("@chainsafe/ssz").UintBigintType; index: import("@chainsafe/ssz").UintBigintType; beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType; source: ContainerType<{ epoch: import("@chainsafe/ssz").UintBigintType; root: import("@chainsafe/ssz").ByteVectorType; }>; target: ContainerType<{ epoch: import("@chainsafe/ssz").UintBigintType; root: import("@chainsafe/ssz").ByteVectorType; }>; }>; signature: import("@chainsafe/ssz").ByteVectorType; }>; attestation2: ContainerType<{ attestingIndices: ListBasicType; data: ContainerType<{ slot: import("@chainsafe/ssz").UintBigintType; index: import("@chainsafe/ssz").UintBigintType; beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType; source: ContainerType<{ epoch: import("@chainsafe/ssz").UintBigintType; root: import("@chainsafe/ssz").ByteVectorType; }>; target: ContainerType<{ epoch: import("@chainsafe/ssz").UintBigintType; root: import("@chainsafe/ssz").ByteVectorType; }>; }>; signature: import("@chainsafe/ssz").ByteVectorType; }>; }> | import("@chainsafe/ssz").ValueOfFields<{ signedHeader1: ContainerType<{ message: ContainerType<{ slot: import("@chainsafe/ssz").UintBigintType; proposerIndex: import("@chainsafe/ssz").UintNumberType; parentRoot: import("@chainsafe/ssz").ByteVectorType; stateRoot: import("@chainsafe/ssz").ByteVectorType; bodyRoot: import("@chainsafe/ssz").ByteVectorType; }>; signature: import("@chainsafe/ssz").ByteVectorType; }>; signedHeader2: ContainerType<{ message: ContainerType<{ slot: import("@chainsafe/ssz").UintBigintType; proposerIndex: import("@chainsafe/ssz").UintNumberType; parentRoot: import("@chainsafe/ssz").ByteVectorType; stateRoot: import("@chainsafe/ssz").ByteVectorType; bodyRoot: import("@chainsafe/ssz").ByteVectorType; }>; signature: import("@chainsafe/ssz").ByteVectorType; }>; }> | import("@chainsafe/ssz").ValueOfFields<{ message: ContainerType<{ epoch: import("@chainsafe/ssz").UintNumberType; validatorIndex: import("@chainsafe/ssz").UintNumberType; }>; signature: import("@chainsafe/ssz").ByteVectorType; }> | import("@chainsafe/ssz").ValueOfFields<{ blockRoot: StringType; index: import("@chainsafe/ssz").UintNumberType; slot: import("@chainsafe/ssz").UintNumberType; kzgCommitment: StringType; versionedHash: StringType; }> | { slot: number; block: string; state: string; epochTransition: boolean; previousDutyDependentRoot: string; currentDutyDependentRoot: string; executionOptimistic: boolean; } | { slot: number; block: string; executionOptimistic: boolean; } | { slot: number; block: string; } | { block: string; state: string; epoch: number; executionOptimistic: boolean; } | { slot: number; depth: number; oldHeadBlock: string; newHeadBlock: string; oldHeadState: string; newHeadState: string; epoch: number; executionOptimistic: boolean; } | { version: ForkName; data: import("@chainsafe/ssz").ValueOfFields<{ attestedHeader: ContainerType<{ beacon: ContainerType<{ slot: import("@chainsafe/ssz").UintNumberType; proposerIndex: import("@chainsafe/ssz").UintNumberType; parentRoot: import("@chainsafe/ssz").ByteVectorType; stateRoot: import("@chainsafe/ssz").ByteVectorType; bodyRoot: import("@chainsafe/ssz").ByteVectorType; }>; }>; syncAggregate: ContainerType<{ syncCommitteeBits: import("@chainsafe/ssz").BitVectorType; syncCommitteeSignature: import("@chainsafe/ssz").ByteVectorType; }>; signatureSlot: import("@chainsafe/ssz").UintNumberType; }> | import("@chainsafe/ssz").ValueOfFields<{ attestedHeader: ContainerType<{ beacon: ContainerType<{ slot: import("@chainsafe/ssz").UintNumberType; proposerIndex: import("@chainsafe/ssz").UintNumberType; parentRoot: import("@chainsafe/ssz").ByteVectorType; stateRoot: import("@chainsafe/ssz").ByteVectorType; bodyRoot: import("@chainsafe/ssz").ByteVectorType; }>; execution: ContainerType<{ parentHash: import("@chainsafe/ssz").ByteVectorType; feeRecipient: import("@lodestar/types").ExecutionAddressType; stateRoot: import("@chainsafe/ssz").ByteVectorType; receiptsRoot: import("@chainsafe/ssz").ByteVectorType; logsBloom: import("@chainsafe/ssz").ByteVectorType; prevRandao: import("@chainsafe/ssz").ByteVectorType; blockNumber: import("@chainsafe/ssz").UintNumberType; gasLimit: import("@chainsafe/ssz").UintNumberType; gasUsed: import("@chainsafe/ssz").UintNumberType; timestamp: import("@chainsafe/ssz").UintNumberType; extraData: import("@chainsafe/ssz").ByteListType; baseFeePerGas: import("@chainsafe/ssz").UintBigintType; blockHash: import("@chainsafe/ssz").ByteVectorType; transactionsRoot: import("@chainsafe/ssz").ByteVectorType; withdrawalsRoot: import("@chainsafe/ssz").ByteVectorType; }>; executionBranch: import("@chainsafe/ssz").VectorCompositeType; }>; syncAggregate: ContainerType<{ syncCommitteeBits: import("@chainsafe/ssz").BitVectorType; syncCommitteeSignature: import("@chainsafe/ssz").ByteVectorType; }>; signatureSlot: import("@chainsafe/ssz").UintNumberType; }> | import("@chainsafe/ssz").ValueOfFields<{ attestedHeader: ContainerType<{ beacon: ContainerType<{ slot: import("@chainsafe/ssz").UintNumberType; proposerIndex: import("@chainsafe/ssz").UintNumberType; parentRoot: import("@chainsafe/ssz").ByteVectorType; stateRoot: import("@chainsafe/ssz").ByteVectorType; bodyRoot: import("@chainsafe/ssz").ByteVectorType; }>; execution: ContainerType<{ parentHash: import("@chainsafe/ssz").ByteVectorType; feeRecipient: import("@lodestar/types").ExecutionAddressType; stateRoot: import("@chainsafe/ssz").ByteVectorType; receiptsRoot: import("@chainsafe/ssz").ByteVectorType; logsBloom: import("@chainsafe/ssz").ByteVectorType; prevRandao: import("@chainsafe/ssz").ByteVectorType; blockNumber: import("@chainsafe/ssz").UintNumberType; gasLimit: import("@chainsafe/ssz").UintNumberType; gasUsed: import("@chainsafe/ssz").UintNumberType; timestamp: import("@chainsafe/ssz").UintNumberType; extraData: import("@chainsafe/ssz").ByteListType; baseFeePerGas: import("@chainsafe/ssz").UintBigintType; blockHash: import("@chainsafe/ssz").ByteVectorType; transactionsRoot: import("@chainsafe/ssz").ByteVectorType; withdrawalsRoot: import("@chainsafe/ssz").ByteVectorType; blobGasUsed: import("@chainsafe/ssz").UintBigintType; excessBlobGas: import("@chainsafe/ssz").UintBigintType; }>; executionBranch: import("@chainsafe/ssz").VectorCompositeType; }>; syncAggregate: ContainerType<{ syncCommitteeBits: import("@chainsafe/ssz").BitVectorType; syncCommitteeSignature: import("@chainsafe/ssz").ByteVectorType; }>; signatureSlot: import("@chainsafe/ssz").UintNumberType; }> | import("@chainsafe/ssz").ValueOfFields<{ attestedHeader: ContainerType<{ beacon: ContainerType<{ slot: import("@chainsafe/ssz").UintNumberType; proposerIndex: import("@chainsafe/ssz").UintNumberType; parentRoot: import("@chainsafe/ssz").ByteVectorType; stateRoot: import("@chainsafe/ssz").ByteVectorType; bodyRoot: import("@chainsafe/ssz").ByteVectorType; }>; execution: ContainerType<{ parentHash: import("@chainsafe/ssz").ByteVectorType; feeRecipient: import("@lodestar/types").ExecutionAddressType; stateRoot: import("@chainsafe/ssz").ByteVectorType; receiptsRoot: import("@chainsafe/ssz").ByteVectorType; logsBloom: import("@chainsafe/ssz").ByteVectorType; prevRandao: import("@chainsafe/ssz").ByteVectorType; blockNumber: import("@chainsafe/ssz").UintNumberType; gasLimit: import("@chainsafe/ssz").UintNumberType; gasUsed: import("@chainsafe/ssz").UintNumberType; timestamp: import("@chainsafe/ssz").UintNumberType; extraData: import("@chainsafe/ssz").ByteListType; baseFeePerGas: import("@chainsafe/ssz").UintBigintType; blockHash: import("@chainsafe/ssz").ByteVectorType; transactionsRoot: import("@chainsafe/ssz").ByteVectorType; withdrawalsRoot: import("@chainsafe/ssz").ByteVectorType; blobGasUsed: import("@chainsafe/ssz").UintBigintType; excessBlobGas: import("@chainsafe/ssz").UintBigintType; }>; executionBranch: import("@chainsafe/ssz").VectorCompositeType; }>; syncAggregate: ContainerType<{ syncCommitteeBits: import("@chainsafe/ssz").BitVectorType; syncCommitteeSignature: import("@chainsafe/ssz").ByteVectorType; }>; signatureSlot: import("@chainsafe/ssz").UintNumberType; }>; } | { version: ForkName; data: import("@chainsafe/ssz").ValueOfFields<{ attestedHeader: ContainerType<{ beacon: ContainerType<{ slot: import("@chainsafe/ssz").UintNumberType; proposerIndex: import("@chainsafe/ssz").UintNumberType; parentRoot: import("@chainsafe/ssz").ByteVectorType; stateRoot: import("@chainsafe/ssz").ByteVectorType; bodyRoot: import("@chainsafe/ssz").ByteVectorType; }>; }>; finalizedHeader: ContainerType<{ beacon: ContainerType<{ slot: import("@chainsafe/ssz").UintNumberType; proposerIndex: import("@chainsafe/ssz").UintNumberType; parentRoot: import("@chainsafe/ssz").ByteVectorType; stateRoot: import("@chainsafe/ssz").ByteVectorType; bodyRoot: import("@chainsafe/ssz").ByteVectorType; }>; }>; finalityBranch: import("@chainsafe/ssz").VectorCompositeType; syncAggregate: ContainerType<{ syncCommitteeBits: import("@chainsafe/ssz").BitVectorType; syncCommitteeSignature: import("@chainsafe/ssz").ByteVectorType; }>; signatureSlot: import("@chainsafe/ssz").UintNumberType; }> | import("@chainsafe/ssz").ValueOfFields<{ attestedHeader: ContainerType<{ beacon: ContainerType<{ slot: import("@chainsafe/ssz").UintNumberType; proposerIndex: import("@chainsafe/ssz").UintNumberType; parentRoot: import("@chainsafe/ssz").ByteVectorType; stateRoot: import("@chainsafe/ssz").ByteVectorType; bodyRoot: import("@chainsafe/ssz").ByteVectorType; }>; execution: ContainerType<{ parentHash: import("@chainsafe/ssz").ByteVectorType; feeRecipient: import("@lodestar/types").ExecutionAddressType; stateRoot: import("@chainsafe/ssz").ByteVectorType; receiptsRoot: import("@chainsafe/ssz").ByteVectorType; logsBloom: import("@chainsafe/ssz").ByteVectorType; prevRandao: import("@chainsafe/ssz").ByteVectorType; blockNumber: import("@chainsafe/ssz").UintNumberType; gasLimit: import("@chainsafe/ssz").UintNumberType; gasUsed: import("@chainsafe/ssz").UintNumberType; timestamp: import("@chainsafe/ssz").UintNumberType; extraData: import("@chainsafe/ssz").ByteListType; baseFeePerGas: import("@chainsafe/ssz").UintBigintType; blockHash: import("@chainsafe/ssz").ByteVectorType; transactionsRoot: import("@chainsafe/ssz").ByteVectorType; withdrawalsRoot: import("@chainsafe/ssz").ByteVectorType; }>; executionBranch: import("@chainsafe/ssz").VectorCompositeType; }>; finalizedHeader: ContainerType<{ beacon: ContainerType<{ slot: import("@chainsafe/ssz").UintNumberType; proposerIndex: import("@chainsafe/ssz").UintNumberType; parentRoot: import("@chainsafe/ssz").ByteVectorType; stateRoot: import("@chainsafe/ssz").ByteVectorType; bodyRoot: import("@chainsafe/ssz").ByteVectorType; }>; execution: ContainerType<{ parentHash: import("@chainsafe/ssz").ByteVectorType; feeRecipient: import("@lodestar/types").ExecutionAddressType; stateRoot: import("@chainsafe/ssz").ByteVectorType; receiptsRoot: import("@chainsafe/ssz").ByteVectorType; logsBloom: import("@chainsafe/ssz").ByteVectorType; prevRandao: import("@chainsafe/ssz").ByteVectorType; blockNumber: import("@chainsafe/ssz").UintNumberType; gasLimit: import("@chainsafe/ssz").UintNumberType; gasUsed: import("@chainsafe/ssz").UintNumberType; timestamp: import("@chainsafe/ssz").UintNumberType; extraData: import("@chainsafe/ssz").ByteListType; baseFeePerGas: import("@chainsafe/ssz").UintBigintType; blockHash: import("@chainsafe/ssz").ByteVectorType; transactionsRoot: import("@chainsafe/ssz").ByteVectorType; withdrawalsRoot: import("@chainsafe/ssz").ByteVectorType; }>; executionBranch: import("@chainsafe/ssz").VectorCompositeType; }>; finalityBranch: import("@chainsafe/ssz").VectorCompositeType; syncAggregate: ContainerType<{ syncCommitteeBits: import("@chainsafe/ssz").BitVectorType; syncCommitteeSignature: import("@chainsafe/ssz").ByteVectorType; }>; signatureSlot: import("@chainsafe/ssz").UintNumberType; }> | import("@chainsafe/ssz").ValueOfFields<{ attestedHeader: ContainerType<{ beacon: ContainerType<{ slot: import("@chainsafe/ssz").UintNumberType; proposerIndex: import("@chainsafe/ssz").UintNumberType; parentRoot: import("@chainsafe/ssz").ByteVectorType; stateRoot: import("@chainsafe/ssz").ByteVectorType; bodyRoot: import("@chainsafe/ssz").ByteVectorType; }>; execution: ContainerType<{ parentHash: import("@chainsafe/ssz").ByteVectorType; feeRecipient: import("@lodestar/types").ExecutionAddressType; stateRoot: import("@chainsafe/ssz").ByteVectorType; receiptsRoot: import("@chainsafe/ssz").ByteVectorType; logsBloom: import("@chainsafe/ssz").ByteVectorType; prevRandao: import("@chainsafe/ssz").ByteVectorType; blockNumber: import("@chainsafe/ssz").UintNumberType; gasLimit: import("@chainsafe/ssz").UintNumberType; gasUsed: import("@chainsafe/ssz").UintNumberType; timestamp: import("@chainsafe/ssz").UintNumberType; extraData: import("@chainsafe/ssz").ByteListType; baseFeePerGas: import("@chainsafe/ssz").UintBigintType; blockHash: import("@chainsafe/ssz").ByteVectorType; transactionsRoot: import("@chainsafe/ssz").ByteVectorType; withdrawalsRoot: import("@chainsafe/ssz").ByteVectorType; blobGasUsed: import("@chainsafe/ssz").UintBigintType; excessBlobGas: import("@chainsafe/ssz").UintBigintType; }>; executionBranch: import("@chainsafe/ssz").VectorCompositeType; }>; finalizedHeader: ContainerType<{ beacon: ContainerType<{ slot: import("@chainsafe/ssz").UintNumberType; proposerIndex: import("@chainsafe/ssz").UintNumberType; parentRoot: import("@chainsafe/ssz").ByteVectorType; stateRoot: import("@chainsafe/ssz").ByteVectorType; bodyRoot: import("@chainsafe/ssz").ByteVectorType; }>; execution: ContainerType<{ parentHash: import("@chainsafe/ssz").ByteVectorType; feeRecipient: import("@lodestar/types").ExecutionAddressType; stateRoot: import("@chainsafe/ssz").ByteVectorType; receiptsRoot: import("@chainsafe/ssz").ByteVectorType; logsBloom: import("@chainsafe/ssz").ByteVectorType; prevRandao: import("@chainsafe/ssz").ByteVectorType; blockNumber: import("@chainsafe/ssz").UintNumberType; gasLimit: import("@chainsafe/ssz").UintNumberType; gasUsed: import("@chainsafe/ssz").UintNumberType; timestamp: import("@chainsafe/ssz").UintNumberType; extraData: import("@chainsafe/ssz").ByteListType; baseFeePerGas: import("@chainsafe/ssz").UintBigintType; blockHash: import("@chainsafe/ssz").ByteVectorType; transactionsRoot: import("@chainsafe/ssz").ByteVectorType; withdrawalsRoot: import("@chainsafe/ssz").ByteVectorType; blobGasUsed: import("@chainsafe/ssz").UintBigintType; excessBlobGas: import("@chainsafe/ssz").UintBigintType; }>; executionBranch: import("@chainsafe/ssz").VectorCompositeType; }>; finalityBranch: import("@chainsafe/ssz").VectorCompositeType; syncAggregate: ContainerType<{ syncCommitteeBits: import("@chainsafe/ssz").BitVectorType; syncCommitteeSignature: import("@chainsafe/ssz").ByteVectorType; }>; signatureSlot: import("@chainsafe/ssz").UintNumberType; }> | import("@chainsafe/ssz").ValueOfFields<{ attestedHeader: ContainerType<{ beacon: ContainerType<{ slot: import("@chainsafe/ssz").UintNumberType; proposerIndex: import("@chainsafe/ssz").UintNumberType; parentRoot: import("@chainsafe/ssz").ByteVectorType; stateRoot: import("@chainsafe/ssz").ByteVectorType; bodyRoot: import("@chainsafe/ssz").ByteVectorType; }>; execution: ContainerType<{ parentHash: import("@chainsafe/ssz").ByteVectorType; feeRecipient: import("@lodestar/types").ExecutionAddressType; stateRoot: import("@chainsafe/ssz").ByteVectorType; receiptsRoot: import("@chainsafe/ssz").ByteVectorType; logsBloom: import("@chainsafe/ssz").ByteVectorType; prevRandao: import("@chainsafe/ssz").ByteVectorType; blockNumber: import("@chainsafe/ssz").UintNumberType; gasLimit: import("@chainsafe/ssz").UintNumberType; gasUsed: import("@chainsafe/ssz").UintNumberType; timestamp: import("@chainsafe/ssz").UintNumberType; extraData: import("@chainsafe/ssz").ByteListType; baseFeePerGas: import("@chainsafe/ssz").UintBigintType; blockHash: import("@chainsafe/ssz").ByteVectorType; transactionsRoot: import("@chainsafe/ssz").ByteVectorType; withdrawalsRoot: import("@chainsafe/ssz").ByteVectorType; blobGasUsed: import("@chainsafe/ssz").UintBigintType; excessBlobGas: import("@chainsafe/ssz").UintBigintType; }>; executionBranch: import("@chainsafe/ssz").VectorCompositeType; }>; finalizedHeader: ContainerType<{ beacon: ContainerType<{ slot: import("@chainsafe/ssz").UintNumberType; proposerIndex: import("@chainsafe/ssz").UintNumberType; parentRoot: import("@chainsafe/ssz").ByteVectorType; stateRoot: import("@chainsafe/ssz").ByteVectorType; bodyRoot: import("@chainsafe/ssz").ByteVectorType; }>; execution: ContainerType<{ parentHash: import("@chainsafe/ssz").ByteVectorType; feeRecipient: import("@lodestar/types").ExecutionAddressType; stateRoot: import("@chainsafe/ssz").ByteVectorType; receiptsRoot: import("@chainsafe/ssz").ByteVectorType; logsBloom: import("@chainsafe/ssz").ByteVectorType; prevRandao: import("@chainsafe/ssz").ByteVectorType; blockNumber: import("@chainsafe/ssz").UintNumberType; gasLimit: import("@chainsafe/ssz").UintNumberType; gasUsed: import("@chainsafe/ssz").UintNumberType; timestamp: import("@chainsafe/ssz").UintNumberType; extraData: import("@chainsafe/ssz").ByteListType; baseFeePerGas: import("@chainsafe/ssz").UintBigintType; blockHash: import("@chainsafe/ssz").ByteVectorType; transactionsRoot: import("@chainsafe/ssz").ByteVectorType; withdrawalsRoot: import("@chainsafe/ssz").ByteVectorType; blobGasUsed: import("@chainsafe/ssz").UintBigintType; excessBlobGas: import("@chainsafe/ssz").UintBigintType; }>; executionBranch: import("@chainsafe/ssz").VectorCompositeType; }>; finalityBranch: import("@chainsafe/ssz").VectorCompositeType; syncAggregate: ContainerType<{ syncCommitteeBits: import("@chainsafe/ssz").BitVectorType; syncCommitteeSignature: import("@chainsafe/ssz").ByteVectorType; }>; signatureSlot: import("@chainsafe/ssz").UintNumberType; }>; } | { version: ForkName; data: import("@chainsafe/ssz").ValueOfFields<{ proposerIndex: import("@chainsafe/ssz").UintNumberType; proposalSlot: import("@chainsafe/ssz").UintNumberType; parentBlockNumber: import("@chainsafe/ssz").UintNumberType; parentBlockRoot: import("@chainsafe/ssz").ByteVectorType; parentBlockHash: import("@chainsafe/ssz").ByteVectorType; payloadAttributes: ContainerType<{ timestamp: import("@chainsafe/ssz").UintNumberType; prevRandao: import("@chainsafe/ssz").ByteVectorType; suggestedFeeRecipient: StringType; }>; }> | import("@chainsafe/ssz").ValueOfFields<{ proposerIndex: import("@chainsafe/ssz").UintNumberType; proposalSlot: import("@chainsafe/ssz").UintNumberType; parentBlockNumber: import("@chainsafe/ssz").UintNumberType; parentBlockRoot: import("@chainsafe/ssz").ByteVectorType; parentBlockHash: import("@chainsafe/ssz").ByteVectorType; payloadAttributes: ContainerType<{ timestamp: import("@chainsafe/ssz").UintNumberType; prevRandao: import("@chainsafe/ssz").ByteVectorType; suggestedFeeRecipient: StringType; withdrawals: import("@chainsafe/ssz").ListCompositeType>; }>; }> | import("@chainsafe/ssz").ValueOfFields<{ proposerIndex: import("@chainsafe/ssz").UintNumberType; proposalSlot: import("@chainsafe/ssz").UintNumberType; parentBlockNumber: import("@chainsafe/ssz").UintNumberType; parentBlockRoot: import("@chainsafe/ssz").ByteVectorType; parentBlockHash: import("@chainsafe/ssz").ByteVectorType; payloadAttributes: ContainerType<{ timestamp: import("@chainsafe/ssz").UintNumberType; prevRandao: import("@chainsafe/ssz").ByteVectorType; suggestedFeeRecipient: StringType; withdrawals: import("@chainsafe/ssz").ListCompositeType>; parentBeaconBlockRoot: import("@chainsafe/ssz").ByteVectorType; }>; }> | import("@chainsafe/ssz").ValueOfFields<{ proposerIndex: import("@chainsafe/ssz").UintNumberType; proposalSlot: import("@chainsafe/ssz").UintNumberType; parentBlockNumber: import("@chainsafe/ssz").UintNumberType; parentBlockRoot: import("@chainsafe/ssz").ByteVectorType; parentBlockHash: import("@chainsafe/ssz").ByteVectorType; payloadAttributes: ContainerType<{ timestamp: import("@chainsafe/ssz").UintNumberType; prevRandao: import("@chainsafe/ssz").ByteVectorType; suggestedFeeRecipient: StringType; withdrawals: import("@chainsafe/ssz").ListCompositeType>; parentBeaconBlockRoot: import("@chainsafe/ssz").ByteVectorType; }>; }> | import("@chainsafe/ssz").ValueOfFields<{ proposerIndex: import("@chainsafe/ssz").UintNumberType; proposalSlot: import("@chainsafe/ssz").UintNumberType; parentBlockNumber: import("@chainsafe/ssz").UintNumberType; parentBlockRoot: import("@chainsafe/ssz").ByteVectorType; parentBlockHash: import("@chainsafe/ssz").ByteVectorType; payloadAttributes: ContainerType<{ timestamp: import("@chainsafe/ssz").UintNumberType; prevRandao: import("@chainsafe/ssz").ByteVectorType; suggestedFeeRecipient: StringType; withdrawals: import("@chainsafe/ssz").ListCompositeType>; parentBeaconBlockRoot: import("@chainsafe/ssz").ByteVectorType; slotNumber: import("@chainsafe/ssz").UintNumberType; }>; }>; } | { slot: number; builderIndex: number; blockHash: string; blockRoot: string; executionOptimistic: boolean; } | { slot: number; builderIndex: number; blockHash: string; blockRoot: string; } | { slot: number; blockRoot: string; } | { version: ForkName; data: import("@chainsafe/ssz").ValueOfFields<{ message: ContainerType<{ parentBlockHash: import("@chainsafe/ssz").ByteVectorType; parentBlockRoot: import("@chainsafe/ssz").ByteVectorType; blockHash: import("@chainsafe/ssz").ByteVectorType; prevRandao: import("@chainsafe/ssz").ByteVectorType; feeRecipient: import("@lodestar/types").ExecutionAddressType; gasLimit: import("@chainsafe/ssz").UintBigintType; builderIndex: import("@chainsafe/ssz").UintNumberType; slot: import("@chainsafe/ssz").UintNumberType; value: import("@chainsafe/ssz").UintNumberType; executionPayment: import("@chainsafe/ssz").UintNumberType; blobKzgCommitments: import("@chainsafe/ssz").ListCompositeType; executionRequestsRoot: import("@chainsafe/ssz").ByteVectorType; }>; signature: import("@chainsafe/ssz").ByteVectorType; }>; } | DataColumnSidecarSSE; }; export {}; //# sourceMappingURL=events.d.ts.map