prysm-pulse/beacon-chain/blockchain
Sammy Rosso d55757500f
Integrate EIP-4881 Deposit Tree Into Prysm via a Feature Flag (#11942)
* Initial spec rewrite

* Finish adding merkle tree implementation

* Last bits

* Move reverse function

* Add comments

* Add deposit tree snapshot

* Add deposit tree

* Add comments + cleanup

* Fixes

* Add missing errors

* Small fixes

* Add unhandled error

* Cleanup

* Fix unsafe file.Close

* Add missing comments

* Small fixes

* Address some of deepSource' compaints

* Add depositCount check

* Add finalizedDeposit check

* Replace pointer magic with copy()

* Add test for slice reversal

* add back bytes method

* Add package level description

* Remove zerohash gen and add additional checks

* Add additional comments

* Small lint fixes

* Forgot an error

* Small fixes

* Move Uint64ToBytesLittleEndian32 + test

* Fix uint subtraction issue

* Move mixInLength below error handling

* Fix

* Fix deposit root

* integrate 4881

* edits

* added in deposit tree fetcher

* add file

* Add remaining fetcher functions

* Add new file for inserter functions

* Fixes and additional funcs

* Cleanup

* Add

* Graph

* pushed up edits

* fix up

* Updates

* Add EIP4881 toggle flag

* Add interfaces

* Fix tests

* More changes

* Fix

* Remove generated graph

* Fix spacing

* Changes

* Fixes

* Changes

* Test Fix

* gaz

* Fix a couple tests

* Fix last tests

* define protos

* proto methods

* pushed

* regen

* Add proto funcs

* builds

* pushin up

* Fix and cleanup

* Fix spectest

* General cleanup

* add 4881 to e2e

* Remove debug statements + remove test skip

* Implement first set of  missing methods

* Replace Zerohashes + cleanup

* gazelle

* fmt

* Put back defensive check

* Add error logs

* InsertFinalizedDeposits: return an error

* Remove logging

* Radek' Review

* Lint fixes

* build

* Remove cancel

* Update beacon-chain/deterministic-genesis/service.go

Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>

* Update beacon-chain/cache/depositsnapshot/deposit_inserter.go

Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>

* Cleanup

* Fix panic when DepositSnapshot is nil on init

* Gofmt

* Fix RootEquivalence test

* Gofmt

* Add missing comments

* Nishant' review

* Add Insert benchmarks

* fix up copy method

* Fix deep copy

* Fix conflicts

* Return error

* Fix linter issues

* add in migration logic

* Cleanup + tests

* fix

* Fix incorrect index in test

* Fix linter

* Gofmt

* fix it

* fixes for off by 1

* gaz

* fix cast

* fix it

* remove ErrZeroIndex

* Fix merkle_tree_test

* add fallback

* add fix for insertion bug

* add many fixes

* fix empty snapshot

* clean up

* use feature

* remove check

* fix failing tests

* skip it

* fix test

* fix test again

* fix for the last time

* Apply suggestions from code review

Co-authored-by: Radosław Kapka <rkapka@wp.pl>

* fix it

* remove cancel

* fix for voting

* addressing more comments

* fix err

* potuz's review

* one more test

* fix bad test

* make 4881 part of dev mode

* add workaround for new trie

* comment

* preston's review

* james's review

* add comment

* james review

* preston's review

* remove skipped test

* gaz

---------

Co-authored-by: rauljordan <raul@prysmaticlabs.com>
Co-authored-by: nisdas <nishdas93@gmail.com>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2023-09-07 03:19:32 +00:00
..
kzg Validate blobs feature (#12574) 2023-08-31 08:41:57 -05:00
testing Blob channel (#12753) 2023-08-31 08:41:57 -05:00
blockchain_test.go Replace ioutil with io and os (#10541) 2022-04-18 20:42:07 +00:00
BUILD.bazel Integrate EIP-4881 Deposit Tree Into Prysm via a Feature Flag (#11942) 2023-09-07 03:19:32 +00:00
chain_info_forkchoice.go Use same signature for unrealized justified hash and justified hash (#12314) 2023-04-20 15:59:12 +00:00
chain_info_norace_test.go Update to V4 🚀 (#12134) 2023-03-17 18:52:56 +00:00
chain_info_test.go Track optimistic status on head (#12552) 2023-06-20 08:59:48 -07:00
chain_info.go Style: minor cleanups to blockchain pkg (#12640) 2023-07-20 10:17:35 +00:00
checktags_test.go Use go:build lines and remove obsolete +build lines (#10704) 2022-06-14 11:47:27 +00:00
error_test.go Update to V4 🚀 (#12134) 2023-03-17 18:52:56 +00:00
error.go sync blobs in initial-sync (#12522) 2023-08-31 08:41:57 -05:00
execution_engine_test.go feat: implement eip4788 (#12570) 2023-08-31 08:41:57 -05:00
execution_engine.go feat: save blobs to db for subscriber (#12734) 2023-08-31 08:41:57 -05:00
forkchoice_update_execution_test.go Replace statefeed Initialize (#12285) 2023-05-03 04:34:01 +00:00
forkchoice_update_execution.go log correctly the head changed when it actually changes (#12324) 2023-04-27 17:13:58 +00:00
head_sync_committee_info_test.go Use next slot cache for sync committee (#12287) 2023-06-12 04:30:06 +00:00
head_sync_committee_info.go Use next slot cache for sync committee (#12287) 2023-06-12 04:30:06 +00:00
head_test.go Replace statefeed Initialize (#12285) 2023-05-03 04:34:01 +00:00
head.go set optimistic status in head at init sync (#12748) 2023-08-16 00:47:56 +00:00
init_sync_process_block_test.go Update to V4 🚀 (#12134) 2023-03-17 18:52:56 +00:00
init_sync_process_block.go Update to V4 🚀 (#12134) 2023-03-17 18:52:56 +00:00
init_test.go Update to V4 🚀 (#12134) 2023-03-17 18:52:56 +00:00
log_test.go Update to V4 🚀 (#12134) 2023-03-17 18:52:56 +00:00
log.go feat: log blob commitment count (#12723) 2023-08-31 08:41:57 -05:00
merge_ascii_art.go Merge ascii art banner (#10773) 2022-06-14 08:25:42 +00:00
metrics_test.go Update to V4 🚀 (#12134) 2023-03-17 18:52:56 +00:00
metrics.go use read-only validators (#12628) 2023-07-15 00:34:45 -07:00
mock_test.go Replace statefeed Initialize (#12285) 2023-05-03 04:34:01 +00:00
options.go Integrate EIP-4881 Deposit Tree Into Prysm via a Feature Flag (#11942) 2023-09-07 03:19:32 +00:00
pow_block_test.go Replace statefeed Initialize (#12285) 2023-05-03 04:34:01 +00:00
pow_block.go Update to V4 🚀 (#12134) 2023-03-17 18:52:56 +00:00
process_attestation_helpers.go Add epoch and root to not a checkpt in forkchoice log (#12400) 2023-05-14 06:02:36 +00:00
process_attestation_test.go Add epoch and root to not a checkpt in forkchoice log (#12400) 2023-05-14 06:02:36 +00:00
process_attestation.go Update to V4 🚀 (#12134) 2023-03-17 18:52:56 +00:00
process_block_helpers.go Integrate EIP-4881 Deposit Tree Into Prysm via a Feature Flag (#11942) 2023-09-07 03:19:32 +00:00
process_block_test.go Integrate EIP-4881 Deposit Tree Into Prysm via a Feature Flag (#11942) 2023-09-07 03:19:32 +00:00
process_block.go Fix 12784 (#12822) 2023-09-07 00:26:28 +00:00
receive_attestation_test.go Move consensus and execution validation outside of onBlock (#12589) 2023-07-05 21:12:21 +08:00
receive_attestation.go add more descriptive log on FFG-LMD consistency (#12763) 2023-08-21 14:06:59 +00:00
receive_blob.go Blob channel (#12753) 2023-08-31 08:41:57 -05:00
receive_block_test.go sync blobs in initial-sync (#12522) 2023-08-31 08:41:57 -05:00
receive_block.go Blob channel (#12753) 2023-08-31 08:41:57 -05:00
service_norace_test.go Update to V4 🚀 (#12134) 2023-03-17 18:52:56 +00:00
service_test.go set optimistic status in head at init sync (#12748) 2023-08-16 00:47:56 +00:00
service.go Integrate EIP-4881 Deposit Tree Into Prysm via a Feature Flag (#11942) 2023-09-07 03:19:32 +00:00
setup_test.go Update ProposeBeaconBlock Prysm RPC for Deneb (Non builder) (#12495) 2023-08-31 08:41:57 -05:00
weak_subjectivity_checks_test.go Isolate forkchoice to blockchain package (#12174) 2023-03-22 09:12:54 +08:00
weak_subjectivity_checks.go Update to V4 🚀 (#12134) 2023-03-17 18:52:56 +00:00