Skip to content

Commit 5b51806

Browse files
xqftOppenfborello-lambdajrchatrucilitteri
authored andcommitted
feat(l2): add prover benchmarks from L1 RPC downloaded blocks (#1705)
**Motivation** We want to benchmark our block prover against other solutions, using Ethereum mainnet/testnet blocks. For this we need to fetch state from an Ethereum chain. **Description** - adds `l2/prover/bench` crate - adds state fetching functions from the JSON-RPC API (account, block, storage, proofs) - adds a `RpcDB` type to download and cache needed state during block execution - adds an `execute()` function to the `Prover` type Some bugs were discovered while testing execution of blocks: - fixes state verification (via state and storage MPTs), `verify_db()` - fixes withdrawals not being processed when using `ExecutionDB` - fixes beacon root call state changes not being comitted when using `ExecutionDB` - fixes serialization errors in SP1 caused by the `requests_hash` field of a block header --------- Co-authored-by: Mario Rugiero <[email protected]> Co-authored-by: fborello-lambda <[email protected]> Co-authored-by: Javier Chatruc <[email protected]> Co-authored-by: ilitteri <[email protected]>
1 parent 18680ad commit 5b51806

File tree

35 files changed

+2680
-863
lines changed

35 files changed

+2680
-863
lines changed

.github/workflows/ci_l1.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
4343
- name: Run cargo clippy
4444
run: |
45-
cargo clippy --all-targets --all-features --workspace --exclude ethrex-prover -- -D warnings
45+
cargo clippy --all-targets --all-features --workspace --exclude ethrex-prover --exclude ethrex-prover-bench -- -D warnings
4646
4747
- name: Run cargo fmt
4848
run: |

0 commit comments

Comments
 (0)