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
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
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
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
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
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
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
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
Hsiao-Wei Wang
f8d92c3bd8
Add basic test case
2022-08-24 23:20:31 +08:00
Danny Ryan
efc4d45bbc
bump VERSION.txt
2022-08-18 11:35:39 -06:00
Hsiao-Wei Wang
bafb5870c1
Update tests/core/pyspec/eth2spec/test/bellatrix/block_processing/test_process_deposit.py
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2022-08-19 01:20:53 +08:00
Hsiao-Wei Wang
6c00b48dca
PR feedback from @djrtwo: add `is_before_fork_epoch` and more param combinations
2022-08-19 00:29:56 +08:00
Hsiao-Wei Wang
806a6ad414
Apply suggestions from code review
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2022-08-19 00:03:58 +08:00
Hsiao-Wei Wang
b3ef9b2b3e
Add invalid fork version tests
2022-08-18 22:49:02 +08:00
Danny Ryan
ff6181f8f5
Merge branch 'master' into dev
2022-08-16 09:04:43 -06:00
Hsiao-Wei Wang
d95c45523f
Fix path: the bellatrix-new tests have been moved to altair file
2022-08-16 14:29:56 +08:00
Danny Ryan
91b584eb21
bump VERSION.txt ( #2971 )
2022-08-15 09:11:41 -06:00
Danny Ryan
ccc40e1982
a few more bellatrix tests ( #2962 )
...
* Do not overload index with WithdrawalIndex and ValidatorIndex
* a few more bellatrix tests
* use function from other PR
* fix tests
* Update tests/core/pyspec/eth2spec/test/bellatrix/transition/test_transition.py
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
* refactor to reuse bellatrix transitio ntests for all transitions
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-08-15 07:49:53 -06:00
Danny Ryan
3d785dad7a
pr feedback from @hwwhww
2022-08-03 08:24:32 -06:00
Danny Ryan
7e360240f9
more execution payload tests and cleanup old ones
2022-08-01 11:42:38 -06:00
Hsiao-Wei Wang
176a5d227a
Move `merkle/single_proof` tests to `light_client/single_merkle_proof`
2022-07-22 21:34:09 +08:00
Etan Kissling
8643e28f12
`try_...` --> `process_...`
2022-07-22 11:49:07 +02:00
Etan Kissling
f9d866eb28
Manually trigger `LightClientStore` force updates
...
Replaces `process_slot_for_light_client_store` which force updates the
`LightClientStore` automatically based on `finalized_header` age with
`try_light_client_store_force_update` which may be manually called based
on use case dependent heuristics if light client sync appears stuck.
Not all use cases share the same risk profile.
2022-07-21 16:06:46 +02:00
Hsiao-Wei Wang
1d2ef9f8cb
Merge pull request #2938 from etan-status/lc-testsuite
...
Add functions for deriving light client data
2022-07-20 14:47:05 +08:00
Hsiao-Wei Wang
0f31fcdee4
[Refactor] remove useless `spec` param from `compute_committee_indices`
2022-07-19 22:17:35 +08:00
Etan Kissling
0941114acf
Merge branch 'dev' into lc-testsuite
2022-07-18 18:19:07 +02:00
Hsiao-Wei Wang
a1546fdf4f
Merge branch 'dev' into fix-capella-genesis
2022-07-18 14:48:02 +08:00
Etan Kissling
c9f0927d8b
Merge branch 'dev' into lc-testsuite
2022-07-17 06:34:52 +02:00
Etan Kissling
261c5317e1
Remove genesis check now that Capella is fixed
...
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-07-15 21:40:13 +02:00
Etan Kissling
63816debcc
Merge commit '9c798806355f67a32704a8cd5a98d90deccb8f69' into lc-testsuite
2022-07-15 21:38:18 +02:00
Etan Kissling
9d41c2306f
Align format of override `config.yaml` with base cfg
2022-07-15 21:37:18 +02:00
Etan Kissling
30d635259b
Move test files to `light_client` subdir
2022-07-15 21:36:26 +02:00
Hsiao-Wei Wang
ec7c7c8589
Remove leftover print
2022-07-16 01:41:56 +08:00
Hsiao-Wei Wang
185f51ec0e
Merge branch 'dev' into pr2937
2022-07-16 01:40:39 +08:00
Hsiao-Wei Wang
5356fee282
Fix `test_override_config_fork_epoch`
2022-07-16 01:28:19 +08:00
Hsiao-Wei Wang
400e1e54c1
Fix EIP4844 `create_genesis_state`, `EIP4844_FORK_VERSION`, and `config_fork_epoch_overrides`
...
`config_fork_epoch_overrides`: since Capella and EIP4844 are in parallel, need to check if the field exists
Update `compute_fork_version`
2022-07-16 01:13:25 +08:00
Hsiao-Wei Wang
808f9c7f7f
Use `validate_*` for the valdiation functions that return `None`
2022-07-16 00:54:01 +08:00