Skip to content

Commit 4a06290

Browse files
committed
fix: update example
1 parent a138b1b commit 4a06290

File tree

5 files changed

+38
-9
lines changed

5 files changed

+38
-9
lines changed

Cargo.lock

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
//! # zkaleido-risc0-groth16-verifier
22
//!
33
//! This crate integrates RISC Zero-based Groth16 proof verification based on zkaleido traits.
4+
mod errors;
45
mod sha256;
56
mod verifier;
6-
mod errors;
77

88
pub use verifier::Risc0Groth16Verifier;

examples/groth16-verify-risc0/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,5 @@ zkaleido-risc0-groth16-verifier = { path = "../../adapters/risc0/groth16-verifie
99
zkaleido = { path = "../../zkaleido" }
1010
zkaleido-native-adapter = { path = "../../adapters/native" }
1111
hex.workspace = true
12+
risc0-groth16 = "2.0.1"
13+
risc0-zkp = "2.0.1"
Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,50 @@
11
use std::path::PathBuf;
22

3+
use risc0_groth16::verifying_key;
4+
use risc0_zkp::core::digest::{digest, Digest};
35
use serde::{Deserialize, Serialize};
46
use zkaleido::ProofReceipt;
7+
use zkaleido_risc0_groth16_verifier::Risc0Groth16Verifier;
58

69
#[derive(Debug, Clone, Serialize, Deserialize)]
710
pub struct Risc0Groth16VerifyInput {
811
pub risc0_receipt: ProofReceipt,
9-
pub risc0_vk: [u8; 32],
12+
pub risc0_verifier: Risc0Groth16Verifier,
1013
}
1114

1215
impl Risc0Groth16VerifyInput {
1316
pub fn load() -> Self {
1417
let base = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
1518

16-
let risc0_vk_hex = "7f3599b6e5c45edc6c2dcd88a9df76d1c9fce38cfb2afc8e5615f154d878009b";
17-
let risc0_vk: [u8; 32] = hex::decode(risc0_vk_hex).unwrap().try_into().unwrap();
19+
let image_id_hex = "7f3599b6e5c45edc6c2dcd88a9df76d1c9fce38cfb2afc8e5615f154d878009b";
20+
let image_id: [u8; 32] = hex::decode(image_id_hex).unwrap().try_into().unwrap();
21+
let image_id = Digest::from_bytes(image_id);
22+
1823
let proof_file = base.join(format!(
1924
"../../adapters/risc0/groth16-verifier/proofs/fibonacci_risc0_{}.proof.bin",
20-
risc0_vk_hex
25+
image_id_hex
2126
));
2227
let risc0_receipt = ProofReceipt::load(proof_file).unwrap();
2328

29+
let vk = verifying_key();
30+
31+
pub const ALLOWED_CONTROL_ROOT: Digest =
32+
digest!("884389273e128b32475b334dec75ee619b77cb33d41c332021fe7e44c746ee60");
33+
34+
pub const BN254_IDENTITY_CONTROL_ID: Digest =
35+
digest!("c07a65145c3cb48b6101962ea607a4dd93c753bb26975cb47feb00d3666e4404");
36+
37+
let risc0_verifier = Risc0Groth16Verifier::load(
38+
vk,
39+
BN254_IDENTITY_CONTROL_ID,
40+
ALLOWED_CONTROL_ROOT,
41+
image_id,
42+
)
43+
.unwrap();
44+
2445
Risc0Groth16VerifyInput {
2546
risc0_receipt,
26-
risc0_vk,
47+
risc0_verifier,
2748
}
2849
}
2950
}

examples/groth16-verify-risc0/src/lib.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,15 @@ pub mod program;
88
pub fn process_groth16_verify_risc0(zkvm: &impl ZkVmEnv) {
99
let Risc0Groth16VerifyInput {
1010
risc0_receipt,
11-
risc0_vk,
11+
risc0_verifier,
1212
} = zkvm.read_serde();
1313

14-
let risc0_verified =
15-
zkaleido_risc0_groth16_verifier::verify_groth16(&risc0_receipt, &risc0_vk).is_ok();
14+
let risc0_verified = risc0_verifier
15+
.verify(
16+
risc0_receipt.proof().as_bytes(),
17+
risc0_receipt.public_values().as_bytes(),
18+
)
19+
.is_ok();
1620

1721
zkvm.commit_serde(&risc0_verified);
1822
}

0 commit comments

Comments
 (0)