Skip to content

Commit 7bf43d1

Browse files
authored
Merge pull request #3675 from ethereum/dev
release v1.5.0-alpha.0
2 parents 4afe398 + 477fa0e commit 7bf43d1

File tree

126 files changed

+6417
-1420
lines changed

Some content is hidden

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

126 files changed

+6417
-1420
lines changed

.circleci/config.yml

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ jobs:
155155
command: make citest fork=deneb
156156
- store_test_results:
157157
path: tests/core/pyspec/test-reports
158-
test-eip6110:
158+
test-electra:
159159
docker:
160160
- image: circleci/python:3.9
161161
working_directory: ~/specs-repo
@@ -165,20 +165,7 @@ jobs:
165165
- restore_pyspec_cached_venv
166166
- run:
167167
name: Run py-tests
168-
command: make citest fork=eip6110
169-
- store_test_results:
170-
path: tests/core/pyspec/test-reports
171-
test-eip7002:
172-
docker:
173-
- image: circleci/python:3.9
174-
working_directory: ~/specs-repo
175-
steps:
176-
- restore_cache:
177-
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
178-
- restore_pyspec_cached_venv
179-
- run:
180-
name: Run py-tests
181-
command: make citest fork=eip7002
168+
command: make citest fork=electra
182169
- store_test_results:
183170
path: tests/core/pyspec/test-reports
184171
test-whisk:
@@ -327,10 +314,7 @@ workflows:
327314
- test-deneb:
328315
requires:
329316
- install_pyspec_test
330-
- test-eip6110:
331-
requires:
332-
- install_pyspec_test
333-
- test-eip7002:
317+
- test-electra:
334318
requires:
335319
- install_pyspec_test
336320
- test-whisk:
@@ -344,7 +328,7 @@ workflows:
344328
- lint:
345329
requires:
346330
- install_pyspec_test
347-
# NOTE: Since phase 0 has been launched, we disabled the deposit contract tests.
331+
# NOTE: Since phase 0 has been launched, we disabled the deposit contract tests.
348332
# - install_deposit_contract_web3_tester:
349333
# requires:
350334
# - checkout_specs

.github/workflows/run-tests.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ env:
1010
on:
1111
push:
1212
branches:
13-
- dev
13+
- dev
1414
- master
15-
pull_request:
15+
pull_request:
1616
workflow_dispatch:
1717
inputs:
1818
test_preset_type:
@@ -71,22 +71,22 @@ 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", "electra", "whisk", "eip7594"]
7575
steps:
7676
- name: Checkout this repo
7777
uses: actions/[email protected]
7878
- name: set TEST_PRESET_TYPE
79-
if: github.event.inputs.test_preset_type != ''
79+
if: github.event.inputs.test_preset_type != ''
8080
run: |
8181
echo "spec_test_preset_type=${{ github.event.inputs.test_preset_type || env.TEST_PRESET_TYPE }}" >> $GITHUB_ENV
8282
- name: set TEST_PRESET_TYPE
8383
if: ${{ (github.event_name == 'push' && github.ref_name != 'master') || github.event_name == 'pull_request' }}
8484
run: |
85-
echo "spec_test_preset_type=${{ env.TEST_PRESET_TYPE}}" >> $GITHUB_ENV
85+
echo "spec_test_preset_type=${{ env.TEST_PRESET_TYPE}}" >> $GITHUB_ENV
8686
- name: set TEST_PRESET_TYPE
8787
if: ${{ github.event_name == 'push' && github.ref_name == 'master' }}
8888
run: |
89-
echo "spec_test_preset_type=mainnet" >> $GITHUB_ENV
89+
echo "spec_test_preset_type=mainnet" >> $GITHUB_ENV
9090
- name: set TEST_PRESET_TYPE
9191
if: github.event.schedule=='0 0 * * *'
9292
run: |

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ tests/core/pyspec/eth2spec/altair/
2121
tests/core/pyspec/eth2spec/bellatrix/
2222
tests/core/pyspec/eth2spec/capella/
2323
tests/core/pyspec/eth2spec/deneb/
24-
tests/core/pyspec/eth2spec/eip6110/
25-
tests/core/pyspec/eth2spec/eip7002/
24+
tests/core/pyspec/eth2spec/electra/
2625
tests/core/pyspec/eth2spec/whisk/
2726
tests/core/pyspec/eth2spec/eip7594/
2827

Makefile

Lines changed: 2 additions & 2 deletions
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 electra 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)
@@ -244,5 +244,5 @@ build_docs: copy_docs
244244
mkdocs build
245245

246246
serve_docs:
247-
. venv/bin/activate;
247+
. venv/bin/activate;
248248
mkdocs serve

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ Features are researched and developed in parallel, and then consolidated into se
2626
### In-development Specifications
2727
| Code Name or Topic | Specs | Notes |
2828
| - | - | - |
29+
| Electra | <ul><li>Core</li><ul><li>[Beacon Chain changes](specs/electra/beacon-chain.md)</li><li>[EIP-6110 fork](specs/electra/fork.md)</li></ul><li>Additions</li><ul><li>[Honest validator guide changes](specs/electra/validator.md)</li></ul></ul> |
2930
| 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> |
3031
| 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 |
3132
| 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> |
32-
| EIP-6110 | <ul><li>Core</li><ul><li>[Beacon Chain changes](specs/_features/eip6110//beacon-chain.md)</li><li>[EIP-6110 fork](specs/_features/eip6110/fork.md)</li></ul><li>Additions</li><ul><li>[Honest validator guide changes](specs/_features/eip6110/validator.md)</li></ul></ul> |
3333

3434
### Accompanying documents can be found in [specs](specs) and include:
3535

configs/mainnet.yaml

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,15 @@ CAPELLA_FORK_EPOCH: 194048 # April 12, 2023, 10:27:35pm UTC
5050
# Deneb
5151
DENEB_FORK_VERSION: 0x04000000
5252
DENEB_FORK_EPOCH: 269568 # March 13, 2024, 01:55:35pm UTC
53-
# EIP6110
54-
EIP6110_FORK_VERSION: 0x05000000 # temporary stub
55-
EIP6110_FORK_EPOCH: 18446744073709551615
56-
# EIP7002
57-
EIP7002_FORK_VERSION: 0x05000000 # temporary stub
58-
EIP7002_FORK_EPOCH: 18446744073709551615
53+
# Electra
54+
ELECTRA_FORK_VERSION: 0x05000000
55+
ELECTRA_FORK_EPOCH: 18446744073709551615
5956
# WHISK
60-
WHISK_FORK_VERSION: 0x06000000 # temporary stub
57+
WHISK_FORK_VERSION: 0x08000000 # temporary stub
6158
WHISK_FORK_EPOCH: 18446744073709551615
59+
# EIP7594
60+
EIP7594_FORK_VERSION: 0x06000001
61+
EIP7594_FORK_EPOCH: 18446744073709551615
6262

6363

6464
# Time parameters
@@ -156,5 +156,10 @@ WHISK_EPOCHS_PER_SHUFFLING_PHASE: 256
156156
WHISK_PROPOSER_SELECTION_GAP: 2
157157

158158
# EIP7594
159-
EIP7594_FORK_VERSION: 0x06000001
160-
EIP7594_FORK_EPOCH: 18446744073709551615
159+
NUMBER_OF_COLUMNS: 128
160+
DATA_COLUMN_SIDECAR_SUBNET_COUNT: 32
161+
MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384
162+
163+
# [New in Electra:EIP7251]
164+
MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA: 128000000000 # 2**7 * 10**9 (= 128,000,000,000)
165+
MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT: 256000000000 # 2**8 * 10**9 (= 256,000,000,000)

configs/minimal.yaml

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -46,19 +46,18 @@ 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-
# EIP6110
53-
EIP6110_FORK_VERSION: 0x05000001
54-
EIP6110_FORK_EPOCH: 18446744073709551615
55-
# EIP7002
56-
EIP7002_FORK_VERSION: 0x05000001
57-
EIP7002_FORK_EPOCH: 18446744073709551615
52+
# Electra
53+
ELECTRA_FORK_VERSION: 0x05000001
54+
ELECTRA_FORK_EPOCH: 18446744073709551615
5855
# WHISK
59-
WHISK_FORK_VERSION: 0x06000001
56+
WHISK_FORK_VERSION: 0x08000001
6057
WHISK_FORK_EPOCH: 18446744073709551615
61-
58+
# EIP7594
59+
EIP7594_FORK_VERSION: 0x06000001
60+
EIP7594_FORK_EPOCH: 18446744073709551615
6261

6362
# Time parameters
6463
# ---------------------------------------------------------------
@@ -155,5 +154,10 @@ WHISK_EPOCHS_PER_SHUFFLING_PHASE: 4
155154
WHISK_PROPOSER_SELECTION_GAP: 1
156155

157156
# EIP7594
158-
EIP7594_FORK_VERSION: 0x06000001
159-
EIP7594_FORK_EPOCH: 18446744073709551615
157+
NUMBER_OF_COLUMNS: 128
158+
DATA_COLUMN_SIDECAR_SUBNET_COUNT: 32
159+
MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384
160+
161+
# [New in Electra:EIP7251]
162+
MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA: 64000000000 # 2**6 * 10**9 (= 64,000,000,000)
163+
MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT: 128000000000 # 2**7 * 10**9 (= 128,000,000,000)

presets/mainnet/eip6110.yaml

Lines changed: 0 additions & 6 deletions
This file was deleted.

presets/mainnet/eip7594.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +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
9+
# uint64(floorlog2(get_generalized_index(BeaconBlockBody, 'blob_kzg_commitments'))
10+
KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH: 4

presets/mainnet/electra.yaml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Mainnet preset - Electra
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_ELECTRA: 2048000000000
9+
10+
# State list lengths
11+
# ---------------------------------------------------------------
12+
# `uint64(2**27)` (= 134,217,728)
13+
PENDING_BALANCE_DEPOSITS_LIMIT: 134217728
14+
# `uint64(2**27)` (= 134,217,728)
15+
PENDING_PARTIAL_WITHDRAWALS_LIMIT: 134217728
16+
# `uint64(2**18)` (= 262,144)
17+
PENDING_CONSOLIDATIONS_LIMIT: 262144
18+
19+
# Reward and penalty quotients
20+
# ---------------------------------------------------------------
21+
# `uint64(2**12)` (= 4,096)
22+
MIN_SLASHING_PENALTY_QUOTIENT_ELECTRA: 4096
23+
# `uint64(2**12)` (= 4,096)
24+
WHISTLEBLOWER_REWARD_QUOTIENT_ELECTRA: 4096
25+
26+
# # Max operations per block
27+
# ---------------------------------------------------------------
28+
# `uint64(2**0)` (= 1)
29+
MAX_ATTESTER_SLASHINGS_ELECTRA: 1
30+
# `uint64(2**3)` (= 8)
31+
MAX_ATTESTATIONS_ELECTRA: 8
32+
# `uint64(2**0)` (= 1)
33+
MAX_CONSOLIDATIONS: 1
34+
35+
# Execution
36+
# ---------------------------------------------------------------
37+
# 2**13 (= 8192) receipts
38+
MAX_DEPOSIT_RECEIPTS_PER_PAYLOAD: 8192
39+
# 2**4 (= 16) withdrawal requests
40+
MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD: 16
41+
42+
# Withdrawals processing
43+
# ---------------------------------------------------------------
44+
# 2**3 ( = 8) pending withdrawals
45+
MAX_PENDING_PARTIALS_PER_WITHDRAWALS_SWEEP: 8

0 commit comments

Comments
 (0)