Commit Graph

212 Commits

Author SHA1 Message Date
Etan Kissling 78d336e28d
Describe light client sync process
Provides documentation about the process that a light client may use to
sync a local `LightClientStore`.
2022-07-22 17:12:57 +02:00
Etan Kissling c9f0927d8b
Merge branch 'dev' into lc-testsuite 2022-07-17 06:34:52 +02:00
Etan Kissling 9d41c2306f
Align format of override `config.yaml` with base cfg 2022-07-15 21:37:18 +02:00
Hsiao-Wei Wang 185f51ec0e
Merge branch 'dev' into pr2937 2022-07-16 01:40:39 +08:00
Hsiao-Wei Wang 4176781123
PR feedback from @djrtwo 2022-07-15 23:37:32 +08:00
Danny Ryan d49c98c7aa
Merge pull request #2926 from ralexstokes/spec-diagnostis
Add summary diagnostics to spec test gen
2022-07-15 09:01:32 -06:00
Etan Kissling 88206117c6
Extract full node specifics to separate doc 2022-07-15 13:37:27 +02:00
Etan Kissling d06f44ef55
Move `sync-protocol.md` into `light-client` subdir 2022-07-15 13:22:14 +02:00
Etan Kissling 95c07575b1
Hide `build_proof` and `get_backing` from spec 2022-07-15 11:54:47 +02:00
Etan Kissling 86fe93ca96
Add functions for deriving light client data
Adds `create_light_client_bootstrap` and `create_light_client_update`
functions as a reference implementation for serving light client data.
This also enables a new test harness to verify that light client data
gets applied to a `LightClientStore` as expected.
2022-07-14 09:36:09 +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
Etan Kissling 654970c605
Add `LightClientBootstrap`
Introduces a new `LightClientBootstrap` structure to allow setting up a
`LightClientStore` with the initial sync committee and block header from
a user-configured trusted block root.

This leads to new cases where the `LightClientStore` is only aware of
the current but not the next sync committee. As a side effect of these
new cases, the store's `finalized_header` may now  advance into the next
sync committee period before a corresponding `LightClientUpdate` with
the new sync committee is obtained, improving responsiveness.

Note that so far, `LightClientUpdate.attested_header.slot` needed to be
newer than `LightClientStore.finalized_header.slot`. However, it is now
necessary to also consider certain older updates to try and backfill the
`next_sync_committee`. The `is_better_update` helper is also updated to
improve `best_valid_update` tracking.
2022-07-12 07:27:00 +02:00
Hsiao-Wei Wang 4b5a4ad51f
Include Bellatrix p2p interface specs into pyspec 2022-06-30 22:12:09 +08:00
Alex Stokes 529ce301b8
write test generator diagnostics to a summary file 2022-06-29 12:09:56 -06:00
ChihChengLiang 87991c8fa2 bump milagro bls version 2022-05-14 19:47:46 +02:00
Danny Ryan c10d219664
Merge branch 'dev' into withdrawals-push 2022-03-22 08:11:09 -06:00
Danny Ryan 255e942f64
add validator and fork-choice mods for withdrawals in capella 2022-03-16 12:01:42 -06:00
Mikhail Kalinin 84ab086d94 Add safe_block_hash to notify_fc_updated 2022-03-14 19:09:21 +06:00
Hsiao-Wei Wang eef2dbb2b6 Ensure that the SSZ classes are ordered 2022-02-25 01:22:02 +08:00
Danny Ryan 2026103bb9
Merge branch 'dev' into withdrawals-push 2022-02-23 15:08:29 -07:00
Mikhail Kalinin eb4497fae7 Bellatrix: Rename execute_payload to notify_new_payload 2022-01-27 15:24:53 +06:00
Danny Ryan d5e4828aec
Merge pull request #2770 from sigp/opt-sync-2
Optimistic Sync
2022-01-25 10:26:29 -07:00
Danny Ryan a5b3c91f25
build opimistic sync file and fix a minor lint/typing issue 2022-01-20 09:25:02 -07:00
Alex Stokes 10603b71c0
indicate unused argument in utility function 2022-01-13 11:39:37 -08:00
Alex Stokes fd27d93898
add `pylint` to catch unused args 2022-01-13 11:27:11 -08:00
Jacek Sieka 46bc206740
Add `CONFIG_NAME` to configs
Runtime configurations apply to a certain network and the name of that
network is useful for humans such that they can talk about it.

Some of the existing configs already include a `CONFIG_NAME` toggle -
might as well add it here as well and avoid some confusion - this name
above all becomes useful in the beacon API.

By extension, the `CONFIG_NAME` config will appear in the beacon api as
a result of being defined here.
2021-12-29 13:02:36 +01: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 365b1f46f9
remove unnecessary definitions from CapellaSpecBuilder 2021-12-02 12:33:58 -07:00
Danny Ryan 4f24fe455b
basic capella withdrawal in place 2021-12-01 11:37:30 -07:00
Hsiao-Wei Wang 7de1495a42
Fix lint (#2750) 2021-11-30 06:38:42 -06:00
Hsiao-Wei Wang 79f1f16adf
Clean `PowBlock.difficulty` leftover 2021-11-16 22:08:00 +08:00
Mikhail Kalinin 0ad344bf72 Make notify_forkchoice_updated return payload id value 2021-11-04 15:58:48 +06:00
Alex Stokes 43da796b29
Update setup.py
Reflect changes to max transaction size in #2686.
2021-10-31 06:05:02 -07:00
Hsiao-Wei Wang 5b9652bf93
Merge branch 'dev' into get_pow_block-not-found 2021-10-26 21:37:08 +08:00
Danny Ryan 8a27a7cb5d
remove union type for eecution-payload txs 2021-10-19 15:46:18 -06:00
Danny Ryan 4bf88ba89e
Merge pull request #2683 from ethereum/remove-prepare-payload
remove prepare_payload
2021-10-19 09:41:44 -06:00
Hsiao-Wei Wang 34335e0334
Remove `prepare_payload` leftover 2021-10-19 15:30:49 +08:00
Hsiao-Wei Wang ba582b3e3a
Fix setup.py parser and rename `TBH_ACTIVATION_EPOCH` -> `TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH` 2021-10-19 11:26:53 +08:00
Danny Ryan d5be6b5d68
remove prepare_payload in favor of a unification with notify_forkchoice_updated 2021-10-18 18:12:11 -06:00
Hsiao-Wei Wang cd5cf60deb
Clarify `get_pow_block` block-not-found case 2021-10-18 14:05:40 +08:00
protolambda 7e080c18f7
update remerkleable 2021-10-16 01:15:31 +02:00
Danny Ryan 130b81bf55
remove notify_consensus_validated in accordance with POS_CONSENSUS_VALIDATED removal from eip 3675 2021-10-10 10:47:59 -04:00
Jacek Sieka 38cf59a68c
show where code error happened, on error 2021-10-05 18:01:12 +03:00
Fredrik Svantes 0b808b5c5a
pip no longer invoked by an old script wrapper.
while debugging an error I encountered while running setup.py I also saw pip.main was used to installed packages. installing packages through pip.main (pip.main(["install", RUAMEL_YAML_VERSION])) is not recommended, and will be removed from future versions of pip.

https://github.com/pypa/pip/issues/5599
https://pip.pypa.io/en/latest/user_guide/#using-pip-from-your-program
2021-09-24 16:33:14 +02:00
Danny Ryan 940d6b1cc5
Merge pull request #2613 from mkalinin/execution-engine-update
Update execution engine calls
2021-09-24 05:57:27 -06:00
Fredrik Svantes e0eec44e34
No longer importing "Paragraph"
removed Paragraph from being imported from marko.ext.gfm.elements as it is not being used
2021-09-24 12:45:37 +02:00
Mikhail Kalinin 41e06aec1b Introduce PayloadId type 2021-09-23 15:03:43 +06:00
Mikhail Kalinin 7d577ed422 Introduce ExecutionAddress type 2021-09-23 14:35:55 +06:00
Mikhail Kalinin 7ef938da77 Add notify_ prefix to EE functions sending notifications 2021-09-23 13:37:52 +06:00