From 83ae36b31ad794b8b6918bcd6d2ab26ffd8e3cd3 Mon Sep 17 00:00:00 2001 From: Ho Date: Tue, 18 Nov 2025 11:08:01 +0900 Subject: [PATCH] Galileo fork in batch task --- .../logic/provertask/batch_prover_task.go | 2 +- crates/libzkp/src/tasks/batch.rs | 24 ++++++++++--------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index d296e4422..627b8f89d 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -313,7 +313,7 @@ func (bp *BatchProverTask) getBatchTaskDetail(dbBatch *orm.Batch, chunkProofs [] switch dbBatchCodecVersion { case encoding.CodecV3, encoding.CodecV4, encoding.CodecV6, encoding.CodecV7, encoding.CodecV8: default: - return taskDetail, nil + return nil, fmt.Errorf("Unsupported codec version <%d>", dbBatchCodecVersion) } codec, err := encoding.CodecFromVersion(encoding.CodecVersion(dbBatch.CodecVersion)) diff --git a/crates/libzkp/src/tasks/batch.rs b/crates/libzkp/src/tasks/batch.rs index fa088b4ee..b22f23f94 100644 --- a/crates/libzkp/src/tasks/batch.rs +++ b/crates/libzkp/src/tasks/batch.rs @@ -11,7 +11,7 @@ use scroll_zkvm_types::{ public_inputs::{ForkName, Version}, task::ProvingTask, utils::{to_rkyv_bytes, RancorError}, - version::{Domain, STFVersion}, + version::{Domain, Codec}, }; use crate::proofs::ChunkProof; @@ -139,6 +139,7 @@ impl TryFrom for ProvingTask { impl BatchProvingTask { fn build_guest_input(&self) -> BatchWitness { let version = Version::from(self.version); + tracing::info!("Handling batch task for input, version byte {}, Version data: {:?}", self.version, version); let point_eval_witness = if !version.is_validium() { // sanity check: calculate point eval needed and compare with task input @@ -174,10 +175,14 @@ impl BatchProvingTask { ::from_slice(padded_blob_bytes.as_slice()) .challenge_digest(versioned_hash) } + ForkName::Galileo => { + ::from_slice(padded_blob_bytes.as_slice()) + .challenge_digest(versioned_hash) + } fork_name => unreachable!( - "hardfork mismatch for da-codec@v7 header: found={}, expected={:?}", + "hardfork mismatch for da-codec@v7/8 header: found={}, expected={:?}", fork_name, - [ForkName::EuclidV2, ForkName::Feynman], + [ForkName::EuclidV2, ForkName::Feynman, ForkName::Galileo], ), } } @@ -227,22 +232,19 @@ impl BatchProvingTask { None }; - let reference_header = match (version.domain, version.stf_version) { - (Domain::Scroll, STFVersion::V6) => { + let reference_header = match (version.domain, version.codec) { + (Domain::Scroll, Codec::V6) => { ReferenceHeader::V6(*self.batch_header.must_v6_header()) } - (Domain::Scroll, STFVersion::V7) => { + (Domain::Scroll, Codec::V7) => { ReferenceHeader::V7(*self.batch_header.must_v7_header()) } - (Domain::Scroll, STFVersion::V8) => { + (Domain::Scroll, Codec::V8) => { ReferenceHeader::V8(*self.batch_header.must_v8_header()) } - (Domain::Validium, STFVersion::V1) => { + (Domain::Validium, _) => { ReferenceHeader::Validium(*self.batch_header.must_validium_header()) } - (domain, stf_version) => { - unreachable!("unsupported domain={domain:?},stf-version={stf_version:?}") - } }; // patch: ensure block_hash field is ZERO for scroll domain