diff --git a/EIPS/eip-7688.md b/EIPS/eip-7688.md index 857294e0586d9..66e385d64ac9d 100644 --- a/EIPS/eip-7688.md +++ b/EIPS/eip-7688.md @@ -52,44 +52,43 @@ These types are used as part of the `StableContainer` definitions, and, as they | Type | Description | | - | - | -| [`Slot`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/phase0/beacon-chain.md#custom-types) | Slot number on the beacon chain | -| [`Epoch`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/phase0/beacon-chain.md#custom-types) | Epoch number on the beacon chain, a group of slots | -| [`CommitteeIndex`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/phase0/beacon-chain.md#custom-types) | Index of a committee within a slot | -| [`ValidatorIndex`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/phase0/beacon-chain.md#custom-types) | Unique index of a beacon chain validator | -| [`Gwei`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/phase0/beacon-chain.md#custom-types) | Amount in Gwei (1 ETH = 10^9 Gwei = 10^18 Wei) | -| [`Root`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/phase0/beacon-chain.md#custom-types) | Byte vector containing an SSZ Merkle root | -| [`Hash32`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/phase0/beacon-chain.md#custom-types) | Byte vector containing an opaque 32-byte hash | -| [`Version`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/phase0/beacon-chain.md#custom-types) | Consensus fork version number | -| [`BLSPubkey`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/phase0/beacon-chain.md#custom-types) | Cryptographic type representing a BLS12-381 public key | -| [`BLSSignature`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/phase0/beacon-chain.md#custom-types) | Cryptographic type representing a BLS12-381 signature | -| [`KZGCommitment`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/_features/sharding/polynomial-commitments.md#custom-types) | G1 curve point for the KZG polynomial commitment scheme | -| [`Fork`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/phase0/beacon-chain.md#fork) | Consensus fork information | -| [`Checkpoint`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/phase0/beacon-chain.md#checkpoint) | Tuple referring to the most recent beacon block up through an epoch's start slot | -| [`Validator`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/phase0/beacon-chain.md#validator) | Information about a beacon chain validator | -| [`AttestationData`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/phase0/beacon-chain.md#attestationdata) | Vote that attests to the availability and validity of a particular consensus block | -| [`Eth1Data`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/phase0/beacon-chain.md#eth1data) | Target tracker for importing deposits from transaction logs | -| [`DepositData`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/phase0/beacon-chain.md#depositdata) | Log data emitted as part of a transaction's receipt when depositing to the beacon chain | -| [`BeaconBlockHeader`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/phase0/beacon-chain.md#beaconblockheader) | Consensus block header | -| [`ProposerSlashing`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/phase0/beacon-chain.md#proposerslashing) | Tuple of two equivocating consensus block headers | -| [`Deposit`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/phase0/beacon-chain.md#deposit) | Tuple of deposit data and its inclusion proof | -| [`VoluntaryExit`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/phase0/beacon-chain.md#voluntaryexit) | Consensus originated request to exit a validator from the beacon chain | -| [`SignedVoluntaryExit`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/phase0/beacon-chain.md#signedvoluntaryexit) | Tuple of voluntary exit request and its signature | -| [`SyncAggregate`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/altair/beacon-chain.md#syncaggregate) | Cryptographic type representing an aggregate sync committee signature | -| [`ExecutionAddress`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/bellatrix/beacon-chain.md#custom-types) | Byte vector containing an account address on the execution layer | -| [`Transaction`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/bellatrix/beacon-chain.md#custom-types) | Byte list containing an RLP encoded transaction | -| [`WithdrawalIndex`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/capella/beacon-chain.md#custom-types) | Unique index of a withdrawal from any validator's balance to the execution layer | -| [`Withdrawal`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/capella/beacon-chain.md#withdrawal) | Withdrawal from a beacon chain validator's balance to the execution layer | -| [`DepositReceipt`](https://github.com/ethereum/consensus-specs/blob/2c1f677187e6534aec77057a7d1cc746a40d3630/specs/electra/beacon-chain.md#depositreceipt) | Tuple of flattened deposit data and its sequential index | -| [`ExecutionLayerWithdrawalRequest`](https://github.com/ethereum/consensus-specs/blob/2c1f677187e6534aec77057a7d1cc746a40d3630/specs/electra/beacon-chain.md#executionlayerwithdrawalrequest) | Execution originated request to withdraw from a validator to the execution layer | -| [`BLSToExecutionChange`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/capella/beacon-chain.md#blstoexecutionchange) | Request to register the withdrawal account address of a beacon chain validator | -| [`SignedBLSToExecutionChange`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/capella/beacon-chain.md#signedblstoexecutionchange) | Tuple of withdrawal account address registration request and its signature | -| [`Consolidation`](https://github.com/ethereum/consensus-specs/blob/2c1f677187e6534aec77057a7d1cc746a40d3630/specs/electra/beacon-chain.md#consolidation) | Request to consolidate the balances of two beacon chain validators into one | -| [`SignedConsolidation`](https://github.com/ethereum/consensus-specs/blob/2c1f677187e6534aec77057a7d1cc746a40d3630/specs/electra/beacon-chain.md#signedconsolidation) | Tuple of consolidation request and its signature | -| [`ParticipationFlags`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/altair/beacon-chain.md#custom-types) | Participation tracker of a beacon chain validator within an epoch | -| [`HistoricalSummary`](https://github.com/ethereum/consensus-specs/blob/4afe39822c9ad9747e0f5635cca117c18441ec1b/specs/capella/beacon-chain.md#historicalsummary) | Tuple combining a historical block root and historical state root | -| [`PendingBalanceDeposit`](https://github.com/ethereum/consensus-specs/blob/2c1f677187e6534aec77057a7d1cc746a40d3630/specs/electra/beacon-chain.md#pendingbalancedeposit) | Pending operation for depositing to a beacon chain validator | -| [`PendingPartialWithdrawal`](https://github.com/ethereum/consensus-specs/blob/2c1f677187e6534aec77057a7d1cc746a40d3630/specs/electra/beacon-chain.md#pendingpartialwithdrawal) | Pending operation for withdrawing from a beacon chain validator | -| [`PendingConsolidation`](https://github.com/ethereum/consensus-specs/blob/2c1f677187e6534aec77057a7d1cc746a40d3630/specs/electra/beacon-chain.md#pendingconsolidation) | Pending operation for consolidating two beacon chain validators | +| [`Slot`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/phase0/beacon-chain.md#custom-types) | Slot number on the beacon chain | +| [`Epoch`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/phase0/beacon-chain.md#custom-types) | Epoch number on the beacon chain, a group of slots | +| [`CommitteeIndex`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/phase0/beacon-chain.md#custom-types) | Index of a committee within a slot | +| [`ValidatorIndex`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/phase0/beacon-chain.md#custom-types) | Unique index of a beacon chain validator | +| [`Gwei`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/phase0/beacon-chain.md#custom-types) | Amount in Gwei (1 ETH = 10^9 Gwei = 10^18 Wei) | +| [`Root`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/phase0/beacon-chain.md#custom-types) | Byte vector containing an SSZ Merkle root | +| [`Hash32`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/phase0/beacon-chain.md#custom-types) | Byte vector containing an opaque 32-byte hash | +| [`Version`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/phase0/beacon-chain.md#custom-types) | Consensus fork version number | +| [`BLSPubkey`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/phase0/beacon-chain.md#custom-types) | Cryptographic type representing a BLS12-381 public key | +| [`BLSSignature`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/phase0/beacon-chain.md#custom-types) | Cryptographic type representing a BLS12-381 signature | +| [`KZGCommitment`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/_features/sharding/polynomial-commitments.md#custom-types) | G1 curve point for the KZG polynomial commitment scheme | +| [`Fork`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/phase0/beacon-chain.md#fork) | Consensus fork information | +| [`Checkpoint`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/phase0/beacon-chain.md#checkpoint) | Tuple referring to the most recent beacon block up through an epoch's start slot | +| [`Validator`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/phase0/beacon-chain.md#validator) | Information about a beacon chain validator | +| [`AttestationData`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/phase0/beacon-chain.md#attestationdata) | Vote that attests to the availability and validity of a particular consensus block | +| [`Eth1Data`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/phase0/beacon-chain.md#eth1data) | Target tracker for importing deposits from transaction logs | +| [`DepositData`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/phase0/beacon-chain.md#depositdata) | Log data emitted as part of a transaction's receipt when depositing to the beacon chain | +| [`BeaconBlockHeader`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/phase0/beacon-chain.md#beaconblockheader) | Consensus block header | +| [`ProposerSlashing`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/phase0/beacon-chain.md#proposerslashing) | Tuple of two equivocating consensus block headers | +| [`Deposit`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/phase0/beacon-chain.md#deposit) | Tuple of deposit data and its inclusion proof | +| [`VoluntaryExit`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/phase0/beacon-chain.md#voluntaryexit) | Consensus originated request to exit a validator from the beacon chain | +| [`SignedVoluntaryExit`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/phase0/beacon-chain.md#signedvoluntaryexit) | Tuple of voluntary exit request and its signature | +| [`SyncAggregate`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/altair/beacon-chain.md#syncaggregate) | Cryptographic type representing an aggregate sync committee signature | +| [`ExecutionAddress`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/bellatrix/beacon-chain.md#custom-types) | Byte vector containing an account address on the execution layer | +| [`Transaction`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/bellatrix/beacon-chain.md#custom-types) | Byte list containing an RLP encoded transaction | +| [`WithdrawalIndex`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/capella/beacon-chain.md#custom-types) | Unique index of a withdrawal from any validator's balance to the execution layer | +| [`Withdrawal`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/capella/beacon-chain.md#withdrawal) | Withdrawal from a beacon chain validator's balance to the execution layer | +| [`DepositRequest`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/electra/beacon-chain.md#depositrequest) | Tuple of flattened deposit data and its sequential index | +| [`WithdrawalRequest`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/electra/beacon-chain.md#withdrawalrequest) | Execution originated request to withdraw from a validator to the execution layer | +| [`ConsolidationRequest`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/electra/beacon-chain.md#consolidation) | Execution originated request to consolidate two beacon chain validators | +| [`BLSToExecutionChange`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/capella/beacon-chain.md#blstoexecutionchange) | Request to register the withdrawal account address of a beacon chain validator | +| [`SignedBLSToExecutionChange`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/capella/beacon-chain.md#signedblstoexecutionchange) | Tuple of withdrawal account address registration request and its signature | +| [`ParticipationFlags`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/altair/beacon-chain.md#custom-types) | Participation tracker of a beacon chain validator within an epoch | +| [`HistoricalSummary`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/capella/beacon-chain.md#historicalsummary) | Tuple combining a historical block root and historical state root | +| [`PendingBalanceDeposit`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/electra/beacon-chain.md#pendingbalancedeposit) | Pending operation for depositing to a beacon chain validator | +| [`PendingPartialWithdrawal`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/electra/beacon-chain.md#pendingpartialwithdrawal) | Pending operation for withdrawing from a beacon chain validator | +| [`PendingConsolidation`](https://github.com/ethereum/consensus-specs/blob/389b2ddfb954731da7ccf4c0ef89fab2d4575b99/specs/electra/beacon-chain.md#pendingconsolidation) | Pending operation for consolidating two beacon chain validators | ### `StableContainer` capacities @@ -144,9 +143,11 @@ class StableExecutionPayload(StableContainer[MAX_EXECUTION_PAYLOAD_FIELDS]): withdrawals: Optional[List[Withdrawal, MAX_WITHDRAWALS_PER_PAYLOAD]] # [New in Capella] blob_gas_used: Optional[uint64] # [New in Deneb:EIP4844] excess_blob_gas: Optional[uint64] # [New in Deneb:EIP4844] - deposit_receipts: Optional[List[DepositReceipt, MAX_DEPOSIT_RECEIPTS_PER_PAYLOAD]] # [New in Electra:EIP6110] + deposit_requests: Optional[List[DepositRequest, MAX_DEPOSIT_REQUESTS_PER_PAYLOAD]] # [New in Electra:EIP6110] # [New in Electra:EIP7002:EIP7251] - withdrawal_requests: Optional[List[ExecutionLayerWithdrawalRequest, MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD]] + withdrawal_requests: Optional[List[WithdrawalRequest, MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD]] + # [New in Electra:EIP7251] + consolidation_requests: Optional[List[ConsolidationRequest, MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD]] class StableExecutionPayloadHeader(StableContainer[MAX_EXECUTION_PAYLOAD_FIELDS]): parent_hash: Optional[Hash32] @@ -166,8 +167,9 @@ class StableExecutionPayloadHeader(StableContainer[MAX_EXECUTION_PAYLOAD_FIELDS] withdrawals_root: Optional[Root] # [New in Capella] blob_gas_used: Optional[uint64] # [New in Deneb:EIP4844] excess_blob_gas: Optional[uint64] # [New in Deneb:EIP4844] - deposit_receipts_root: Optional[Root] # [New in Electra:EIP6110] + deposit_requests_root: Optional[Root] # [New in Electra:EIP6110] withdrawal_requests_root: Optional[Root] # [New in Electra:EIP7002:EIP7251] + consolidation_requests_root: Optional[Root] # [New in Electra:EIP7251] class StableBeaconBlockBody(StableContainer[MAX_BEACON_BLOCK_BODY_FIELDS]): randao_reveal: Optional[BLSSignature] @@ -182,7 +184,6 @@ class StableBeaconBlockBody(StableContainer[MAX_BEACON_BLOCK_BODY_FIELDS]): execution_payload: Optional[StableExecutionPayload] # [New in Bellatrix] bls_to_execution_changes: Optional[List[SignedBLSToExecutionChange, MAX_BLS_TO_EXECUTION_CHANGES]] # [New in Capella] blob_kzg_commitments: Optional[List[KZGCommitment, MAX_BLOB_COMMITMENTS_PER_BLOCK]] # [New in Deneb:EIP4844] - consolidations: Optional[List[SignedConsolidation, MAX_CONSOLIDATIONS]] # [New in Electra:EIP7251] class StableBeaconState(StableContainer[MAX_BEACON_STATE_FIELDS]): # Versioning @@ -226,7 +227,7 @@ class StableBeaconState(StableContainer[MAX_BEACON_STATE_FIELDS]): next_withdrawal_validator_index: Optional[ValidatorIndex] # [New in Capella] # Deep history valid from Capella onwards historical_summaries: Optional[List[HistoricalSummary, HISTORICAL_ROOTS_LIMIT]] # [New in Capella] - deposit_receipts_start_index: Optional[uint64] # [New in Electra:EIP6110] + deposit_requests_start_index: Optional[uint64] # [New in Electra:EIP6110] deposit_balance_to_consume: Optional[Gwei] # [New in Electra:EIP7251] exit_balance_to_consume: Optional[Gwei] # [New in Electra:EIP7251] earliest_exit_epoch: Optional[Epoch] # [New in Electra:EIP7251]