Bayram Guvanjov
a191296f05
Deneb integration to Caplin ( #9093 )
...
Pr is ready to review and merge.
This PR includes implementing and integrating Ethereum Deneb's hard work
with the Caplin Ethereum client.
Changes:
- Full compatibility with Deneb Ethereum hard fork
- Added new EIPs introduced in Deneb. (`EIP-4788`, `EIP-4844`,
`EIP-7044`, `EIP-7045`, `EIP-7514`)
- Tests integration
---------
Co-authored-by: Giulio <giulio.rebuffo@gmail.com>
2024-01-12 14:20:26 +01:00
Giulio rebuffo
8315033a92
Added more checks on state reconstruction + made history reconstruction resumable. ( #9211 )
...
Co-authored-by: Bayram Guvanjov <bayramguwanjow@gmail.com>
2024-01-11 20:05:54 +01:00
Giulio rebuffo
284aa1dd0c
Added EthV1AggregateAndProofs API ( #9192 )
...
Added publishing of aggregates and proofs
2024-01-10 17:15:58 +01:00
Giulio rebuffo
b2fa618f74
Caplin: Fixed crash in OnAttestation ( #9159 )
...
* Added handling of AggregateAndProof
2024-01-08 17:13:25 +01:00
Giulio rebuffo
e958d3584d
Added Heads method to Beacon API ( #9135 )
2024-01-06 21:49:23 +01:00
Giulio rebuffo
18baf81b78
Caplin: Fixed Invalid reading for historical states ( #9124 )
2024-01-03 23:26:56 +01:00
Giulio rebuffo
13da868591
Added RANDAO Api ( #9108 )
2024-01-01 22:18:11 +01:00
Giulio rebuffo
46ecf030f5
Added GET /eth/v1/beacon/rewards/blocks/{block_id} and POST /eth/v1/beacon/rewards/sync_committee/{block_id} ( #9102 )
...
* Changed slightly archive format (again)
* Added all of the remaining rewards endpoints
2023-12-30 20:51:28 +01:00
Giulio rebuffo
eaf0348bd0
[Grindmas] Added tests to Beacon API, also fixed stuff. ( #9074 )
...
* Testing Beacon API
* Fixed sentinel code (a little bit)
* Fixed sentinel tests
* Added historical state support
* Fixed state-related endpoints (i was drunk when writing them)
2023-12-25 02:34:13 +01:00
Giulio rebuffo
a4d7b6d33f
Switched Caplin snapshot format to ZSTD blinded blocks ( #9058 )
...
* Chunked format -> blinded
* LZ4 -> ZSTD
* Implemented parent block root support for history download
* Rationale: Allows to optimize GC collection easily on state
reconstruction and it allows to read fast attestations in historical
states reader
2023-12-23 15:56:35 +01:00
Giulio rebuffo
ffc26b0f00
Added GET SyncCommittees ( #9003 )
2023-12-18 13:54:15 +01:00
Giulio rebuffo
eeb471d800
Added Finality_Checkpoints endpoint ( #8979 )
2023-12-15 02:27:27 +01:00
Giulio rebuffo
c477281362
Caplin: Parallel historical states reconstruction ( #8817 )
...
What does this PR do:
* Optional Backfilling and Caplin Archive Node
* Create antiquary for historical states
* Fixed gaps of chain gap related to the Head of the chain and anchor of
the chain.
* Added basic reader object to Read the Historical state
2023-12-06 10:48:36 +01:00
a
47a6ac16da
[beacon handler] framework ( #8851 )
...
adds a two indexes to the validators cache
creates beaconhttp package with many utilities for beacon http endpoint
(future support for ssz is baked in)
started on some validator endpoints
2023-12-05 00:13:52 +01:00
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
073dbe25ac
Added duties/proposer to beacon api ( #8777 )
2023-11-19 22:03:14 +01:00
Giulio rebuffo
7d28151a11
Added data model for public keys validator ( #8774 )
...
We store public keys contiguosly and batch update them on forkchoice
2023-11-18 19:03:56 +01:00
Giulio rebuffo
b72b5b95c5
working debug/state/ for early states ( #8767 )
...
Added jsonification to beacon state
2023-11-18 03:08:19 +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
Giulio rebuffo
3f30b96199
Forkchoice states saved on disk ( #8546 )
2023-10-21 23:10:58 +02:00
Giulio rebuffo
bf2ef04c46
Optimized the checkpoint state layout ( #8482 )
2023-10-15 18:05:13 +02:00
Giulio rebuffo
1da6dc25f3
Caplin: Resetting cache head hash when new slot is avaiable ( #8477 )
2023-10-14 20:53:16 +02:00
Giulio rebuffo
10746eb376
Added BLS_TO_EXECUTION_CHANGES pool ( #8332 )
...
Adds BLS_TO_EXECUTION_CHANGES
2023-10-01 17:16:55 +02:00
Giulio rebuffo
72ba18bd36
Beacon: Added basic operations pool ( #8309 )
...
Added operation pools for beacon chain. operations are the equivalent of
txs for eth2
Added operation pools for:
* Attester Slashings
* Proposer Slashings
* VoluntaryExits
* BLSExecutionToChange
* Postponed to later: Attestations (or maybe not)
2023-09-29 23:42:07 +02: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
2aa060f454
Fixed forkchoice nil exception ( #8223 )
2023-09-17 17:06:44 +02:00
Alex Sharov
2318138c6c
Downloader: don't fail when see unusual file, skip it (backward/forward compatibility) ( #8170 )
2023-09-10 15:46:30 +07:00
Giulio rebuffo
901edf9181
Accessors to Caplin indexed database ( #8093 )
2023-08-29 16:47:16 +02:00
Giulio rebuffo
38db2ed2e7
[Caplin Phase 2]: Initial working implementation ( #8033 )
...
caplin just using execution.proto
2023-08-18 15:43:22 +02:00
Giulio rebuffo
114dd684eb
Caplin Optimization: Efficient Processing of Epoch and Reuse of checkpoint states ( #8020 )
2023-08-15 12:45:48 +02:00
Giulio rebuffo
e3a59ed902
Better caplin logging and logic ( #7992 )
2023-08-10 22:34:58 +02:00
a
db5b348673
Caplin block persistence ( #7941 )
...
Co-authored-by: Giulio <giulio.rebuffo@gmail.com>
2023-08-09 01:21:19 +02:00
Somnath Banerjee
d91f4263dc
EIP-4788: Beacon block root and stateful precompile ( #7888 )
2023-08-01 16:01:26 +05:30
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
Giulio rebuffo
862faf054b
Fixed JWT race and panic in Caplin ( #7904 )
2023-07-18 09:47:38 +01: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
Alex Sharov
5ff8246e2a
e4: release some tests ( #7729 )
2023-06-14 10:01:00 +07:00
a
4d35e776da
[caplin] abstract transition ( #7661 )
...
start of abstracting the transition layer.
incremental movements.
2023-06-11 23:50:02 +02:00
Giulio rebuffo
8f8da14814
Optimized THE CAPLIN a lil bit ( #7687 )
2023-06-08 15:52:09 +02:00
Enrique Jose Avila Asapche
1cb1c303d4
added a listener for beacon api and added get genesis ( #7659 )
...
Added two new flags beacon.api.port and beacon.api.addr
Now we can listen for beacon api and get beacon genesis
---------
Co-authored-by: Giulio <giulio.rebuffo@gmail.com>
2023-06-08 09:43:27 +02:00
Giulio rebuffo
5e682aa5d5
correct data pruning ( #7678 )
2023-06-06 22:29:51 +02:00
Giulio rebuffo
e45ed7d139
Added record mode for Caplin ( #7660 )
2023-06-05 01:52:55 +02:00
Giulio rebuffo
999c0ba214
Caplin: Fixed bad block handling ( #7649 )
2023-06-03 19:47:05 +02:00
Giulio rebuffo
6602c89e32
[Caplin] Fixed checkpoints on orphaned chains ( #7613 )
2023-06-02 14:54:40 +02:00
Enrique Jose Avila Asapche
94276deaf6
Caplin: added tests ( #7623 )
...
Added CL tests to have test coverage over 60% in all files covered by
running ssh ./cl/coverage
2023-06-02 01:21:08 +02:00
Giulio rebuffo
027d83b556
Caplin: skip finalized error ( #7595 )
2023-05-28 22:48:17 +02:00
Giulio rebuffo
2d3b3c3b8d
Caplin: Proper validator set ( #7591 )
...
Adding proper flat buffer to Caplin
2023-05-28 17:11:18 +02: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
a
761524a986
eth2 shuffle ( #7522 )
...
moves eth2shuffle package to erigon.
2023-05-18 01:06:25 +02:00