Skip to content

Commit f09d03e

Browse files
authored
chore: update RSP rev (#55)
1 parent 3250991 commit f09d03e

File tree

4 files changed

+21
-18
lines changed

4 files changed

+21
-18
lines changed

Cargo.lock

Lines changed: 6 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,11 @@ sp1-zkvm = "5.0.0"
5050
sp1-build = "5.0.0"
5151

5252
# rsp
53-
rsp-rpc-db = { git = "https://github.com/succinctlabs/rsp", rev = "57fd82b40de3fe816db309f29bca8ecc0d8821f1" }
54-
rsp-witness-db = { git = "https://github.com/succinctlabs/rsp", rev = "57fd82b40de3fe816db309f29bca8ecc0d8821f1" }
55-
rsp-primitives = { git = "https://github.com/succinctlabs/rsp", rev = "57fd82b40de3fe816db309f29bca8ecc0d8821f1" }
56-
rsp-client-executor = { git = "https://github.com/succinctlabs/rsp", rev = "57fd82b40de3fe816db309f29bca8ecc0d8821f1" }
57-
rsp-mpt = { git = "https://github.com/succinctlabs/rsp", rev = "57fd82b40de3fe816db309f29bca8ecc0d8821f1" }
53+
rsp-rpc-db = { git = "https://github.com/succinctlabs/rsp", rev = "0cd586a95d1462a6ff69772a9e4491620db10eb1" }
54+
rsp-witness-db = { git = "https://github.com/succinctlabs/rsp", rev = "0cd586a95d1462a6ff69772a9e4491620db10eb1" }
55+
rsp-primitives = { git = "https://github.com/succinctlabs/rsp", rev = "0cd586a95d1462a6ff69772a9e4491620db10eb1" }
56+
rsp-client-executor = { git = "https://github.com/succinctlabs/rsp", rev = "0cd586a95d1462a6ff69772a9e4491620db10eb1" }
57+
rsp-mpt = { git = "https://github.com/succinctlabs/rsp", rev = "0cd586a95d1462a6ff69772a9e4491620db10eb1" }
5858

5959
# rsp-rpc-db = { path = "../rsp/crates/storage/rpc-db" }
6060
# rsp-witness-db = { path = "../rsp/crates/storage/witness-db" }

crates/client-executor/src/io.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,9 @@ impl WitnessInput for EvmSketchInput {
7272
}
7373

7474
#[inline(always)]
75-
fn headers(&self) -> impl Iterator<Item = &Header> {
76-
once(self.anchor.header()).chain(self.ancestor_headers.iter())
75+
fn sealed_headers(&self) -> impl Iterator<Item = SealedHeader> {
76+
once(SealedHeader::seal_slow(self.anchor.header().clone()))
77+
.chain(self.ancestor_headers.iter().map(|h| SealedHeader::seal_slow(h.clone())))
7778
}
7879
}
7980

crates/client-executor/src/lib.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use alloy_sol_types::{sol, SolCall, SolEvent};
1212
use alloy_trie::root::ordered_trie_root_with_encoder;
1313
use eyre::OptionExt;
1414
use io::EvmSketchInput;
15-
use reth_primitives::{EthPrimitives, SealedHeader};
15+
use reth_primitives::EthPrimitives;
1616
use revm::{context::TxEnv, database::CacheDB};
1717
use revm_primitives::{Address, Bytes, TxKind, B256, U256};
1818
use rsp_client_executor::io::{TrieDB, WitnessInput};
@@ -196,19 +196,20 @@ impl<'a, P: Primitives> ClientExecutor<'a, P> {
196196
let chain_spec = P::build_spec(&state_sketch.genesis)?;
197197
let genesis_hash = hash_genesis(&state_sketch.genesis);
198198
let header = state_sketch.anchor.header();
199+
let sealed_headers = state_sketch.sealed_headers().collect::<Vec<_>>();
199200

200-
P::validate_header(&SealedHeader::new_unhashed(header.clone()), chain_spec.clone())
201+
P::validate_header(&sealed_headers[0], chain_spec.clone())
201202
.expect("the header in not valid");
202203

203204
// Verify the state root
204205
assert_eq!(header.state_root, state_sketch.state.state_root(), "State root mismatch");
205206

206207
// Verify that ancestors form a valid chain
207208
let mut previous_header = header;
208-
for ancestor in &state_sketch.ancestor_headers {
209-
let ancestor_hash = ancestor.hash_slow();
209+
for ancestor in sealed_headers.iter().skip(1) {
210+
let ancestor_hash = ancestor.hash();
210211

211-
P::validate_header(&SealedHeader::new_unhashed(ancestor.clone()), chain_spec.clone())
212+
P::validate_header(ancestor, chain_spec.clone())
212213
.unwrap_or_else(|_| panic!("the ancestor {} header in not valid", ancestor.number));
213214
assert_eq!(
214215
previous_header.parent_hash, ancestor_hash,
@@ -235,7 +236,7 @@ impl<'a, P: Primitives> ClientExecutor<'a, P> {
235236
Ok(Self {
236237
anchor: &state_sketch.anchor,
237238
chain_spec,
238-
witness_db: state_sketch.witness_db()?,
239+
witness_db: state_sketch.witness_db(&sealed_headers)?,
239240
logs,
240241
genesis_hash,
241242
})

0 commit comments

Comments
 (0)