Skip to content

Commit 8728561

Browse files
committed
Merge branch 'dev' into peer-das
2 parents cebf78a + f5207db commit 8728561

File tree

77 files changed

+4046
-154
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+4046
-154
lines changed

.circleci/config.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,19 @@ jobs:
181181
command: make citest fork=eip7002
182182
- store_test_results:
183183
path: tests/core/pyspec/test-reports
184+
test-eip7549:
185+
docker:
186+
- image: circleci/python:3.9
187+
working_directory: ~/specs-repo
188+
steps:
189+
- restore_cache:
190+
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
191+
- restore_pyspec_cached_venv
192+
- run:
193+
name: Run py-tests
194+
command: make citest fork=eip7549
195+
- store_test_results:
196+
path: tests/core/pyspec/test-reports
184197
test-whisk:
185198
docker:
186199
- image: circleci/python:3.9
@@ -333,6 +346,9 @@ workflows:
333346
- test-eip7002:
334347
requires:
335348
- install_pyspec_test
349+
- test-eip7549:
350+
requires:
351+
- install_pyspec_test
336352
- test-whisk:
337353
requires:
338354
- install_pyspec_test

.github/workflows/run-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ jobs:
7171
needs: [preclear,lint,codespell,table_of_contents]
7272
strategy:
7373
matrix:
74-
version: ["phase0", "altair", "bellatrix", "capella", "deneb", "eip6110", "eip7002", "whisk", "eip7594"]
74+
version: ["phase0", "altair", "bellatrix", "capella", "deneb", "eip6110", "eip7002", "eip7549", "whisk", "eip7594"]
7575
steps:
7676
- name: Checkout this repo
7777
uses: actions/[email protected]

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@ tests/core/pyspec/eth2spec/capella/
2323
tests/core/pyspec/eth2spec/deneb/
2424
tests/core/pyspec/eth2spec/eip6110/
2525
tests/core/pyspec/eth2spec/eip7002/
26+
tests/core/pyspec/eth2spec/eip7549/
2627
tests/core/pyspec/eth2spec/whisk/
28+
tests/core/pyspec/eth2spec/eip7251/
2729
tests/core/pyspec/eth2spec/eip7594/
2830

2931
# coverage reports

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ MARKDOWN_FILES = $(wildcard $(SPEC_DIR)/*/*.md) \
3535
$(wildcard $(SPEC_DIR)/_features/*/*/*.md) \
3636
$(wildcard $(SSZ_DIR)/*.md)
3737

38-
ALL_EXECUTABLE_SPEC_NAMES = phase0 altair bellatrix capella deneb eip6110 eip7002 whisk
38+
ALL_EXECUTABLE_SPEC_NAMES = phase0 altair bellatrix capella deneb eip6110 eip7002 eip7549 whisk
3939
# The parameters for commands. Use `foreach` to avoid listing specs again.
4040
COVERAGE_SCOPE := $(foreach S,$(ALL_EXECUTABLE_SPEC_NAMES), --cov=eth2spec.$S.$(TEST_PRESET_TYPE))
4141
PYLINT_SCOPE := $(foreach S,$(ALL_EXECUTABLE_SPEC_NAMES), ./eth2spec/$S)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ Features are researched and developed in parallel, and then consolidated into se
2121
| 1 | **Altair** | `74240` | <ul><li>Core</li><ul><li>[Beacon chain changes](specs/altair/beacon-chain.md)</li><li>[Altair fork](specs/altair/fork.md)</li></ul><li>Additions</li><ul><li>[Light client sync protocol](specs/altair/light-client/sync-protocol.md) ([full node](specs/altair/light-client/full-node.md), [light client](specs/altair/light-client/light-client.md), [networking](specs/altair/light-client/p2p-interface.md))</li><li>[Honest validator guide changes](specs/altair/validator.md)</li><li>[P2P networking](specs/altair/p2p-interface.md)</li></ul></ul> |
2222
| 2 | **Bellatrix** <br/> (["The Merge"](https://ethereum.org/en/upgrades/merge/)) | `144896` | <ul><li>Core</li><ul><li>[Beacon Chain changes](specs/bellatrix/beacon-chain.md)</li><li>[Bellatrix fork](specs/bellatrix/fork.md)</li><li>[Fork choice changes](specs/bellatrix/fork-choice.md)</li></ul><li>Additions</li><ul><li>[Honest validator guide changes](specs/bellatrix/validator.md)</li><li>[P2P networking](specs/bellatrix/p2p-interface.md)</li></ul></ul> |
2323
| 3 | **Capella** | `194048` | <ul><li>Core</li><ul><li>[Beacon chain changes](specs/capella/beacon-chain.md)</li><li>[Capella fork](specs/capella/fork.md)</li></ul><li>Additions</li><ul><li>[Light client sync protocol changes](specs/capella/light-client/sync-protocol.md) ([fork](specs/capella/light-client/fork.md), [full node](specs/capella/light-client/full-node.md), [networking](specs/capella/light-client/p2p-interface.md))</li></ul><ul><li>[Validator additions](specs/capella/validator.md)</li><li>[P2P networking](specs/capella/p2p-interface.md)</li></ul></ul> |
24+
| 4 | **Deneb** | `269568` | <ul><li>Core</li><ul><li>[Beacon Chain changes](specs/deneb/beacon-chain.md)</li><li>[Deneb fork](specs/deneb/fork.md)</li><li>[Polynomial commitments](specs/deneb/polynomial-commitments.md)</li><li>[Fork choice changes](specs/deneb/fork-choice.md)</li></ul><li>Additions</li><ul><li>[Light client sync protocol changes](specs/deneb/light-client/sync-protocol.md) ([fork](specs/deneb/light-client/fork.md), [full node](specs/deneb/light-client/full-node.md), [networking](specs/deneb/light-client/p2p-interface.md))</li></ul><ul><li>[Honest validator guide changes](specs/deneb/validator.md)</li><li>[P2P networking](specs/deneb/p2p-interface.md)</li></ul></ul> |
2425

2526
### In-development Specifications
2627
| Code Name or Topic | Specs | Notes |
2728
| - | - | - |
28-
| Deneb (tentative) | <ul><li>Core</li><ul><li>[Beacon Chain changes](specs/deneb/beacon-chain.md)</li><li>[Deneb fork](specs/deneb/fork.md)</li><li>[Polynomial commitments](specs/deneb/polynomial-commitments.md)</li><li>[Fork choice changes](specs/deneb/fork-choice.md)</li></ul><li>Additions</li><ul><li>[Light client sync protocol changes](specs/deneb/light-client/sync-protocol.md) ([fork](specs/deneb/light-client/fork.md), [full node](specs/deneb/light-client/full-node.md), [networking](specs/deneb/light-client/p2p-interface.md))</li></ul><ul><li>[Honest validator guide changes](specs/deneb/validator.md)</li><li>[P2P networking](specs/deneb/p2p-interface.md)</li></ul></ul> |
2929
| Sharding (outdated) | <ul><li>Core</li><ul><li>[Beacon Chain changes](specs/_features/sharding/beacon-chain.md)</li></ul><li>Additions</li><ul><li>[P2P networking](specs/_features/sharding/p2p-interface.md)</li></ul></ul> |
3030
| Custody Game (outdated) | <ul><li>Core</li><ul><li>[Beacon Chain changes](specs/_features/custody_game/beacon-chain.md)</li></ul><li>Additions</li><ul><li>[Honest validator guide changes](specs/_features/custody_game/validator.md)</li></ul></ul> | Dependent on sharding |
3131
| Data Availability Sampling (outdated) | <ul><li>Core</li><ul><li>[Core types and functions](specs/_features/das/das-core.md)</li><li>[Fork choice changes](specs/_features/das/fork-choice.md)</li></ul><li>Additions</li><ul><li>[P2P Networking](specs/_features/das/p2p-interface.md)</li><li>[Sampling process](specs/_features/das/sampling.md)</li></ul></ul> | <ul><li> Dependent on sharding</li><li>[Technical explainer](https://hackmd.io/@HWeNw8hNRimMm2m2GH56Cw/B1YJPGkpD)</li></ul> |

configs/mainnet.yaml

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,24 @@ CAPELLA_FORK_VERSION: 0x03000000
4949
CAPELLA_FORK_EPOCH: 194048 # April 12, 2023, 10:27:35pm UTC
5050
# Deneb
5151
DENEB_FORK_VERSION: 0x04000000
52-
DENEB_FORK_EPOCH: 18446744073709551615
52+
DENEB_FORK_EPOCH: 269568 # March 13, 2024, 01:55:35pm UTC
53+
# Electra
54+
ELECTRA_FORK_VERSION: 0x05000000
55+
ELECTRA_FORK_EPOCH: 18446744073709551615
5356
# EIP6110
54-
EIP6110_FORK_VERSION: 0x05000000 # temporary stub
57+
EIP6110_FORK_VERSION: 0x06000000 # temporary stub
5558
EIP6110_FORK_EPOCH: 18446744073709551615
5659
# EIP7002
57-
EIP7002_FORK_VERSION: 0x05000000 # temporary stub
60+
EIP7002_FORK_VERSION: 0x07000000 # temporary stub
5861
EIP7002_FORK_EPOCH: 18446744073709551615
62+
# EIP7251
63+
EIP7251_FORK_VERSION: 0x06000000 # temporary stub
64+
EIP7251_FORK_EPOCH: 18446744073709551615
65+
# EIP7549
66+
EIP7549_FORK_VERSION: 0x06000000 # temporary stub
67+
EIP7549_FORK_EPOCH: 18446744073709551615
5968
# WHISK
60-
WHISK_FORK_VERSION: 0x06000000 # temporary stub
69+
WHISK_FORK_VERSION: 0x08000000 # temporary stub
6170
WHISK_FORK_EPOCH: 18446744073709551615
6271
# EIP7594
6372
EIP7594_FORK_VERSION: 0x06000001
@@ -162,3 +171,7 @@ WHISK_PROPOSER_SELECTION_GAP: 2
162171
NUMBER_OF_COLUMNS: 128
163172
DATA_COLUMN_SIDECAR_SUBNET_COUNT: 32
164173
MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384
174+
175+
# [New in EIP7251]
176+
MIN_PER_EPOCH_CHURN_LIMIT_EIP7251: 128000000000 # 2**7 * 10**9 (= 128,000,000,000)
177+
MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT: 256000000000 # 2**8 * 10**9 (= 256,000,000,000)

configs/minimal.yaml

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,17 +46,26 @@ BELLATRIX_FORK_EPOCH: 18446744073709551615
4646
# Capella
4747
CAPELLA_FORK_VERSION: 0x03000001
4848
CAPELLA_FORK_EPOCH: 18446744073709551615
49-
# DENEB
49+
# Deneb
5050
DENEB_FORK_VERSION: 0x04000001
5151
DENEB_FORK_EPOCH: 18446744073709551615
52+
# Electra
53+
ELECTRA_FORK_VERSION: 0x05000001
54+
ELECTRA_FORK_EPOCH: 18446744073709551615
5255
# EIP6110
53-
EIP6110_FORK_VERSION: 0x05000001
56+
EIP6110_FORK_VERSION: 0x06000001
5457
EIP6110_FORK_EPOCH: 18446744073709551615
5558
# EIP7002
56-
EIP7002_FORK_VERSION: 0x05000001
59+
EIP7002_FORK_VERSION: 0x07000001
5760
EIP7002_FORK_EPOCH: 18446744073709551615
61+
# EIP7251
62+
EIP7251_FORK_VERSION: 0x06000001 # temporary stub
63+
EIP7251_FORK_EPOCH: 18446744073709551615
64+
# EIP7549
65+
EIP7549_FORK_VERSION: 0x06000001 # temporary stub
66+
EIP7549_FORK_EPOCH: 18446744073709551615
5867
# WHISK
59-
WHISK_FORK_VERSION: 0x06000001
68+
WHISK_FORK_VERSION: 0x08000001
6069
WHISK_FORK_EPOCH: 18446744073709551615
6170
# EIP7594
6271
EIP7594_FORK_VERSION: 0x06000001
@@ -160,3 +169,7 @@ WHISK_PROPOSER_SELECTION_GAP: 1
160169
NUMBER_OF_COLUMNS: 128
161170
DATA_COLUMN_SIDECAR_SUBNET_COUNT: 32
162171
MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384
172+
173+
# [New in EIP7251]
174+
MIN_PER_EPOCH_CHURN_LIMIT_EIP7251: 64000000000 # 2**6 * 10**9 (= 64,000,000,000)
175+
MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT: 128000000000 # 2**7 * 10**9 (= 128,000,000,000)

presets/mainnet/eip7251.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Mainnet preset - EIP7251
2+
3+
# Gwei values
4+
# ---------------------------------------------------------------
5+
# 2**5 * 10**9 (= 32,000,000,000) Gwei
6+
MIN_ACTIVATION_BALANCE: 32000000000
7+
# 2**11 * 10**9 (= 2,048,000,000,000) Gwei
8+
MAX_EFFECTIVE_BALANCE_EIP7251: 2048000000000
9+
10+
# State list lengths
11+
# ---------------------------------------------------------------
12+
PENDING_BALANCE_DEPOSITS_LIMIT: 134217728
13+
PENDING_PARTIAL_WITHDRAWALS_LIMIT: 134217728
14+
PENDING_CONSOLIDATIONS_LIMIT: 262144
15+
16+
# Reward and penalty quotients
17+
# ---------------------------------------------------------------
18+
MIN_SLASHING_PENALTY_QUOTIENT_EIP7251: 4096
19+
WHISTLEBLOWER_REWARD_QUOTIENT_EIP7251: 4096
20+
21+
# Max operations per block
22+
# ---------------------------------------------------------------
23+
MAX_CONSOLIDATIONS: 1
24+
25+
# Execution
26+
# ---------------------------------------------------------------
27+
# 2**3 (= 8) partial withdrawals
28+
MAX_PARTIAL_WITHDRAWALS_PER_PAYLOAD: 8

presets/mainnet/eip7549.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Mainnet preset - EIP7594
2+
3+
# # Max operations per block
4+
# ---------------------------------------------------------------
5+
# `uint64(2**0)` (= 1)
6+
MAX_ATTESTER_SLASHINGS_EIP7549: 1
7+
# `uint64(2 * 3)` (= 8)
8+
MAX_ATTESTATIONS_EIP7549: 8

presets/mainnet/eip7594.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,7 @@
44
# ---------------------------------------------------------------
55
# `uint64(2**6)` (= 64)
66
FIELD_ELEMENTS_PER_CELL: 64
7+
# `uint64(2 * 4096)` (= 8192)
8+
FIELD_ELEMENTS_PER_EXT_BLOB: 8192
79
# uint64(floorlog2(get_generalized_index(BeaconBlockBody, 'blob_kzg_commitments'))
810
KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH: 4

0 commit comments

Comments
 (0)