Commit Graph

97 Commits

Author SHA1 Message Date
Mikhail Kalinin ecb4c2aa9c
eip7251: Fix partial withdrawals count (#3943) 2024-09-30 16:21:14 -05:00
Etan Kissling 460d46ddcd
Merge branch 'dev' into lc-electra 2024-07-17 13:30:30 +02:00
Etan Kissling 63433ec847
Use separate constant names for post-Electra gindices 2024-07-09 20:15:31 +02:00
Etan Kissling b4f44caef3
Fix EL block hash computation for Deneb
The parent beacon block hash was incorrectly set to zero in #3778.
Passing the state to the computation function allows correct hash
computation.
2024-07-02 16:26:04 +02:00
Hsiao-Wei Wang c70bcba878
Fix rng of tests 2024-04-27 14:49:49 +08:00
Hsiao-Wei Wang b290ec7d0c
fix `test_top_up_and_partial_withdrawable_validator`: set different expected value for post-electra 2024-04-17 18:44:01 +08:00
Alex Stokes 034909ddb6
Merge in EIP-7251 tests to Electra 2024-04-15 20:10:14 -06:00
Alex Stokes 0027762619
fix deposit test 2024-04-15 15:26:02 -06:00
Alex Stokes 163f287d6e
Fix prior tests with new EIP-7251 logic 2024-04-08 13:19:05 -06:00
Etan Kissling 82143e1977
Also bump `EXECUTION_PAYLOAD_GINDEX` 2024-01-15 12:48:22 +01:00
Hsiao-Wei Wang 0e4737eba2
Add a general `compute_merkle_proof` helper to replace container-specific helpers 2023-10-30 14:44:32 +08:00
Hsiao-Wei Wang 6b5513b43a
Merge branch 'dev' into engine-versioned-hashes 2023-05-24 11:19:56 +08:00
Hsiao-Wei Wang 48618fe866
Fix tests 2023-05-24 00:08:45 +08:00
Hsiao-Wei Wang 0b2f604f86
Fix tests 2023-05-17 00:24:49 +08:00
Hsiao-Wei Wang 0f5ac1186e
Remove `is_execution_enabled` condition since Capella 2023-05-10 03:01:20 +08:00
djrtwo dff740752b add deposit+bls_change test 2023-02-20 10:07:24 -07: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 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
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
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
djrtwo d4eaf4bff4 add invalid test for BLSChange genesis_validators_root 2023-01-13 08:07:21 -07:00
Etan Kissling 82d6267951
Merge branch 'dev' into lc-eph 2023-01-12 18:44:54 +01: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 53a95f0007
Merge branch 'dev' into lc-eph 2023-01-10 13:43:15 +01:00
Hsiao-Wei Wang 8b14345143
Fix test file name 2023-01-07 01:49:23 +08:00
Etan Kissling 375436094c
Merge branch 'dev' into lc-eph 2023-01-05 13:53:29 +01:00
Hsiao-Wei Wang dba75eece9
Enable Capella feature in eip4844 fork
Fix lint
2023-01-04 01:40:46 +08: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
Etan Kissling 02abdc311f
Merge branch 'dev' into lc-eph 2022-12-13 15:33:28 +01: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 3bfac0e16e
Merge branch 'lc-toheader' into lc-eph 2022-12-13 12:31:12 +01:00
Etan Kissling af785068d8
Merge branch 'el-rlp' into lc-eph 2022-12-13 12:27:59 +01: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 478b437b05
lint 2022-12-12 08:25:31 -07: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
Alex Stokes 37e504e784
bound the maximum number of validators considered for withdrawals per sweep 2022-12-09 10:51:25 -07: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
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