Skip to content

Comments

Fusaka updates prototype#1

Closed
bharath-123 wants to merge 3 commits intofusaka/devnet2from
fusaka-updates-proto
Closed

Fusaka updates prototype#1
bharath-123 wants to merge 3 commits intofusaka/devnet2from
fusaka-updates-proto

Conversation

@bharath-123
Copy link
Owner

@bharath-123 bharath-123 commented Jul 8, 2025

Things to consider in rbuilder:

Breaking changes:

  1. alloy/nybbles: perf: U256 representation alloy-rs/nybbles#17 updates the internal representation of Nibble from a SmallVec<[u8; 64]> to a U256. This breaks code in the merkle eth sparse tree as the code indexes a lot into the SmallVec representation
  2. alloy/eips: https://github.com/alloy-rs/alloy/blob/fusaka/devnet2/crates/eips/src/eip7594/sidecar.rs#L25 we need to use BlobTransactionSidecarVariant enum which contains PeerDas type blob sidecars too. The only different b/w EIP-7954 sidecars from EIP-4844 sidecars is EIP-7954 sidecars use cell_proofs instead of proofs. rbuilder just uses BlobTransactionSidecar which breaks with the fulu hard fork.
  3. revm/context: bluealloy/revm@c70bb9a this commit updates the BlockNumber and Timestamp to use U256 instead of u64. There are inconsistencies in code where u64 is used for block number which fails to build as a result.
  4. revm/state: changes made for EIP-7907: bluealloy/revm@d8c4567 introduces the CodeSize field to the AccountInfo . It was previously an Option but the mentioned commit makes it a mandatory field.
  5. alloy/evm: The Database trait in the alloy/evm repo now implements std::fmt::Debug implemented by alloy-rs/evm@3d6a01b. This broke code since a dependency was using the updated Database trait from alloy/evm. Using the Database trait from alloy/evm seems to have fixed this.
  6. revm/inspector: It appears that the step method has been removed from the access_list_inspector? i haven't dived too deep into this.

Notes

  1. We need to send BlobsBundleV2 to the relay. https://github.com/alloy-rs/alloy/blob/fusaka/devnet2/crates/rpc-types-engine/src/payload.rs#L906
  2. We need to send a SignedBidSubmissionV5 to the relay overall: https://github.com/alloy-rs/alloy/blob/main/crates/rpc-types-beacon/src/relay.rs#L183

reth-primitives = { git = "https://github.com/paradigmxyz/reth", branch = "fusaka/devnet2" }
reth-primitives-traits = { git = "https://github.com/paradigmxyz/reth", branch = "fusaka/devnet2" }
reth-provider = { git = "https://github.com/paradigmxyz/reth", branch = "fusaka/devnet2", features = [
reth = { git = "https://github.com/bharath-123/reth", branch = "bharath/fusaka-revm-fix" }
Copy link
Owner Author

Choose a reason for hiding this comment

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

I had to use my own branch to fix the EIP-7907 related breaking change in reth as it breaks here: https://github.com/paradigmxyz/reth/blob/fusaka-devnet-2/crates/primitives-traits/src/account.rs#L234. Reth still uses Option<CodeSize> instead of just CodeSize

revm-database-interface = { git = "https://github.com/bluealloy/revm", branch = "fusaka/devnet2" }
revm-precompile = { git = "https://github.com/bluealloy/revm", branch = "fusaka/devnet2" }
op-revm = { git = "https://github.com/bluealloy/revm", branch = "fusaka/devnet2" }
alloy-consensus = { git = "https://github.com/bharath-123/alloy", branch = "fusaka/devnet2" }
Copy link
Owner Author

Choose a reason for hiding this comment

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

I had to use my own alloy branch as reth still had to port SignedBidSubmissionV5 from main branch to the fusaka/devnet2 branch: https://github.com/alloy-rs/alloy/blob/main/crates/rpc-types-beacon/src/relay.rs#L183

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.

1 participant