7922 Commits

Author SHA1 Message Date
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
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
14fd937046
Fix 2022-12-06 23:21:06 +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
Hsiao-Wei Wang
2a7083d3cd
Merge pull request #3070 from etan-status/lc-blockfuncs
Pass blocks to LC data creation functions
2022-12-06 23:07:53 +08:00
Etan Kissling
f4dafcfebc
Merge branch 'dev' into lc-blockfuncs 2022-12-05 18:38:40 +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
George Kadianakis
23d3aeebba
EIP4844 precompile: Be strict when parsing field elements from network (#3138)
* EIP4844: bytes_to_bls_field() must not accept values >= BLS_MODULUS

bytes_to_bls_field() will be used in the precompile and hence it should error out when provided with malicious inputs.

* EIP4844: Add hash_to_bls_field() for use in compute_challenges()

The previous commit made bytes_to_bls_field() be strict about its inputs. However in compute_challenges() we are
dealing with Fiat-Shamir and hash outputs that could be innocuously higher than the modulus. For this reason we add the
hash_to_bls_field() helper for use in compute_challenges().

* EIP4844: Further use of bytes_to_bls_field() // Fix executable spec

Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-12-01 14:59:00 +02:00
Hsiao-Wei Wang
602f846dc7
Merge pull request #3134 from ethereum/eip4844-lint
Add EIP4844 pylint and Mypy checks
2022-12-01 20:01:48 +08:00
Danny Ryan
9ae59e2c1a
Merge pull request #3146 from timbeiko/patch-1
Clarify that full withdrawals only apply to exited validators
2022-11-30 19:09:41 -07:00
Tim Beiko
aae00a0bf6
Clarify that full withdrawals only apply to exited validators 2022-11-30 16:21:06 -08:00
Hsiao-Wei Wang
b62c9e8779
Merge pull request #3014 from tersec/deprecate-phase0-beacon-blocks-req-resp
deprecate phase 0-only versions of beacon_blocks_by_{range,root}
2022-11-29 22:09:13 +08:00
Hsiao-Wei Wang
edde563b3a
Workaround: ignore Invalid base class "ByteVector" error 2022-11-28 21:06:22 +08:00
Hsiao-Wei Wang
b3a176689d
WIP. Fixing mypy errors 2022-11-28 21:01:41 +08:00
Hsiao-Wei Wang
4f32fd95d6
Enable EIP4844 lint and fix Pylint 2022-11-28 20:01:50 +08:00
Hsiao-Wei Wang
b65f1c21bf
Merge pull request #3131 from potuz/add-capella-p2p-link
Add link to Capella's P2P doc
2022-11-28 16:40:59 +08:00
Potuz
b5a0ff07e0 Add link to Capella's P2P doc 2022-11-24 10:29:46 -03:00
Roberto Bayardo
a1e46d1ae4
EIP4844: Fix return value of compute_challenges (#3129)
Co-authored-by: George Kadianakis <desnacked@riseup.net>
2022-11-24 15:26:02 +02:00
kevaundray
3ec25a8755
Fix docstring for compute_powers and compute_challenges methods (#3130) 2022-11-24 15:11:46 +02: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
Hsiao-Wei Wang
d202f620de
Fix EIP4844 previous_version in tests 2022-11-23 05:10:46 +08:00
Hsiao-Wei Wang
2d99f1b551
Merge pull request #3123 from zilm13/fix/kzg-constant
Fix initialization of VERSIONED_HASH_VERSION_KZG
2022-11-22 18:00:16 +08:00
Dmitrii Shmatko
4e3b700b86 Fix initialization of VERSIONED_HASH_VERSION_KZG 2022-11-22 11:51:10 +04:00
George Kadianakis
3d235740e5
Merge pull request #3120 from xrchz/fix-type-annot
Fix type annotation in verify_aggregate_kzg_proof
2022-11-21 13:30:55 +02: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
Ramana Kumar
19c8f21b63
Fix type annotation in verify_aggregate_kzg_proof 2022-11-19 09:17:11 +00: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
757d320717
Merge pull request #3117 from ethereum/bump-version
bump VERSION.txt
2022-11-18 08:10:52 -07: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
46c0447662
Merge pull request #3110 from ethereum/eip4844-test-vectors
Add EIP4844 to testgen and add more Capella+EIP4844 random fork tests
2022-11-18 17:18:02 +08:00
Danny Ryan
30e975806f
Merge pull request #3108 from realbigsean/validate-blobs-sidecar-in-gossip
Make `validate_blobs_sidecar` a gossip condition
2022-11-17 16:31:14 -07:00