Conversation
- Updated `Cargo.toml` to remove unnecessary features from `reth-ethereum-primitives`. - Replaced `BincodeBlock` with `RethBlock` in `guest.rs` to support RLP encoding for block serialization. - Modified serialization and deserialization implementations for `RethBlock` to handle RLP bytes. - Updated tests in `block_ssz.rs` to use `RethBlock` instead of `BincodeBlock`. - Adjusted `BlockEncodingLengthInput` in `host.rs` to use `RethBlock`. - Simplified return value in `get_requests` function in `stateless-validator-reth/src/host.rs`.
| fail-fast: false | ||
| matrix: | ||
| guest: | ||
| - block-encoding-length |
There was a problem hiding this comment.
Reth v2 removed the bincode-compat from their Block type (and other ones).
For stateless-validator-reth we are okay since EIP-8025 we pass our own NewPayloadRequest and not Block anymore.
But block-encoding-length was relying on it -- instead of working around this, I prefered to remove this guest program since this was originally done in early days of experimenting using SSZ as encoding, which ended up being our conclusion today anyway.
|
@han0110, before (or after?) merging might worth doing a temp check in zkboost maybe with this new ere-guest branch and the workload one. This Reth V2 stuff came with a lot of surprises. Can wait for your green signal before we hit merge even if reviewed. Edit: Also did a |
|
Make sense, will create a zkboost PR on this branch and see if there is anything unexpected. Opened eth-act/zkboost#60, also tested locally and it looks fine. |
Update to the latest
paradigmxyz/statelessReth v2 with many implications:Cryptotrait API, includingPrecompileHaltand borrowed BLAKE2 inputs.block-encoding-lengthbenchmark crate and guest binaries from the workspace, docs, CI, and integration tests.OPENVM_RUST_TOOLCHAIN=nightly-2025-10-30.blocks.tar.gzsince Reth v2 changed the types for Block and Transactions (e.g. uses different encoding for values, for example, hex vs decimal), plus removed Compat support, thus the field in block changed from snake case to camel case). Empty block and invalid block are the same; the 10 mainnet blocks were changed to ones I pulled just now from mainnet using tentative Remove using Reth stateless fork & other misc improvements zkevm-benchmark-workload#279)