Commit Graph

4414 Commits

Author SHA1 Message Date
Etan Kissling e8e9ce1aab
introduce types for LC merkle proofs (#3808)
Merkle proofs tend to have long underlying type definitions, e.g.,
`array[log2trunc(NEXT_SYNC_COMMITTEE_INDEX), Eth2Digest]`. For the
ones used in the LC sync protocol, dedicated types are introduced
to improve readability. Furthermore, the `CachedLightClientBootstrap`
wrapper that solely wrapped a merkle branch is eliminated.
2022-06-28 07:52:23 +02:00
tersec fd2040ae04
increase Jenkins git timeout to 15 minutes (#3813) 2022-06-27 23:44:26 +00:00
tersec 5145c04be2
Revert "Switch back to nim-websock (#3665)" (#3812)
This reverts commit 8d3afd8285.
2022-06-27 22:21:30 +00:00
tersec 8de316ff73
use eth_chainId instead of net_version (#3804)
* use eth_chainId instead of net_version

* Update beacon_chain/eth1/eth1_monitor.nim

Co-authored-by: Etan Kissling <etan@status.im>

* fix logging for Quantity types

Co-authored-by: Etan Kissling <etan@status.im>
2022-06-27 15:02:12 +00:00
Jacek Sieka 8b6f05a146
vc: initial documentation (#3798)
* vc: initial documentation

bare-bones, but enough to get started

* fixup

* Apply suggestions from code review

* remove prater, link upgrade

* reword
2022-06-27 17:24:55 +03:00
Etan Kissling 91d543440a
add option to configure max historic LC data periods (#3799)
Adds a `--light-client-data-max-periods` option to override the number
of sync committee periods to retain light client data.
Raising it above the default enables archive nodes to serve full data.
Lowering below the default speeds up import times (still no persistence)
2022-06-27 13:24:38 +02:00
zah b318a74d83
Add support for launching Geth and Nimbus-eth1 nodes in launch_local_testnet (#3790)
* Add support for launching Geth and Nimbus-eth1 nodes in launch_local_simulation

* Prevent undefined variables errors when Nimbus and Geth are not launched

Co-authored-by: Nikolay Mitev <github@hmel.org>
2022-06-27 11:34:12 +03:00
Etan Kissling 07f9936b33
bump nim-ssz-serialization to `f1b14875792df7b1e76c98c9ee669026d7cfe6bb` (#3802)
Update nim-ssz-serialization to get rid of a style check warning.
2022-06-26 23:17:40 +00:00
tersec c02c383b91
bump nim-web3 so default payload status is safe (#3801) 2022-06-26 18:31:32 +00:00
Etan Kissling aa1b8e4a17
bump nim-ssz-serialization to `3db6cc0f282708aca6c290914488edd832971d61` (#3119)
This updates `nim-ssz-serialization` to
`3db6cc0f282708aca6c290914488edd832971d61`.

Notable changes:
- Use `uint64` for `GeneralizedIndex`
- Add support for building merkle multiproofs
2022-06-26 19:33:06 +02:00
Jacek Sieka b764f4f0d7
bump bearssl (#3797)
cross compile path fix
2022-06-24 22:45:26 +00:00
Etan Kissling 2e98c7722f
encapsulate LC data variables into single structure (#3777)
Combines the LC data configuration options (serve / importMode), the
callbacks (finality / optimistic LC update) as well as the cache storing
light client data, into a new `LightClientDataStore` structure.
Also moves the structure into a light client specific file.
2022-06-24 16:57:50 +02:00
Tanguy c45c017349
Bump libp2p to fix write on closed channel (#3795) 2022-06-24 12:52:10 +00:00
Ivan Yonchovski d701887a9f
Bump libbacktrace (#3794) 2022-06-24 07:04:29 +02:00
Mamy Ratsimbazafy e25cfe56a6
bump blst fix 32-bit builds on ADX CPUs (#3789) 2022-06-23 16:45:43 +02:00
Jacek Sieka 369d696ee7
fix action tracker validator decay (#3792)
Validators were staying around 32x as long as they should - the effect
is minimal because it's rare validators disappear, but still..
2022-06-23 14:08:13 +02:00
Eugene Kabanov beaf05b8d1
Fix assertion crash in pollForSyncCommitteeDuties() because forks schedule is not available yet. (#3791)
Fix syncCommitteeeDutiesLoop() not being restarted on crash.
2022-06-23 03:59:37 +00:00
tersec 4908ba7c13
use JWT when and only when the user specifies a JWT secret explicitly (#3786) 2022-06-22 18:44:00 +03:00
tersec 4bb42eea7d
bump nim-web3 for eth_chainId support (#3785) 2022-06-21 21:09:29 +00:00
tersec 56cd6e2b45
rm unused imports and fix stylecheck issues (#3784) 2022-06-21 21:01:45 +02:00
Tanguy 8d3afd8285
Switch back to nim-websock (#3665) 2022-06-21 17:43:55 +02:00
Jacek Sieka f3852cc4cd
sqlite: bump (#3783)
new nimterop
2022-06-21 15:56:48 +02:00
Jacek Sieka 1e213567fe
lock down mdbook version 2022-06-21 10:31:34 +02:00
Jacek Sieka 347a485b5b
bearssl: split abi (#3755) 2022-06-21 10:29:16 +02:00
Zahary Karadjov f5ded5590e
Add the urgency guidelines automatically to each release 2022-06-21 00:08:42 +03:00
Zahary Karadjov 61d5eda6e6
Correct a typo in the release notes 2022-06-21 00:06:40 +03:00
tersec 7e61198260
fix merge test scripts (#3781) 2022-06-20 18:03:57 +00:00
Zahary Karadjov 88532c6177
Version 22.6.0 2022-06-20 17:25:34 +03:00
Eugene Kabanov eb6b7affee
Add the `execution_optimistic` flag to REST API responses. (#3780)
* Initial commit

* Make `events` API spec compliant.

* Add `Eth-Consensus-Version` in responses.

* Bump chronos to get redirect with headers working.

* Add `is_optimistic` field and handling to syncing RestSyncInfo.
2022-06-20 08:53:39 +03:00
zah c24c737866
Fix #3650 (participation format in BeaconState result is out of spec) (#3776)
* Fix #3650 (participation format in BeaconState result is out of spec)
* Make EpochParticipationFlags a distinct type
2022-06-20 08:38:56 +03:00
Etan Kissling 9dcbc44fc8
fix `--light-clients` option in `launch_local_testnet` (#3779)
`launch_local_testnet` was not recognizing `--light-clients` correctly.
2022-06-19 20:56:34 +03:00
zah 5402dfab6b
Correct URLs for the DeleteKeys request in the Keymanager API (#3727)
Other changes:

* Make it easier to run the REST tests locally through a Makefile target
2022-06-19 20:54:12 +03:00
Jacek Sieka b3caacd59d
Doc updates (#3771)
* Doc updates

* initial merge guide
* mark JSON-RPC as removed
* expand on binaries
* recommend `-j4` when building
* cleanups

* style fixes
2022-06-19 10:24:01 +03:00
Eugene Kabanov c4383e21f4
Fix #3760. (#3768)
* Address #3760.

Add test vectors for deserialization.
2022-06-19 09:08:21 +03:00
Etan Kissling 61ee0611bb
adopt LC REST API with v0 suffix (without proofs) (#3775)
* adopt LC REST API with v0 suffix (without proofs)

Adopts the light client data REST API used by Lodestar as defined in
https://github.com/ethereum/beacon-APIs/pull/181 with a v0 suffix.

Requests:
- `/eth/v0/beacon/light_client/bootstrap/{block_root}`
- `/eth/v0/beacon/light_client/updates?start_period={start_period}&count={count}`
- `/eth/v0/beacon/light_client/finality_update`
- `/eth/v0/beacon/light_client/optimistic_update`

HTTP Server-Sent Events (SSE):
- `light_client_finality_update_v0`
- `light_client_optimistic_update_v0`

More work is needed to adopt the proofs endpoint, it is not included.

* initialize event queues

* register event topics
2022-06-19 08:57:52 +03:00
Etan Kissling 5439978a37
only process deposits if merkleizer available (#3774)
`m.depositsChain.blocks.len` may change during `startEth1Syncing`. If
that happened, an additional check now ensures that `scratchMerkleizer`
was initialized before attempting to use it.
2022-06-19 08:54:35 +03:00
Etan Kissling afcc5c2ea0
track LC data section that imported without errors (#3753)
If database access errors are encountered while proccessing LC data,
track the section which was accessed without errors so that the rest
may be attempted to be re-indexed later.
2022-06-19 08:53:10 +03:00
tersec 2c623e5f92
don't try to fcU on pre-merge bellatrix blocks (#3773) 2022-06-18 13:39:21 +03:00
tersec cbb0b8142f
include capella fork version in fork consistency check (#3772)
* include capella fork version in fork consistency check

* Update tests/test_conf.nim

Co-authored-by: Etan Kissling <etan@status.im>

Co-authored-by: Etan Kissling <etan@status.im>
2022-06-18 10:05:33 +00:00
tersec 8eb5d5de09
use ZERO_HASH for default(Eth2Digest)/Eth2Digest() in func calls (#3770) 2022-06-18 04:57:37 +00:00
Jacek Sieka c48ea3cdc8
book updates (#3763)
* systemd: use same service file as package
* systemd: recommend setting up a user
* clean up obsolete / ephemeral notes
* eth1 -> execution, in many places
* clean up docker instructions to match the experience of running the
runner script
* add basic instructions / links for execution clients other than geth
* clear a few more references to JSON-RPC, update to REST
* update hardware requirements with execution client extras
* start talking about merge requirements (this needs a dedicated page)
* note that binaries do exist, where relevant
* list gitcoin under donations
* update syncing docs
* `NOT` is for `NOTICE` in logs
* update rpi hardware recommendations
* prevent automatic doppelganger restarts in systemd service file
2022-06-17 18:28:13 +03:00
Eugene Kabanov 5e7b28cd66
AsyncEventBus missing attestations fix. (#3664) 2022-06-17 18:27:28 +03:00
tersec b0e46686f1
bump merge-testnets to use capella fork versions consistently (#3767) 2022-06-17 17:17:09 +03:00
tersec d41c2a293b
rewrite merge sync (#3759) 2022-06-17 17:16:03 +03:00
zah 69f505e2ba
Correct parsing of the `weak-subjectivity-checkpoint` parameter (#3765) 2022-06-17 14:55:03 +03:00
dependabot[bot] d19204ff43
Bump notebook from 6.4.10 to 6.4.12 in /ncli (#3769)
Bumps [notebook](http://jupyter.org) from 6.4.10 to 6.4.12.

---
updated-dependencies:
- dependency-name: notebook
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-17 10:20:33 +00:00
tersec 2924ed9604
remove some usage of calls not required by engine API (#3761) 2022-06-17 06:32:52 +00:00
tersec 0a8589986a
Use .tar.gz consistently in Jenkinsfile (#3764)
* Restore bz2 Jenkisn artifact archiving

* use gz, but consistently
2022-06-16 20:43:12 +00:00
Etan Kissling 21b69d5901
avoid small gaps in optimistic block stream (#3749)
Ensures that all intermediate blocks are reported if a small gap is
encountered when downloading optimistic blocks. Gaps may occur when
a block is missed and still downloading, or when EL processing is slow.
If the gap exceeds 1 epoch, optimistic block stream jumps to latest.
2022-06-16 15:24:08 +00:00
zah e8efc0f184
Add support for the Sepolia network (#3762) 2022-06-16 17:11:26 +03:00