From 1a18ddaa83ef72f78b2e27889217e80913a626ca Mon Sep 17 00:00:00 2001 From: thomaslavaur Date: Wed, 13 Aug 2025 10:11:48 +0200 Subject: [PATCH] modifying input generators to fmt --- .../Blend/generate_inputs_for_poq.py | 2 +- .../Mantle/generate_inputs_for_pol.py | 92 +++++++------------ .../Mantle/generate_inputs_for_signature.py | 29 +++--- 3 files changed, 48 insertions(+), 75 deletions(-) diff --git a/circom_circuits/Blend/generate_inputs_for_poq.py b/circom_circuits/Blend/generate_inputs_for_poq.py index 06be2c2..70b9b88 100644 --- a/circom_circuits/Blend/generate_inputs_for_poq.py +++ b/circom_circuits/Blend/generate_inputs_for_poq.py @@ -232,7 +232,7 @@ for i in range(20): #pk_root, core_path, core_selectors = merkle_root_and_path(pk_core, 20) -# 2) PoL inputs (broadened from your pol script) +# 2) PoL inputs (broadened from pol script) epoch_nonce = F(randrange(0, p,1)) slot_number = F(randrange(0, 2**32,1)) total_stake = F(5000) diff --git a/circom_circuits/Mantle/generate_inputs_for_pol.py b/circom_circuits/Mantle/generate_inputs_for_pol.py index 50d9c7a..4fb525d 100755 --- a/circom_circuits/Mantle/generate_inputs_for_pol.py +++ b/circom_circuits/Mantle/generate_inputs_for_pol.py @@ -272,63 +272,35 @@ for i in range(32): else: latest_root = poseidon2_hash([unspent_nodes[i],latest_root]) -with open("input.json", "w") as file: - file.write('{\n\t"slot":\t\t\t\t\t\t"'+str(slot_number)+'",') - file.write('\n\t"epoch_nonce":\t\t\t\t\t\t"'+str(epoch_nonce)+'",') - file.write('\n\t"t0" :\t\t\t\t\t\t"'+str(t0)+'",') - file.write('\n\t"t1" :\t\t\t\t\t\t"'+str(t1)+'",') - file.write('\n\t"slot_secret" :\t\t\t\t\t\t"'+str(slot_secret)+'",') - file.write('\n\t"one_time_key_part_one" :\t\t\t\t\t\t"'+str(F(123456))+'",') - file.write('\n\t"one_time_key_part_two" :\t\t\t\t\t\t"'+str(F(654321))+'",') - file.write('\n\t"slot_secret_path" :\t\t\t\t\t[') - for i in range(25): - file.write('"') - file.write(str(slot_secret_path[i])) - file.write('"') - if i == 24: - file.write('],') - else: - file.write(',') - file.write('\n\t"aged_nodes" :\t\t\t\t\t[') - for i in range(32): - file.write('"') - file.write(str(aged_nodes[i])) - file.write('"') - if i == 31: - file.write('],') - else: - file.write(',') - file.write('\n\t"aged_selectors" :\t\t\t\t\t[') - for i in range(32): - file.write('"') - file.write(str(aged_selectors[i])) - file.write('"') - if i == 31: - file.write('],') - else: - file.write(',') - file.write('\n\t"aged_root" :\t\t\t\t"'+str(aged_root)+'",') - file.write('\n\t"transaction_hash" :\t\t\t\t"'+str(tx_hash)+'",') - file.write('\n\t"output_number" :\t\t\t\t"'+str(output_number)+'",') - file.write('\n\t"latest_nodes" :\t\t\t\t\t[') - for i in range(32): - file.write('"') - file.write(str(unspent_nodes[i])) - file.write('"') - if i == 31: - file.write('],') - else: - file.write(',') - file.write('\n\t"latest_selectors" :\t\t\t\t\t[') - for i in range(32): - file.write('"') - file.write(str(unspent_selectors[i])) - file.write('"') - if i == 31: - file.write('],') - else: - file.write(',') - file.write('\n\t"latest_root" :\t\t\t\t"'+str(latest_root)+'",') - file.write('\n\t"starting_slot" :\t\t\t\t"'+str(starting_slot)+'",') - file.write('\n\t"secrets_root" :\t\t\t\t"'+str(secret_root)+'",') - file.write('\n\t"value" :\t\t\t\t"'+str(value)+'"}') \ No newline at end of file + + + +# 5) Assemble JSON +inp = { + "slot": str(slot_number), + "epoch_nonce": str(epoch_nonce), + "t0": str(t0), + "t1": str(t1), + "slot_secret": str(slot_secret), + "one_time_key_part_one": str(F(123456)), + "one_time_key_part_two": str(F(654321)), + "slot_secret_path": [str(x) for x in slot_secret_path], + "aged_nodes": [str(x) for x in aged_nodes], + "aged_selectors": [str(x) for x in aged_selectors], + "aged_root": str(aged_root), + "transaction_hash": str(tx_hash), + "output_number": str(output_number), + "latest_nodes": [str(x) for x in unspent_nodes], + "latest_selectors": [str(x) for x in unspent_selectors], + "latest_root": str(latest_root), + "starting_slot": str(starting_slot), + "secrets_root": str(secret_root) , + "value": str(value) +} + +import json + +with open("input.json","w") as f: + json.dump(inp, f, indent=2) + +print("Wrote input of pol") \ No newline at end of file diff --git a/circom_circuits/Mantle/generate_inputs_for_signature.py b/circom_circuits/Mantle/generate_inputs_for_signature.py index bb4f041..8350f13 100755 --- a/circom_circuits/Mantle/generate_inputs_for_signature.py +++ b/circom_circuits/Mantle/generate_inputs_for_signature.py @@ -212,18 +212,19 @@ sk = [F(randrange(0,p,1)) for i in range(nInput)] data_msg = F(randrange(0,p,1)) if nInput == 1: - with open("input.json", "w") as file: - file.write('{\n\t"secret_key" :\t\t\t\t\t\t"'+str(sk[0])+'",') - file.write('\n\t"attached_data" :\t\t\t\t\t\t"'+str(data_msg)+'"}') + inp = { + "secret_key": str(sk[0]), + "attached_data": str(data_msg) + } else: - with open("input.json", "w") as file: - file.write('{\n\t"secret_key" :\t\t\t\t\t[') - for i in range(nInput): - file.write('"') - file.write(str(sk[i])) - file.write('"') - if i == nInput - 1: - file.write('],') - else: - file.write(',') - file.write('\n\t"attached_data" :\t\t\t\t\t\t"'+str(data_msg)+'"}') \ No newline at end of file + inp = { + "secret_key": [str(x) for x in sk], + "attached_data": str(data_msg) + } + +import json + +with open("input.json","w") as f: + json.dump(inp, f, indent=2) + +print("Wrote input of ZkSignature") \ No newline at end of file