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
60a3aa71e3
Fixed epoch processing consensus tests ( #6887 )
2023-02-16 19:04:16 +00:00
Giulio rebuffo
3c069f7cbd
added static peers flag ( #6884 )
2023-02-15 17:56:10 +00:00
Giulio rebuffo
7c43cb532c
~2x Optimization to state root computation ( #6854 )
...
Most notably use of more than a single thread. there is still potential
for me but there are more important things for now to work on.
2023-02-12 21:26:31 +00:00
Giulio rebuffo
885ed781fd
added better tests to epoch transitions ( #6838 )
2023-02-10 23:53:05 +00:00
Giulio rebuffo
4e950db56e
added processing of historical roots ( #6823 )
2023-02-10 01:09:05 +01:00
Giulio rebuffo
64ddd9f60e
Added reward/penalties processing ( #6819 )
2023-02-09 17:48:52 +01:00
Giulio rebuffo
a585ae4894
Added Optimizations to Beacon state transition. ( #6792 )
2023-02-07 17:44:37 +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
Alex Sharov
4cae1b94e9
switch sentinel to native go errors ( #6782 )
2023-02-06 10:15:52 +07:00
Giulio rebuffo
ee4c8ed3bd
Added working slot processing. ( #6779 )
2023-02-05 21:53:59 +01:00
Giulio rebuffo
3748a6af97
Added processing for deposits ( #6746 )
2023-01-30 18:55:57 +01:00
Giulio rebuffo
1436060fd8
added sync aggregate method for processing ( #6740 )
2023-01-30 14:39:56 +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
f44b22f066
Shangai Compatible embedded CL lightclient ( #6688 )
...
* LightClientHeader: Capella
* Added versions to lightclient
* TODO: Capella->Bellatrix transition
2023-01-24 17:36:02 +01:00
Giulio rebuffo
635fe0cb21
Added custom chain flags to embedded consensus lightclient ( #6674 )
2023-01-24 00:03:48 +01:00
Giulio rebuffo
8dda3614e6
Added beacon state capella support ( #6673 )
2023-01-23 14:26:57 +01:00
Giulio rebuffo
eda4471d95
Fixed inconsistencies ( #6670 )
2023-01-23 12:04:50 +01:00
Giulio rebuffo
20a4ae4ffb
added support for Capella beacon blocks ( #6665 )
2023-01-22 23:39:23 +01:00
Giulio rebuffo
f1dd51ccb3
Added Historical Summary and FromBlsToExecution ( #6658 )
...
Added Capella specific Data types.
2023-01-22 11:48:17 +01:00
Giulio rebuffo
0eebd61ab8
separation of state: a continuation ( #6647 )
2023-01-21 22:33:50 +01:00
Giulio rebuffo
9503672194
Separation of SSZ Beacon State and Fix BeaconRpc ( #6635 )
2023-01-20 20:41:16 +01:00
Giulio rebuffo
3f07c66928
Fast gossip routine for Sentinel. ( #6614 )
...
removed bunch of ugly repetitive routines.
2023-01-18 14:30:39 +01:00
Giulio rebuffo
4e53a12c53
Flexible Blocks and States for easy hard forking ( #6566 )
...
Preparation for Shangai Beacon Blocks/Beacon State
2023-01-17 02:22:05 +01:00
Mike Neuder
01ce83ad99
ProcessAttesterSlashing ( #6581 )
...
Spec:
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#attester-slashings
Part of https://github.com/ledgerwatch/erigon/issues/5965
2023-01-15 12:05:51 +01:00
hexoscott
7dcbfbc283
reference hash, address, and chain config from lib ( #6536 )
2023-01-13 18:12:18 +00:00
Alex Sharov
41e9356f61
e3: stream.ToBitamp() ( #6562 )
2023-01-12 09:58:21 +07:00
Giulio rebuffo
4bee05dd12
Added ETH1 Block SSZ Hashing to CL ( #6549 )
...
more of SSZ again.
2023-01-11 17:18:14 +01:00
Alex Sharov
7c2ed8e01f
mdbx: v0.12.3 ( #6521 )
2023-01-10 09:15:18 +07:00
Giulio rebuffo
599480c5e0
ExecutionPayloaHeader: ssz support for withdrawals root ( #6524 )
...
I do not recommend this.
2023-01-09 01:04:05 +01:00
Giulio rebuffo
77d946ba3e
[First PR] Removing FastSSZ and use more efficient hashing with gohashtree ( #6520 )
2023-01-07 12:25:28 +01:00
Giulio rebuffo
f6c25de4d2
Added EL <-> CL integration ( #6483 )
2023-01-04 03:02:24 +01:00
Giulio rebuffo
4932aa5264
added indexes to beacon blocks ( #6460 )
2022-12-29 15:15:25 +01:00
Giulio rebuffo
80b5954c3c
fixed encoding for slot > 17 million ( #6451 )
2022-12-28 02:29:24 +01:00
Giulio rebuffo
cf7e0e292c
Compact Attestations final form ( #6446 )
2022-12-27 17:22:52 +01:00
Giulio rebuffo
9006804ac0
Fast/compact attestations encoding, prototype 1 ( #6442 )
2022-12-26 19:23:55 +01: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
Mike Neuder
aa9b30a656
Implement ProcessRandao ( #6425 )
...
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#randao
Part of https://github.com/ledgerwatch/erigon/issues/5965
2022-12-24 19:39:39 +01:00
Giulio rebuffo
d2bda25b29
Added Beacon RPC as a wrapper for Sentinel ( #6424 )
2022-12-23 22:31:08 +01:00
Giulio rebuffo
f655e337d1
Added signed block abstraction (Phase0 & Altair & Bellatrix block support) ( #6422 )
2022-12-23 18:39:44 +01:00
Giulio rebuffo
5fd3536ef0
Erigon-cl database schema ( #6399 )
2022-12-22 19:59:24 +01:00
Giulio rebuffo
ed2c79d2ca
fixed backfilling algo ( #6364 )
2022-12-18 23:28:30 +01:00
Giulio rebuffo
e640cea7d0
no CPU implosion when using sentinel ( #6361 )
2022-12-18 18:57:30 +01:00
Giulio rebuffo
0a3bfef484
Added prototype for Beacon history reconstruction stage ( #6351 )
2022-12-17 16:05:56 +01:00
Andrew Ashikhmin
1e206e375b
Set default for externalcl based on whether embedded CL is supported ( #6294 )
...
Embedded CL is not supported for Gnosis Chain, so it makes sense to set
`externalcl` to true by default for it.
Also, this PR sets `terminalTotalDifficultyPassed` for Gnosis Chain &
Chiado (see https://docs.gnosischain.com/updates/20221210-merge ).
2022-12-13 14:51:13 +01:00
Giulio rebuffo
1c8a11df40
Added dirty leaves system to beacon state ( #6264 )
2022-12-09 19:19:01 +01:00
Giulio rebuffo
ecf34b2493
Proper Beacon State Repressentation attempt ( #6254 )
2022-12-09 00:55:31 +01:00
Giulio rebuffo
0da12e4c94
Verification by root and not by slot ( #6243 )
2022-12-07 21:26:45 +01:00
Andrew Ashikhmin
7eab12d90d
Shanghai & Cancun forks should be based on timestamp ( #6238 )
2022-12-07 18:45:44 +01:00
Giulio rebuffo
6e76643c09
Added Handshake protocol to Erigon-CL Lightclient and Fullclient ( #6206 )
2022-12-05 01:25:12 +01:00
Giulio rebuffo
1fd3a01edf
Added Consensus Layer staged sync ( #6183 )
2022-12-03 03:16:26 +01:00
Giulio rebuffo
ae6d00747e
removed debug util now not necessary ( #6149 )
2022-11-29 09:46:52 +01:00
Giulio rebuffo
025839afd5
moved out protobuffers for sentinel ( #6145 )
2022-11-29 00:00:40 +01:00
Giulio rebuffo
8c67c55cc7
Created Erigon beacon downloader ( #6130 )
2022-11-25 16:38:22 +01:00
Giulio rebuffo
f8916e9226
Made Lightclient default ( #5813 )
...
lightclient cl is default, for external cl, run `--externalcl`
2022-11-10 17:06:04 +00:00
Mike Neuder
bf34bed004
Adding GetStatus to the req/resp domain ( #6010 )
...
Part of https://github.com/ledgerwatch/erigon/issues/5884 defined in the
spec
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#status .
We need this functionality to continue
https://github.com/ledgerwatch/erigon/issues/5965 because we need to
determine how many blocks to request from the checkpoint block.
2022-11-10 14:14:26 +01:00
Mike Neuder
5c5094ae6a
Adding BeaconBlocksByRoot req to consensus layer RPC ( #5968 )
...
https://github.com/ledgerwatch/erigon/issues/5884 .
Follows up on https://github.com/ledgerwatch/erigon/pull/5967 to
implement the by root request as well.
2022-11-06 23:41:21 +01:00
Mike Neuder
bc7128e671
Adding BeaconBlocksByRangeReq to consensus layer RPC ( #5967 )
...
part of https://github.com/ledgerwatch/erigon/issues/5884 . we have
tested this manually, but need to include it in the CL client RPC layer.
2022-11-05 19:39:24 +01:00
Mike Neuder
75db1aae0b
Add support for beacon_blocks_by_root on the req/resp domain ( #5951 )
...
Continuation of https://github.com/ledgerwatch/erigon/issues/5884
We make use of
bb09295072/beacon-chain/p2p/types/types.go
from Prysm to construct our request because the generated code injects
an offset that is not included in the spec.
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#beaconblocksbyroot
2022-11-04 17:34:36 +01:00
Giulio rebuffo
63a8b21bb8
switch BLS library ( #5950 )
2022-11-03 23:55:59 +01:00
Mike Neuder
5518e69005
Finish BeaconBlocksByRange decoder ( #5943 )
...
issue: https://github.com/ledgerwatch/erigon/issues/5884
this PR finishes the decoding of BeaconBlocksByRange responses.
`stream_test.go` now checks two sample ranges, of length 2 and 3
respectively (avoiding doing super long ranges to keep the files
relatively smaller).
https://beaconcha.in/slot/5000007 is the source i used to verify the
decoded data.
2022-11-03 19:04:49 +01:00
Mike Neuder
7590411ffc
BeaconBlocksByRange req/resp domain encoding work. ( #5917 )
...
I am trying to decode these messages from the req/resp domain. see
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#beaconblocksbyrange
for the spec.
this is part of https://github.com/ledgerwatch/erigon/issues/5884
2022-11-02 15:48:22 +01:00
Giulio rebuffo
adf5fc7b82
refactored files regarding lightclient ( #5904 )
2022-10-29 21:51:32 +02:00