Commit Graph

159 Commits

Author SHA1 Message Date
Etan Kissling
8ad6810a44 EIP4844 support (excess_data_gas), fork tests nyi 2022-12-12 13:11:49 +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
4f32fd95d6 Enable EIP4844 lint and fix Pylint 2022-11-28 20:01:50 +08: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
Hsiao-Wei Wang
b90436c988 Fix capella random & fork 2022-10-14 23:42:42 -05:00
Hsiao-Wei Wang
44424c4080 Bump dep packages version and fix lint issues 2022-09-28 12:38:21 +08:00
Etan Kissling
c9f0927d8b Merge branch 'dev' into lc-testsuite 2022-07-17 06:34:52 +02:00
Etan Kissling
c6cd35aea4 Tabs --> Spaces 2022-07-15 14:05:45 +02:00
Etan Kissling
e75e35fad1 Update make check_toc list 2022-07-15 14:03:18 +02:00
George Kadianakis
567a25f883 EIP-4844: Make the spec executable
- Implement all the required glue code to make things executable
- Implement a dummy KZG trusted setup

Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-07-13 13:14:05 +03:00
Hsiao-Wei Wang
55202a4f00 Use the correct TEST_REPORT_DIR 2022-07-04 23:06:42 +08:00
Danny Ryan
656e6aef21 Merge pull request #2836 from ethereum/withdrawals-push
Withdrawals push
2022-03-24 10:08:29 -06:00
Justin Traglia
4c89fdb9b9 Fix indententation for one line in the Makefile
Real minor fix. Rule lines should start with a single tab, not spaces. Vim
clearly pointed this out by marking the entire line as red.
2022-03-22 15:05:56 -05:00
Danny Ryan
b469593219 toc 2022-03-22 08:22:35 -06:00
Danny Ryan
c10d219664 Merge branch 'dev' into withdrawals-push 2022-03-22 08:11:09 -06:00
protolambda
8ec4773339 EIP-4844: consensus layer changes 2022-03-10 06:52:27 +01:00
Danny Ryan
2026103bb9 Merge branch 'dev' into withdrawals-push 2022-02-23 15:08:29 -07:00
Alex Stokes
fd27d93898 add pylint to catch unused args 2022-01-13 11:27:11 -08:00
Hsiao-Wei Wang
3b474eb2fe Add capella to test coverage report target 2021-12-27 18:32:19 +08:00
Hsiao-Wei Wang
171a9ccc81 Resolve conflicts 2021-12-27 18:30:12 +08:00
Hsiao-Wei Wang
8facc0a095 Merge -> Bellatrix 2021-12-23 14:25:43 +08:00
Danny Ryan
4f24fe455b basic capella withdrawal in place 2021-12-01 11:37:30 -07:00
Hsiao-Wei Wang
257173fc9e Add The Merge spec to coverage report targets 2021-11-16 12:35:57 +08:00
Hsiao-Wei Wang
2f6e817f3d Set CI job for each fork 2021-10-18 18:30:33 +08:00
Etan Kissling
559ca86e2a "is build" -> "is built" typo
Corrects a typo in a Makefile comment.
2021-09-10 16:56:27 +02:00
Hsiao-Wei Wang
3be3643bcb Rename eth2.0-spec-tests to consensus-spec-tests 2021-08-19 20:09:15 +08:00
Hsiao-Wei Wang
715e450e0b Generate coverage report on minimal config spec by default 2021-05-26 00:18:59 +08:00
protolambda
fb82472b46 update test generators 2021-05-18 18:48:58 +02:00
protolambda
0894125bf7 update test util 2021-05-18 13:59:26 +02:00
Diederik Loerakker
1c8f56c84b Fix indentation of comment
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2021-04-22 02:35:54 +02:00
protolambda
c99d72d541 update pyspec dev usage docs, improve makefile 2021-04-21 03:28:22 +02:00
Hsiao-Wei Wang
6e8b4b3ea9 Add eth2spec.merge.spec 2021-04-08 05:57:16 +08:00
protolambda
07b7774241 misc. phase1 modules refactor updates 2021-03-30 01:46:02 +02:00
protolambda
0c94be4204 clean up more phase1 test references 2021-03-27 00:14:32 +01:00
protolambda
a6c01f8212 no phase1 in tests, per-feature testing now, executable specs will be re-enabled per feature 2021-03-26 23:21:36 +01:00
protolambda
6d2d8cb982 toc updates 2021-03-26 22:37:32 +01:00
Hsiao-Wei Wang
f360a9823f Add Makefile commands detect_generator_error_log and detect_generator_incomplete 2021-03-17 02:45:52 +08:00
Hsiao-Wei Wang
a2268a432c Fix missing --cov-report 2021-03-15 19:20:36 +08:00
Hsiao-Wei Wang
b44e576e95 LIGHTCLIENT_PATCH/HF1 -> ALTAIR 2021-03-11 21:32:00 +08:00
Hsiao-Wei Wang
844c879f1c Bump py_ecc and milagro_bls_binding (#2169)
* Bump py_ecc to v5.1.0 and milagro_bls_binding to v1.6.2

* python3.8 -> python3 for py39 compatibility

* fix

* Try python:3.9

* Revert: using Python3.8 in CI now
2021-01-05 21:00:52 +08:00
Hsiao-Wei Wang
acfe49e3f3 executable light client patch: beacon-chain.md (#2141)
* Bump remerkleable to 0.1.18

* Disable `sync-protocol.md` for now. Make linter pass

* Enable lightclient tests

* Use *new* `optional_fast_aggregate_verify`

* Fix ToC and codespell

* Do not run phase1 tests with Lightclient patch

* Fix the Eth1Data casting bug. Add a workaround.

* Fix `run_on_attestation` testing helper

* Revert

* Rename `optional_fast_aggregate_verify` to `eth2_fast_aggregate_verify`

* Apply Proto's suggestion

* Apply Danny's suggestion

* Fixing tests

* Fix after rebasing

* Rename `LIGHTCLIENT` -> `LIGHTCLIENT_PATCH`

* New doctoc

* Add lightclient patch configs

* fix gitignore light client patch generator output

* Upgrade state for light client patch

* Add `lightclient-fork.md` to deal the fork boundary and fix
`process_block_header`

* Misc cleanups

1) Add a summary note for every function that is changed.
2) Avoid changing `process_block` (instead only change `process_block_header`).
3) Rename `G2_INFINITY_POINT_SIG` to `G2_POINT_AT_INFINITY` to avoid `SIG` contraction.
4) Misc cleanups

* Update block.py

* Update beacon-chain.md

* Fix typo "minimal" -> "mainnet"

Co-authored-by: Marin Petrunić <mpetrunic@users.noreply.github.com>

* Use the new `BeaconBlockHeader` instead of phase 0 version

* Update config files

* Move `sync_committee_bits` and `sync_committee_signature` back to `BeaconBlockBody`

Co-authored-by: protolambda <proto@protolambda.com>
Co-authored-by: Justin <drakefjustin@gmail.com>
Co-authored-by: Marin Petrunić <mpetrunic@users.noreply.github.com>
2020-12-15 13:18:20 +08:00
Hsiao-Wei Wang
4df3547edf Make lightclient patch pass the linter (#2133)
* Make `lightclient` an executable patch fork

* fix conflicts

* Fix ToC

* Lightclient -> Light client

* Try protolambda/remerkleable#8

* Fix sync-protocol.md ToC

* Build lightclient/sync-protocol

* Fix typo

Co-authored-by: vbuterin <v@buterin.com>

Co-authored-by: vbuterin <v@buterin.com>
2020-11-17 10:41:26 +08:00
Hsiao-Wei Wang
20bd00cef0 Add make lint_generators linter check for test generators 2020-09-15 11:19:50 +08:00
Hsiao-Wei Wang
adf8698778 Update the docs and remove unused code 2020-08-18 00:58:08 +08:00
Hsiao-Wei Wang
094dd1470f Cleaning 2020-08-18 00:35:50 +08:00
Hsiao-Wei Wang
377b2e3f83 Clean up the CI workflow, enable web3.py tests 2020-08-18 00:27:23 +08:00
Hsiao-Wei Wang
80fb126401 WIP: add solidity deposit contract CI workflow
Export `DAPP_LIB`

Fix .gitmodules

update CI solc version

Kick cache

Make metadata remain the same
2020-08-17 23:37:33 +08:00
Hsiao-Wei Wang
819bb6d21d Use Milagro BLS in CI 2020-07-24 02:00:52 +08:00
Hsiao-Wei Wang
5171a91dfb Fix path 2020-06-18 19:03:40 +08:00
Hsiao-Wei Wang
51e7969147 Set linter configs in linter.ini 2020-06-18 14:36:14 +08:00