From c3165f6e809cb8637d90e539d3930ee954bfe297 Mon Sep 17 00:00:00 2001 From: lightsing Date: Thu, 20 Feb 2025 10:41:29 +0800 Subject: [PATCH] fix cli --- crates/bin/src/commands/run_file.rs | 10 ++++++++-- crates/bin/src/utils.rs | 9 +++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/crates/bin/src/commands/run_file.rs b/crates/bin/src/commands/run_file.rs index e9d437d..f555a7b 100644 --- a/crates/bin/src/commands/run_file.rs +++ b/crates/bin/src/commands/run_file.rs @@ -14,6 +14,7 @@ pub struct RunFileCommand { #[arg(short, long)] chunk_mode: bool, #[cfg(feature = "scroll")] + #[arg(long)] prev_msg_queue_hash: Option, } @@ -48,8 +49,9 @@ impl RunFileCommand { kv::{nohash::NoHashMap, null::NullProvider}, primitives::{ BlockWitness as _, - chainspec::{Chain, get_chain_spec}, + chainspec::{Chain, get_chain_spec_or_build}, ext::{BlockWitnessChunkExt, BlockWitnessExt}, + hardforks::{ForkCondition, ScrollHardfork}, types::{BlockWitness, ChunkInfoBuilder}, }, trie::BlockWitnessTrieExt, @@ -75,7 +77,11 @@ impl RunFileCommand { .collect::, _>>()?; let chain_id = witnesses[0].chain_id; - let chain_spec = get_chain_spec(Chain::from_id(chain_id)).unwrap(); + let chain_spec = get_chain_spec_or_build(Chain::from_id(chain_id), |spec| { + spec.inner + .hardforks + .insert(ScrollHardfork::EuclidV2, ForkCondition::Timestamp(0)); + }); let mut chunk_info_builder = ChunkInfoBuilder::new(&chain_spec, &blocks); if let Some(prev_msg_queue_hash) = self.prev_msg_queue_hash { diff --git a/crates/bin/src/utils.rs b/crates/bin/src/utils.rs index 618fd2a..41b68c9 100644 --- a/crates/bin/src/utils.rs +++ b/crates/bin/src/utils.rs @@ -3,8 +3,9 @@ use sbv::{ kv::nohash::NoHashMap, primitives::{ BlockWitness, - chainspec::{Chain, get_chain_spec}, + chainspec::{Chain, get_chain_spec_or_build}, ext::BlockWitnessExt, + hardforks::{ForkCondition, ScrollHardfork}, }, trie::BlockWitnessTrieExt, }; @@ -30,7 +31,11 @@ fn verify_inner( .build() .unwrap(); - let chain_spec = get_chain_spec(Chain::from_id(witness.chain_id())).unwrap(); + let chain_spec = get_chain_spec_or_build(Chain::from_id(witness.chain_id()), |spec| { + spec.inner + .hardforks + .insert(ScrollHardfork::EuclidV2, ForkCondition::Timestamp(0)); + }); let mut code_db = NoHashMap::default(); witness.import_codes(&mut code_db);