diff --git a/circom_circuits/Blend/generate_inputs_for_poq.py b/circom_circuits/Blend/generate_inputs_for_poq.py index 3761771..9134667 100644 --- a/circom_circuits/Blend/generate_inputs_for_poq.py +++ b/circom_circuits/Blend/generate_inputs_for_poq.py @@ -221,7 +221,7 @@ if not core_or_leader in [0,1]: # 1) Core‐node registry Merkle‐proof # pick a random core_sk and derive its public key core_sk = F(randrange(0,p,1)) -pk_core = Compression([ F(1296193216988918402894), core_sk ]) +pk_core = poseidon2_hash([ F(1296193216988918402894), core_sk ]) core_selectors = randrange(0,2**20,1) core_selectors = format(int(core_selectors),'020b') core_nodes = [F(randrange(0,p,1)) for i in range(20)] @@ -260,11 +260,11 @@ slot_secret_path = [F(randrange(0,p,1)) for i in range(25)] secret_root = slot_secret for i in range(25): if int(slot_secret_indexes[24-i]) == 0: - secret_root = poseidon2_hash([secret_root,slot_secret_path[i]]) + secret_root = Compression([secret_root,slot_secret_path[i]]) else: secret_root = Compression([slot_secret_path[i],secret_root]) sk = poseidon2_hash([F(256174383281726064679014503048630094),starting_slot,secret_root]) -pk = Compression([F(1296193216988918402894),sk]) +pk = poseidon2_hash([F(1296193216988918402894),sk]) note_id = poseidon2_hash([F(65580641562429851895355409762135920462),tx_hash,output_number,value,pk]) ticket = poseidon2_hash([F(13887241025832268),F(epoch_nonce),F(slot_number),note_id,sk]) diff --git a/circom_circuits/Blend/poq.circom b/circom_circuits/Blend/poq.circom index 20ee738..e122fc6 100644 --- a/circom_circuits/Blend/poq.circom +++ b/circom_circuits/Blend/poq.circom @@ -125,7 +125,7 @@ template ProofOfQuota(nLevelsPK, nLevelsPol, bitsQuota) { // Derive key_nullifier - component nf = Compression(); + component nf = Poseidon2_hash(2); component dstNF = KEY_NULLIFIER_V1(); nf.inp[0] <== dstNF.out; nf.inp[1] <== selection_randomness.out; diff --git a/circom_circuits/Mantle/generate_inputs_for_proof_of_claim.py b/circom_circuits/Mantle/generate_inputs_for_proof_of_claim.py index d607373..cf2318b 100755 --- a/circom_circuits/Mantle/generate_inputs_for_proof_of_claim.py +++ b/circom_circuits/Mantle/generate_inputs_for_proof_of_claim.py @@ -208,7 +208,7 @@ def PoseidonSponge(data, capacity, output_len): secret_voucher = F(randrange(0,p,1)) -reward_voucher = Compression([F(1668646695034522932676805048878418),secret_voucher]) +reward_voucher = poseidon2_hash([F(1668646695034522932676805048878418),secret_voucher]) merkle_nodes = [F(randrange(0,p,1)) for i in range(32)] selectors = randrange(0,2**32,1) diff --git a/circom_circuits/Mantle/poc.circom b/circom_circuits/Mantle/poc.circom index 42a5caf..5a79e2f 100644 --- a/circom_circuits/Mantle/poc.circom +++ b/circom_circuits/Mantle/poc.circom @@ -1,7 +1,7 @@ //test pragma circom 2.1.9; -include "../hash_bn/poseidon2_perm.circom"; +include "../hash_bn/poseidon2_hash.circom"; include "../hash_bn/merkle.circom"; include "../misc/constants.circom"; @@ -9,7 +9,7 @@ template derive_voucher_nullifier(){ signal input secret_voucher; signal output out; - component hash = Compression(); + component hash = Poseidon2_hash(2); component dst = VOUCHER_NF(); hash.inp[0] <== dst.out; hash.inp[1] <== secret_voucher; @@ -21,7 +21,7 @@ template derive_reward_voucher(){ signal input secret_voucher; signal output out; - component hash = Compression(); + component hash = Poseidon2_hash(2); component dst = REWARD_VOUCHER(); hash.inp[0] <== dst.out; hash.inp[1] <== secret_voucher;