Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

merklized state catchup #1316

Merged
merged 31 commits into from
Apr 22, 2024
Merged

merklized state catchup #1316

merged 31 commits into from
Apr 22, 2024

Conversation

imabdulbasit
Copy link
Contributor

@imabdulbasit imabdulbasit commented Apr 10, 2024

This PR:

builder/Cargo.toml Outdated Show resolved Hide resolved
sequencer/src/api/options.rs Outdated Show resolved Hide resolved
sequencer/src/bin/nasty-client.rs Outdated Show resolved Hide resolved
sequencer/src/block/payload.rs Outdated Show resolved Hide resolved
sequencer/src/catchup.rs Outdated Show resolved Hide resolved
sequencer/src/state.rs Show resolved Hide resolved
sequencer/src/state.rs Outdated Show resolved Hide resolved
sequencer/src/state.rs Outdated Show resolved Hide resolved
sequencer/src/state.rs Show resolved Hide resolved
sequencer/src/state.rs Outdated Show resolved Hide resolved
Copy link
Member

@jbearer jbearer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have some more comments on the storage update and apply_header. Also, once we're happy with apply_header, let's not forget to update validate_and_apply_header to just call apply_header and do whatever extra validation is needed, rather than having the apply logic duplicated and spread out over many different functions

sequencer/src/state.rs Outdated Show resolved Hide resolved
sequencer/src/state.rs Outdated Show resolved Hide resolved
sequencer/src/state.rs Outdated Show resolved Hide resolved
sequencer/src/state.rs Outdated Show resolved Hide resolved
sequencer/src/state.rs Outdated Show resolved Hide resolved
sequencer/src/state.rs Outdated Show resolved Hide resolved
sequencer/src/state.rs Outdated Show resolved Hide resolved
sequencer/src/state.rs Outdated Show resolved Hide resolved
sequencer/src/state.rs Outdated Show resolved Hide resolved
sequencer/src/state.rs Outdated Show resolved Hide resolved
@imabdulbasit imabdulbasit changed the title Abdul/update deps [WIP] merklized state catchup Apr 10, 2024
sequencer/src/state.rs Outdated Show resolved Hide resolved
sequencer/src/state.rs Outdated Show resolved Hide resolved
sequencer/src/state.rs Outdated Show resolved Hide resolved
sequencer/src/state.rs Outdated Show resolved Hide resolved
sequencer/src/state.rs Outdated Show resolved Hide resolved
sequencer/src/state.rs Outdated Show resolved Hide resolved
sequencer/src/state.rs Outdated Show resolved Hide resolved
sequencer/src/state.rs Show resolved Hide resolved
sequencer/src/state.rs Outdated Show resolved Hide resolved
sequencer/src/state.rs Show resolved Hide resolved
@imabdulbasit imabdulbasit linked an issue Apr 15, 2024 that may be closed by this pull request
move47 and others added 6 commits April 15, 2024 19:35
* Change names of APIs to avoid API names with multiple path
  segments -- this is not currently supported in tide-disco
* Use same data source for leaf subscription in `update_state_storage_loop`
  that we populate in the normal update loop
* Make sure we don't hold a lock on the data source when we potentially
  block waiting for new objects to be populated
* Populate genesis state in database
* Handle empty state better
* Populate fee state with builder accounts in test
* Add test for fee API
@imabdulbasit imabdulbasit changed the title [WIP] merklized state catchup merklized state catchup Apr 16, 2024
Copy link
Member

@jbearer jbearer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, once tests are working

@imabdulbasit imabdulbasit marked this pull request as ready for review April 17, 2024 07:34
@imabdulbasit imabdulbasit marked this pull request as draft April 17, 2024 08:03
@imabdulbasit imabdulbasit marked this pull request as ready for review April 18, 2024 20:16
sveitser and others added 2 commits April 22, 2024 11:03
* [DRAFT] Builder ECDSA signatures

Right now just to discuss if this goes in the right direction

* Fix builder crate

* WIP: verify builder commitment in block header

* Update hotshot-builder-core

* Compiles

* Some cleanup

* Update dependencies

* Patch for patch for branch...

* Update builder tests

* Remove commented code

* Another problem spot, as noted by @move47

* Make signature in Header::new match the new format expected in fee validation

* Separate fee commitment from builder commitment

* Ignore tide vulnerabilities

* Fix merlized state updates

* This won't pass.

* Update hotshot, builder

* Fix demo smoketest

* So, this isn't ideal, but... using the same commitment, reencoded

* Some kind of merge error? Duplicate block...

* Replace magic numbers with constants

* Start builder before sequencers

* wait for ready

* wait without libp2p

* add logging statements

* Remove explicit k256 dependency

We don't need the `serde` feature of `k256` anymore because we don't use
serde on VerifyingKey anymore so we can use re-exported ethers k256
instead.

Rename EthSigningKey to EthKeyPair in Display.

* smoke-test: increase blocks and txns timeout

Currently block and transaction production can be irregular. Increase
the timeout while we are working on fixing it to make the CI less flaky.

* Log what information is fetched from peers

* Prefund all sequencer accounts

At the moment the sequencers still build blocks themselves, prefunding
their accounts prevents validation errors if blocks are not built by the
permissionless builder.

* Periodically log successfully applied header

This makes it easier to tell that a node is making progress by looking
at the logs.

---------

Co-authored-by: Jeb Bearer <[email protected]>
Co-authored-by: Nathan F Yospe <[email protected]>
Co-authored-by: Jeb Bearer <[email protected]>
Co-authored-by: Nathan F Yospe <[email protected]>
Co-authored-by: Rob <[email protected]>
Co-authored-by: rob-maron <[email protected]>
@imabdulbasit imabdulbasit merged commit 29c9a42 into main Apr 22, 2024
16 checks passed
@imabdulbasit imabdulbasit deleted the abdul/update-deps branch April 22, 2024 09:58
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.

Merklized State catchup
5 participants