mirror of
https://github.com/scroll-tech/scroll.git
synced 2026-04-23 03:00:50 -04:00
fix issue in guest rc.6
This commit is contained in:
8
Cargo.lock
generated
8
Cargo.lock
generated
@@ -3960,7 +3960,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "l2geth"
|
||||
version = "4.5.47"
|
||||
version = "4.6.3"
|
||||
dependencies = [
|
||||
"alloy",
|
||||
"async-trait",
|
||||
@@ -4089,7 +4089,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "libzkp"
|
||||
version = "4.5.47"
|
||||
version = "4.6.3"
|
||||
dependencies = [
|
||||
"alloy-primitives",
|
||||
"base64 0.22.1",
|
||||
@@ -4111,7 +4111,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "libzkp-c"
|
||||
version = "4.5.47"
|
||||
version = "4.6.3"
|
||||
dependencies = [
|
||||
"l2geth",
|
||||
"libzkp",
|
||||
@@ -6548,7 +6548,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "prover"
|
||||
version = "4.5.47"
|
||||
version = "4.6.3"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"base64 0.22.1",
|
||||
|
||||
@@ -14,7 +14,7 @@ edition = "2021"
|
||||
homepage = "https://scroll.io"
|
||||
readme = "README.md"
|
||||
repository = "https://github.com/scroll-tech/scroll"
|
||||
version = "4.5.47"
|
||||
version = "4.6.3"
|
||||
|
||||
[workspace.dependencies]
|
||||
scroll-zkvm-prover = { git = "https://github.com/scroll-tech/zkvm-prover", rev = "360f364" }
|
||||
|
||||
@@ -7,6 +7,7 @@ use scroll_zkvm_types::{
|
||||
BatchHeaderValidium, BatchInfo, BatchWitness, Envelope, EnvelopeV6, EnvelopeV7, EnvelopeV8,
|
||||
LegacyBatchWitness, ReferenceHeader, N_BLOB_BYTES,
|
||||
},
|
||||
chunk::ChunkInfo,
|
||||
public_inputs::{ForkName, Version},
|
||||
task::ProvingTask,
|
||||
utils::{to_rkyv_bytes, RancorError},
|
||||
@@ -234,15 +235,28 @@ impl BatchProvingTask {
|
||||
}
|
||||
};
|
||||
|
||||
// patch: ensure block_hash field is ZERO for scroll domain
|
||||
let chunk_infos = self
|
||||
.chunk_proofs
|
||||
.iter()
|
||||
.map(|p|
|
||||
if version.domain == Domain::Scroll {
|
||||
ChunkInfo {
|
||||
prev_blockhash: B256::ZERO,
|
||||
post_blockhash: B256::ZERO,
|
||||
..p.metadata.chunk_info.clone()
|
||||
}
|
||||
} else {
|
||||
p.metadata.chunk_info.clone()
|
||||
}
|
||||
).collect();
|
||||
|
||||
|
||||
BatchWitness {
|
||||
version: version.as_version_byte(),
|
||||
fork_name: version.fork,
|
||||
chunk_proofs: self.chunk_proofs.iter().map(|proof| proof.into()).collect(),
|
||||
chunk_infos: self
|
||||
.chunk_proofs
|
||||
.iter()
|
||||
.map(|p| p.metadata.chunk_info.clone())
|
||||
.collect(),
|
||||
chunk_infos,
|
||||
blob_bytes: self.blob_bytes.clone(),
|
||||
reference_header,
|
||||
point_eval_witness,
|
||||
|
||||
@@ -33,34 +33,7 @@ impl TryFromWithInterpreter<ChunkTask> for ChunkProvingTask {
|
||||
) -> Result<Self> {
|
||||
let mut block_witnesses = Vec::new();
|
||||
for block_hash in value.block_hashes {
|
||||
let mut witness =
|
||||
interpreter.try_fetch_block_witness(block_hash, block_witnesses.last())?;
|
||||
if witness.header.number == 1 {
|
||||
use std::str::FromStr;
|
||||
let hacked_state_root = match witness.chain_id {
|
||||
// cloak-xen-sequencer.sepolia
|
||||
5343513301 => Some(B256::from_str(
|
||||
"0x0711f02d6f85b0597c4705298e01ee27159fdd8bd8bdeda670ae8b9073091246",
|
||||
)?),
|
||||
// cloak-etherfi-sequencer.sepolia
|
||||
5343513302 => Some(B256::from_str(
|
||||
"0x7b44ea23770dda8810801779eb6847d56be0399e35de7c56465ccf8b7578ddf6",
|
||||
)?),
|
||||
// cloak-shiga-sequencer.sepolia
|
||||
5343513303 => Some(B256::from_str(
|
||||
"0x05973227854ac82c22f164ed3d4510b7df516a0eecdfd9bed5f2446efc9994b9",
|
||||
)?),
|
||||
// cloak-xen-sequencer.mainnet
|
||||
5343523301 => Some(B256::from_str(
|
||||
"0x8da1aaf41660ddf7870ab5ff4f6a3ab4b2e652568d341ede87ada56aad5fb097",
|
||||
)?),
|
||||
_ => None,
|
||||
};
|
||||
if let Some(hacked_state_root) = hacked_state_root {
|
||||
witness.prev_state_root = hacked_state_root;
|
||||
tracing::warn!("hack genesis state root {:?} for cloak testnet to work around a wrong gensis configuration", witness.prev_state_root);
|
||||
}
|
||||
}
|
||||
let witness = interpreter.try_fetch_block_witness(block_hash, block_witnesses.last())?;
|
||||
block_witnesses.push(witness);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user