Преглед изворни кода

dao::vote(): correct mistake in nullifier

zero пре 2 година
родитељ
комит
9d82ce3a1c

+ 1 - 1
src/contract/dao/proof/dao-vote-burn.zk

@@ -36,7 +36,7 @@ circuit "DaoVoteInput" {
         spend_hook,
         user_data,
     );
-    nullifier = poseidon_hash(secret, coin, proposal_bulla);
+    nullifier = poseidon_hash(serial, coin, proposal_bulla);
     constrain_instance(proposal_bulla);
     constrain_instance(nullifier);
 

+ 1 - 2
src/contract/dao/src/client/vote.rs

@@ -141,8 +141,7 @@ impl DaoVoteCall {
             let token_commit = poseidon_hash([note.token_id.inner(), gov_token_blind]);
             assert_eq!(self.dao.gov_token_id, note.token_id);
 
-            let nullifier =
-                poseidon_hash([input.secret.inner(), coin.inner(), proposal_bulla.inner()]);
+            let nullifier = poseidon_hash([note.serial, coin.inner(), proposal_bulla.inner()]);
 
             let vote_commit = pedersen_commitment_u64(note.value, all_vote_blind);
             let vote_commit_coords = vote_commit.to_affine().coordinates().unwrap();

+ 2 - 2
src/contract/test-harness/src/vks.rs

@@ -50,8 +50,8 @@ use darkfi_serial::{deserialize, serialize};
 use log::debug;
 
 /// Update this if any circuits are changed
-const VKS_HASH: &str = "ad161e5655f3a6abd7c40e0f41fe6d24bba461f30a0144ebb069cd2cb9498245";
-const PKS_HASH: &str = "8c493dec0106cf73f61d55f470731778cc7ff5ae106ebbc927d87f6b7dc8838d";
+const VKS_HASH: &str = "c863e90ea555cad8d1294ac95bd4600b86c16def186e6dc1b43de10cf0d6fd4b";
+const PKS_HASH: &str = "ea7017dd7eb2471604f04f8f1be78f0927ad1037009986d3b917680a61d323fc";
 
 fn pks_path(typ: &str) -> Result<PathBuf> {
     let output = Command::new("git").arg("rev-parse").arg("--show-toplevel").output()?.stdout;