From 7d8cd136c5ed85c702fa0980a7d62229f6479468 Mon Sep 17 00:00:00 2001 From: Lion - dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri, 8 Nov 2024 10:59:03 +0700 Subject: [PATCH] Bump spec to v1.5.0-alpha.8 (#54) * Bump spec to v1.5.0-alpha.8 * Set MAX_BLOBS_PER_BLOCK to 1/2 --- beacon_chain.md | 3 ++- consensus/config/gnosis.yaml | 11 +++++++---- consensus/preset/gnosis/deneb.yaml | 2 -- consensus/preset/gnosis/electra.yaml | 7 ++++++- scripts/assert_declare_ethereum_vars.py | 5 +++-- 5 files changed, 18 insertions(+), 10 deletions(-) diff --git a/beacon_chain.md b/beacon_chain.md index 58ba844..2d0ff50 100644 --- a/beacon_chain.md +++ b/beacon_chain.md @@ -7,7 +7,7 @@ Refer to [./consensus/config/gnosis.yaml](./consensus/config/gnosis.yaml) for th Note that modified preset values will result in different SSZ data structures, such that a client compiled with the Ethereum mainnet preset can't deserialize a state from the Gnosis Beacon Chain. ``` -ETHEREUM_SPEC_COMMIT: v1.5.0-alpha.3 +ETHEREUM_SPEC_COMMIT: v1.5.0-alpha.8 ``` ### Preset diff @@ -30,4 +30,5 @@ ETHEREUM_SPEC_COMMIT: v1.5.0-alpha.3 | `ETH1_FOLLOW_DISTANCE` | `2048` | `1024` | | `MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT` | `8` | `2` | See https://github.com/gnosischain/specs/pull/22 for rationale | | `MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS` | `4096` | `16384` | Increased to match the expected 2 weeks rollups consider today for Ethereum mainnet. The total disk requirement roughly equivalent to Ethereum mainnet since epochs are 4.8x faster | +| `MAX_BLOBS_PER_BLOCK` | `6` | `2` | See [/network-upgrades/dencun.md#eip-4844](/network-upgrades/dencun.md#eip-4844) for rationale on choosing 1/2 for the Dencun hard fork | diff --git a/consensus/config/gnosis.yaml b/consensus/config/gnosis.yaml index d71bfc2..dd74681 100644 --- a/consensus/config/gnosis.yaml +++ b/consensus/config/gnosis.yaml @@ -137,16 +137,19 @@ MAX_REQUEST_BLOB_SIDECARS: 768 MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS: 16384 # `6` BLOB_SIDECAR_SUBNET_COUNT: 6 +## `uint64(2)` +MAX_BLOBS_PER_BLOCK: 2 # EIP7594 NUMBER_OF_COLUMNS: 128 -MAX_CELLS_IN_EXTENDED_MATRIX: 768 -DATA_COLUMN_SIDECAR_SUBNET_COUNT: 32 +DATA_COLUMN_SIDECAR_SUBNET_COUNT: 128 MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384 SAMPLES_PER_SLOT: 8 -CUSTODY_REQUIREMENT: 1 -TARGET_NUMBER_OF_PEERS: 70 +CUSTODY_REQUIREMENT: 4 # [New in Electra:EIP7251] MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA: 128000000000 # 2**7 * 10**9 (= 128,000,000,000) MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT: 256000000000 # 2**8 * 10**9 (= 256,000,000,000) + +# EIP7732 +MAX_REQUEST_PAYLOADS: 128 diff --git a/consensus/preset/gnosis/deneb.yaml b/consensus/preset/gnosis/deneb.yaml index 0f56b8b..f426d3a 100644 --- a/consensus/preset/gnosis/deneb.yaml +++ b/consensus/preset/gnosis/deneb.yaml @@ -6,7 +6,5 @@ FIELD_ELEMENTS_PER_BLOB: 4096 # `uint64(2**12)` (= 4096) MAX_BLOB_COMMITMENTS_PER_BLOCK: 4096 -# `uint64(6)` -MAX_BLOBS_PER_BLOCK: 6 # `floorlog2(get_generalized_index(BeaconBlockBody, 'blob_kzg_commitments')) + 1 + ceillog2(MAX_BLOB_COMMITMENTS_PER_BLOCK)` = 4 + 1 + 12 = 17 KZG_COMMITMENT_INCLUSION_PROOF_DEPTH: 17 diff --git a/consensus/preset/gnosis/electra.yaml b/consensus/preset/gnosis/electra.yaml index bb97cfa..a1a3501 100644 --- a/consensus/preset/gnosis/electra.yaml +++ b/consensus/preset/gnosis/electra.yaml @@ -10,7 +10,7 @@ MAX_EFFECTIVE_BALANCE_ELECTRA: 2048000000000 # State list lengths # --------------------------------------------------------------- # `uint64(2**27)` (= 134,217,728) -PENDING_BALANCE_DEPOSITS_LIMIT: 134217728 +PENDING_DEPOSITS_LIMIT: 134217728 # `uint64(2**27)` (= 134,217,728) PENDING_PARTIAL_WITHDRAWALS_LIMIT: 134217728 # `uint64(2**18)` (= 262,144) @@ -43,3 +43,8 @@ MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD: 16 # --------------------------------------------------------------- # 2**3 ( = 8) pending withdrawals MAX_PENDING_PARTIALS_PER_WITHDRAWALS_SWEEP: 8 + +# Pending deposits processing +# --------------------------------------------------------------- +# 2**4 ( = 4) pending deposits +MAX_PENDING_DEPOSITS_PER_EPOCH: 16 diff --git a/scripts/assert_declare_ethereum_vars.py b/scripts/assert_declare_ethereum_vars.py index 410dca3..7691932 100755 --- a/scripts/assert_declare_ethereum_vars.py +++ b/scripts/assert_declare_ethereum_vars.py @@ -58,6 +58,7 @@ 'EIP6110_FORK_', 'EIP7002_FORK_', 'EIP7594_FORK_', + 'EIP7732_FORK_', 'WHISK_FORK_' ] @@ -163,9 +164,9 @@ def extract_preset_diff_section(md_content): print(local_file_path, commit, remote_url_path) if new_keys: - raise Exception(f"New keys found in GitHub YAML not used in local YAML: {new_keys}") + raise Exception(f"New keys found in GitHub YAML {remote_url_path} not used in local YAML: {new_keys}") elif missing_keys: - raise Exception(f"Keys in local YAML not found in GitHub YAML: {missing_keys}") + raise Exception(f"Keys in local YAML {local_file_path} not found in GitHub YAML: {missing_keys}") else: print("No differences in keys found.")