22 Commits

Author SHA1 Message Date
Etan Kissling
30bed615ff Add missing mod 2024-11-28 13:06:19 +01:00
Etan Kissling
12401a5be5 Move fork tests to origin rather than destination to fix issues 2024-11-28 13:02:12 +01:00
Etan Kissling
531a0b0886 Fix module list 2024-11-27 15:43:26 +01:00
Etan Kissling
24dffad1af Link tests with generator 2024-11-27 14:28:19 +01:00
Etan Kissling
0e29f208ec Merge branch 'dev' into lc-canonical 2024-11-27 13:15:19 +01:00
Justin Traglia
b6259a9fd7 Revert "Move bellatrix/capella tests into respective dirs"
This reverts commit aff4e34835.
2024-11-22 10:59:05 -06:00
Justin Traglia
aff4e34835 Move bellatrix/capella tests into respective dirs 2024-11-22 10:43:05 -06:00
Justin Traglia
179cde6780 Add new check_mods function for generators (#3970)
* Add new check_mods function for generators

* Use single qoutes for consistency

* Add [ERROR] to the exception & update readme

* Fix typos

* Fix lint
2024-10-14 23:42:57 +08:00
Etan Kissling
bacba3411a Merge branch 'dev' into lc-canonical 2024-09-21 08:19:13 +02:00
Justin Traglia
ea90d6f27d Fix test vector generators to work with Python 3.12 2024-09-17 14:56:59 -05:00
Etan Kissling
2035a9fcad Update light client specifications for Electra
Electra introduces two changes that affect light client data handling:

1. The `ExecutionPayloadHeader` is extended with new fields.
   This is handled similarly as before with the Deneb fork.

2. The `BeaconState` generalized indices change due to lack of EIP-6493.
   This is handled by making the generalized index be fork dependent via
   a helper function that computes it dynamically. Furthermore, the case
   where pre-Electra light client data is consumed by an Electra based
   `LightClientStore` requires normalizing the shorter proof of the
   pre-Electra data to fit into the Electra data structure by prepending
   a zero hash.
2024-06-21 11:33:52 +02:00
Etan Kissling
be2984156b Add canonical data collection test infrastructure 2024-02-06 13:00:17 +01:00
Hsiao-Wei Wang
dde9301610 fix lint 2023-06-02 00:15:45 +08:00
Hsiao-Wei Wang
e1a55238f2 Delete eip6110_mods 2023-06-02 00:06:47 +08:00
Mikhail Kalinin
0230c643b0 Fix EIP6110 import in generators 2023-04-11 21:29:30 +06:00
Mikhail Kalinin
09e5fc7ebe Add eip6110 to generators 2023-04-11 13:42:16 +06:00
Paul Harris
317facbd64 Replaced EIP4844 references with Deneb
Fixes #3207
2023-01-23 15:08:34 +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
Hsiao-Wei Wang
2a40b513cb Add EIP4844 testgen 2022-11-18 03:20:22 +08:00
Hsiao-Wei Wang
03ced9c263 Add Capella tests 2022-10-14 23:40:45 -05: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
30d635259b Move test files to light_client subdir 2022-07-15 21:36:26 +02:00