Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
630 commits
Select commit Hold shift + click to select a range
991d6d5
add note about not invalidating valid and available blocks
djrtwo Oct 20, 2023
0f61819
Update other specs accordingly and re-order "Proposer head and reorg …
hwwhww Oct 20, 2023
16498c6
Update fork-choice.md
djrtwo Oct 20, 2023
ce387d6
shift wehre warning is in comments
djrtwo Oct 23, 2023
612d148
Merge pull request #3526 from ethereum/validity-note
djrtwo Oct 23, 2023
24b4d46
Add `get_proposer_head` and `should_override_forkchoice_update` tests
hwwhww Oct 23, 2023
22215b8
Fix `parent_state_advanced` side effect and reorder the conditions
hwwhww Oct 24, 2023
3f8d8fe
Update config files
hwwhww Oct 24, 2023
35d444b
Update test format and output `should_override_forkchoice_update` result
hwwhww Oct 24, 2023
1a53dbb
Update p2p-interface.md
nisdas Oct 25, 2023
3f1bc20
Clarifications for proposer boost reorgs
michaelsproul Oct 26, 2023
9ce8e3d
Update test format. Add `get_proposer_head`
michaelsproul Oct 26, 2023
b9285b8
Add `validator_is_connected`
hwwhww Oct 26, 2023
d8440f8
Merge branch 'dev' into pr3034
hwwhww Oct 26, 2023
530efa8
Add blob sidecar inclusion proof
dapplion Oct 27, 2023
e8bccec
remove verify_blob_sidecar_signature
dapplion Oct 27, 2023
29bbdf4
compute KZG_COMMITMENT_INCLUSION_PROOF_DEPTH
dapplion Oct 27, 2023
a4a29a1
List typo
dapplion Oct 27, 2023
3dbe54e
doctoc
dapplion Oct 27, 2023
c2a64a1
pass lint
dapplion Oct 27, 2023
caa79a5
build tree
dapplion Oct 27, 2023
8712451
Update specs/deneb/p2p-interface.md
dapplion Oct 27, 2023
f2649f6
fix unit tests
dapplion Oct 27, 2023
83e5930
doctoc
dapplion Oct 27, 2023
0bf9e75
review PR
dapplion Oct 27, 2023
26516ec
Move `KZG_COMMITMENT_INCLUSION_PROOF_DEPTH` to preset and cast `int()`
hwwhww Oct 27, 2023
56f8c2b
Update validator.md
ralexstokes Oct 28, 2023
35e2270
remove `BLOB_TX_TYPE` from spec (and move to tests)
ralexstokes Oct 28, 2023
f214e25
Update p2p-interface.md
ralexstokes Oct 28, 2023
1657d16
Add `BLOB_KZG_COMMITMENTS_GINDEX` to "Constant". Use pyspec parser tr…
hwwhww Oct 28, 2023
de3b6a2
Fix toc
hwwhww Oct 28, 2023
b7e0b88
Fix test
hwwhww Oct 28, 2023
b018fbc
Remove `BLOB_KZG_COMMITMENTS_GINDEX` from the preset files
hwwhww Oct 28, 2023
ae6a9eb
Fix lint
hwwhww Oct 28, 2023
0e4737e
Add a general `compute_merkle_proof` helper to replace container-spec…
hwwhww Oct 30, 2023
c680212
drop is_valid_merkle_path
dapplion Oct 30, 2023
126e807
Update specs/deneb/p2p-interface.md
dapplion Oct 30, 2023
b803f1c
Update specs/deneb/p2p-interface.md
dapplion Oct 30, 2023
d323f05
drop sidecar alias
dapplion Oct 30, 2023
a124414
Enhance `blob_sidecar_inclusion_proof` tests
hwwhww Oct 30, 2023
51343f5
Fix typing and delete the `signed_sidecar`
hwwhww Oct 30, 2023
914fe92
Merge pull request #3529 from nisdas/patch-3
djrtwo Oct 30, 2023
72869c5
Merge pull request #3533 from ethereum/ralexstokes-patch-2
djrtwo Oct 30, 2023
9b1e0b7
Merge pull request #3534 from ralexstokes/clean-up-deneb-tx-type
djrtwo Oct 30, 2023
1bac25a
Add Merkle proof test
hwwhww Oct 30, 2023
19883ec
Add verify_blob_kzg_proof condition
dapplion Oct 31, 2023
7f63f00
Merge branch 'dev' into blob-p2p-proof
dapplion Oct 31, 2023
4e5599f
Merge pull request #3535 from ethereum/ralexstokes-patch-3
djrtwo Oct 31, 2023
89c986e
Rename `_INDEX` generalized index constants to `_GINDEX`
etan-status Nov 1, 2023
4a609ce
rename to kzg_commitment_inclusion_proof
dapplion Nov 1, 2023
71106f1
Remove `BLOB_KZG_COMMITMENTS_GINDEX`
hwwhww Nov 2, 2023
38d354f
Merge pull request #3034 from michaelsproul/proposer-boost-reorg
hwwhww Nov 2, 2023
3492c0a
minor refactoring
hwwhww Nov 2, 2023
7118c30
a few cleanups to sidecar gossip conditions
djrtwo Nov 2, 2023
e0b87a6
Bump v1.4.0-beta.4
hwwhww Nov 2, 2023
c6f7adf
Merge pull request #3531 from dapplion/blob-p2p-proof
djrtwo Nov 2, 2023
7094833
Merge pull request #3538 from ethereum/bump-version
hwwhww Nov 2, 2023
e21ed6d
clarify/fix things in blob requests
djrtwo Nov 2, 2023
09c14f0
Merge pull request #3540 from ethereum/blob-by
djrtwo Nov 2, 2023
321f47b
Remove `SignedBlobSidecar` refs from p2p spec
etan-status Nov 3, 2023
3ef362c
Remove unused `DOMAIN_BLOB_SIDECAR`
etan-status Nov 3, 2023
9338d37
Update toc
etan-status Nov 3, 2023
088dd19
Merge pull request #3542 from etan-status/df-nodomain
djrtwo Nov 3, 2023
36f0bb0
Merge pull request #3541 from etan-status/df-rmsigned
djrtwo Nov 3, 2023
e30e8af
Use fork choice to determine `finalized_checkpoint` in gossip validation
etan-status Nov 6, 2023
d9e53cb
Merge branch 'dev' into lc-gindexname
etan-status Nov 6, 2023
04f5ec5
remove obsolete comment
arnetheduck Nov 9, 2023
70ce4f2
Remove extra tick
hwwhww Nov 14, 2023
dd65aa0
Gossip additional `LightClientFinalityUpdate` on new supermajority
etan-status Nov 15, 2023
3d853b0
Add `assert time >= store.time` to `on_tick`
hwwhww Nov 16, 2023
321870c
Align gossip validation for aggregates with single attestations
etan-status Nov 20, 2023
1028093
Merge pull request #3548 from ethereum/fix-fc-script
hwwhww Nov 29, 2023
6fb9b0a
Revert the spec. Only handle it in tests
hwwhww Nov 29, 2023
a8d0268
Merge branch 'dev' into on-tick-precondition
hwwhww Nov 30, 2023
581a64b
cleanup leftover
hwwhww Nov 30, 2023
8fa1f8e
Merge pull request #3550 from ethereum/on-tick-precondition
djrtwo Nov 30, 2023
e664d40
Specify RPC byRoot blocks-sidecars elegibility
tbenr Nov 16, 2023
c46c4ec
fix typo
tbenr Nov 16, 2023
6bbdeb8
Update specs/phase0/p2p-interface.md
tbenr Nov 17, 2023
ccf9e34
Update specs/deneb/p2p-interface.md
tbenr Nov 17, 2023
e2ca4b3
add failed on_block condition
tbenr Nov 22, 2023
d749a49
rephrase
tbenr Nov 22, 2023
4c5e5c8
Update specs/phase0/p2p-interface.md
tbenr Nov 29, 2023
ccca449
apply suggestion
tbenr Nov 29, 2023
88b1818
Update specs/deneb/p2p-interface.md
tbenr Nov 30, 2023
b525e9e
Update specs/deneb/p2p-interface.md
tbenr Nov 30, 2023
662c6eb
remove the last consider
tbenr Nov 30, 2023
bdac932
from on_block to state_transition
tbenr Nov 30, 2023
6a460ae
Add randomized block cases
hwwhww Nov 30, 2023
c661e20
simplify and add a new rule
tbenr Nov 30, 2023
113c58f
Merge pull request #3555 from ethereum/random-blob_kzg_commitment_mer…
djrtwo Nov 30, 2023
dad09f6
Update specs/phase0/p2p-interface.md
tbenr Dec 1, 2023
eed7a66
Update specs/deneb/p2p-interface.md
tbenr Dec 1, 2023
cf39eed
Update specs/deneb/p2p-interface.md
tbenr Dec 1, 2023
ba09761
remove gossip failure rules
tbenr Dec 1, 2023
c43173e
Move `blob_sidecar_{subnet_id}` to `Blob subnets` section
hwwhww Dec 1, 2023
94ecce7
Add polynomial commitments for sampling
dankrad Dec 4, 2023
d343b6f
Apply suggestions from code review
djrtwo Dec 4, 2023
06fe616
Merge pull request #3551 from tbenr/specify_rpc_by_root_elegibility
hwwhww Dec 4, 2023
a558f19
bump version to v1.4.0-beta.5
hwwhww Dec 4, 2023
4420c64
Merge pull request #3558 from ethereum/bump-version
djrtwo Dec 4, 2023
b2f2102
Merge pull request #3556 from ethereum/blob-subnets
djrtwo Dec 4, 2023
42d91d5
fix tests for mainnet preset
dapplion Dec 7, 2023
bf09b9a
Merge pull request #3442 from dapplion/whisk-tests
hwwhww Dec 8, 2023
0d4007a
Apply suggestions from code review
hwwhww Dec 12, 2023
f0af688
Minor fixes
hwwhww Dec 12, 2023
b89434f
Extract the hardcoded spec names into a `specs.py` file
hwwhww Dec 14, 2023
d399cde
Fix linter config
hwwhww Dec 14, 2023
6727944
Fix import
hwwhww Dec 14, 2023
f0c9002
update new-feature doc
hwwhww Dec 14, 2023
1d7c3d4
Use md_doc_paths.py `is_post_fork` in pyspec itself; clean up `create…
hwwhww Dec 14, 2023
eb16a77
Refactor `do_fork` with terrifying eval() and `PREVIOUS_FORK_OF`
hwwhww Dec 14, 2023
c194592
update doc
hwwhww Dec 14, 2023
b123f9f
update doc
hwwhww Dec 15, 2023
9fbf751
Add assertion to ensure eval usage is fine
hwwhww Dec 21, 2023
62d1a8f
Add public method markers
dankrad Dec 4, 2023
246477a
SAMPLE -> CELL and cleanups
dankrad Dec 23, 2023
3169f92
More sample -> cell renaming
dankrad Dec 23, 2023
d36fc4f
Zero polynomial -> vanishing polynomial
dankrad Dec 23, 2023
9ec5dde
Remove polynomial_coeff_to_eval
dankrad Dec 23, 2023
316ea98
Use types for representing LC Merkle branches
etan-status Dec 27, 2023
5717a81
Capella addition
etan-status Dec 27, 2023
3e5427e
Align formatting
etan-status Dec 27, 2023
cf55918
Avoid Mypy error during lint
etan-status Dec 27, 2023
fca5e3b
Use proper types when dealing with LC Merkle proofs
etan-status Dec 27, 2023
877817c
Merge pull request #3562 from ethereum/refactor-context
hwwhww Dec 27, 2023
e525946
WIP: Update dockerisation (#3477)
parithosh Jan 4, 2024
c58c4a7
Merge branch 'dev' into polynomial-commitments-sampling
hwwhww Jan 5, 2024
75b1bf5
Add `KZG_SETUP_G1_MONOMIAL` to trusted setup files
hwwhww Jan 5, 2024
5854c7e
Fix some lint errors
hwwhww Jan 5, 2024
7f8858b
Add `PeerDAS` feature
hwwhww Jan 5, 2024
03583b1
Fix fft helper and add basic test
hwwhww Jan 5, 2024
119e00b
Add PeerDAS testing CI job
hwwhww Jan 5, 2024
8fa4ed5
Add `verify_cell_proof_batch` test
hwwhww Jan 5, 2024
9a07270
Rename `recover_cells` to `recover_polynomial` and fix function signa…
hwwhww Jan 8, 2024
db89e29
Clean up Deneb specs. Add some type casting for using fft function
hwwhww Jan 8, 2024
09c2519
Skip pylint check in CI
hwwhww Jan 8, 2024
be8b30a
Merge branch 'dev' into fork-choice-changes-for-confirmaton-rule
hwwhww Jan 8, 2024
05c2ce1
Merge branch 'dev' into lc-branchtypes
etan-status Jan 9, 2024
02d47f1
ensure `floorlog2` is available for use in `Custom types` section
etan-status Jan 9, 2024
c41c128
Use `Custom types` section instead of `Helper types` for consistency
etan-status Jan 9, 2024
a58c868
Randomize the test_recover_polynomial()
asn-d6 Jan 9, 2024
5a551a0
Work on hww's round-trip FFT test
asn-d6 Jan 9, 2024
9134cd1
Fix linter
asn-d6 Jan 9, 2024
9ebf456
Move `Vector` support from main section parser to types section parser
etan-status Jan 9, 2024
7e10d8a
Set `--bls-type` default value to `fastest` (#3567)
hwwhww Jan 9, 2024
69d043b
Extract LC migration test helpers to `light_client.py` module
etan-status Jan 9, 2024
0e15532
Add guard when `fill_prev_epoch` is `True` in epoch `0`
etan-status Jan 9, 2024
6c6ed3e
Extract sync committee period <-> slot helpers to common LC test module
etan-status Jan 9, 2024
240a127
Consider fork transitions when using `get_sync_aggregate` helper func
etan-status Jan 9, 2024
b952203
removing dockerfile ci test
parithosh Jan 10, 2024
5d17550
update docker readme
parithosh Jan 10, 2024
8256e3d
Update docker/README.md
hwwhww Jan 10, 2024
3749caa
Merge pull request #3573 from parithosh/remove-docker-test
hwwhww Jan 10, 2024
0dcb3be
Merge pull request #3569 from etan-status/lc-migrationhelpers
hwwhww Jan 10, 2024
e42974e
Merge pull request #3571 from etan-status/lc-periodhelpers
hwwhww Jan 10, 2024
d21d99f
Add constant for multi cell verification challenge
dankrad Jan 10, 2024
fddbd6b
Remove constants in favour of using compute_roots_of_unity
dankrad Jan 11, 2024
9f533cf
Merge pull request #3506 from status-im/canonical-json-byte
djrtwo Jan 11, 2024
b55ab46
Correct type info for verify_kzg_proof_multi_impl
dankrad Jan 11, 2024
c2522ac
Correct type definition for PolynomialCoeff
dankrad Jan 11, 2024
7ec0a25
Doctoc
dankrad Jan 11, 2024
9a851d9
Linter
dankrad Jan 11, 2024
4cc1e14
Forgot factor of 2 for roots_of_unity_extended
dankrad Jan 12, 2024
b7d9ea9
Rename `peerdas` to `eip7594`
hwwhww Jan 13, 2024
1509b22
Merge pull request #3557 from ethereum/polynomial-commitments-sampling
hwwhww Jan 15, 2024
868a600
Merge pull request #3537 from etan-status/lc-gindexname
hwwhww Jan 15, 2024
b594347
Merge pull request #3549 from etan-status/lc-finsend
hwwhww Jan 15, 2024
0b5bb1a
Merge branch 'dev' into pr3563
hwwhww Jan 15, 2024
82143e1
Also bump `EXECUTION_PAYLOAD_GINDEX`
etan-status Jan 15, 2024
07710e6
Merge branch 'dev' into lc-transitionacrossforks
etan-status Jan 15, 2024
90d48e5
Merge pull request #3563 from etan-status/lc-branchtypes
hwwhww Jan 15, 2024
85bd77b
Merge pull request #3572 from etan-status/lc-transitionacrossforks
hwwhww Jan 15, 2024
9b04d10
Merge pull request #3570 from etan-status/ts-attprevepoch
hwwhww Jan 15, 2024
b4d418d
Remove some trailing whitespace
asn-d6 Jan 15, 2024
a4331e7
Public methods must accept raw bytes
asn-d6 Jan 15, 2024
96e41bc
Optimization: reduce `len()` call
hwwhww Jan 16, 2024
87f2ad2
Public methods: int -> uint64
asn-d6 Jan 16, 2024
9a54a32
Merge pull request #3431 from saltiniroberto/fork-choice-changes-for-…
djrtwo Jan 16, 2024
8983893
Merge pull request #3552 from etan-status/gv-alignaggregate
djrtwo Jan 16, 2024
a35d783
Merge pull request #3543 from etan-status/gv-finstore
djrtwo Jan 16, 2024
6367d06
Update VERSION.txt
djrtwo Jan 16, 2024
39d2284
Updates presets to use correct trusted setup from final ceremony output
CarlBeek Jan 16, 2024
26cc618
Merge pull request #3583 from ethereum/use_correct_trusted_setup
hwwhww Jan 17, 2024
f6d214d
Merge pull request #3582 from ethereum/bump-version
hwwhww Jan 17, 2024
6679860
Minor fixes based on review
asn-d6 Jan 17, 2024
2000a4f
Improve test_verify_cell_proof_batch()
asn-d6 Jan 17, 2024
4fe36de
Add transition test case of non-empty pre-state `historical_roots`
hwwhww Jan 17, 2024
c9c43e8
Apply suggestions from code review
hwwhww Jan 18, 2024
3727a75
Merge pull request #3585 from ethereum/historical-roots-fork-transition
hwwhww Jan 18, 2024
f1dff5f
Merge pull request #3581 from ethereum/reduce-len-call
hwwhww Jan 20, 2024
0db4580
add py.typed file mypy
gurukamath Jan 23, 2024
270bb20
pyspec init commit rebased on f1dff5f67
michaelneuder May 23, 2023
3bdecca
update with new spec
michaelneuder May 30, 2023
3a28fe8
update with new spec
michaelneuder May 30, 2023
617b22f
continue pyspec tests
michaelneuder May 30, 2023
7be8afc
constants fixes
michaelneuder May 30, 2023
2ad49ea
passing lint!
michaelneuder May 30, 2023
d5484b3
forks
michaelneuder May 30, 2023
08895e1
activation and exit queue tests
michaelneuder May 31, 2023
591f24d
rename file
michaelneuder May 31, 2023
1baf68a
add changes from maxeb-min-viable-pyspec
fradamt Jan 23, 2024
7035268
typos
fradamt Jan 23, 2024
f5a7847
fixing things
fradamt Jan 24, 2024
4c56c73
exit tests working
fradamt Jan 25, 2024
a8c2818
basic deposit tests running
fradamt Jan 25, 2024
d94cffa
added some deposit + pending balance deposit tests
fradamt Jan 25, 2024
ae3ef6f
Merge pull request #3579 from asn-d6/peerdas_public_method_bytes
asn-d6 Jan 26, 2024
f41e212
process_execution_layer_withdraw_request does exit when amount == 0
fradamt Jan 26, 2024
8d37a4b
adapted execution_layer_exit tests from eip7002
fradamt Jan 26, 2024
568a29a
rename test files
fradamt Jan 26, 2024
db2f756
Make initial slashing penalty negligible, as in https://github.com/mi…
fradamt Jan 27, 2024
6efd9d5
add consolidations based on https://github.com/michaelneuder/consensu…
fradamt Jan 27, 2024
9eccb72
fix tests
fradamt Jan 27, 2024
f514dab
add consolidation_balance_to_consume and earliest_consolidation_epoch…
fradamt Jan 27, 2024
d4c81c1
fix small issues
fradamt Jan 28, 2024
5b7a869
add basic process_consolidation tests and helpers
fradamt Jan 28, 2024
7dc1c4b
only allow partial withdrawals from compounding creds, but full exits…
fradamt Jan 28, 2024
6782246
do not allow consolidations with source == target (equivalent to exit)
fradamt Jan 28, 2024
017577e
add invalid process_consolidation tests
fradamt Jan 28, 2024
49c4581
modified deposit tests from phase0
fradamt Jan 29, 2024
cd8fb0e
Update specs/_features/maxeb/beacon-chain.md
fradamt Jan 29, 2024
03870f3
Update specs/_features/maxeb/beacon-chain.md
fradamt Jan 29, 2024
51d118b
fix skipping pending consolidations when source is slashed
fradamt Jan 29, 2024
8b28824
add basic process_pending_consolidations tests
fradamt Jan 29, 2024
91fd154
rename maxeb to eip7251
fradamt Jan 29, 2024
7ff3b5f
add p2p-interface.md, update TOCs
fradamt Jan 30, 2024
45a318a
apply suggestions from code review, small fixes
fradamt Jan 30, 2024
8b3ac46
Add helper method: construct_vanishing_polynomial()
asn-d6 Jan 31, 2024
be5e5c5
Add helpers: recover_shifted_data() and recover_original_data()
asn-d6 Jan 23, 2024
4d01d50
Initial docs added to recover_shifted_data() and recover_original_data()
asn-d6 Jan 31, 2024
212c1fe
Small improvements on construct_vanishing_polynomial()
asn-d6 Jan 31, 2024
d60580b
Apply suggestions from code review
hwwhww Feb 1, 2024
e3b83d5
Add defensive asserts in recover_polynomial()
asn-d6 Feb 5, 2024
1e41a6b
New FIELD_ELEMENTS_PER_EXT_BLOB: number of cells in an extended blob
asn-d6 Feb 5, 2024
4b1106b
Update specs/_features/eip7594/polynomial-commitments-sampling.md
asn-d6 Feb 5, 2024
f1dd735
Update specs/_features/eip7594/polynomial-commitments-sampling.md
asn-d6 Feb 6, 2024
385b0f3
Update specs/_features/eip7594/polynomial-commitments-sampling.md
asn-d6 Feb 6, 2024
3b700d3
Merge pull request #3588 from gurukamath/mypy-types
hwwhww Feb 6, 2024
fe344b7
correct the location of py.typed
gurukamath Feb 6, 2024
fe8db03
Merge pull request #3594 from gurukamath/mypy-types
hwwhww Feb 7, 2024
4e2578d
Schedule Deneb for Mainnet
etan-status Feb 8, 2024
4878f1d
Set official mainnet `DENEB_FORK_EPOCH`
hwwhww Feb 8, 2024
3b45d92
Merge commit '4878f1da30393582d67e2736a2c058430d05784f' into df-schedule
etan-status Feb 8, 2024
07bba7a
Bump version to `1.4.0-beta.7`
hwwhww Feb 13, 2024
e043a12
Merge pull request #3597 from etan-status/df-schedule
hwwhww Feb 13, 2024
daf6a0a
Merge pull request #3599 from ethereum/bump-version
hwwhww Feb 13, 2024
90afb23
Update specs/_features/eip7594/polynomial-commitments-sampling.md
hwwhww Feb 14, 2024
2faa44b
Merge pull request #3591 from asn-d6/peerdas_refactor_recovery_polyno…
hwwhww Feb 14, 2024
0919a50
Merge branch 'ethereum:dev' into fradamt-maxeb-spec
fradamt Feb 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
60 changes: 54 additions & 6 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,26 +36,26 @@ commands:
steps:
- restore_cached_venv:
venv_name: v24-pyspec
reqs_checksum: cache-{{ checksum "setup.py" }}
reqs_checksum: cache-{{ checksum "setup.py" }}-{{ checksum "requirements_preinstallation.txt" }}
save_pyspec_cached_venv:
description: Save a venv into a cache with pyspec keys"
steps:
- save_cached_venv:
venv_name: v24-pyspec
reqs_checksum: cache-{{ checksum "setup.py" }}
reqs_checksum: cache-{{ checksum "setup.py" }}-{{ checksum "requirements_preinstallation.txt" }}
venv_path: ./venv
restore_deposit_contract_tester_cached_venv:
description: "Restore the venv from cache for the deposit contract tester"
steps:
- restore_cached_venv:
venv_name: v23-deposit-contract-tester
reqs_checksum: cache-{{ checksum "setup.py" }}-{{ checksum "solidity_deposit_contract/web3_tester/requirements.txt" }}
reqs_checksum: cache-{{ checksum "setup.py" }}-{{ checksum "requirements_preinstallation.txt" }}-{{ checksum "solidity_deposit_contract/web3_tester/requirements.txt" }}
save_deposit_contract_tester_cached_venv:
description: "Save the venv to cache for later use of the deposit contract tester"
steps:
- save_cached_venv:
venv_name: v23-deposit-contract-tester
reqs_checksum: cache-{{ checksum "setup.py" }}-{{ checksum "solidity_deposit_contract/web3_tester/requirements.txt" }}
reqs_checksum: cache-{{ checksum "setup.py" }}-{{ checksum "requirements_preinstallation.txt" }}-{{ checksum "solidity_deposit_contract/web3_tester/requirements.txt" }}
venv_path: ./solidity_deposit_contract/web3_tester/venv
jobs:
checkout_specs:
Expand Down Expand Up @@ -157,7 +157,7 @@ jobs:
path: tests/core/pyspec/test-reports
test-eip6110:
docker:
- image: circleci/python:3.8
- image: circleci/python:3.9
working_directory: ~/specs-repo
steps:
- restore_cache:
Expand All @@ -168,6 +168,45 @@ jobs:
command: make citest fork=eip6110
- store_test_results:
path: tests/core/pyspec/test-reports
test-eip7002:
docker:
- image: circleci/python:3.9
working_directory: ~/specs-repo
steps:
- restore_cache:
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
- restore_pyspec_cached_venv
- run:
name: Run py-tests
command: make citest fork=eip7002
- store_test_results:
path: tests/core/pyspec/test-reports
test-whisk:
docker:
- image: circleci/python:3.9
working_directory: ~/specs-repo
steps:
- restore_cache:
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
- restore_pyspec_cached_venv
- run:
name: Run py-tests
command: make citest fork=whisk
- store_test_results:
path: tests/core/pyspec/test-reports
test-eip7594:
docker:
- image: circleci/python:3.9
working_directory: ~/specs-repo
steps:
- restore_cache:
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
- restore_pyspec_cached_venv
- run:
name: Run py-tests
command: make citest fork=eip7594
- store_test_results:
path: tests/core/pyspec/test-reports
table_of_contents:
docker:
- image: circleci/node:10.16.3
Expand All @@ -176,7 +215,7 @@ jobs:
- checkout
- run:
name: Check table of contents
command: sudo npm install -g doctoc@2 && make check_toc
command: sudo npm install -g doctoc@2.2.0 && make check_toc
codespell:
docker:
- image: circleci/python:3.9
Expand Down Expand Up @@ -291,6 +330,15 @@ workflows:
- test-eip6110:
requires:
- install_pyspec_test
- test-eip7002:
requires:
- install_pyspec_test
- test-whisk:
requires:
- install_pyspec_test
- test-eip7594:
requires:
- install_pyspec_test
- table_of_contents
- codespell
- lint:
Expand Down
2 changes: 2 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
**/venv
**/.venv
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@ jobs:
with:
key: ${{ github.ref }}
path: .cache
- run: pip install -e .[docs]
- run: pip install mkdocs==1.4.2 mkdocs-material==9.1.5 mdx-truly-sane-lists==1.3 mkdocs-awesome-pages-plugin==2.8.0
- run: mkdocs gh-deploy --force
22 changes: 4 additions & 18 deletions .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,8 @@ defaults:

env:
TEST_PRESET_TYPE: "minimal"
DEFAULT_BRANCH: "dev"

# Run tests on workflow_Dispatch
on:
on:
push:
branches:
- dev
Expand All @@ -22,10 +20,6 @@ on:
description: Type of test to run, either mainnet or minimal
type: string
required: true
commitRef:
description: The branch, tag or SHA to checkout and build from
default: dev
required: true
schedule:
- cron: '0 0 * * *'

Expand All @@ -47,19 +41,15 @@ jobs:
steps:
- name: Checkout this repo
uses: actions/checkout@v3.2.0
with:
ref: ${{ github.event.inputs.commitRef || env.DEFAULT_BRANCH }}
- name: Check table of contents
run: sudo npm install -g doctoc@2 && make check_toc
run: sudo npm install -g doctoc@2.2.0 && make check_toc

codespell:
runs-on: self-hosted
needs: preclear
steps:
- name: Checkout this repo
uses: actions/checkout@v3.2.0
with:
ref: ${{ github.event.inputs.commitRef || env.DEFAULT_BRANCH }}
- name: Check codespell
run: pip install 'codespell<3.0.0,>=2.0.0' --user && make codespell

Expand All @@ -69,8 +59,6 @@ jobs:
steps:
- name: Checkout this repo
uses: actions/checkout@v3.2.0
with:
ref: ${{ github.event.inputs.commitRef || env.DEFAULT_BRANCH }}
- name: Install pyspec requirements
run: make install_test
- name: Run linter for pyspec
Expand All @@ -83,12 +71,10 @@ jobs:
needs: [preclear,lint,codespell,table_of_contents]
strategy:
matrix:
version: ["phase0", "altair", "bellatrix", "capella", "deneb", "eip6110"]
version: ["phase0", "altair", "bellatrix", "capella", "deneb", "eip6110", "eip7002", "whisk", "eip7594"]
steps:
- name: Checkout this repo
uses: actions/checkout@v3.2.0
with:
ref: ${{ github.event.inputs.commitRef || env.DEFAULT_BRANCH }}
- name: set TEST_PRESET_TYPE
if: github.event.inputs.test_preset_type != ''
run: |
Expand Down Expand Up @@ -125,4 +111,4 @@ jobs:
ls -la ./
rm -rf ./* || true
rm -rf ./.??* || true
ls -la ./
ls -la ./
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ venv
.venvs
.venv
/.pytest_cache
*.swp

build/
output/
Expand All @@ -21,6 +22,10 @@ tests/core/pyspec/eth2spec/bellatrix/
tests/core/pyspec/eth2spec/capella/
tests/core/pyspec/eth2spec/deneb/
tests/core/pyspec/eth2spec/eip6110/
tests/core/pyspec/eth2spec/maxeb/
tests/core/pyspec/eth2spec/eip7002/
tests/core/pyspec/eth2spec/whisk/
tests/core/pyspec/eth2spec/eip7594/

# coverage reports
.htmlcov
Expand All @@ -43,3 +48,6 @@ docs/ssz
docs/fork_choice
docs/README.md
site

# docker test results
testResults
31 changes: 19 additions & 12 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ SOLIDITY_FILE_NAME = deposit_contract.json
DEPOSIT_CONTRACT_TESTER_DIR = ${SOLIDITY_DEPOSIT_CONTRACT_DIR}/web3_tester
CONFIGS_DIR = ./configs
TEST_PRESET_TYPE ?= minimal
NUMBER_OF_CORES=16
# Collect a list of generator names
GENERATORS = $(sort $(dir $(wildcard $(GENERATOR_DIR)/*/.)))
# Map this list of generator paths to "gen_{generator name}" entries
Expand All @@ -34,11 +35,11 @@ MARKDOWN_FILES = $(wildcard $(SPEC_DIR)/*/*.md) \
$(wildcard $(SPEC_DIR)/_features/*/*/*.md) \
$(wildcard $(SSZ_DIR)/*.md)

ALL_EXECUTABLE_SPECS = phase0 altair bellatrix capella deneb eip6110
ALL_EXECUTABLE_SPEC_NAMES = phase0 altair bellatrix capella deneb eip6110 eip7251 eip7002 whisk
# The parameters for commands. Use `foreach` to avoid listing specs again.
COVERAGE_SCOPE := $(foreach S,$(ALL_EXECUTABLE_SPECS), --cov=eth2spec.$S.$(TEST_PRESET_TYPE))
PYLINT_SCOPE := $(foreach S,$(ALL_EXECUTABLE_SPECS), ./eth2spec/$S)
MYPY_SCOPE := $(foreach S,$(ALL_EXECUTABLE_SPECS), -p eth2spec.$S)
COVERAGE_SCOPE := $(foreach S,$(ALL_EXECUTABLE_SPEC_NAMES), --cov=eth2spec.$S.$(TEST_PRESET_TYPE))
PYLINT_SCOPE := $(foreach S,$(ALL_EXECUTABLE_SPEC_NAMES), ./eth2spec/$S)
MYPY_SCOPE := $(foreach S,$(ALL_EXECUTABLE_SPEC_NAMES), -p eth2spec.$S)

COV_HTML_OUT=.htmlcov
COV_HTML_OUT_DIR=$(PY_SPEC_DIR)/$(COV_HTML_OUT)
Expand Down Expand Up @@ -74,7 +75,7 @@ partial_clean:
rm -rf $(TEST_REPORT_DIR)
rm -rf eth2spec.egg-info dist build
rm -rf build;
@for spec_name in $(ALL_EXECUTABLE_SPECS) ; do \
@for spec_name in $(ALL_EXECUTABLE_SPEC_NAMES) ; do \
echo $$spec_name; \
rm -rf $(ETH2SPEC_MODULE_DIR)/$$spec_name; \
done
Expand Down Expand Up @@ -104,9 +105,15 @@ generate_tests: $(GENERATOR_TARGETS)
pyspec:
python3 -m venv venv; . venv/bin/activate; python3 setup.py pyspecdev

# check the setup tool requirements
preinstallation:
python3 -m venv venv; . venv/bin/activate; \
python3 -m pip install -r requirements_preinstallation.txt

# installs the packages to run pyspec tests
install_test:
python3 -m venv venv; . venv/bin/activate; python3 -m pip install -e .[lint]; python3 -m pip install -e .[test]
install_test: preinstallation
python3 -m venv venv; . venv/bin/activate; \
python3 -m pip install -e .[lint]; python3 -m pip install -e .[test]

# Testing against `minimal` or `mainnet` config by default
test: pyspec
Expand All @@ -122,10 +129,10 @@ citest: pyspec
mkdir -p $(TEST_REPORT_DIR);
ifdef fork
. venv/bin/activate; cd $(PY_SPEC_DIR); \
python3 -m pytest -n 16 --bls-type=fastest --preset=$(TEST_PRESET_TYPE) --fork=$(fork) --junitxml=test-reports/test_results.xml eth2spec
python3 -m pytest -n $(NUMBER_OF_CORES) --bls-type=fastest --preset=$(TEST_PRESET_TYPE) --fork=$(fork) --junitxml=test-reports/test_results.xml eth2spec
else
. venv/bin/activate; cd $(PY_SPEC_DIR); \
python3 -m pytest -n 16 --bls-type=fastest --preset=$(TEST_PRESET_TYPE) --junitxml=test-reports/test_results.xml eth2spec
python3 -m pytest -n $(NUMBER_OF_CORES) --bls-type=fastest --preset=$(TEST_PRESET_TYPE) --junitxml=test-reports/test_results.xml eth2spec
endif


Expand All @@ -146,8 +153,8 @@ codespell:
lint: pyspec
. venv/bin/activate; cd $(PY_SPEC_DIR); \
flake8 --config $(LINTER_CONFIG_FILE) ./eth2spec \
&& pylint --rcfile $(LINTER_CONFIG_FILE) $(PYLINT_SCOPE) \
&& mypy --config-file $(LINTER_CONFIG_FILE) $(MYPY_SCOPE)
&& python -m pylint --rcfile $(LINTER_CONFIG_FILE) $(PYLINT_SCOPE) \
&& python -m mypy --config-file $(LINTER_CONFIG_FILE) $(MYPY_SCOPE)

lint_generators: pyspec
. venv/bin/activate; cd $(TEST_GENERATORS_DIR); \
Expand Down Expand Up @@ -206,7 +213,7 @@ gen_kzg_setups:
if ! test -d venv; then python3 -m venv venv; fi; \
. venv/bin/activate; \
pip3 install -r requirements.txt; \
python3 ./gen_kzg_trusted_setups.py --secret=1337 --g1-length=4 --g2-length=65 --output-dir ${CURRENT_DIR}/presets/minimal/trusted_setups; \
python3 ./gen_kzg_trusted_setups.py --secret=1337 --g1-length=4096 --g2-length=65 --output-dir ${CURRENT_DIR}/presets/minimal/trusted_setups; \
python3 ./gen_kzg_trusted_setups.py --secret=1337 --g1-length=4096 --g2-length=65 --output-dir ${CURRENT_DIR}/presets/mainnet/trusted_setups

# For any generator, build it using the run_generator function.
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ Features are researched and developed in parallel, and then consolidated into se
| 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> |
| 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> |
| 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> |
| 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> |

### In-development Specifications
| Code Name or Topic | Specs | Notes |
| - | - | - |
| 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> |
| 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> |
| 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 |
| 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> |
Expand All @@ -42,6 +42,7 @@ Features are researched and developed in parallel, and then consolidated into se
Additional specifications and standards outside of requisite client functionality can be found in the following repos:

* [Beacon APIs](https://github.com/ethereum/beacon-apis)
* [Engine APIs](https://github.com/ethereum/execution-apis/tree/main/src/engine)
* [Beacon Metrics](https://github.com/ethereum/beacon-metrics/)

## Design goals
Expand Down
Loading