1321 Commits

Author SHA1 Message Date
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