diff --git a/Cargo.lock b/Cargo.lock index 93de5988b..df4b113aa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5577,7 +5577,7 @@ dependencies = [ [[package]] name = "garbled-snark-verifier" version = "0.1.0" -source = "git+https://github.com/GOATNetwork/bitvm2-gc?branch=feat%2Fgoat-bitvm3#d1a69cf194e04fc413c6cdd1e8d47b4e834c4ddc" +source = "git+https://github.com/GOATNetwork/bitvm2-gc?branch=feat%2Fgoat-bitvm3#f1999e03899ae43d46f191d288d898151653e6dc" dependencies = [ "ark-bn254", "ark-crypto-primitives", @@ -12203,7 +12203,7 @@ dependencies = [ [[package]] name = "soldering-host" version = "1.1.0" -source = "git+https://github.com/GOATNetwork/bitvm2-gc?branch=feat%2Fgoat-bitvm3#d1a69cf194e04fc413c6cdd1e8d47b4e834c4ddc" +source = "git+https://github.com/GOATNetwork/bitvm2-gc?branch=feat%2Fgoat-bitvm3#f1999e03899ae43d46f191d288d898151653e6dc" dependencies = [ "ark-bn254", "ark-crypto-primitives", @@ -13889,7 +13889,7 @@ dependencies = [ [[package]] name = "verifiable-circuit-babe" version = "0.0.1" -source = "git+https://github.com/GOATNetwork/bitvm2-gc?branch=feat%2Fgoat-bitvm3#d1a69cf194e04fc413c6cdd1e8d47b4e834c4ddc" +source = "git+https://github.com/GOATNetwork/bitvm2-gc?branch=feat%2Fgoat-bitvm3#f1999e03899ae43d46f191d288d898151653e6dc" dependencies = [ "aes", "ark-bn254", diff --git a/crates/bitvm-gc/src/babe_adapter.rs b/crates/bitvm-gc/src/babe_adapter.rs index 225c161fa..aa8b4d2cd 100644 --- a/crates/bitvm-gc/src/babe_adapter.rs +++ b/crates/bitvm-gc/src/babe_adapter.rs @@ -18,9 +18,7 @@ use serde::{Deserialize, Serialize}; use sha2::{Digest, Sha256}; use soldering_host::BabeBundle; pub use soldering_host::BabeBundleBuilder; -use verifiable_circuit_babe::babe::{ - GC_INPUT_WIRES, WeKnownPi1SetupCt, build_challenge_assert_witness as babe_build_challenge_assert_witness, -}; +use verifiable_circuit_babe::babe::{GC_INPUT_WIRES, build_challenge_assert_witness as babe_build_challenge_assert_witness, WitnessEncSetupCt}; use verifiable_circuit_babe::dre::N_PADDED; use verifiable_circuit_babe::cac::cac_finalize_indices; pub use verifiable_circuit_babe::cac::{CACSetupPackage, FinalizedInstanceData}; @@ -130,7 +128,7 @@ pub fn sample_cac_instance_commit(seed: u8) -> CACInstanceCommit { pub fn sample_finalized_instance_data(index: usize) -> FinalizedInstanceData { let adaptor_tables = [SparseAdaptorTable { entries: vec![] }, SparseAdaptorTable { entries: vec![] }]; - let ct_setup = WeKnownPi1SetupCt { ct2_r_delta_g2: vec![], ct3_masked_msg: vec![] }; + let ct_setup = WitnessEncSetupCt { ct2_r_delta_g2: vec![], ct3_masked_msg: vec![] }; FinalizedInstanceData { index, @@ -214,6 +212,7 @@ pub fn verify_real_setup( finalized: &[FinalizedInstanceData], soldering: &SolderingData, vk: &Groth16VerifyingKey, + claimed_finalized_indices: &[usize], static_public_inputs: Fr, ) -> Result<()> { let bundle = BabeBundle { @@ -222,7 +221,7 @@ pub fn verify_real_setup( soldering: to_real_soldering(soldering)?, }; soldering_builder - .babe_prover_verify_setup(&package, &bundle, vk, static_public_inputs) + .babe_prover_verify_setup(&package, &bundle, vk, static_public_inputs, claimed_finalized_indices) .map_err(anyhow::Error::msg) } diff --git a/crates/bitvm-gc/tests/babe_adapter.rs b/crates/bitvm-gc/tests/babe_adapter.rs index 193a490e2..b2a6862e9 100644 --- a/crates/bitvm-gc/tests/babe_adapter.rs +++ b/crates/bitvm-gc/tests/babe_adapter.rs @@ -66,6 +66,7 @@ fn real_setup_restores_private_state_and_verifies_soldering_proof() { &finalized, &soldering, &vk, + &finalized_indices, static_public_inputs, ) .expect("verify soldering proof"); diff --git a/node/src/handle.rs b/node/src/handle.rs index 3101590dd..ba49207e0 100644 --- a/node/src/handle.rs +++ b/node/src/handle.rs @@ -1715,6 +1715,7 @@ async fn handle_compact_soldering_proof_operator( bail!("selected verifier candidate index does not match SolderingProof slot"); } let setup_package = candidate.setup_package.clone(); + let claimed_finalized_indices = candidate.selected_circuit_indexes.clone(); let (opened, finalized, soldering) = expand_compact_soldering_proof_payload(payload) .context("expand compact soldering proof payload")?; @@ -1738,6 +1739,7 @@ async fn handle_compact_soldering_proof_operator( &finalized_for_validation, &soldering_for_validation, &vk, + &claimed_finalized_indices, static_input, ) })