Skip to content

feat: debug_executionWitness support#147

Merged
leruaa merged 5 commits intomainfrom
aurelien/gro2-67-debug_executionwitness-support-in-rsp
Jul 30, 2025
Merged

feat: debug_executionWitness support#147
leruaa merged 5 commits intomainfrom
aurelien/gro2-67-debug_executionwitness-support-in-rsp

Conversation

@leruaa
Copy link
Collaborator

@leruaa leruaa commented Jul 28, 2025

Following @koxu1996 experiment in paradigmxyz/reth#17416, this PR adds debug_executionWitness support in RSP, allowing to significantly reduce input fetching from minutes to only a few seconds.

@github-actions
Copy link

Block 20600000 Base Branch Current PR Diff Diff (%)
Total Cycle Count 270,840,315 270,958,371 118,056 0.04
Inputs deserialization 53,374,409 53,373,274 -1,135 -0.00
Initialize Witness DB 58,382,608 58,380,969 -1,639 -0.00
Recover Senders 10,203,987 10,203,987 0 -0.00
Header Validation 1,472,835 1,472,836 1 0.00
Block Execution 115,229,658 115,241,359 11,701 0.01
Block Validation 3,861,053 3,861,053 0 -0.00
State Root Computation 25,866,788 25,975,927 109,139 0.42
Syscall Count 210,938 210,938 0 -0.00
Prover Gas 392,335,586 392,105,097 -230,489 -0.06

@github-actions
Copy link

Block 20600000 Base Branch Current PR Diff Diff (%)
Total Cycle Count 263,082,011 263,233,203 151,192 0.06
Inputs deserialization 53,297,573 53,296,933 -640 -0.00
Initialize Witness DB 53,886,214 53,879,597 -6,617 -0.01
Recover Senders 9,732,544 9,732,544 0 -0.00
Header Validation 1,407,185 1,407,186 1 0.00
Block Execution 114,169,176 114,172,604 3,428 0.00
Block Validation 3,681,484 3,681,484 0 -0.00
State Root Computation 24,460,846 24,615,875 155,029 0.63
Syscall Count 210,938 210,938 0 -0.00
Prover Gas 379,348,473 379,737,387 388,914 0.10

@leruaa leruaa merged commit f6ac5b4 into main Jul 30, 2025
6 checks passed
eason1981 added a commit to brevis-network/rsp that referenced this pull request Sep 11, 2025
…t RPC (#2)

* chore: bump SP1 deps to v5 (succinctlabs#133)

* wip: cuda prover builder missing moongate endpoint

* fix: with_moongate_endpoint()

---------

Co-authored-by: leruaa <aurelien.catinon@gmail.com>

* fix: allow to sync MptNode to another thread (succinctlabs#134)

* fix: allow to send MptNode to another thread

* fix: don't share cached reference accross clones

* feat: hash genesis (succinctlabs#138)

* feat: impl Hash for Genesis

* feat: handle custom OP chains

* fix: better handle errors

* fix: rename Error

* fix: infinite loop

* fix: issues from audit (succinctlabs#139)

* fix: validate headers against its parent

* fix: Optimism base fee params

* fix: validate body against header

* fix: log bloon verification is done in validate_block_post_execution

* nit: reuse reference()

* fix: use OpChainSpec::from_genesis (succinctlabs#141)

* fix: allow to serialize ChainConfig with bincode (succinctlabs#142)

* fix: allow to serialize ChainConfig with bincode

* fix: add OP Sepolia endpoint in CI

* nit: raw_value feature not needed

* chore: bump Reth to 1.5.0 (succinctlabs#136)

* chore: bump Reth to 1.4.8

* chore: bump SP1 to v5.0.5

* fix: skip checks for Linea

* fix: pin SP1 in containers

* chore: bump alloy-serde

* chore: bump alloy to 1.0.12

* chore: bump Reth to 1.5.0

* chore: update lock files

* fix: remove unused state_requests

* chore: update sha2 patch to v0.10.9

* fix: use validate_body_against_header_op on OP chains (succinctlabs#145)

* chore: bump SP1 to v5.1 (succinctlabs#148)

* feat: debug_executionWitness support (succinctlabs#147)

* feat: refactor RpcDb to prepare another impl with ExecutionWitness

* feat: add a feature to fetch the state using execution witness

* fix: remaining todos

* feat: enable `execution-witness` feature on eth proofs

* revert: enable `execution-witness` feature on eth proofs

This reverts commit fdfb12c.

* fix: order ancestor headers (succinctlabs#149)

* chore: bump reth to 1.6.0 (succinctlabs#151)

* chore: bump Reth to 1..6.0

* fix: clippy

* fix: clippy again

* enable `execution-witness` as default RPC API

* clean

* update reth and add a test script

* disable `execution-witness` in eth-proofs bin

* add more test blocks

* delete ci

* delete useless script

* fix `cargo install`

---------

Co-authored-by: N <n@push0.dev>
Co-authored-by: leruaa <aurelien.catinon@gmail.com>
Co-authored-by: Aurélien <3535019+leruaa@users.noreply.github.com>
Co-authored-by: eason <eason@brevis.network>
eason1981 added a commit to brevis-network/rsp that referenced this pull request Dec 1, 2025
* chore: bump SP1 deps to v5 (succinctlabs#133)

* wip: cuda prover builder missing moongate endpoint

* fix: with_moongate_endpoint()

---------

Co-authored-by: leruaa <aurelien.catinon@gmail.com>

* fix: allow to sync MptNode to another thread (succinctlabs#134)

* fix: allow to send MptNode to another thread

* fix: don't share cached reference accross clones

* feat: hash genesis (succinctlabs#138)

* feat: impl Hash for Genesis

* feat: handle custom OP chains

* fix: better handle errors

* fix: rename Error

* fix: infinite loop

* fix: issues from audit (succinctlabs#139)

* fix: validate headers against its parent

* fix: Optimism base fee params

* fix: validate body against header

* fix: log bloon verification is done in validate_block_post_execution

* nit: reuse reference()

* fix: use OpChainSpec::from_genesis (succinctlabs#141)

* fix: allow to serialize ChainConfig with bincode (succinctlabs#142)

* fix: allow to serialize ChainConfig with bincode

* fix: add OP Sepolia endpoint in CI

* nit: raw_value feature not needed

* chore: bump Reth to 1.5.0 (succinctlabs#136)

* chore: bump Reth to 1.4.8

* chore: bump SP1 to v5.0.5

* fix: skip checks for Linea

* fix: pin SP1 in containers

* chore: bump alloy-serde

* chore: bump alloy to 1.0.12

* chore: bump Reth to 1.5.0

* chore: update lock files

* fix: remove unused state_requests

* chore: update sha2 patch to v0.10.9

* fix: use validate_body_against_header_op on OP chains (succinctlabs#145)

* chore: bump SP1 to v5.1 (succinctlabs#148)

* feat: debug_executionWitness support (succinctlabs#147)

* feat: refactor RpcDb to prepare another impl with ExecutionWitness

* feat: add a feature to fetch the state using execution witness

* fix: remaining todos

* feat: enable `execution-witness` feature on eth proofs

* revert: enable `execution-witness` feature on eth proofs

This reverts commit fdfb12c.

* fix: order ancestor headers (succinctlabs#149)

* chore: bump reth to 1.6.0 (succinctlabs#151)

* chore: bump Reth to 1..6.0

* fix: clippy

* fix: clippy again

* chore: add veridise audit report for Fluent STF (succinctlabs#152)

* chore: bump Reth to v1.7.0 (succinctlabs#153)

* feat: add holesky (succinctlabs#154)

* feat: add holesky

* feat: add holesky()

* chore: update RSP cache

* fix: add holesky RPC

* chore: bump Reth to v1.8.1 (succinctlabs#155)

* chore: bump Reth to v1.8.2 (succinctlabs#157)

* feat: readable Debug formatting for MPT nodes (succinctlabs#156)

* Add full cover example for `EthereumState` debug printing.

* Implement custom debug print for MPT types.

* Fix clippy errors.

* fix: remove log_bloom form CSV report (succinctlabs#158)

Fixes an error in 1dd3021 / succinctlabs#139, where log_bloom printing was removed but the header columns wasn't.

* fix: add BPO blob schedule on sepolia (succinctlabs#159)

* chore: bump Reth to v1.8.3

* feat: update blob params (succinctlabs#161)

* chore: bump reth to v1.9.0

* chore: remove c-kzg feature flag

* feat: use a custom Crypto to replace kzg-rs

* feat: use alloy-genesis serde_bincode_compat for ChainConfig

* test: check blob schedule in bincode roundtrip

* chore: bump Reth to v1.9.1 (succinctlabs#164)

* fix: normalize the code hash whaen the RPC badly returns `0x000...000` for for non-existing EOAs

* feat: add new precompiles (succinctlabs#166)

* check kzg patch

* remove useless dependency `alloy-serde`

* add pico-processor bin (#6)

Co-authored-by: eason <eason@brevis.network>

---------

Co-authored-by: N <n@push0.dev>
Co-authored-by: leruaa <aurelien.catinon@gmail.com>
Co-authored-by: Aurélien <3535019+leruaa@users.noreply.github.com>
Co-authored-by: Dmitry Savonin <3367605+dmitry123@users.noreply.github.com>
Co-authored-by: koxu1996 <andrzej1_1@o2.pl>
Co-authored-by: Lancelot de Ferrière <wraitii@users.noreply.github.com>
Co-authored-by: fakedev9999 <taehoon@succinct.xyz>
Co-authored-by: Héctor Masip Ardevol <68732820+hecmas@users.noreply.github.com>
Co-authored-by: eason <eason@brevis.network>
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.

2 participants