Skip to content

[EIP-6110 | Deneb] In-Protocol deposits PoC#2

Closed
kevinbogner wants to merge 110 commits into
eip4844from
eip6110-deneb
Closed

[EIP-6110 | Deneb] In-Protocol deposits PoC#2
kevinbogner wants to merge 110 commits into
eip4844from
eip6110-deneb

Conversation

@kevinbogner

@kevinbogner kevinbogner commented Mar 16, 2023

Copy link
Copy Markdown
Owner

Issue Addressed

https://eips.ethereum.org/EIPS/eip-6110

Proposed Changes

https://github.com/ethereum/consensus-specs/tree/dev/specs/_features/eip6110

Additional Info

https://hackmd.io/@n0ble/in-protocol-deposits-poc


  • Modify extended containers
  • Add new containers
  • Modified process_execution_payload
  • New process_deposit_receipt
  • Modified process_operations
  • Adopt new spec tests
  • Add a flag to disable Eth1Data poll
  • Bonus: support re-org handling, i.e. invalidation of (pubkey, index) cache entries affected by re-org

pawanjay176 and others added 30 commits March 6, 2023 17:10
* rename to follow name in spec

* use roots and indexes

* wip

* fix req/resp types

* move blob identifier to consensus types
* Modify blob topics

* add signedblol type

pubsun messages are signed

* improve subnet topic index

* improve display code

* fix parse code

---------

Co-authored-by: Pawan Dhananjay <pawandhananjay@gmail.com>
* wip

* fix router

* arc the byroot responses we send

* add placeholder for blob verification

* respond to blobs by range and blobs by root request in the most horrible and gross way ever

* everything in sync is now unimplemented

* fix compiation issues

* http_pi change is very small, just add it

* remove ctrl-c ctrl-v's docs
* Update kzg interface

* Update utils

* Update dependency

* Address review comments
* update docs

* introduce a temp enum to model an adjusted `BlockWrapper` and fix blob coupling

* fix compilation issue

* fix blob coupling in the network context

* review comments
Implement POST beacon block for EIP-4844
realbigsean and others added 15 commits April 20, 2023 14:00
* update blob transaction

* update blob transaction

* rename in JSON deserializing
* Add all gossip conditions

* Handle some gossip errors

* Update beacon_node/beacon_chain/src/blob_verification.rs

Co-authored-by: Divma <26765164+divagant-martian@users.noreply.github.com>

* Add an ObservedBlobSidecars cache

---------

Co-authored-by: Divma <26765164+divagant-martian@users.noreply.github.com>
* Add ObservedBlobSidecar tests

* Add logging for tricky verification cases

* Update beacon_node/beacon_chain/src/blob_verification.rs

---------

Co-authored-by: realbigsean <seananderson33@GMAIL.com>
* Temp hack to compile

* Fix doppelganger tests

* Kill in groups instead of storing pid

* Install geth in CI

* Install geth first

* Fix eth1_block_hash

* Fix directory paths and block hash

* Fix workflow for local testnets; reset genesis.json after running script

* Disable capella and deneb forks for doppelganger tests

* oops not capella

* Spin up a spare bn for the doppelganger validator

* testing

* Revert "testing"

This reverts commit 14eb178.

* Modify beacon_node script to take trusted peers

* Set doppelganger bn as a trusted peer

* Update var

* update another

* Fix port

* Add a flag to disable peer scoring

* Disable peer scoring in local testnet bn script

* Revert trusted peers hack

* fmt

* Fix proposer boost score
Co-authored-by: realbigsean <sean@sigmaprime.io>
* Update Engine API to Latest

* Get Mock EE Working

* Fix Mock EE

* Update Engine API Again

* Rip out get_blobs_bundle Stuff

* Fix Test Harness

* Fix Clippy Complaints

* Fix Beacon Chain Tests
@michaelsproul

Copy link
Copy Markdown

@kevinbogner I suspect once you fix the second issue (the macro one) the sanity_blocks will pass. The block processing logic is likely trying to use that function and panicking, although I'm not sure why that wouldn't show in the test output. I'll have another look if the tests are still failing after fixing the payload issue

kevinbogner and others added 12 commits May 3, 2023 10:46
* All Necessary Objects Implement Encode/Decode

* Major Components for LRUOverflowCache Implemented

* Finish Database Code

* Add Maintenance Methods

* Added Maintenance Service

* Persist Blobs on Shutdown / Reload on Startup

* Address Clippy Complaints

* Add (emum_behaviour = "tag") to ssz_derive

* Convert Encode/Decode Implementations to "tag"

* Started Adding Tests

* Added a ton of tests

* 1 character fix

* Feature Guard Minimal Spec Tests

* Update beacon_node/beacon_chain/src/data_availability_checker.rs

Co-authored-by: realbigsean <seananderson33@GMAIL.com>

* Address Sean's Comments

* Add iter_raw_keys method

* Remove TODOs

---------

Co-authored-by: realbigsean <seananderson33@GMAIL.com>
@kevinbogner

Copy link
Copy Markdown
Owner Author

New PR: #3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants