mirror of
https://github.com/logos-blockchain/logos-blockchain-circuits.git
synced 2026-05-18 15:29:26 +00:00
Merge d445e1f90cfaf4fd3a7628b6aca506f8400dc90a into d6cf41f66500d4afc157b4f43de0f0d5bfa01443
This commit is contained in:
commit
b8f1031890
@ -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),
|
||||
|
||||
@ -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] <== selector * (would_win.slot - session) + 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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user