Commit Graph

56 Commits

Author SHA1 Message Date
Giulio rebuffo
57bcbaa21f
Adds flags to enable/disable backfilling and enable full historical beacon node (#8813)
* Correct naming of hash func in Eth2
* Customizable mode of operation for Caplin
2023-11-22 13:24:35 +01:00
Giulio rebuffo
8d8368091c
Add full support to beacon snapshots (#8665)
This PR adds beacon blocks snapshots for the following chains:

* Mainnet snapshots
* Sepolia snapshots
2023-11-13 14:10:57 +01:00
Alex Sharov
3ac9f493b6
move chainname and snapcfg packages to erigon-lib (#8508) 2023-10-18 13:37:39 +07:00
Giulio rebuffo
d62ef03cad
Added states/fork and states/root to beacon API (#8293)
Added /eth/v1/beacon/states/{state_id}/root and
/eth/v1/beacon/states/{state_id}/fork
2023-09-27 11:15:51 +02:00
Giulio rebuffo
841327e212
BeaconAPI: Implemented /Spec (#8131) 2023-09-05 22:37:18 +02:00
Giulio rebuffo
e7dbc69571
Middleware for Caplin Beacon API (#8103) 2023-08-31 01:18:12 +02:00
a
521f0df55b
Historical block downloader (#8016) 2023-08-16 04:32:40 +02:00
Giulio rebuffo
e3a59ed902
Better caplin logging and logic (#7992) 2023-08-10 22:34:58 +02:00
Giulio rebuffo
443757edbd
Consensus separation for Engine API (Working on Sepolia) (#7945)
This makes the experimental consensus separation functional on sepolia.
2023-07-30 23:35:55 +02:00
a
3ab373787e
[caplin] extracting beacon state interface (#7910)
we need to extract this interface from the struct. 

i need to also break down the interface more, to better show what parts
the caching is used, move some functions from the cache state to the
underlying.


don't merge
2023-07-20 00:20:33 +02:00
Enrique Jose Avila Asapche
bff1e0e901
[Caplin] Added json rpc cl (#7836)
Allows for Caplin to be used with other ELs from aside of Erigon

---------

Co-authored-by: Giulio <giulio.rebuffo@gmail.com>
2023-07-08 16:42:30 +02:00
Andrew Ashikhmin
9f5808b055
Schedule Shapella for Gnosis Chain (#7784)
Schedule the
[Shanghai](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/shanghai.md)/[Capella](https://github.com/ethereum/consensus-specs/tree/dev/specs/capella)
upgrade for Gnosis Chain. The [Gnosis withdrawals
spec](https://github.com/gnosischain/specs/blob/master/execution/withdrawals.md)
documents the difference between Gnosis Chain and Ethereum mainnet.

Refer to https://github.com/gnosischain/specs/pull/10 and
https://github.com/gnosischain/configs/pull/12.
2023-06-22 15:36:07 +02:00
Giulio rebuffo
91dd39a7c1
Added support back for internal cl for testnets and gnosis (#7641) 2023-06-02 20:26:46 +02:00
Alex Sharov
5fb31ae95f
e3: release some e4 parts (#7628) 2023-06-02 10:35:26 +07:00
Giulio rebuffo
faf62a0c11
Caplin: Adding SSZ generics (#7542)
This PR makes the SSZ encodings less demented and more compact/flexible
overall
2023-05-23 20:58:34 +02:00
Giulio rebuffo
10848adb89
Embedded CL specific support to mainnet (#7533) 2023-05-17 15:32:47 +02:00
Andrew Ashikhmin
ea9712f858
Schedule Shapella on Chiado (#7518)
See https://github.com/NethermindEth/nethermind/pull/5160,
https://github.com/NethermindEth/nethermind/pull/5688, and
https://github.com/gnosischain/configs/pull/11
2023-05-16 23:50:09 +02:00
Giulio rebuffo
6f758fd0b9
added chiado and gnosis support to caplin (#7523) 2023-05-16 00:47:20 +02:00
Giulio rebuffo
4cbbe65f31
Resp/Req support for Deneb (#7519) 2023-05-15 20:07:27 +02:00
a
cda14447ad
[caplin] pkg refactor (#7507)
Co-authored-by: Giulio <giulio.rebuffo@gmail.com>
2023-05-13 23:44:07 +02:00
Enrique Jose Avila Asapche
9cf2b42478
[Caplin] Block transition (#7485)
Added process of blob kzg commits for block transition following:

https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/beacon-chain.md#beacon-chain-state-transition-function

#7389
2023-05-13 21:52:49 +02:00
Roberto Bayardo
8356f3a320
use ssz from updated erigon-lib (#7490)
ssz/clonable interfaces have been moved to erigon-lib so they can be
shared with the txpool code there
2023-05-11 12:54:20 +01:00
Enrique Jose Avila Asapche
fbd18516ae
Deneb container changes beacon-chain (#7420)
Adding container changes for Deneb:
https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/beacon-chain.md

Changed to use pointers for BlobSideCar
 
 #7389
2023-05-06 18:50:58 +02:00
Giulio rebuffo
43b09a7f55
Refactor of ssz interface (#7439)
Also added a better way to copy and the hasher
2023-05-05 11:19:24 +02:00
a
9644e6d220
Implement SpecTests in native go, add fork_choice handler (#7422)
a few TODO: remain to make this not a draft

---------

Co-authored-by: Giulio <giulio.rebuffo@gmail.com>
2023-05-02 16:19:22 +02:00
Giulio rebuffo
515aedda7b
Added Caplin Phase 1 (#7290)
* Introduces full beacon validation
* Removes light client
* NOTE: slow on purpose, I want everything to be BLS verified for now.
2023-04-17 18:06:50 +00:00
alex.sharov
cd2c5fe0fd sepolia url fix 2023-04-04 11:42:12 +07:00
Peter Davies
e912ae01d8
cl: Update checkpoint sync endpoints (#7223)
I have replaced the `ethdevops.io` endpoints with `ethpandaops.io`. The
Sepolia endpoint was failing with `no such host` and the checkpoint sync
documentation shows `ethpandaops.io` to be the official source for EF
checkpoint sync endpoints.
2023-03-30 20:59:12 +00:00
Andrew Ashikhmin
4a1c61a031
Schedule mainnet Shapella. Fix BellatrixForkEpoch (#7145)
See https://github.com/ethereum/execution-specs/pull/727. Also,
`BellatrixForkEpoch` should be 144896, not 144869: refer to [the
spec](https://github.com/ethereum/consensus-specs/blob/dev/specs/bellatrix/fork.md).
2023-03-20 12:01:35 +00:00
Giulio rebuffo
36828fbb08
Added tool for processing for all mainnet beacon blocks (#7095) 2023-03-17 12:37:51 +00:00
Giulio rebuffo
dbf1225cb2
Added partial SSZ library (#7083)
Implements SSZ encode/decoding and hashtreeroot for simple list-lacking
data structures. does not account offset case.
2023-03-12 14:41:53 +00:00
Giulio rebuffo
e6ba82ca0b
Added Capella specs support to Erigon-CL (#7051)
Passing consensus-specs tests for Capella. Processing of withdrawals and
ExecutionChanges. efficient non-validation implemented. Refactored:
ExecutionPayload/ExecutionPayloadHeader.
2023-03-07 21:57:18 +00:00
Andrew Ashikhmin
e3906130ae
Rename SHARDING_FORK to DENEB_FORK (#7014)
See https://github.com/eth-clients/goerli/pull/160
2023-03-03 14:51:57 +00:00
Andrew Ashikhmin
aa9b9bdd1c
Schedule Shapella on Görli/Prater (#7012)
See https://github.com/ethereum/execution-specs/pull/724 &
https://github.com/eth-clients/goerli/pull/160
2023-03-03 13:27:36 +00:00
Giulio rebuffo
b51b293f14
faster rewards and penalties processing (#6958) 2023-02-25 21:51:30 +00:00
Giulio rebuffo
cfa8dd8657
Fixed sanity consensus tests for slots processing (#6949) 2023-02-24 21:07:32 +00:00
Giulio rebuffo
4525db6a9c
Fixed lightclient regression (#6946) 2023-02-24 15:11:50 +00:00
Andrew Ashikhmin
54593d934c
Don't use embedded CL by default for Gnosis (#6918)
Only Nimbus peers support light clients, and there's not enough Nimbus
peers on Gnosis.
2023-02-21 18:36:25 +00:00
Andrew Ashikhmin
67de38f097
Schedule Capella on Sepolia (#6920)
See https://github.com/eth-clients/sepolia/pull/30
2023-02-21 14:57:35 +00:00
Philippe Schommers
55091456a7
feat: add Gnosis and Chiado to CL (#6788)
This adds the Gnosis and Chiado configs to the CL. I'm sure there's
other things missing too. Any pointers would be appreciated!

Currently stuck on:
```
INFO[02-06|14:00:01.421] [Checkpoint Sync] Requesting beacon state uri=https://checkpoint.gnosis.gateway.fm/eth/v2/debug/beacon/states/finalized
INFO[02-06|14:00:02.846] [Checkpoint Sync] Retrieving lightclient bootstrap from sentinel root=6cd2f0f4018d7ca17c9bfaf69f7eb46706b5a9b3356b9686aa71ae15a11c47e4
```
2023-02-16 19:40:50 +00:00
Giulio rebuffo
3c069f7cbd
added static peers flag (#6884) 2023-02-15 17:56:10 +00:00
Giulio rebuffo
64ddd9f60e
Added reward/penalties processing (#6819) 2023-02-09 17:48:52 +01:00
Philippe Schommers
9e93914998
test: fix clparams config test (#6790)
Was only testing `MainnetNetwork` repeatedly before.
2023-02-07 18:32:23 +07:00
Giulio rebuffo
ee4c8ed3bd
Added working slot processing. (#6779) 2023-02-05 21:53:59 +01:00
Giulio rebuffo
ff21ef7b21
Added checkpoints and justification bits processing (post-altair) (#6699)
* Added processing of checkpoints
* Unit tests rigorously imported from prysm
* They all pass :)
2023-01-26 00:31:20 +01:00
Giulio rebuffo
635fe0cb21
Added custom chain flags to embedded consensus lightclient (#6674) 2023-01-24 00:03:48 +01:00
Giulio rebuffo
20a4ae4ffb
added support for Capella beacon blocks (#6665) 2023-01-22 23:39:23 +01:00
hexoscott
7dcbfbc283
reference hash, address, and chain config from lib (#6536) 2023-01-13 18:12:18 +00:00
Giulio rebuffo
fa55cf8efe
Added full backfilling routine with support with Phase0/Altair and Bellatrix + Consensus Layer Database Schema Prototype (#6435)
This PR Adds:

* Backfilling routine, downloads and write to db all historical blocks.
* Prototype of first attempt at Database schema for Historical blocks.
* Fixed minor bugs.
* Support for following forks: Phase0, Altair, Bellatrix.
2022-12-25 18:07:12 +01:00
Giulio rebuffo
f655e337d1
Added signed block abstraction (Phase0 & Altair & Bellatrix block support) (#6422) 2022-12-23 18:39:44 +01:00