mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-04-28 03:00:18 -04:00
working mint proof
This commit is contained in:
@@ -31,7 +31,7 @@ use halo2_gadgets::{
|
||||
},
|
||||
};
|
||||
use pasta_curves::{
|
||||
arithmetic::{CurveAffine, Field},
|
||||
arithmetic::{CurveAffine, Field, FieldExt},
|
||||
group::{
|
||||
ff::{PrimeField, PrimeFieldBits},
|
||||
Curve,
|
||||
@@ -284,10 +284,10 @@ mod tx2 {
|
||||
//}
|
||||
|
||||
for (i, output) in self.outputs.iter().enumerate() {
|
||||
//if verify_mint_proof(mint_vk, &output.mint_proof, &output.revealed).is_err()
|
||||
//{
|
||||
// return Err(VerifyFailed::MintProof(i));
|
||||
//}
|
||||
if verify_mint_proof(mint_vk, &output.mint_proof, &output.revealed).is_err()
|
||||
{
|
||||
return Err(VerifyFailed::MintProof(i));
|
||||
}
|
||||
valcom_total -= &output.revealed.value_commit;
|
||||
}
|
||||
|
||||
@@ -436,7 +436,7 @@ pub fn state_transition<S: ProgramState>(
|
||||
fn main() -> std::result::Result<(), failure::Error> {
|
||||
use drk::{
|
||||
crypto::mint_proof::{create_mint_proof, verify_mint_proof},
|
||||
types::{DrkSerial, DrkCoinBlind}
|
||||
types::{DrkSerial, DrkCoinBlind, DrkCircuitField}
|
||||
};
|
||||
|
||||
let cashier_secret = pallas::Base::random(&mut OsRng);
|
||||
@@ -445,23 +445,10 @@ fn main() -> std::result::Result<(), failure::Error> {
|
||||
let secret = pallas::Base::random(&mut OsRng);
|
||||
let public = OrchardFixedBases::SpendAuthG.generator() * mod_r_p(secret);
|
||||
|
||||
let (proof, revealed) = create_mint_proof(
|
||||
110,
|
||||
pallas::Base::from(110),
|
||||
pallas::Scalar::random(&mut OsRng),
|
||||
pallas::Scalar::random(&mut OsRng),
|
||||
DrkSerial::random(&mut OsRng),
|
||||
DrkCoinBlind::random(&mut OsRng),
|
||||
public.clone()
|
||||
)?;
|
||||
|
||||
const K: u32 = 11;
|
||||
let mint_vk = VerifyingKey::build(K, MintContract::default());
|
||||
let spend_vk = VerifyingKey::build(K, SpendContract::default());
|
||||
|
||||
//verify_mint_proof(&mint_vk, &proof, &revealed)?;
|
||||
//println!("DONE!");
|
||||
|
||||
let mut state = MemoryState { mint_vk, spend_vk };
|
||||
|
||||
let token_id = 110;
|
||||
|
||||
@@ -62,7 +62,7 @@ impl MintRevealedValues {
|
||||
|
||||
fn make_outputs(&self) -> [DrkCircuitField; 5] {
|
||||
let value_coords = self.value_commit.to_affine().coordinates().unwrap();
|
||||
let token_coords = self.value_commit.to_affine().coordinates().unwrap();
|
||||
let token_coords = self.token_commit.to_affine().coordinates().unwrap();
|
||||
|
||||
vec![
|
||||
DrkCircuitField::from_bytes(&self.coin).unwrap(),
|
||||
|
||||
Reference in New Issue
Block a user