From f3df2bcde235540e3d3467dfaba157fa9b923cdb Mon Sep 17 00:00:00 2001 From: aggstam Date: Mon, 24 Oct 2022 14:33:52 +0300 Subject: [PATCH] ouroboros/stakeholder: added temp proof verification check --- src/consensus/ouroboros/stakeholder.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/consensus/ouroboros/stakeholder.rs b/src/consensus/ouroboros/stakeholder.rs index 608c47657..5a67107cb 100644 --- a/src/consensus/ouroboros/stakeholder.rs +++ b/src/consensus/ouroboros/stakeholder.rs @@ -15,6 +15,7 @@ use crate::{ coin::OwnCoin, keypair::{PublicKey, SecretKey}, leadcoin::LeadCoin, + lead_proof, proof::{Proof, ProvingKey, VerifyingKey}, schnorr::SchnorrSecret, }, @@ -380,7 +381,17 @@ impl Stakeholder { let won: Vec = self.epoch.is_leader(sl, &mut winning_coin_idx); for i in 0..won.len() { let proof = if won[i] { - self.epoch.get_proof(sl, i, &self.get_leadprovkingkey()) + let p = self.epoch.get_proof(sl, i, &self.get_leadprovkingkey()); + // Sanity check for proof validity) + info!("================= Leader proof generated successfully, veryfing... ================="); + let coin = self.epoch.get_coin(sl as usize, i); + match lead_proof::verify_lead_proof(&self.get_leadverifyingkey(), &p, &coin.public_inputs()) { + Ok(_) => info!("================= Proof veryfied succsessfully! ================="), + Err(e) => error!("================= Error during leader proof verification: {} =================", e), + } + info!("===================================================================================="); + ///////////////////////////////////////////// + p } else { Proof::new(vec![]) };