-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathinput_applicative_bootloader.py
More file actions
85 lines (83 loc) · 3.35 KB
/
input_applicative_bootloader.py
File metadata and controls
85 lines (83 loc) · 3.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import os
import json
from objects import ApplicativeBootloaderInput
from starkware.cairo.bootloaders.simple_bootloader.objects import (
RunProgramTask,
Program,
)
INPUT_FOLDER = "inputs"
PROOF_FOLDER = "proofs"
AGGREGATOR_PROGRAM = "aggregator.compiled.json"
VERIFIER_PROGRAM = "cairo_verifier.compiled.json"
NODE1_PROOF_FILE = "node1.proof.json"
NODE2_PROOF_FILE = "node2.proof.json"
NODE1_AR_PROGRAM_INPUT_FILE = "node1_ar.input.json"
NODE2_AR_PROGRAM_INPUT_FILE = "node2_ar.input.json"
APPLICTIVE_BOOTLOADER_PROGRAM_INPUT_FILE = "applicative_bootloader.input.json"
with open(
os.path.join(INPUT_FOLDER, APPLICTIVE_BOOTLOADER_PROGRAM_INPUT_FILE), "w"
) as f:
f.write(
json.dumps(
ApplicativeBootloaderInput.Schema().dump(
ApplicativeBootloaderInput(
aggregator_task=RunProgramTask(
program=Program.Schema().load(
json.loads(open(AGGREGATOR_PROGRAM, "r").read())
),
program_input={
"nodes": [
json.loads(
open(
os.path.join(
INPUT_FOLDER, NODE1_AR_PROGRAM_INPUT_FILE
),
"r",
).read()
),
json.loads(
open(
os.path.join(
INPUT_FOLDER, NODE2_AR_PROGRAM_INPUT_FILE
),
"r",
).read()
),
]
},
use_poseidon=True,
),
tasks=[
RunProgramTask(
program=Program.Schema().load(
json.loads(open(VERIFIER_PROGRAM, "r").read())
),
program_input={
"proof": json.loads(
open(
os.path.join(PROOF_FOLDER, NODE1_PROOF_FILE),
"r",
).read()
)
},
use_poseidon=True,
),
RunProgramTask(
program=Program.Schema().load(
json.loads(open(VERIFIER_PROGRAM, "r").read())
),
program_input={
"proof": json.loads(
open(
os.path.join(PROOF_FOLDER, NODE2_PROOF_FILE),
"r",
).read()
)
},
use_poseidon=True,
),
],
)
)
)
)