Hsiao-Wei Wang
3ae4bf14f1
Fix and set to `MODE_MULTIPROCESSING`
2023-05-06 21:01:46 +08:00
Hsiao-Wei Wang
98d0ca48b8
Fix `test_randomized_state` and `test_randomized_state_leaking`
2023-05-06 17:45:22 +08:00
Hsiao-Wei Wang
aeccd20fd1
Try multiprocessing
2023-05-06 16:34:14 +08:00
Hsiao-Wei Wang
9f5bb03cb4
Refactor `run_generator`
2023-05-05 16:23:35 +08:00
Hsiao-Wei Wang
b617c62e8d
Merge pull request #3344 from jtraglia/group-invalid-g1-points
...
Add group of invalid G1 points in KZG tests
2023-05-05 01:10:28 +08:00
Hsiao-Wei Wang
5cb2733ed5
Add custom types `NodeID` and `SubnetID` and constant `NODE_ID_BITS`
2023-05-04 18:50:13 +08:00
Hsiao-Wei Wang
f1765dfef3
Merge branch 'dev' into deneb-tests
2023-05-04 18:04:20 +08:00
Hsiao-Wei Wang
4244dc8e13
Make `excess_data_gas` a param of `run_block_with_blobs`
2023-05-04 17:55:14 +08:00
Justin Traglia
dfdbe15e42
Fix linter issues
2023-05-02 13:05:41 -05:00
Justin Traglia
ddf7e8013b
Add group of invalid G1 points
2023-05-02 10:57:49 -05:00
Hsiao-Wei Wang
7570445e98
Fix sync testgen
2023-05-02 23:45:21 +08:00
Hsiao-Wei Wang
e117ff4d71
Merge branch 'dev' into eip6110-tests
2023-05-02 21:24:02 +08:00
Hsiao-Wei Wang
a044c0c805
Merge branch 'dev' into pr3308
2023-05-01 16:31:45 +08:00
Hsiao-Wei Wang
e31fcbd6a9
Add `GetPayloadResponse` for `get_payload` API
2023-04-28 23:25:13 +08:00
Hsiao-Wei Wang
2a1d998594
Test non zero `excess_data_gas`
2023-04-28 19:01:19 +08:00
Hsiao-Wei Wang
22da92e597
Refactor the spec and add more test cases
2023-04-28 18:26:42 +08:00
Hsiao-Wei Wang
327ef095d0
Add `test_incorrect_blob_tx_type`
2023-04-28 17:37:50 +08:00
Hsiao-Wei Wang
655094ee4a
Add `test_zero_blob` test case
2023-04-28 17:28:11 +08:00
Hsiao-Wei Wang
745d529598
Add `compute_subscribed_subnets` unittests and fix typing errors
2023-04-25 12:57:49 +08:00
Justin Traglia
87d42919b9
Add "commitment" to test names for consistency
2023-04-18 14:00:11 -05:00
Hsiao-Wei Wang
85c8daf085
bump version.txt to 1.3.0
2023-04-18 18:34:12 +08:00
Roberto Saltini
313439a04b
Fix lint erorrs
2023-04-18 13:54:31 +10:00
Roberto Saltini
b5bd90dd5f
Applied changes to tests
2023-04-18 13:51:13 +10:00
Mikhail Kalinin
0230c643b0
Fix EIP6110 import in generators
2023-04-11 21:29:30 +06:00
Mikhail Kalinin
09e5fc7ebe
Add eip6110 to generators
2023-04-11 13:42:16 +06:00
Mikhail Kalinin
1505a04a94
Make linter happy
2023-04-10 16:08:13 +06:00
Mikhail Kalinin
e49a30f85b
Fix deposit transition tests
2023-04-10 13:47:21 +06:00
Mikhail Kalinin
c2473e7b8a
Make transition tests comply to sanity format
2023-04-07 14:20:28 +06:00
Hsiao-Wei Wang
d78c7ada03
Fix previous fork version
2023-04-06 20:08:23 +08:00
Hsiao-Wei Wang
11842c9e2a
Update test generators. Move `test_deposit_transition` to `sanity/blocks/`
2023-04-06 20:04:33 +08:00
Mikhail Kalinin
389b79408b
Add EIP6110 operations gen, and to fork upgrades list
2023-04-06 17:39:19 +06:00
Mikhail Kalinin
108f1eed86
Rebase EIP6110 to Deneb
2023-04-06 16:53:31 +06:00
Mikhail Kalinin
80e6b0d665
Add deposits transition tests
2023-04-05 19:46:28 +06:00
Mikhail Kalinin
502745e012
Port tests from bellatrix and capella
2023-04-04 16:30:44 +06:00
Mikhail Kalinin
4c401d6575
Port process_deposit tests
2023-04-03 18:17:03 +06:00
Hsiao-Wei Wang
0dd8db76cd
Make linter happy. Add `SUBNET_DURATION_IN_EPOCHS` definition.
2023-03-30 14:51:41 +08:00
Hsiao-Wei Wang
9dfee5ef48
Update execution_payload helpers for new EIP-6110 field
2023-03-28 15:21:09 +08:00
Hsiao-Wei Wang
cd7783e59d
EIP-6110: Fix `compute_fork_version` and add light client specs
2023-03-28 15:08:03 +08:00
Hsiao-Wei Wang
8acc31adce
Fix the default testing genesis by setting `deposit_receipts_start_index` and fork versions
2023-03-28 14:23:23 +08:00
Hsiao-Wei Wang
d0839dfec4
Add EIP-6110 to the pytest scope
2023-03-27 21:31:03 +08:00
Hsiao-Wei Wang
024cec5fc9
bump version.txt to 1.3.0-rc.5
2023-03-20 18:26:17 +08:00
George Kadianakis
1219beae26
Add some basic bls_modular_inverse() tests
2023-03-17 12:24:06 +02:00
Hsiao-Wei Wang
02a8420dc5
Merge pull request #3293 from ethereum/bump-version
...
bump version.txt
2023-03-16 11:47:34 +08:00
Hsiao-Wei Wang
74a1c90bbc
fix lint
2023-03-16 11:34:04 +08:00
Aditya Asgaonkar
8d3097be99
remove phase 0 from f.c. test generator
2023-03-15 19:48:16 -07:00
Hsiao-Wei Wang
debf51e87a
Fix `get_sample_opaque_tx` call signature
2023-03-16 10:16:03 +08:00
Hsiao-Wei Wang
de57f2ac91
Merge pull request #3284 from etan-status/lc-forkversion
...
Check correct fork version in LC sync protocol
2023-03-16 09:08:01 +08:00
Aditya Asgaonkar
5a217607b0
shift all f.c. tests to altair & later
2023-03-15 16:32:57 -07:00
Danny Ryan
67984b5665
bump version.txt
2023-03-15 11:30:46 -06:00
Danny Ryan
985fcc2525
Merge pull request #3283 from ethereum/deneb-crypto-coverage
...
Deneb crypto helpers test coverage
2023-03-15 11:28:43 -06:00
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
Danny Ryan
06d6d3888f
Merge pull request #3095 from ralexstokes/bound-withdrawals-sweep
...
bound the maximum number of validators considered for withdrawals per sweep
2022-12-12 19:53:29 -07:00
Etan Kissling
a8dabc05a8
Add `test_eip4844_store_with_legacy_data` (fork test still nyi)
2022-12-12 19:08:45 +01:00
Danny Ryan
478b437b05
lint
2022-12-12 08:25:31 -07:00
Etan Kissling
dc05a3f19e
Rename test back
2022-12-12 13:13:25 +01:00
Etan Kissling
4df86632b6
Rename `legacy` --> `altair` in test name
2022-12-12 12:56:34 +01:00
Etan Kissling
7e6a990790
Merge branch 'ci-phasesconfig' into lc-eph
2022-12-12 12:15:44 +01:00
Etan Kissling
82ff974090
Emit config before calling test to ignore changes
2022-12-12 12:15:27 +01:00
Etan Kissling
2e97af2627
Add `ExecutionPayloadHeader` to LC data
...
While the light client sync protocol currently provides access to the
latest `BeaconBlockHeader`, obtaining the matching execution data needs
workarounds such as downloading the full block.
Having ready access to the EL state root simplifies use cases that need
a way to cross-check `eth_getProof` responses against LC data.
Access to `block_hash` unlocks scenarios where a CL light client drives
an EL without `engine_newPayload`. As of Altair, only the CL beacon
block root is available, but the EL block hash is needed for engine API.
Other fields in the `ExecutionPayloadHeader` such as `logs_bloom` may
allow light client applications to monitor blocks for local interest,
e.g. for transfers affecting a certain wallet. This enables to download
only the few relevant blocks instead of every single one.
A new `LightClientStore` is proposed into the Capella spec that may be
used to sync LC data that includes execution data. Existing pre-Capella
LC data will remain as is, but can be locally upgraded before feeding it
into the new `LightClientStore` so that light clients do not need to run
a potentially expensive fork transition at a specific time. This enables
the `LightClientStore` to be upgraded at a use case dependent timing at
any time before Capella hits. Smart contract and embedded deployments
benefit from reduced code size and do not need synchronization with the
beacon chain clock to perform the Capella fork.
2022-12-12 00:48:40 +01:00
Etan Kissling
9ab22b3ef3
Merge branch 'lc-accessors' into lc-eph
2022-12-12 00:41:31 +01:00
Etan Kissling
c1a6b127f1
Merge branch 'lc-toheader' into lc-eph
2022-12-12 00:38:34 +01:00
Etan Kissling
08a2080937
Merge branch 'ci-phasesconfig' into lc-eph
2022-12-12 00:36:13 +01:00
Etan Kissling
364d106ac3
Merge branch 'sf-epochoverrides' into lc-eph
2022-12-12 00:35:30 +01:00
Etan Kissling
0c3853e959
Avoid modifying caller `phases` (`kw` is shallow copy)
2022-12-11 23:41:08 +01:00
Alex Stokes
37e504e784
bound the maximum number of validators considered for withdrawals per sweep
2022-12-09 10:51:25 -07:00
Etan Kissling
0649e0662c
Allow selecting phase to emit, and fix combi with overrides
2022-12-07 22:37:40 +01:00
Etan Kissling
ae64c515f4
Merge branch 'dev' into ci-phasesconfig
2022-12-07 20:56:59 +01:00
Etan Kissling
0fb0b26742
Add accessors for LC header
...
Introduce `get_lc_beacon_slot` and `get_lc_beacon_root` accessors
similar to `get_current_slot(state)` to account for future extensions
to the light client header structure that may override how those fields
are accessed. Idea is to extend with execution accessors in the future.
2022-12-06 22:05:19 +01:00
Etan Kissling
8bf801ecc6
Add `block_to_light_client_header` helper
...
Introduce `block_to_light_client_header` helper function to enable
future forks to override it with additional info (e.g., execution),
without having to change the general light client logic.
Likewise, update existing light client data creation flow to use
`block_to_light_client_header` and default-initialize empty fields.
Furthermore, generalize `create_update` helper to streamline test code
using `block_to_light_client_header`.
Note: In Altair spec, LC header is the same as `BeaconBlockHeader`.
however; future forks will extend it with more information.
2022-12-06 17:44:41 +01:00
Danny Ryan
9839ed4934
Merge pull request #3145 from terencechain/update-max-blobs
...
EIP4844: Update `MAX_BLOBS_PER_BLOCK` to 4
2022-12-06 09:37:05 -07:00
Etan Kissling
f4dafcfebc
Merge branch 'dev' into lc-blockfuncs
2022-12-05 18:38:40 +01:00
Etan Kissling
79c2099c9c
Merge branch 'dev' into el-rlp
2022-12-05 17:47:20 +01:00
Etan Kissling
6cf8df086f
Merge branch 'dev' into ci-phasesconfig
2022-12-05 16:46:37 +01:00
Etan Kissling
8524f54433
Merge branch 'dev' into sf-epochoverrides
2022-12-05 16:22:31 +01:00
Hsiao-Wei Wang
0dda0b2633
Fix tests
2022-12-01 23:37:16 +08:00
Etan Kissling
f8041091e4
Convert to Wei before multiply
2022-11-24 15:16:59 +01:00
Etan Kissling
0bb3470352
Formatting
2022-11-24 15:11:25 +01:00
Etan Kissling
bfc634dc8c
Amount is Wei in EL world / Gwei in CL
2022-11-24 15:10:25 +01:00
Alex Stokes
30bc3909d8
Merge pull request #3127 from ethereum/fix-eip4844-previous-version
...
Fix EIP4844 `previous_version` field in tests
2022-11-23 10:16:43 -07:00
kevaundray
f0ff15c14d
EIP4844: Refactor Fiat-Shamir logic to handle empty sidecars ( #3093 )
...
Additionally, it makes the Fiat-Shamir hashing logic more robust by making the challenges independent of each other. It also makes it more efficient to implement by moving both challenge computations to a single function needing a single transcript hash.
Co-authored-by: George Kadianakis <desnacked@riseup.net>
Co-authored-by: Dankrad Feist <mail@dankradfeist.de>
2022-11-23 16:52:47 +02:00
Etan Kissling
e9111a5168
Cleanup unnecessary init
2022-11-23 12:34:02 +01:00
Hsiao-Wei Wang
d202f620de
Fix EIP4844 previous_version in tests
2022-11-23 05:10:46 +08:00
Etan Kissling
d51345c6b3
proper EL block hash implementation in tests
...
Replaces the "FAKE RLP HASH" in `ExecutionPayload.block_hash` of all
generated tests with the correct value.
2022-11-22 21:58:29 +01:00
Etan Kissling
db796f70ad
Add missing `.config`
2022-11-20 14:25:50 +01:00
Etan Kissling
f42da8d00b
Apply `with_config_overrides` to all phases
...
When defining a fork transition test, additional spec forks are made
available through `@with_phases(..., other_phases=...)`.
The `with_config_overrides` decorator only applies to the primary phase
so far, which can be unexpected. `with_config_overrides` is adjusted to
override config in subsequent `other_phases` as well.
2022-11-19 12:58:20 +01:00
Etan Kissling
0fb2447a95
Merge branch 'dev' into lc-blockfuncs
2022-11-19 12:20:18 +01:00
Etan Kissling
c3000ed996
Merge branch 'dev' into sf-epochoverrides
2022-11-19 12:11:04 +01:00
Hsiao-Wei Wang
208da34ac4
Merge pull request #3119 from ethereum/eip4844-sync-testgen
...
Add EIP4844 sync tests
2022-11-19 02:08:38 +08:00
George Kadianakis
a45627164d
Merge pull request #3097 from asn-d6/verify_kzg_proof_bytes_api
...
EIP4844: Refactor `verify_kzg_proof()` to receive bytes (used in precompile)
2022-11-18 20:01:18 +02:00
Hsiao-Wei Wang
b71ad2f8be
Add EIP4844 sync tests
2022-11-19 01:55:01 +08:00
Hsiao-Wei Wang
c345f3063a
Merge pull request #3112 from ethereum/double-bls-changes
...
Add more double/duplicate operations tests
2022-11-19 00:11:23 +08:00
Hsiao-Wei Wang
fbb13f0cf0
Apply naming suggestion from @djrtwo
2022-11-19 00:03:29 +08:00
Hsiao-Wei Wang
9f4adfde9d
Add `test_invalid_two_bls_changes_of_different_addresses_same_validator_same_block`
2022-11-18 23:23:40 +08:00
Hsiao-Wei Wang
b78bd1fae0
Add other double-operations (attestations, deposits) tests
2022-11-18 23:14:57 +08:00
Danny Ryan
82007c33d5
bump VERSION.txt
2022-11-18 08:01:21 -07:00
Hsiao-Wei Wang
aac1af7db0
Add `test_fail_double_bls_changes_in_same_block`
2022-11-18 17:27:59 +08:00
Hsiao-Wei Wang
a1d259addf
Merge pull request #3111 from ethereum/testgen-fix
...
Fix --preset-list argument and enhance error output
2022-11-18 17:18:39 +08:00
Hsiao-Wei Wang
8824259131
Fix --preset-list argument and enhance error output
2022-11-18 05:08:37 +08:00
Hsiao-Wei Wang
d12c2a3b73
Add EIP4844 random tests
2022-11-18 04:55:59 +08:00
Hsiao-Wei Wang
812618cdaf
Fix fork test verifier
2022-11-18 03:37:24 +08:00
Hsiao-Wei Wang
5c5639f8f2
fix lint
2022-11-18 03:20:25 +08:00
Hsiao-Wei Wang
0c8885570e
Add Capella and EIP4844 fork random tests
2022-11-18 03:20:25 +08:00
Hsiao-Wei Wang
2a40b513cb
Add EIP4844 testgen
2022-11-18 03:20:22 +08:00
Hsiao-Wei Wang
ee0e2a03d2
Merge branch 'dev' into pr3052
2022-11-18 02:44:46 +08:00
Hsiao-Wei Wang
b6df4b5a9e
Merge pull request #3066 from etan-status/lc-prooftest
...
Allow extending LC merkle proof tests
2022-11-18 02:34:07 +08:00
Hsiao-Wei Wang
f1d4c9047a
Merge branch 'dev' into pr3052
2022-11-18 02:12:07 +08:00
Etan Kissling
b612ec5fd5
cleanup explicit fork enumerations in tests
...
Fork epoch override test decorators were still referring to `SHARDING`.
Replace the implementation with one that needs less maintenance.
2022-11-16 16:39:06 +01:00
terence tsao
bbc3ec02ff
Fix typos
2022-11-12 23:36:34 -08:00
George Kadianakis
ff34006807
Refactor `verify_kzg_proof()` to receive bytes (used in precompile)
...
This way, client devs don't need to convert to field elements themselves, and the KZG library takes care fo it.
2022-11-12 01:47:39 +02:00
inphi
37144460be
Fix merge conflict
2022-11-11 17:52:57 -05:00
inphi
3df1371897
Merge remote-tracking branch 'origin/dev' into inphi/eip4844-rebase
2022-11-11 17:32:06 -05:00
Hsiao-Wei Wang
a6c4b9ae9e
Merge pull request #3072 from etan-status/sf-ispostfork
...
Move `is_post_xxx` functions to new module
2022-11-12 04:26:29 +08:00
inphi
67ba28c9d0
remove eip4844 epoch_processing package
2022-11-10 14:13:49 -05:00
inphi
fcafdc14a3
remove eip4844 partial/full withdrawwals tests
2022-11-10 14:11:05 -05:00
inphi
2fbb1eddd2
fix test_process_withdrawals
2022-11-10 14:01:50 -05:00
inphi
a04f06bd11
Fix merge conflict
2022-11-10 13:29:33 -05:00
inphi
a59dd37933
Merge remote-tracking branch 'origin/dev' into inphi/eip4844-rebase
2022-11-10 13:17:57 -05:00
Danny Ryan
37996fc36c
Merge pull request #3068 from potuz/withdrawals_without_queues
...
Withdrawals without queues
2022-11-10 10:49:25 -07:00
Etan Kissling
76157f91d7
Rename `phases.py` to `forks.py`; add `ValueError` check
...
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-11-10 13:26:00 +01:00
Etan Kissling
99785733b7
Merge branch 'dev' into sf-ispostfork
2022-11-10 13:15:17 +01:00
Potuz
c7d733303f
lint
2022-11-10 08:47:16 -03:00
Potuz
3d82a19b3b
whitespace
2022-11-10 08:41:55 -03:00
Potuz
6179085b7e
Merge branch 'withdrawals_without_queues' of github-potuz:potuz/consensus-specs into withdrawals_without_queues
2022-11-10 08:40:31 -03:00
Potuz
7f266bcb0f
Use next_validator_withdrawal_index
2022-11-10 08:33:11 -03:00
Hsiao-Wei Wang
087f785ee9
PR feedback from @djrtwo
2022-11-09 17:15:00 -05:00
Potuz
2f89f5096d
Danny's review 1st pass
2022-11-07 17:29:56 -03:00
Hsiao-Wei Wang
95ee291f58
Merge branch 'dev' into pr3052
2022-11-07 10:10:16 -05:00
Hsiao-Wei Wang
544ae28721
Merge pull request #3016 from ethereum/gen_kzg_trusted_setups
...
Rework the testing KZG trusted setups presets
2022-11-07 22:29:54 +08:00
Hsiao-Wei Wang
b7dfd5a37e
Merge pull request #3027 from ethereum/eip-4844-fee-ssz-fix
...
eip4844: update tx_peek_blob_versioned_hashes to match tx type from fee market update
2022-11-07 22:22:12 +08:00
Etan Kissling
37c30ad9db
Merge branch 'dev' into sf-ispostfork
2022-11-07 15:22:02 +01:00
Hsiao-Wei Wang
dac756efee
Minor clean up
2022-11-07 09:09:09 -05:00
Etan Kissling
08ff71688f
Merge branch 'dev' into lc-blockfuncs
2022-11-07 15:03:20 +01:00
Etan Kissling
cfad029f45
Merge branch 'dev' into lc-prooftest
2022-11-07 14:41:27 +01:00
Hsiao-Wei Wang
3fc1ebce06
Move some Capella operation tests to sanity/blocks tests
2022-11-07 08:39:10 -05:00
Potuz
8488fb79d9
Alex Stokes' review
2022-11-04 18:47:56 -03:00
Potuz
e15b02d16f
lint
2022-11-04 09:13:21 -03:00
Potuz
9973e9f29f
harden tests and add couple of cases
2022-11-04 09:00:53 -03:00
Potuz
6e913ecbd2
rename to latest_withdrawal_validator_index
2022-11-03 20:23:35 -03:00
Hsiao-Wei Wang
b530dc09aa
Move old withdrawal epoch_processing tests to block_processing
2022-11-03 16:57:02 -05:00
Hsiao-Wei Wang
494cefcda6
Fix sanity block tests
2022-11-03 16:27:24 -05:00
Hsiao-Wei Wang
0b1f32ec25
Fix capella/block_processing tests
2022-11-03 16:08:05 -05:00
Potuz
a09d617737
right ret
2022-11-03 15:07:03 -03:00
Hsiao-Wei Wang
ad36548480
Fix auto-rebase errors
2022-11-03 11:46:07 -05:00
Potuz
f506087af5
rebase on top of develop
2022-11-03 11:42:30 -05:00
Hsiao-Wei Wang
7c016f3236
Add testing KZG trusted setups generator tool and load the file during building pyspec
2022-11-03 10:17:42 -05:00
George Kadianakis
86e15764ad
EIP4844: Update cryptography API ( #3038 )
...
This commit changes the public API of the KZG library to the following high-level API:
```
- verify_kzg_proof()
- compute_aggregate_kzg_proof()
- verify_aggregate_kzg_proof()
- blob_to_kzg_commitment()
```
compared to the previous much more low-level API:
```
- compute_powers()
- matrix_lincomb()
- lincomb()
- bytes_to_bls_field()
- evaluate_polynomial_in_evaluation_form()
- verify_kzg_proof()
- compute_kzg_proof()
```
This means that all the cryptographic logic (including Fiat-Shamir) is now isolated and hidden in the KZG library and the `validator.md` file ends up being significantly simplified, only calling high-level KZG functions.
Some additional things that this commit does:
- Moves all EIP4844 cryptography into polynomial-commitments.md
- Improves the Fiat-Shamir stack by removing the need for SSZ and by introducing simple domain separators
Co-authored-by: Kevaundray Wedderburn <kevtheappdev@gmail.com>
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
Co-authored-by: Dankrad Feist <mail@dankradfeist.de>
2022-11-03 17:01:32 +02:00
Etan Kissling
332ad4cb57
Move `is_post_xxx` functions to new module
...
Moving the `is_post_xxx` functions to a separate module allows `genesis`
to also use them (cyclic import from `context` prevented this before).
This allows removing `FORKS_BEFORE_ALTAIR` and `FORKS_BEFORE_BELLATRIX`
constants and adding a more general `is_post_fork` function that needs
less maintenance. This then allows definition of `with_all_phases_from`
to streamline the implementation of the `with_xxx_and_later` decorators.
2022-10-30 12:50:56 +01:00
Etan Kissling
ff0e525ecc
Pass blocks to LC data creation functions
...
Future light client protocol extensions may include data from the block
in addition to data from the state, e.g., `ExecutionPayloadHeader`.
To prepare for this, also pass the block to the corresponding functions.
In practice, blocks access is easier than historic state access, meaning
there are no practical limitations due to this change.
2022-10-28 22:14:25 +02:00
Etan Kissling
5c66300171
Use `suite_name` instead of `meta.yaml` for SSZ type
2022-10-28 20:32:33 +02:00
Alex Stokes
bab01d6e99
Merge pull request #3067 from etan-status/lc-synctestroot
...
Rename LC test check from `root` to `beacon_root`
2022-10-28 08:55:27 -06:00
Alex Stokes
72b6abd545
Merge pull request #3064 from etan-status/lc-periodatepoch
...
Consistently use `compute_sync_committee_period_at_slot`
2022-10-28 08:49:58 -06:00
Etan Kissling
4fc80765ad
Also update test logic accordingly
2022-10-27 22:08:24 +02:00
Etan Kissling
990866dd9f
Rename LC test check from `root` to `beacon_root`
...
Future light client tests will also incorporate execution payload data.
To avoid confusion, rename the current `root` check to `beacon_root`.
Doing this now, as #3066 already requires LC test runners to update.
2022-10-27 22:06:11 +02:00
Etan Kissling
cdaf7e84dd
Allow extending LC merkle proof tests
...
Currently, `test_single_merkle_proof` only supports `BeaconState` tests.
For future tests, different object classes are desirable. Update format
to allow testing other objects as well.
2022-10-27 21:59:48 +02:00
Etan Kissling
14b3463f2c
Consistent variable name in LC test
...
In light client tests, a variable is named `finality_header` but
everywhere else it is called `finalized_header`. Rename for consistency.
2022-10-27 00:01:22 +02:00
Hsiao-Wei Wang
60187e5dc4
Add `test_process_withdrawals` no-op test
2022-10-26 15:19:15 -05:00
Hsiao-Wei Wang
e460005aff
Add tests for no-op functions
2022-10-26 15:12:05 -05:00
Hsiao-Wei Wang
317209591d
Make pyspec disable withdrawal-functions in EIP4844
2022-10-26 15:06:39 -05:00
Hsiao-Wei Wang
6c7922df67
Fix bls test case file name
2022-10-26 11:03:16 -05:00
Hsiao-Wei Wang
af8c5bf532
Merge pull request #3046 from terencechain/couple-block-sidecar
...
EIP4844: couple beacon block and blob sidecar for p2p
2022-10-26 23:51:23 +08:00
Hsiao-Wei Wang
3c7c3a9c97
bump VERSION.txt to 1.3.0-alpha.0 ( #3056 )
2022-10-25 11:45:04 +08:00
inphi
6d270cdc52
Add CAPELLA_FORK_EPOCH overrides
2022-10-24 17:21:36 -04:00
inphi
459310f744
Fix test_process_execution_payload
2022-10-24 16:25:50 -04:00
Hsiao-Wei Wang
9844ea1f30
Merge pull request #3040 from ethereum/capella-test-vectors
...
Capella test vectors
2022-10-23 06:44:03 +08:00
terence tsao
e2d0a4fa9a
Fix ToC and test
2022-10-22 08:36:46 -07:00
Hsiao-Wei Wang
f48d6b324d
Update test formats
2022-10-20 22:27:49 -05:00
Hsiao-Wei Wang
0e2c3d89e0
Fill `bls_to_execution_changes` field in Capella random tests
2022-10-20 22:22:11 -05:00
Hsiao-Wei Wang
d013379628
Ensure `validator_index` is in validator set
2022-10-19 10:27:01 -05:00
Hsiao-Wei Wang
53b63cedc5
Merge branch 'dev' into pr3050
2022-10-19 10:21:32 -05:00
Jim McDonald
0345b2284a
Add validator_index to Withdrawal.
2022-10-18 15:35:06 +01:00
Hsiao-Wei Wang
940fc20758
Apply suggestions from code review
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2022-10-17 23:21:15 +08:00
Hsiao-Wei Wang
b90436c988
Fix capella random & fork
2022-10-14 23:42:42 -05:00
Hsiao-Wei Wang
03ced9c263
Add Capella tests
2022-10-14 23:40:45 -05:00
Hsiao-Wei Wang
6181035d5d
Fix typo ( #3039 )
2022-10-15 12:40:17 +08:00
Hsiao-Wei Wang
9717daa325
Merge branch 'dev' into more-withdrawals-tests
2022-10-10 10:07:38 -05:00
protolambda
2d08dc51c5
eip-4844: test tx_peek_blob_versioned_hashes
2022-10-06 18:13:35 +02:00
protolambda
c7d88b7ce5
eip4844: update test type definition
2022-10-06 18:13:35 +02:00
Danny Ryan
491f14c76f
some capella sanity tests
2022-10-05 10:40:58 -06:00
Hsiao-Wei Wang
44424c4080
Bump dep packages version and fix lint issues
2022-09-28 12:38:21 +08:00
Danny Ryan
0fdab6130e
Merge pull request #3010 from jtraglia/partial-withdrawal-balance-tests
...
Add partial withdrawal balance tests
2022-09-26 14:35:28 -06:00
Danny Ryan
eeebd42a95
Merge pull request #2998 from ethereum/remove-withdrawn-epoch
...
remove withdrawn_epoch
2022-09-26 14:30:25 -06:00
Justin Traglia
fdb5c7dcf3
Add partial withdrawal balance tests
2022-09-22 15:19:22 -05:00
Hsiao-Wei Wang
73c96b238a
Merge pull request #3001 from ethereum/bls-output-null
...
Update BLS test format: output `null` for invalid case
2022-09-22 14:36:31 +08:00
Danny Ryan
bfca7f9a96
Apply suggestions from code review
...
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2022-09-21 07:50:31 -06:00
Hsiao-Wei Wang
93b7ae299d
Update BLS test format: output `null` for invalid case
2022-09-21 01:24:22 +08:00
Danny Ryan
91ea9e6959
review suggestion from @hwwhww
...
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-09-20 08:22:26 -06:00
Hsiao-Wei Wang
0f8e12e929
Add a redirection README.md for the sync tests
2022-09-20 18:13:15 +08:00
Danny Ryan
70f90c5296
rmove withdrawn_epoch
2022-09-19 11:39:46 -06:00
Danny Ryan
63d284a85c
bump version to v1.2.0
2022-09-16 09:55:36 -06:00
Danny Ryan
770a603af9
Merge pull request #2989 from ethereum/deposit-zero-pk
...
Add `test_process_deposit::test_key_validate_invalid`
2022-09-13 14:05:13 -06:00
Hsiao-Wei Wang
4d2cfff2d6
Add `test_key_validate_invalid_decompression`
2022-09-12 22:59:29 +08:00
Hsiao-Wei Wang
e4407c64e3
Add `test_process_deposit::test_key_validate_invalid`
2022-09-12 22:31:49 +08:00
Hsiao-Wei Wang
f2c26560d5
Merge pull request #2982 from ethereum/optimistic-sync-tests
...
Add optimistic sync tests
2022-09-12 18:06:40 +08:00
Hsiao-Wei Wang
e639a3b4f9
Merge branch 'dev' into pr2965
2022-09-08 22:54:07 +08:00
Hsiao-Wei Wang
2e73091258
Add `get_valid_flag_value` helper to determine the `valid` flag value
2022-09-08 22:42:39 +08:00
Hsiao-Wei Wang
0f8b5ae6bd
Apply PR feedback from @michaelsproul
2022-09-02 20:45:51 +08:00
Hsiao-Wei Wang
ac717b106a
Address PR feedback from @mkalinin
2022-08-31 22:02:47 +08:00
Mikhail Kalinin
b67fb5b049
Update tests/formats/fork_choice/README.md
...
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-08-24 23:29:59 +06:00
Hsiao-Wei Wang
f8d92c3bd8
Add basic test case
2022-08-24 23:20:31 +08:00
Hsiao-Wei Wang
5db5b87e5e
Add bellatrix deposit and voluntary_exit tests
2022-08-19 01:52:34 +08:00
Danny Ryan
efc4d45bbc
bump VERSION.txt
2022-08-18 11:35:39 -06:00