mirror of
https://github.com/logos-blockchain/logos-blockchain-pocs.git
synced 2026-05-19 15:59:29 +00:00
update circuits to what is live on master
This commit is contained in:
parent
e0a1176789
commit
3d24ed3977
@ -206,14 +206,13 @@ def PoseidonSponge(data, capacity, output_len):
|
||||
# ———————————————————————
|
||||
# Main
|
||||
# ———————————————————————
|
||||
if len(sys.argv) != 5:
|
||||
print("Usage: python3 generate_inputs_for_poq.py <session> <core_quota> <leader_quota> <core (0) or leader (1)>")
|
||||
if len(sys.argv) != 4:
|
||||
print("Usage: python3 generate_inputs_for_poq.py <core_quota> <leader_quota> <core (0) or leader (1)>")
|
||||
sys.exit(1)
|
||||
|
||||
session = int(sys.argv[1])
|
||||
Qc = int(sys.argv[2])
|
||||
Ql = int(sys.argv[3])
|
||||
core_or_leader = int(sys.argv[4])
|
||||
Qc = int(sys.argv[1])
|
||||
Ql = int(sys.argv[2])
|
||||
core_or_leader = int(sys.argv[3])
|
||||
if not core_or_leader in [0,1]:
|
||||
print("core or leader must be 0 or 1")
|
||||
sys.exit(1)
|
||||
@ -280,7 +279,6 @@ K_two = F(654321)
|
||||
|
||||
# 5) Assemble JSON
|
||||
inp = {
|
||||
"session": str(session),
|
||||
"core_quota": str(Qc),
|
||||
"leader_quota": str(Ql),
|
||||
"core_root": str(core_root),
|
||||
@ -5,7 +5,7 @@ include "../hash_bn/poseidon2_hash.circom";
|
||||
include "../misc/constants.circom"; // defines KDF, SELECTION_RANDOMNESS, PROOF_NULLIFIER
|
||||
include "../misc/comparator.circom";
|
||||
include "../circomlib/circuits/bitify.circom";
|
||||
include "../Mantle/pol_lib.circom"; // defines proof_of_leadership
|
||||
include "../mantle/pol_lib.circom"; // defines proof_of_leadership
|
||||
include "../ledger/notes.circom";
|
||||
|
||||
/**
|
||||
@ -17,7 +17,6 @@ include "../ledger/notes.circom";
|
||||
*/
|
||||
template ProofOfQuota(nLevelsPK, nLevelsPol, bitsQuota) {
|
||||
// Public Inputs
|
||||
signal input session; // session s
|
||||
signal input core_quota;
|
||||
signal input leader_quota;
|
||||
signal input core_root;
|
||||
@ -115,7 +114,7 @@ template ProofOfQuota(nLevelsPK, nLevelsPol, bitsQuota) {
|
||||
// choose core_sk or pol.secret_key:
|
||||
selection_randomness.inp[1] <== selector * (would_win.secret_key - core_sk ) + core_sk;
|
||||
selection_randomness.inp[2] <== index;
|
||||
selection_randomness.inp[3] <== session;
|
||||
selection_randomness.inp[3] <== selector * (would_win.slot - pol_epoch_nonce) + pol_epoch_nonce;
|
||||
|
||||
|
||||
// Derive key_nullifier
|
||||
@ -127,5 +126,5 @@ template ProofOfQuota(nLevelsPK, nLevelsPol, bitsQuota) {
|
||||
}
|
||||
|
||||
// Instantiate with chosen depths: 20 for core PK tree, 25 for PoL secret slot tree
|
||||
component main { public [ session, core_quota, leader_quota, core_root, K_part_one, K_part_two, pol_epoch_nonce, pol_t0, pol_t1, pol_ledger_aged ] }
|
||||
component main { public [ core_quota, leader_quota, core_root, K_part_one, K_part_two, pol_epoch_nonce, pol_t0, pol_t1, pol_ledger_aged ] }
|
||||
= ProofOfQuota(20, 25, 20);
|
||||
@ -52,7 +52,7 @@ template SafeFullLessThan() {
|
||||
|
||||
signal intermediate_results[4];
|
||||
intermediate_results[0] <== (1 - C.out) * (1-D.out);
|
||||
intermediate_results[1] <== (1 - C.out) * (1-E.out);
|
||||
intermediate_results[1] <== C.out * (1-E.out);
|
||||
intermediate_results[2] <== intermediate_results[1] * (1- F.out);
|
||||
intermediate_results[3] <== B.out * (intermediate_results[0] + intermediate_results[2]);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user