mirror of
https://github.com/logos-blockchain/logos-blockchain-pocs.git
synced 2026-01-05 06:33:07 +00:00
last fix
This commit is contained in:
parent
6d71ee945d
commit
d623331a34
@ -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])
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user