Commit Graph

1504 Commits

Author SHA1 Message Date
Aditya Asgaonkar e9551715d5 large fork choice upgrade 2023-03-13 11:52:43 -07:00
Dankrad Feist 723e8a11fe
Remove unused imports/functions in test_validator.py 2023-03-12 23:07:19 +00:00
Dankrad Feist 96ad61bcec
Add tests for blob sidecar signature 2023-03-12 23:05:01 +00:00
Dankrad Feist 29b5309f7d
Add proofs to validate_blobs_and_kzg_commitments 2023-03-11 23:02:35 +00:00
Dankrad Feist 5e74c51411
Tests for validate_blobs_and_kzg_commitments and fix 2023-03-11 22:34:41 +00:00
Dankrad Feist a5333a1d10
Remove useless test_kzg.py 2023-03-10 11:43:05 +00:00
Etan Kissling 43e714e60f
Check correct fork version in LC sync protocol
- Sync committee is determined by signature_slot
- Signature fork version is determined by max(signature_slot, 1) - 1
- Attested block fork version can be anything < signature_slot

Old logic incorrectly derived signature fork version from signature_slot
and did not subtract a slot. Extended tests to check this edge case.
2023-03-08 15:34:56 +01:00
Dankrad Feist 08ba1f6406
Merge branch 'dev' into deneb-crypto-coverage 2023-03-07 22:17:58 +00:00
Dankrad Feist b4c130a4a2
Remove state from unit tests 2023-03-07 21:57:45 +00:00
Justin Traglia ccfe576dcc
Add KZG tests for input length inputs (#3282) 2023-03-07 21:56:55 +00:00
dankrad 15033d28b9
Modify compute_[blob_]kzg_proof to remove superfluous computations (#3280)
Add parameter `commitment` to `compute_blob_kzg_proof` and output `y` to `compute_kzg_proof`
2023-03-07 17:50:56 +00:00
Dankrad Feist cce82b4938
Remove spec. for getting BLS_MODULUS 2023-03-07 10:56:16 +00:00
Dankrad Feist 81ab7de44a
Add unit tests for validate_kzg_g1 and bytes_to_bls_field 2023-03-07 10:54:17 +00:00
Hsiao-Wei Wang 661cca59c0
Import `curve_order as BLS_MODULUS` 2023-03-07 16:52:09 +08:00
Dankrad Feist ca8a51fcf9
More CI tests for polynomial commitments 2023-03-06 22:56:17 +00:00
dankrad 86fb82b221
Test generators for kzg-4844 libraries (#3274)
Arkworks integration and test generators for kzg-4844 libraries
2023-03-02 20:49:10 +00:00
Hsiao-Wei Wang 6baa9531a4
Merge pull request #3250 from benjaminion/get-weight
Change get_latest_attesting_balance() to get_weight()
2023-02-28 21:29:22 +08:00
Danny Ryan 4e48ae3fe7
Merge pull request #3265 from ethereum/bump-version
bump VERSION.txt to 1.3.0-rc.3
2023-02-20 10:40:10 -07:00
Hsiao-Wei Wang 7ff627e032
bump VERSION.txt to 1.3.0-rc.3 2023-02-21 01:14:46 +08:00
djrtwo dff740752b add deposit+bls_change test 2023-02-20 10:07:24 -07:00
Hsiao-Wei Wang a7e45db9ac
Fix `verify_kzg_proof_batch` and the tests 2023-02-16 22:14:14 +08:00
Ben Edgington 7637158a2f Change get_latest_attesting_balances() to get_weight() 2023-02-15 11:39:33 +00:00
Danny Ryan 89f2eae318
Merge pull request #3218 from protolambda/excess-data-gas-field-position
eip4844: move excess data gas field to end of execution payload for merkle proof path compat
2023-02-14 07:50:25 -07:00
George Kadianakis fc4e1a9acf
EIP4844: compute_kzg_proof() can now create proofs within the domain (#3243)
This will be used by optimistic rollups to create proofs about past data
2023-02-14 14:50:44 +02:00
Hsiao-Wei Wang 7b5acbfd21
Fix Capella fork test assertions 2023-02-10 00:30:00 +08:00
Paul Harris 078e1cc871 fix references to eip4844 2023-02-08 09:22:28 +10:00
Paul Harris 0bf006cc06 Merge remote-tracking branch 'upstream/dev' into 3207 2023-02-02 16:34:34 +10:00
Hsiao-Wei Wang 366e3b64c4
hotfix: `transition_to_slot_via_block` only return unsigned block 2023-01-27 15:37:12 +01:00
Hsiao-Wei Wang a2b3cd33ef
bump VERSION.txt to 1.3.0-rc.2 2023-01-27 18:54:09 +08:00
Hsiao-Wei Wang 9ab147860c
Update transtion testgen 2023-01-27 11:16:31 +01:00
Hsiao-Wei Wang 3e78448fd1
Address PR feedback 2023-01-27 10:44:32 +01:00
Hsiao-Wei Wang 230dfb011e
Apply suggestions from code review
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2023-01-26 23:21:07 +08:00
Hsiao-Wei Wang 507a7ec113
Add BLS_TO_EXECUTION_CHANGE fork transition tests 2023-01-26 10:14:53 +01:00
Hsiao-Wei Wang e3b42ca397
Add activate and partial withdrawal tests 2023-01-25 16:15:39 +01:00
Hsiao-Wei Wang 065b303dca
Add tests of mixing top-ups and withdrawals, rename old test case 2023-01-25 10:59:30 +01:00
George Kadianakis 2626126935
EIP4844: compute_kzg_proof() now takes bytes as input (#3219) 2023-01-24 14:02:22 +01:00
Paul Harris 317facbd64 Replaced EIP4844 references with Deneb
Fixes #3207
2023-01-23 15:08:34 +01:00
Hsiao-Wei Wang 0f2d25d919
Merge pull request #3213 from etan-status/ee-mockgwei
Use `Gwei` for `Withdrawal` amount in mock-EE
2023-01-17 23:00:35 +08:00
Hsiao-Wei Wang 04d8f28cf6
Merge pull request #3214 from asn-d6/barycentric_no_assert
EIP4844: Handle barycentric evaluation at roots of unity
2023-01-17 23:00:17 +08:00
George Kadianakis 20dc6821ab
EIP4844: Unused i in for loop
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2023-01-17 16:18:16 +02:00
George Kadianakis c6453e215d EIP4844: Make extra sure we didn't win the jackpot 2023-01-17 16:16:46 +02:00
Hsiao-Wei Wang 521de12d9b
Merge pull request #3151 from etan-status/lc-eph
Add `ExecutionPayloadHeader` to LC data
2023-01-17 21:33:35 +08:00
George Kadianakis 6e5df21f7d EIP4844: Also add unittest for barycentric outside the domain 2023-01-16 17:52:10 +02:00
George Kadianakis 296ba921c9 EIP4844: Handle barycentric evaluations at roots of unity 2023-01-16 17:51:50 +02:00
Etan Kissling 52d978b12e
Use `Gwei` for `Withdrawal` amount in mock-EE
Updates the EL block hash computation for pytests to match latest spec.
Notably, use `Gwei` for `Withdrawal` amount consistently.
Also fix `excess_data_gas` not being correctly accounted for.

https://github.com/ethereum/execution-apis/pull/354
https://github.com/ethereum/EIPs/pull/6325
2023-01-15 12:13:35 +01:00
Etan Kissling ffd047c6fa
Consistent test step naming 2023-01-14 14:51:59 +01:00
Hsiao-Wei Wang a5273905ef
Update signature value due to #3206 2023-01-13 23:40:31 +08:00
Hsiao-Wei Wang 9b3f8881b4
Fix lint 2023-01-13 23:39:24 +08:00
Hsiao-Wei Wang 75def3c88e
PR feedback from @ralexstokes
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2023-01-13 23:39:16 +08:00
Hsiao-Wei Wang 64f609af18
Add a test case from staking-deposit-cli 2023-01-13 23:39:03 +08:00
Hsiao-Wei Wang 427a6e809f
Merge pull request #3206 from ethereum/btec-fork-version
MUST use `GENESIS_FORK_VERSION` to sign `BLSToExecutionChange` message
2023-01-13 23:29:21 +08:00
Danny Ryan 3dd7e3583f
bump VERSION.txt to 1.3.0-rc.1 2023-01-13 08:24:43 -07:00
Hsiao-Wei Wang e1df31818b
fix typo 2023-01-13 23:18:29 +08:00
djrtwo d4eaf4bff4 add invalid test for BLSChange genesis_validators_root 2023-01-13 08:07:21 -07:00
Etan Kissling b7205813fd
Update sync test documentation 2023-01-12 19:01:57 +01:00
Etan Kissling 82d6267951
Merge branch 'dev' into lc-eph 2023-01-12 18:44:54 +01:00
Hsiao-Wei Wang 2b2ffb5229
Merge pull request #3190 from etan-status/lc-headerwrapper
Add `LightClientHeader` wrapper
2023-01-13 00:40:44 +08:00
Hsiao-Wei Wang 730a7afe49
Always use `GENESIS_FORK_VERSION` to sign `BLSToExecutionChange` message 2023-01-12 23:28:41 +08:00
Hsiao-Wei Wang a2099dabf7
Add `test_invalid_previous_fork_version` 2023-01-12 03:23:17 +08:00
Etan Kissling a14edb1967
Merge branch 'dev' into lc-headerwrapper 2023-01-10 15:29:34 +01:00
Etan Kissling 53a95f0007
Merge branch 'dev' into lc-eph 2023-01-10 13:43:15 +01:00
Hsiao-Wei Wang 9c4500533f
Merge branch 'dev' into pr3121 2023-01-10 16:47:21 +08:00
Etan Kissling 79a717c8f6
Merge branch 'dev' into lc-headerwrapper 2023-01-06 19:45:18 +01:00
Hsiao-Wei Wang 8b14345143
Fix test file name 2023-01-07 01:49:23 +08:00
Danny Ryan ed1c6be132
Merge pull request #3185 from ethereum/fc-is_data_available
Move `is_data_available` check to fork-choice `on_block`
2023-01-06 10:55:29 -05:00
Hsiao-Wei Wang e154b3414c
Move `validate_blobs_sidecar` to fork-choice and add spec into execution spec scope 2023-01-06 23:19:44 +08:00
Danny Ryan 8255618206
bump VERSION.txt
to 1.3.0-rc.0
2023-01-06 08:16:14 -07:00
Danny Ryan 449db6d798
Merge pull request #3187 from ethereum/fix-from_syncing_to_invalid
Ensure that no duplidate block hashes in `sync/from_syncing_to_invalid` test case
2023-01-06 10:14:06 -05:00
Danny Ryan 75937e5b55
Merge pull request #3181 from terencechain/4844-enable-withdrawal
EIP4844: Enable withdrawal
2023-01-06 10:12:57 -05:00
Etan Kissling 375436094c
Merge branch 'dev' into lc-eph 2023-01-05 13:53:29 +01:00
Etan Kissling 5c64a2047a
Add `LightClientHeader` wrapper
In Altair, light client sync protocol exchanges `BeaconBlockHeader`
structures for tracking current progress. Wrapping `BeaconBlockHeader`
inside a `LightClientHeader` allows future extensions of this header,
e.g., to also track `ExecutionPayloadHeader`.

Note: This changes the JSON REST format by adding a `beacon` nesting.
For SSZ, the serialization format stays same (but overall root changes).
2023-01-05 13:36:04 +01:00
Hsiao-Wei Wang 0777a52f55
Merge pull request #3149 from etan-status/lc-toheader
Add `block_to_light_client_header` helper
2023-01-05 12:12:36 +08:00
Etan Kissling ce7fd412cc
Add test for LC data spanning 3 forks 2023-01-04 19:44:10 +01:00
Etan Kissling e5cda1745f
Run fork test for EIP4844 2023-01-04 19:15:34 +01:00
Hsiao-Wei Wang 9d402dd2d2
minor fix 2023-01-04 18:51:51 +08:00
protolambda 5998836449
tests/formats: update epoch and operations formats to reflect push-withdrawals (#3184)
* tests/formats: update epoch and operations formats to reflect push-withdrawals of PR 3068

* fix typo

* Update epoch processing readme

Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2023-01-04 18:20:09 +08:00
Hsiao-Wei Wang 9d14dcd8b0
Ensure that no duplidate block hashes 2023-01-04 18:09:38 +08:00
Hsiao-Wei Wang dba75eece9
Enable Capella feature in eip4844 fork
Fix lint
2023-01-04 01:40:46 +08:00
Etan Kissling b0471511e5
Merge branch 'dev' into lc-eph 2023-01-03 15:36:37 +01:00
Hsiao-Wei Wang dcacb7164f
Rename `block_batch_root` to `block_summary_root` and `state_batch_root` to `state_summary_root` 2023-01-03 21:50:06 +08:00
Hsiao-Wei Wang 1cfabcbe54
Rename `HistoricalBatchSummary` -> `HistoricalSummary` and `historical_batches` -> `historical_summaries` 2023-01-02 23:07:00 +08:00
Hsiao-Wei Wang 84592f101b
Add tests for `process_historical_batches_update` 2022-12-16 01:01:00 +08:00
Danny Ryan 302f54bfca
bump version.txt 2022-12-14 09:26:04 -07:00
Danny Ryan f7187a6657
Merge pull request #3156 from ethereum/kzg-trusted-setup
Update G2 trusted setup length to 65
2022-12-14 08:15:53 -07:00
Danny Ryan 991f81770b
Merge pull request #3157 from ethereum/balance-op
Add tests to test sync aggregate's order of balance operation
2022-12-14 08:15:09 -07:00
Hsiao-Wei Wang c7e102a5e5
PR feedback from @djrtwo and change the duplicate sync committee preconditions 2022-12-14 16:55:03 +08:00
Etan Kissling 02abdc311f
Merge branch 'dev' into lc-eph 2022-12-13 15:33:28 +01:00
Etan Kissling 74883fec7c
Merge branch 'dev' into ci-phasesconfig 2022-12-13 15:33:07 +01:00
Hsiao-Wei Wang dc17b1e2b6
Merge pull request #3107 from etan-status/sf-epochoverrides
cleanup explicit fork enumerations in tests
2022-12-13 22:29:30 +08:00
Hsiao-Wei Wang e9a7a6d40e
Merge pull request #3126 from etan-status/el-rlp
proper EL block hash implementation in tests
2022-12-13 22:28:53 +08:00
Etan Kissling f24365fa36
Merge branch 'ci-phasesconfig' into lc-eph 2022-12-13 12:34:32 +01:00
Etan Kissling c84862bfae
Avoid line continuation syntax 2022-12-13 12:34:14 +01:00
Etan Kissling 3bfac0e16e
Merge branch 'lc-toheader' into lc-eph 2022-12-13 12:31:12 +01:00
Etan Kissling ef2a8b319d
Avoid line continuation syntax 2022-12-13 12:30:14 +01:00
Etan Kissling af785068d8
Merge branch 'el-rlp' into lc-eph 2022-12-13 12:27:59 +01:00
Etan Kissling 666a90245e
Add EIP4844 support
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-12-13 11:54:44 +01:00
Hsiao-Wei Wang 2ac06c10d3
Update G2 trusted setup length to 65 2022-12-13 18:14:50 +08:00
Hsiao-Wei Wang 19c38dbac6
Add tests to test sync aggregate's order of operation 2022-12-13 17:35:34 +08:00
Hsiao-Wei Wang c59b06cccd
Merge branch 'dev' into sf-epochoverrides 2022-12-13 16:13:21 +08:00
Hsiao-Wei Wang da3f5af919
Test case naming clean up (#3143)
* Add @description decorator

* Unify test case naming style

* more clean ups

* Altair tests cleanup

* Clean up Altair and Bellatrix `process_deposit` tests

* Clean up Bellatrix tests

* Clean up Capella tests

* PR feedback from @ralexstokes

* Add comments on the deposit fork version tests

* Remove `test_incorrect_sig_other_version` since it is duplicate to `test_ineffective_deposit_with_bad_fork_version`

* Add `test_ineffective_deposit_with_current_fork_version`
2022-12-13 15:13:44 +08:00