eip4844: move excess data gas field to end of execution payload for merkle proof path compat

This commit is contained in:
protolambda 2023-01-23 22:51:55 +01:00 committed by Hsiao-Wei Wang
parent ffacbb442b
commit f6b8827eca
No known key found for this signature in database
GPG Key ID: AE3D6B174F971DE4

View File

@ -108,11 +108,11 @@ class ExecutionPayload(Container):
timestamp: uint64 timestamp: uint64
extra_data: ByteList[MAX_EXTRA_DATA_BYTES] extra_data: ByteList[MAX_EXTRA_DATA_BYTES]
base_fee_per_gas: uint256 base_fee_per_gas: uint256
excess_data_gas: uint256 # [New in Deneb]
# Extra payload fields # Extra payload fields
block_hash: Hash32 # Hash of execution block block_hash: Hash32 # Hash of execution block
transactions: List[Transaction, MAX_TRANSACTIONS_PER_PAYLOAD] transactions: List[Transaction, MAX_TRANSACTIONS_PER_PAYLOAD]
withdrawals: List[Withdrawal, MAX_WITHDRAWALS_PER_PAYLOAD] withdrawals: List[Withdrawal, MAX_WITHDRAWALS_PER_PAYLOAD]
excess_data_gas: uint256 # [New in Deneb]
``` ```
#### `ExecutionPayloadHeader` #### `ExecutionPayloadHeader`
@ -132,11 +132,11 @@ class ExecutionPayloadHeader(Container):
timestamp: uint64 timestamp: uint64
extra_data: ByteList[MAX_EXTRA_DATA_BYTES] extra_data: ByteList[MAX_EXTRA_DATA_BYTES]
base_fee_per_gas: uint256 base_fee_per_gas: uint256
excess_data_gas: uint256 # [New in Deneb]
# Extra payload fields # Extra payload fields
block_hash: Hash32 # Hash of execution block block_hash: Hash32 # Hash of execution block
transactions_root: Root transactions_root: Root
withdrawals_root: Root withdrawals_root: Root
excess_data_gas: uint256 # [New in Deneb]
``` ```
## Helper functions ## Helper functions
@ -230,10 +230,10 @@ def process_execution_payload(state: BeaconState, payload: ExecutionPayload, exe
timestamp=payload.timestamp, timestamp=payload.timestamp,
extra_data=payload.extra_data, extra_data=payload.extra_data,
base_fee_per_gas=payload.base_fee_per_gas, base_fee_per_gas=payload.base_fee_per_gas,
excess_data_gas=payload.excess_data_gas, # [New in Deneb]
block_hash=payload.block_hash, block_hash=payload.block_hash,
transactions_root=hash_tree_root(payload.transactions), transactions_root=hash_tree_root(payload.transactions),
withdrawals_root=hash_tree_root(payload.withdrawals), withdrawals_root=hash_tree_root(payload.withdrawals),
excess_data_gas=payload.excess_data_gas, # [New in Deneb]
) )
``` ```