switch order
This commit is contained in:
parent
7bc5d51ce8
commit
60721b9d8a
|
@ -91,8 +91,8 @@ class ExecutionPayload(Container):
|
||||||
block_hash: Hash32
|
block_hash: Hash32
|
||||||
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
|
|
||||||
data_gas_used: uint256
|
data_gas_used: uint256
|
||||||
|
excess_data_gas: uint256
|
||||||
deposit_receipts: List[DepositReceipt, MAX_DEPOSIT_RECEIPTS_PER_PAYLOAD] # [New in EIP6110]
|
deposit_receipts: List[DepositReceipt, MAX_DEPOSIT_RECEIPTS_PER_PAYLOAD] # [New in EIP6110]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -117,8 +117,8 @@ class ExecutionPayloadHeader(Container):
|
||||||
block_hash: Hash32
|
block_hash: Hash32
|
||||||
transactions_root: Root
|
transactions_root: Root
|
||||||
withdrawals_root: Root
|
withdrawals_root: Root
|
||||||
excess_data_gas: uint256
|
|
||||||
data_gas_used: uint256
|
data_gas_used: uint256
|
||||||
|
excess_data_gas: uint256
|
||||||
deposit_receipts_root: Root # [New in EIP6110]
|
deposit_receipts_root: Root # [New in EIP6110]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -270,8 +270,8 @@ def process_execution_payload(state: BeaconState, body: BeaconBlockBody, executi
|
||||||
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,
|
|
||||||
data_gas_used=payload.data_gas_used,
|
data_gas_used=payload.data_gas_used,
|
||||||
|
excess_data_gas=payload.excess_data_gas,
|
||||||
deposit_receipts_root=hash_tree_root(payload.deposit_receipts), # [New in EIP6110]
|
deposit_receipts_root=hash_tree_root(payload.deposit_receipts), # [New in EIP6110]
|
||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
|
@ -88,8 +88,8 @@ def upgrade_to_eip6110(pre: deneb.BeaconState) -> BeaconState:
|
||||||
block_hash=pre.latest_execution_payload_header.block_hash,
|
block_hash=pre.latest_execution_payload_header.block_hash,
|
||||||
transactions_root=pre.latest_execution_payload_header.transactions_root,
|
transactions_root=pre.latest_execution_payload_header.transactions_root,
|
||||||
withdrawals_root=pre.latest_execution_payload_header.withdrawals_root,
|
withdrawals_root=pre.latest_execution_payload_header.withdrawals_root,
|
||||||
excess_data_gas=uint256(0),
|
|
||||||
data_gas_used=uint256(0),
|
data_gas_used=uint256(0),
|
||||||
|
excess_data_gas=uint256(0),
|
||||||
deposit_receipts_root=Root(), # [New in EIP-6110]
|
deposit_receipts_root=Root(), # [New in EIP-6110]
|
||||||
)
|
)
|
||||||
post = BeaconState(
|
post = BeaconState(
|
||||||
|
|
|
@ -126,8 +126,8 @@ class ExecutionPayload(Container):
|
||||||
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]
|
|
||||||
data_gas_used: uint256 # [New in Deneb]
|
data_gas_used: uint256 # [New in Deneb]
|
||||||
|
excess_data_gas: uint256 # [New in Deneb]
|
||||||
```
|
```
|
||||||
|
|
||||||
#### `ExecutionPayloadHeader`
|
#### `ExecutionPayloadHeader`
|
||||||
|
@ -151,8 +151,8 @@ class ExecutionPayloadHeader(Container):
|
||||||
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]
|
|
||||||
data_gas_used: uint256 # [New in Deneb]
|
data_gas_used: uint256 # [New in Deneb]
|
||||||
|
excess_data_gas: uint256 # [New in Deneb]
|
||||||
```
|
```
|
||||||
|
|
||||||
## Helper functions
|
## Helper functions
|
||||||
|
@ -259,8 +259,8 @@ def process_execution_payload(state: BeaconState, body: BeaconBlockBody, executi
|
||||||
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]
|
|
||||||
data_gas_used=payload.data_gas_used, # [New in Deneb]
|
data_gas_used=payload.data_gas_used, # [New in Deneb]
|
||||||
|
excess_data_gas=payload.excess_data_gas, # [New in Deneb]
|
||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -83,8 +83,8 @@ def upgrade_to_deneb(pre: capella.BeaconState) -> BeaconState:
|
||||||
block_hash=pre.latest_execution_payload_header.block_hash,
|
block_hash=pre.latest_execution_payload_header.block_hash,
|
||||||
transactions_root=pre.latest_execution_payload_header.transactions_root,
|
transactions_root=pre.latest_execution_payload_header.transactions_root,
|
||||||
withdrawals_root=pre.latest_execution_payload_header.withdrawals_root,
|
withdrawals_root=pre.latest_execution_payload_header.withdrawals_root,
|
||||||
excess_data_gas=uint256(0), # [New in Deneb]
|
|
||||||
data_gas_used=uint256(0), # [New in Deneb]
|
data_gas_used=uint256(0), # [New in Deneb]
|
||||||
|
excess_data_gas=uint256(0), # [New in Deneb]
|
||||||
)
|
)
|
||||||
post = BeaconState(
|
post = BeaconState(
|
||||||
# Versioning
|
# Versioning
|
||||||
|
|
|
@ -41,8 +41,8 @@ def upgrade_lc_header_to_deneb(pre: capella.LightClientHeader) -> LightClientHea
|
||||||
block_hash=pre.execution.block_hash,
|
block_hash=pre.execution.block_hash,
|
||||||
transactions_root=pre.execution.transactions_root,
|
transactions_root=pre.execution.transactions_root,
|
||||||
withdrawals_root=pre.execution.withdrawals_root,
|
withdrawals_root=pre.execution.withdrawals_root,
|
||||||
excess_data_gas=uint256(0), # [New in Deneb]
|
|
||||||
data_gas_used=uint256(0), # [New in Deneb]
|
data_gas_used=uint256(0), # [New in Deneb]
|
||||||
|
excess_data_gas=uint256(0), # [New in Deneb]
|
||||||
),
|
),
|
||||||
execution_branch=pre.execution_branch,
|
execution_branch=pre.execution_branch,
|
||||||
)
|
)
|
||||||
|
|
|
@ -49,8 +49,8 @@ def block_to_light_client_header(block: SignedBeaconBlock) -> LightClientHeader:
|
||||||
|
|
||||||
# [New in Deneb]
|
# [New in Deneb]
|
||||||
if epoch >= DENEB_FORK_EPOCH:
|
if epoch >= DENEB_FORK_EPOCH:
|
||||||
execution_header.excess_data_gas = payload.excess_data_gas
|
|
||||||
execution_header.data_gas_used = payload.data_gas_used
|
execution_header.data_gas_used = payload.data_gas_used
|
||||||
|
execution_header.excess_data_gas = payload.excess_data_gas
|
||||||
|
|
||||||
execution_branch = compute_merkle_proof_for_block_body(block.message.body, EXECUTION_PAYLOAD_INDEX)
|
execution_branch = compute_merkle_proof_for_block_body(block.message.body, EXECUTION_PAYLOAD_INDEX)
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -16,15 +16,15 @@ from eth2spec.test.helpers.sharding import (
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def run_block_with_blobs(spec, state, blob_count, excess_data_gas=1, data_gas_used=1, valid=True):
|
def run_block_with_blobs(spec, state, blob_count, data_gas_used=1, excess_data_gas=1, valid=True):
|
||||||
yield 'pre', state
|
yield 'pre', state
|
||||||
|
|
||||||
block = build_empty_block_for_next_slot(spec, state)
|
block = build_empty_block_for_next_slot(spec, state)
|
||||||
opaque_tx, _, blob_kzg_commitments, _ = get_sample_opaque_tx(spec, blob_count=blob_count)
|
opaque_tx, _, blob_kzg_commitments, _ = get_sample_opaque_tx(spec, blob_count=blob_count)
|
||||||
block.body.blob_kzg_commitments = blob_kzg_commitments
|
block.body.blob_kzg_commitments = blob_kzg_commitments
|
||||||
block.body.execution_payload.transactions = [opaque_tx]
|
block.body.execution_payload.transactions = [opaque_tx]
|
||||||
block.body.execution_payload.excess_data_gas = excess_data_gas
|
|
||||||
block.body.execution_payload.data_gas_used = data_gas_used
|
block.body.execution_payload.data_gas_used = data_gas_used
|
||||||
|
block.body.execution_payload.excess_data_gas = excess_data_gas
|
||||||
block.body.execution_payload.block_hash = compute_el_block_hash(spec, block.body.execution_payload)
|
block.body.execution_payload.block_hash = compute_el_block_hash(spec, block.body.execution_payload)
|
||||||
|
|
||||||
if valid:
|
if valid:
|
||||||
|
|
|
@ -31,8 +31,8 @@ def get_execution_payload_header(spec, execution_payload):
|
||||||
if is_post_capella(spec):
|
if is_post_capella(spec):
|
||||||
payload_header.withdrawals_root = spec.hash_tree_root(execution_payload.withdrawals)
|
payload_header.withdrawals_root = spec.hash_tree_root(execution_payload.withdrawals)
|
||||||
if is_post_deneb(spec):
|
if is_post_deneb(spec):
|
||||||
payload_header.excess_data_gas = execution_payload.excess_data_gas
|
|
||||||
payload_header.data_gas_used = execution_payload.data_gas_used
|
payload_header.data_gas_used = execution_payload.data_gas_used
|
||||||
|
payload_header.excess_data_gas = execution_payload.excess_data_gas
|
||||||
if is_post_eip6110(spec):
|
if is_post_eip6110(spec):
|
||||||
payload_header.deposit_receipts_root = spec.hash_tree_root(execution_payload.deposit_receipts)
|
payload_header.deposit_receipts_root = spec.hash_tree_root(execution_payload.deposit_receipts)
|
||||||
return payload_header
|
return payload_header
|
||||||
|
@ -99,8 +99,8 @@ def compute_el_header_block_hash(spec,
|
||||||
execution_payload_header_rlp.append((Binary(32, 32), withdrawals_trie_root))
|
execution_payload_header_rlp.append((Binary(32, 32), withdrawals_trie_root))
|
||||||
if is_post_deneb(spec):
|
if is_post_deneb(spec):
|
||||||
# excess_data_gas
|
# excess_data_gas
|
||||||
execution_payload_header_rlp.append((big_endian_int, payload_header.excess_data_gas))
|
|
||||||
execution_payload_header_rlp.append((big_endian_int, payload_header.data_gas_used))
|
execution_payload_header_rlp.append((big_endian_int, payload_header.data_gas_used))
|
||||||
|
execution_payload_header_rlp.append((big_endian_int, payload_header.excess_data_gas))
|
||||||
if is_post_eip6110(spec):
|
if is_post_eip6110(spec):
|
||||||
# deposit_receipts_root
|
# deposit_receipts_root
|
||||||
assert deposit_receipts_trie_root is not None
|
assert deposit_receipts_trie_root is not None
|
||||||
|
@ -203,8 +203,8 @@ def build_empty_execution_payload(spec, state, randao_mix=None):
|
||||||
if is_post_capella(spec):
|
if is_post_capella(spec):
|
||||||
payload.withdrawals = spec.get_expected_withdrawals(state)
|
payload.withdrawals = spec.get_expected_withdrawals(state)
|
||||||
if is_post_deneb(spec):
|
if is_post_deneb(spec):
|
||||||
payload.excess_data_gas = 0
|
|
||||||
payload.data_gas_used = 0
|
payload.data_gas_used = 0
|
||||||
|
payload.excess_data_gas = 0
|
||||||
if is_post_eip6110(spec):
|
if is_post_eip6110(spec):
|
||||||
# just to be clear
|
# just to be clear
|
||||||
payload.deposit_receipts = []
|
payload.deposit_receipts = []
|
||||||
|
|
Loading…
Reference in New Issue