Commit Graph

22 Commits

Author SHA1 Message Date
Mike Neuder
799d6b9441
Implement ProcessProposerSlashing (#6531)
Spec:
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#proposer-slashings

Part of https://github.com/ledgerwatch/erigon/issues/5965
2023-01-09 21:00:55 +01: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
Mike Neuder
3c1740f108
Adding SlashValidator (#6505)
Spec:
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#slash_validator

Part of https://github.com/ledgerwatch/erigon/issues/5965
2023-01-07 00:19:26 +01:00
Mike Neuder
d595accc63
Adding InititateValidatorExit (#6478)
Spec:
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#initiate_validator_exit

Part of https://github.com/ledgerwatch/erigon/issues/5965

Co-authored-by: Giulio rebuffo <giulio.rebuffo@gmail.com>
Co-authored-by: ledgerwatch <akhounov@gmail.com>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2023-01-02 15:06:04 +01:00
Mike Neuder
f0be116bc2
Implement ProcessEth1Data (#6445)
Spec:
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#eth1-data

Part of https://github.com/ledgerwatch/erigon/issues/5965
2022-12-27 14:57:32 +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
5fd3536ef0
Erigon-cl database schema (#6399) 2022-12-22 19:59:24 +01:00
Mike Neuder
3e7c1502b7
Implement ProcessBlockHeader (#6365)
This is described in
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#block-header

Part of https://github.com/ledgerwatch/erigon/issues/5965
2022-12-19 14:24:39 +01:00
Mike Neuder
66654dc4b1
Implement GetBeaconProposerIndex (#6352)
This is described in
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#get_beacon_proposer_index.

Part of https://github.com/ledgerwatch/erigon/issues/5965

I compared with the Prysm tests to confirm the implementation is
correct:
2e49fdb3d2/beacon-chain/core/helpers/validators_test.go (L151-L204).
2022-12-18 17:39:43 +01:00
Giulio rebuffo
14cf0771a4
slight modification to computation of indexes (#6345) 2022-12-17 01:01:24 +01:00
Giulio rebuffo
de8bae6fe0
optimized beacon state computation (#6341) 2022-12-16 13:38:54 +01:00
Mike Neuder
d1f6ed29ff
Add ComputeProposerIndex (#6297)
This is described in
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#compute_proposer_index.

Part of https://github.com/ledgerwatch/erigon/issues/5965

I compared with the Prysm tests to confirm the implementation is
correct:
2e49fdb3d2/beacon-chain/core/helpers/validators_test.go (L506-L614)
2022-12-16 00:06:49 +01:00
Giulio rebuffo
0f0d0de783
Use of proper beacon state interface (#6277) 2022-12-11 15:12:38 +01:00
Mike Neuder
f512c887dc
Add ComputeShuffledIndex algorithm. (#6267)
This is described in:
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#compute_shuffled_index.

I ran the prysm implementation locally to generate the expected outputs:
babfc66c5b/beacon-chain/core/helpers/shuffle.go (L73)

Part of https://github.com/ledgerwatch/erigon/issues/5965
2022-12-10 13:59:29 +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
Mike Neuder
3a8c9ccdb3
Add state transition function and unit test. (#6170)
Part of https://github.com/ledgerwatch/erigon/issues/5965

See
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#beacon-chain-state-transition-function.
2022-12-01 20:57:41 +01:00
Mike Neuder
d3d65f6caa
Add verify block signature function and unit test (#6166)
Part of https://github.com/ledgerwatch/erigon/issues/5965

See
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#beacon-chain-state-transition-function.
2022-11-30 22:50:00 +01:00
Mike Neuder
eb7e5c2c6e
Adding processSlots functionality and unit test for transitionState and processSlots (#6136)
Part of the CL implementation.
https://github.com/ledgerwatch/erigon/issues/5965
2022-11-26 23:34:17 +01:00
Giulio rebuffo
8c67c55cc7
Created Erigon beacon downloader (#6130) 2022-11-25 16:38:22 +01:00