convert_trusted_setup.py
1 #!/usr/bin/python3 2 3 import argparse 4 import json 5 from typing import TextIO 6 7 8 def convert(ts_json: TextIO, ts_text: TextIO) -> None: 9 """Convert trusted setup to text format.""" 10 trusted_setup = json.load(ts_json) 11 g1_values = trusted_setup["g1_lagrange"] 12 g2_values = trusted_setup["g2_monomial"] 13 14 print(len(g1_values), file=ts_text) 15 print(len(g2_values), file=ts_text) 16 for g1 in g1_values: 17 print(g1.replace("0x", ""), file=ts_text) 18 for g2 in g2_values: 19 print(g2.replace("0x", ""), file=ts_text) 20 21 22 if __name__ == "__main__": 23 parser = argparse.ArgumentParser( 24 description="Convert trusted setup from JSON to text format.", 25 ) 26 parser.add_argument( 27 "--input", 28 required=True, 29 type=argparse.FileType("r"), 30 help="the trusted setup in JSON format", 31 ) 32 parser.add_argument( 33 "--output", 34 required=True, 35 type=argparse.FileType("w"), 36 help="the trusted setup in text format", 37 ) 38 args = parser.parse_args() 39 40 try: 41 convert(args.input, args.output) 42 finally: 43 args.input.close() 44 args.output.close()