Commit Graph

1754 Commits

Author SHA1 Message Date
Hsiao-Wei Wang b2771c67c3
Fallback to MODE_SINGLE_PROCESS 2023-05-25 00:16:19 +08:00
Hsiao-Wei Wang 8d32e79b8d
Fix multiprocessing 2023-05-24 21:03:58 +08:00
Hsiao-Wei Wang c66ccfa5ee
Merge pull request #3382 from ethereum/quick-patches
a couple of minor cleanups
2023-05-24 19:56:10 +08:00
Danny Ryan 2fef00e622
Merge pull request #3381 from ethereum/bump-version
Update VERSION.txt to 1.4.0-alpha.0
2023-05-24 05:43:21 -06:00
djrtwo 9bc27bad30 a couple of minor cleanups 2023-05-24 05:41:42 -06:00
Hsiao-Wei Wang e9cc8dcc05
PR feedback of Danny + verify `MAX_BLOBS_PER_BLOCK` size in unittest 2023-05-24 16:32:39 +08:00
Hsiao-Wei Wang f0a4281afd
Add tests. Add validation in the p2p beacon block gossiping 2023-05-24 16:11:32 +08:00
Hsiao-Wei Wang 57378c87d3
Update fork constants 2023-05-24 12:13:41 +08:00
Hsiao-Wei Wang 212a314287
Fix ToC and remove `validate_blobs_and_kzg_commitments` 2023-05-24 11:27:26 +08:00
Hsiao-Wei Wang 6b5513b43a
Merge branch 'dev' into engine-versioned-hashes 2023-05-24 11:19:56 +08:00
Hsiao-Wei Wang 289d8147be
Move `verify_and_notify_new_payload` to Bellatrix 2023-05-24 11:12:03 +08:00
Hsiao-Wei Wang 738b9818b3
Merge pull request #3375 from ethereum/networking-configs
Add networking configs to config files
2023-05-24 10:38:35 +08:00
Hsiao-Wei Wang d018635c96
Merge pull request #3350 from ethereum/remove-is_execution_enabled
Remove `is_execution_enabled` condition since Capella
2023-05-24 10:36:34 +08:00
Danny Ryan 1f75acadd9
Update VERSION.txt to 1.4.0-alpha.0 2023-05-23 14:10:35 -06:00
Hsiao-Wei Wang 48618fe866
Fix tests 2023-05-24 00:08:45 +08:00
Hsiao-Wei Wang 0754b94948
Merge branch 'dev' into remove-is_execution_enabled 2023-05-24 00:01:23 +08:00
Hsiao-Wei Wang 2192882faa
Merge pull request #3354 from g11tech/kzg-big-endian
Update the endianness of the polynomial commitments to be big endian
2023-05-23 23:43:19 +08:00
Hsiao-Wei Wang 73df1935b1
Use `verify_and_notify_new_payload` approach 2023-05-23 23:37:42 +08:00
Hsiao-Wei Wang bee8fa16e5
Add test_invalid_correct_input__execution_invalid 2023-05-23 18:34:00 +08:00
Hsiao-Wei Wang fc45220a7d
Move old Deneb sanity tests to block_processing (operations) tests 2023-05-23 15:41:44 +08:00
Hsiao-Wei Wang 2eab6bfdaa
Merge branch 'dev' into engine-versioned-hashes 2023-05-23 15:21:00 +08:00
djrtwo 3550821577 Merge remote-tracking branch 'origin' into att-slot-range 2023-05-22 08:06:57 -06:00
Hsiao-Wei Wang d4483e4ca7
Merge branch 'dev' into eip7002 2023-05-20 01:38:08 +08:00
Hsiao-Wei Wang 8ecf89a2eb
Apply PR feedback from @djrtwo and add more tests 2023-05-20 01:37:50 +08:00
Hsiao-Wei Wang 92324ca845
Remove `is_merge_transition_complete` check from Capella 2023-05-20 01:14:10 +08:00
Hsiao-Wei Wang 32036d84a3
Fix tests 2023-05-20 00:01:44 +08:00
Hsiao-Wei Wang f87e1436bf
Add networking configs to config files 2023-05-19 22:39:18 +08:00
George Kadianakis a7f8659725 KZG test vector format also uses big endian now 2023-05-19 17:17:24 +03:00
djrtwo 6679b8a1ae attslotrange -> eip-7045 2023-05-18 10:49:57 -06:00
Hsiao-Wei Wang e18e9743ed
Merge pull request #3347 from ethereum/testgen-refactor
Multiprocessing testgen runner
2023-05-18 23:03:17 +08:00
djrtwo ee32e2a31f make tests generic across forks 2023-05-17 11:53:25 -06:00
Hsiao-Wei Wang 0b2f604f86
Fix tests 2023-05-17 00:24:49 +08:00
Hsiao-Wei Wang fe9c1a8cbf
Merge pull request #3356 from ethereum/deneb-tests
Add `test_zeroed_commitment` test case
2023-05-16 21:25:40 +08:00
Hsiao-Wei Wang bb38c56ddd
Fix `dump_kzg_trusted_setup_files`. Use Fastest BLS lib (#3358) 2023-05-16 15:07:21 +03:00
djrtwo 5889668403 lint 2023-05-15 12:13:20 -06:00
djrtwo 3e2d9a755a disable some attestation tests for attslotrange 2023-05-15 11:57:13 -06:00
djrtwo bce45c5671 working through att slot range fix 2023-05-15 11:35:29 -06:00
Hsiao-Wei Wang 058137327a
Use new `engine_newPayloadV3` 2023-05-16 00:28:49 +08:00
Hsiao-Wei Wang a11cc094ee
Update `ExecutionLayerExit` fields: replace `validator_index` with `validator_pubkey` 2023-05-15 20:07:11 +08:00
Hsiao-Wei Wang eea04704d4
Fix tests 2023-05-15 17:16:41 +08:00
Hsiao-Wei Wang 847553783b
Add `test_zeroed_commitment` 2023-05-15 17:11:50 +08:00
Hsiao-Wei Wang f7352d18cf
Merge pull request #3341 from ethereum/add-GetPayloadResponse
Add `GetPayloadResponse` dataclass for `get_payload` API
2023-05-10 23:33:57 +08:00
Hsiao-Wei Wang 74596190e7
Fix tests 2023-05-10 22:26:55 +08:00
Danny Ryan 363209d650
Merge pull request #3312 from AgeManning/attnets-revamp
Attnet revamp: Subnet backbone structure based on beacon nodes
2023-05-10 08:22:02 -06:00
Hsiao-Wei Wang 34693f2db6
Add basic tests 2023-05-10 21:28:57 +08:00
Hsiao-Wei Wang 0f5ac1186e
Remove `is_execution_enabled` condition since Capella 2023-05-10 03:01:20 +08:00
Hsiao-Wei Wang 1008714e54
Add `settings.py` of testgen 2023-05-09 21:49:41 +08:00
Hsiao-Wei Wang d4be8f14c2
Merge branch 'dev' into testgen-refactor 2023-05-09 21:42:26 +08:00
Hsiao-Wei Wang 1c424d76ed
Merge pull request #3340 from ethereum/deneb-tests
Deneb refactoring and new tests
2023-05-09 21:40:57 +08:00
Hsiao-Wei Wang 5e2a18a319
Fix `test_randomized_state` and `test_randomized_state_leaking` 2023-05-06 21:38:03 +08:00
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