Etan Kissling
e5cda1745f
Run fork test for EIP4844
2023-01-04 19:15:34 +01: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
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
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
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