tmain.rs - proofbug - halo2 proof bug
HTML git clone https://git.parazyd.org/proofbug
DIR Log
DIR Files
DIR Refs
---
tmain.rs (1030B)
---
1 use darkfi::{
2 crypto::proof::VerifyingKey,
3 tx::Transaction,
4 util::serial::deserialize,
5 zk::circuit::{BurnContract, MintContract},
6 };
7
8 fn main() {
9 let tx_bytes = include_bytes!("transaction.bin");
10 let tx: Transaction = deserialize(tx_bytes).unwrap();
11
12 // println!("{:?}", tx);
13
14 // https://github.com/darkrenaissance/darkfi/blob/master/src/crypto/proof.rs#L19
15
16 // https://github.com/darkrenaissance/darkfi/blob/master/src/zk/circuit/burn_contract.rs
17 let burn_vk = VerifyingKey::build(11, &BurnContract::default());
18 for input in tx.inputs {
19 let instances = input.revealed.make_outputs();
20 input.burn_proof.verify(&burn_vk, &instances).unwrap();
21 }
22
23 // https://github.com/darkrenaissance/darkfi/blob/master/src/zk/circuit/mint_contract.rs
24 let mint_vk = VerifyingKey::build(11, &MintContract::default());
25 for output in tx.outputs {
26 let instances = output.revealed.make_outputs();
27 output.mint_proof.verify(&mint_vk, &instances).unwrap();
28 }
29 }