@sig-net/midnight-contract 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,342 +1,148 @@
1
1
  {
2
- "version": { "major": 2, "minor": 0 },
2
+ "version": { "major": 3, "minor": 0 },
3
3
  "do_communications_commitment": true,
4
- "num_inputs": 13,
4
+ "inputs": [
5
+ { "name": "%requestId.0", "type": "Scalar<BLS12-381>" },
6
+ { "name": "%requestId.1", "type": "Scalar<BLS12-381>" },
7
+ { "name": "%respondBidirectional.2", "type": "Scalar<BLS12-381>" },
8
+ { "name": "%respondBidirectional.3", "type": "Scalar<BLS12-381>" },
9
+ { "name": "%respondBidirectional.4", "type": "Scalar<BLS12-381>" },
10
+ { "name": "%respondBidirectional.5", "type": "Scalar<BLS12-381>" },
11
+ { "name": "%respondBidirectional.6", "type": "Scalar<BLS12-381>" },
12
+ { "name": "%respondBidirectional.7", "type": "Scalar<BLS12-381>" },
13
+ { "name": "%respondBidirectional.8", "type": "Scalar<BLS12-381>" },
14
+ { "name": "%respondBidirectional.9", "type": "Scalar<BLS12-381>" },
15
+ { "name": "%respondBidirectional.10", "type": "Scalar<BLS12-381>" },
16
+ { "name": "%respondBidirectional.11", "type": "Scalar<BLS12-381>" },
17
+ { "name": "%pk.12", "type": "Point<Secp256k1>" }
18
+ ],
19
+ "outputs": [
20
+ ],
5
21
  "instructions": [
6
- { "op": "constrain_bits", "var": 0, "bits": 8 },
7
- { "op": "constrain_bits", "var": 1, "bits": 248 },
8
- { "op": "constrain_bits", "var": 2, "bits": 32 },
9
- { "op": "constrain_bits", "var": 3, "bits": 248 },
10
- { "op": "constrain_bits", "var": 4, "bits": 248 },
11
- { "op": "constrain_bits", "var": 5, "bits": 248 },
12
- { "op": "constrain_bits", "var": 6, "bits": 248 },
13
- { "op": "constrain_bits", "var": 7, "bits": 8 },
14
- { "op": "load_imm", "imm": "01" },
15
- { "op": "persistent_hash", "alignment": [{ "tag": "atom", "value": { "tag": "field" } }, { "tag": "atom", "value": { "tag": "field" } }], "inputs": [8, 9] },
16
- { "op": "load_imm", "imm": "30" },
17
- { "op": "declare_pub_input", "var": 16 },
18
- { "op": "pi_skip", "guard": 13, "count": 1 },
19
- { "op": "load_imm", "imm": "50" },
20
- { "op": "load_imm", "imm": "03" },
21
- { "op": "declare_pub_input", "var": 17 },
22
- { "op": "declare_pub_input", "var": 13 },
23
- { "op": "declare_pub_input", "var": 13 },
24
- { "op": "declare_pub_input", "var": 18 },
25
- { "op": "pi_skip", "guard": 13, "count": 4 },
26
- { "op": "public_input", "guard": null },
27
- { "op": "public_input", "guard": null },
28
- { "op": "load_imm", "imm": "20" },
29
- { "op": "load_imm", "imm": "0C" },
30
- { "op": "declare_pub_input", "var": 22 },
31
- { "op": "declare_pub_input", "var": 13 },
32
- { "op": "declare_pub_input", "var": 21 },
33
- { "op": "declare_pub_input", "var": 19 },
34
- { "op": "declare_pub_input", "var": 20 },
35
- { "op": "pi_skip", "guard": 13, "count": 5 },
36
- { "op": "test_eq", "a": 14, "b": 19 },
37
- { "op": "test_eq", "a": 15, "b": 20 },
38
- { "op": "load_imm", "imm": "00" },
39
- { "op": "cond_select", "bit": 23, "a": 24, "b": 25 },
40
- { "op": "assert", "cond": 26 },
41
- { "op": "persistent_hash", "alignment": [{ "tag": "atom", "value": { "length": 128, "tag": "bytes" } }], "inputs": [2, 3, 4, 5, 6] },
42
- { "op": "div_mod_power_of_two", "var": 7, "bits": 248 },
43
- { "op": "persistent_hash", "alignment": [{ "tag": "atom", "value": { "length": 32, "tag": "bytes" } }, { "tag": "atom", "value": { "length": 32, "tag": "bytes" } }], "inputs": [27, 28, 29, 30] },
44
- { "op": "div_mod_power_of_two", "var": 1, "bits": 0 },
45
- { "op": "div_mod_power_of_two", "var": 33, "bits": 8 },
46
- { "op": "div_mod_power_of_two", "var": 1, "bits": 8 },
47
- { "op": "div_mod_power_of_two", "var": 37, "bits": 8 },
48
- { "op": "div_mod_power_of_two", "var": 1, "bits": 16 },
49
- { "op": "div_mod_power_of_two", "var": 41, "bits": 8 },
50
- { "op": "div_mod_power_of_two", "var": 1, "bits": 24 },
51
- { "op": "div_mod_power_of_two", "var": 45, "bits": 8 },
52
- { "op": "div_mod_power_of_two", "var": 1, "bits": 32 },
53
- { "op": "div_mod_power_of_two", "var": 49, "bits": 8 },
54
- { "op": "div_mod_power_of_two", "var": 1, "bits": 40 },
55
- { "op": "div_mod_power_of_two", "var": 53, "bits": 8 },
56
- { "op": "div_mod_power_of_two", "var": 1, "bits": 48 },
57
- { "op": "div_mod_power_of_two", "var": 57, "bits": 8 },
58
- { "op": "div_mod_power_of_two", "var": 1, "bits": 56 },
59
- { "op": "div_mod_power_of_two", "var": 61, "bits": 8 },
60
- { "op": "div_mod_power_of_two", "var": 1, "bits": 64 },
61
- { "op": "div_mod_power_of_two", "var": 65, "bits": 8 },
62
- { "op": "div_mod_power_of_two", "var": 1, "bits": 72 },
63
- { "op": "div_mod_power_of_two", "var": 69, "bits": 8 },
64
- { "op": "div_mod_power_of_two", "var": 1, "bits": 80 },
65
- { "op": "div_mod_power_of_two", "var": 73, "bits": 8 },
66
- { "op": "div_mod_power_of_two", "var": 1, "bits": 88 },
67
- { "op": "div_mod_power_of_two", "var": 77, "bits": 8 },
68
- { "op": "div_mod_power_of_two", "var": 1, "bits": 96 },
69
- { "op": "div_mod_power_of_two", "var": 81, "bits": 8 },
70
- { "op": "div_mod_power_of_two", "var": 1, "bits": 104 },
71
- { "op": "div_mod_power_of_two", "var": 85, "bits": 8 },
72
- { "op": "div_mod_power_of_two", "var": 1, "bits": 112 },
73
- { "op": "div_mod_power_of_two", "var": 89, "bits": 8 },
74
- { "op": "div_mod_power_of_two", "var": 1, "bits": 120 },
75
- { "op": "div_mod_power_of_two", "var": 93, "bits": 8 },
76
- { "op": "reconstitute_field", "divisor": 96, "modulus": 92, "bits": 8 },
77
- { "op": "reconstitute_field", "divisor": 97, "modulus": 88, "bits": 8 },
78
- { "op": "reconstitute_field", "divisor": 98, "modulus": 84, "bits": 8 },
79
- { "op": "reconstitute_field", "divisor": 99, "modulus": 80, "bits": 8 },
80
- { "op": "reconstitute_field", "divisor": 100, "modulus": 76, "bits": 8 },
81
- { "op": "reconstitute_field", "divisor": 101, "modulus": 72, "bits": 8 },
82
- { "op": "reconstitute_field", "divisor": 102, "modulus": 68, "bits": 8 },
83
- { "op": "reconstitute_field", "divisor": 103, "modulus": 64, "bits": 8 },
84
- { "op": "reconstitute_field", "divisor": 104, "modulus": 60, "bits": 8 },
85
- { "op": "reconstitute_field", "divisor": 105, "modulus": 56, "bits": 8 },
86
- { "op": "reconstitute_field", "divisor": 106, "modulus": 52, "bits": 8 },
87
- { "op": "reconstitute_field", "divisor": 107, "modulus": 48, "bits": 8 },
88
- { "op": "reconstitute_field", "divisor": 108, "modulus": 44, "bits": 8 },
89
- { "op": "reconstitute_field", "divisor": 109, "modulus": 40, "bits": 8 },
90
- { "op": "reconstitute_field", "divisor": 110, "modulus": 36, "bits": 8 },
91
- { "op": "div_mod_power_of_two", "var": 1, "bits": 128 },
92
- { "op": "div_mod_power_of_two", "var": 112, "bits": 8 },
93
- { "op": "div_mod_power_of_two", "var": 1, "bits": 136 },
94
- { "op": "div_mod_power_of_two", "var": 116, "bits": 8 },
95
- { "op": "div_mod_power_of_two", "var": 1, "bits": 144 },
96
- { "op": "div_mod_power_of_two", "var": 120, "bits": 8 },
97
- { "op": "div_mod_power_of_two", "var": 1, "bits": 152 },
98
- { "op": "div_mod_power_of_two", "var": 124, "bits": 8 },
99
- { "op": "div_mod_power_of_two", "var": 1, "bits": 160 },
100
- { "op": "div_mod_power_of_two", "var": 128, "bits": 8 },
101
- { "op": "div_mod_power_of_two", "var": 1, "bits": 168 },
102
- { "op": "div_mod_power_of_two", "var": 132, "bits": 8 },
103
- { "op": "div_mod_power_of_two", "var": 1, "bits": 176 },
104
- { "op": "div_mod_power_of_two", "var": 136, "bits": 8 },
105
- { "op": "div_mod_power_of_two", "var": 1, "bits": 184 },
106
- { "op": "div_mod_power_of_two", "var": 140, "bits": 8 },
107
- { "op": "div_mod_power_of_two", "var": 1, "bits": 192 },
108
- { "op": "div_mod_power_of_two", "var": 144, "bits": 8 },
109
- { "op": "div_mod_power_of_two", "var": 1, "bits": 200 },
110
- { "op": "div_mod_power_of_two", "var": 148, "bits": 8 },
111
- { "op": "div_mod_power_of_two", "var": 1, "bits": 208 },
112
- { "op": "div_mod_power_of_two", "var": 152, "bits": 8 },
113
- { "op": "div_mod_power_of_two", "var": 1, "bits": 216 },
114
- { "op": "div_mod_power_of_two", "var": 156, "bits": 8 },
115
- { "op": "div_mod_power_of_two", "var": 1, "bits": 224 },
116
- { "op": "div_mod_power_of_two", "var": 160, "bits": 8 },
117
- { "op": "div_mod_power_of_two", "var": 1, "bits": 232 },
118
- { "op": "div_mod_power_of_two", "var": 164, "bits": 8 },
119
- { "op": "div_mod_power_of_two", "var": 1, "bits": 240 },
120
- { "op": "div_mod_power_of_two", "var": 168, "bits": 8 },
121
- { "op": "div_mod_power_of_two", "var": 0, "bits": 0 },
122
- { "op": "div_mod_power_of_two", "var": 172, "bits": 8 },
123
- { "op": "reconstitute_field", "divisor": 175, "modulus": 171, "bits": 8 },
124
- { "op": "reconstitute_field", "divisor": 176, "modulus": 167, "bits": 8 },
125
- { "op": "reconstitute_field", "divisor": 177, "modulus": 163, "bits": 8 },
126
- { "op": "reconstitute_field", "divisor": 178, "modulus": 159, "bits": 8 },
127
- { "op": "reconstitute_field", "divisor": 179, "modulus": 155, "bits": 8 },
128
- { "op": "reconstitute_field", "divisor": 180, "modulus": 151, "bits": 8 },
129
- { "op": "reconstitute_field", "divisor": 181, "modulus": 147, "bits": 8 },
130
- { "op": "reconstitute_field", "divisor": 182, "modulus": 143, "bits": 8 },
131
- { "op": "reconstitute_field", "divisor": 183, "modulus": 139, "bits": 8 },
132
- { "op": "reconstitute_field", "divisor": 184, "modulus": 135, "bits": 8 },
133
- { "op": "reconstitute_field", "divisor": 185, "modulus": 131, "bits": 8 },
134
- { "op": "reconstitute_field", "divisor": 186, "modulus": 127, "bits": 8 },
135
- { "op": "reconstitute_field", "divisor": 187, "modulus": 123, "bits": 8 },
136
- { "op": "reconstitute_field", "divisor": 188, "modulus": 119, "bits": 8 },
137
- { "op": "reconstitute_field", "divisor": 189, "modulus": 115, "bits": 8 },
138
- { "op": "div_mod_power_of_two", "var": 32, "bits": 0 },
139
- { "op": "div_mod_power_of_two", "var": 191, "bits": 8 },
140
- { "op": "div_mod_power_of_two", "var": 32, "bits": 8 },
141
- { "op": "div_mod_power_of_two", "var": 195, "bits": 8 },
142
- { "op": "div_mod_power_of_two", "var": 32, "bits": 16 },
143
- { "op": "div_mod_power_of_two", "var": 199, "bits": 8 },
144
- { "op": "div_mod_power_of_two", "var": 32, "bits": 24 },
145
- { "op": "div_mod_power_of_two", "var": 203, "bits": 8 },
146
- { "op": "div_mod_power_of_two", "var": 32, "bits": 32 },
147
- { "op": "div_mod_power_of_two", "var": 207, "bits": 8 },
148
- { "op": "div_mod_power_of_two", "var": 32, "bits": 40 },
149
- { "op": "div_mod_power_of_two", "var": 211, "bits": 8 },
150
- { "op": "div_mod_power_of_two", "var": 32, "bits": 48 },
151
- { "op": "div_mod_power_of_two", "var": 215, "bits": 8 },
152
- { "op": "div_mod_power_of_two", "var": 32, "bits": 56 },
153
- { "op": "div_mod_power_of_two", "var": 219, "bits": 8 },
154
- { "op": "div_mod_power_of_two", "var": 32, "bits": 64 },
155
- { "op": "div_mod_power_of_two", "var": 223, "bits": 8 },
156
- { "op": "div_mod_power_of_two", "var": 32, "bits": 72 },
157
- { "op": "div_mod_power_of_two", "var": 227, "bits": 8 },
158
- { "op": "div_mod_power_of_two", "var": 32, "bits": 80 },
159
- { "op": "div_mod_power_of_two", "var": 231, "bits": 8 },
160
- { "op": "div_mod_power_of_two", "var": 32, "bits": 88 },
161
- { "op": "div_mod_power_of_two", "var": 235, "bits": 8 },
162
- { "op": "div_mod_power_of_two", "var": 32, "bits": 96 },
163
- { "op": "div_mod_power_of_two", "var": 239, "bits": 8 },
164
- { "op": "div_mod_power_of_two", "var": 32, "bits": 104 },
165
- { "op": "div_mod_power_of_two", "var": 243, "bits": 8 },
166
- { "op": "div_mod_power_of_two", "var": 32, "bits": 112 },
167
- { "op": "div_mod_power_of_two", "var": 247, "bits": 8 },
168
- { "op": "div_mod_power_of_two", "var": 32, "bits": 120 },
169
- { "op": "div_mod_power_of_two", "var": 251, "bits": 8 },
170
- { "op": "reconstitute_field", "divisor": 254, "modulus": 250, "bits": 8 },
171
- { "op": "reconstitute_field", "divisor": 255, "modulus": 246, "bits": 8 },
172
- { "op": "reconstitute_field", "divisor": 256, "modulus": 242, "bits": 8 },
173
- { "op": "reconstitute_field", "divisor": 257, "modulus": 238, "bits": 8 },
174
- { "op": "reconstitute_field", "divisor": 258, "modulus": 234, "bits": 8 },
175
- { "op": "reconstitute_field", "divisor": 259, "modulus": 230, "bits": 8 },
176
- { "op": "reconstitute_field", "divisor": 260, "modulus": 226, "bits": 8 },
177
- { "op": "reconstitute_field", "divisor": 261, "modulus": 222, "bits": 8 },
178
- { "op": "reconstitute_field", "divisor": 262, "modulus": 218, "bits": 8 },
179
- { "op": "reconstitute_field", "divisor": 263, "modulus": 214, "bits": 8 },
180
- { "op": "reconstitute_field", "divisor": 264, "modulus": 210, "bits": 8 },
181
- { "op": "reconstitute_field", "divisor": 265, "modulus": 206, "bits": 8 },
182
- { "op": "reconstitute_field", "divisor": 266, "modulus": 202, "bits": 8 },
183
- { "op": "reconstitute_field", "divisor": 267, "modulus": 198, "bits": 8 },
184
- { "op": "reconstitute_field", "divisor": 268, "modulus": 194, "bits": 8 },
185
- { "op": "div_mod_power_of_two", "var": 32, "bits": 128 },
186
- { "op": "div_mod_power_of_two", "var": 270, "bits": 8 },
187
- { "op": "div_mod_power_of_two", "var": 32, "bits": 136 },
188
- { "op": "div_mod_power_of_two", "var": 274, "bits": 8 },
189
- { "op": "div_mod_power_of_two", "var": 32, "bits": 144 },
190
- { "op": "div_mod_power_of_two", "var": 278, "bits": 8 },
191
- { "op": "div_mod_power_of_two", "var": 32, "bits": 152 },
192
- { "op": "div_mod_power_of_two", "var": 282, "bits": 8 },
193
- { "op": "div_mod_power_of_two", "var": 32, "bits": 160 },
194
- { "op": "div_mod_power_of_two", "var": 286, "bits": 8 },
195
- { "op": "div_mod_power_of_two", "var": 32, "bits": 168 },
196
- { "op": "div_mod_power_of_two", "var": 290, "bits": 8 },
197
- { "op": "div_mod_power_of_two", "var": 32, "bits": 176 },
198
- { "op": "div_mod_power_of_two", "var": 294, "bits": 8 },
199
- { "op": "div_mod_power_of_two", "var": 32, "bits": 184 },
200
- { "op": "div_mod_power_of_two", "var": 298, "bits": 8 },
201
- { "op": "div_mod_power_of_two", "var": 32, "bits": 192 },
202
- { "op": "div_mod_power_of_two", "var": 302, "bits": 8 },
203
- { "op": "div_mod_power_of_two", "var": 32, "bits": 200 },
204
- { "op": "div_mod_power_of_two", "var": 306, "bits": 8 },
205
- { "op": "div_mod_power_of_two", "var": 32, "bits": 208 },
206
- { "op": "div_mod_power_of_two", "var": 310, "bits": 8 },
207
- { "op": "div_mod_power_of_two", "var": 32, "bits": 216 },
208
- { "op": "div_mod_power_of_two", "var": 314, "bits": 8 },
209
- { "op": "div_mod_power_of_two", "var": 32, "bits": 224 },
210
- { "op": "div_mod_power_of_two", "var": 318, "bits": 8 },
211
- { "op": "div_mod_power_of_two", "var": 32, "bits": 232 },
212
- { "op": "div_mod_power_of_two", "var": 322, "bits": 8 },
213
- { "op": "div_mod_power_of_two", "var": 32, "bits": 240 },
214
- { "op": "div_mod_power_of_two", "var": 326, "bits": 8 },
215
- { "op": "div_mod_power_of_two", "var": 31, "bits": 0 },
216
- { "op": "div_mod_power_of_two", "var": 330, "bits": 8 },
217
- { "op": "reconstitute_field", "divisor": 333, "modulus": 329, "bits": 8 },
218
- { "op": "reconstitute_field", "divisor": 334, "modulus": 325, "bits": 8 },
219
- { "op": "reconstitute_field", "divisor": 335, "modulus": 321, "bits": 8 },
220
- { "op": "reconstitute_field", "divisor": 336, "modulus": 317, "bits": 8 },
221
- { "op": "reconstitute_field", "divisor": 337, "modulus": 313, "bits": 8 },
222
- { "op": "reconstitute_field", "divisor": 338, "modulus": 309, "bits": 8 },
223
- { "op": "reconstitute_field", "divisor": 339, "modulus": 305, "bits": 8 },
224
- { "op": "reconstitute_field", "divisor": 340, "modulus": 301, "bits": 8 },
225
- { "op": "reconstitute_field", "divisor": 341, "modulus": 297, "bits": 8 },
226
- { "op": "reconstitute_field", "divisor": 342, "modulus": 293, "bits": 8 },
227
- { "op": "reconstitute_field", "divisor": 343, "modulus": 289, "bits": 8 },
228
- { "op": "reconstitute_field", "divisor": 344, "modulus": 285, "bits": 8 },
229
- { "op": "reconstitute_field", "divisor": 345, "modulus": 281, "bits": 8 },
230
- { "op": "reconstitute_field", "divisor": 346, "modulus": 277, "bits": 8 },
231
- { "op": "reconstitute_field", "divisor": 347, "modulus": 273, "bits": 8 },
232
- { "op": "transient_hash", "inputs": [10, 11, 8, 9, 111, 190, 269, 348] },
233
- { "op": "copy", "var": 349 },
234
- { "op": "copy", "var": 12 },
235
- { "op": "ec_mul_generator", "scalar": 351 },
236
- { "op": "ec_mul", "a_x": 8, "a_y": 9, "scalar": 350 },
237
- { "op": "ec_add", "a_x": 10, "a_y": 11, "b_x": 354, "b_y": 355 },
238
- { "op": "test_eq", "a": 352, "b": 356 },
239
- { "op": "test_eq", "a": 353, "b": 357 },
240
- { "op": "cond_select", "bit": 358, "a": 359, "b": 25 },
241
- { "op": "assert", "cond": 360 },
242
- { "op": "declare_pub_input", "var": 16 },
243
- { "op": "pi_skip", "guard": 13, "count": 1 },
244
- { "op": "load_imm", "imm": "02" },
245
- { "op": "declare_pub_input", "var": 17 },
246
- { "op": "declare_pub_input", "var": 13 },
247
- { "op": "declare_pub_input", "var": 13 },
248
- { "op": "declare_pub_input", "var": 361 },
249
- { "op": "pi_skip", "guard": 13, "count": 4 },
250
- { "op": "load_imm", "imm": "10" },
251
- { "op": "declare_pub_input", "var": 362 },
252
- { "op": "declare_pub_input", "var": 13 },
253
- { "op": "declare_pub_input", "var": 13 },
254
- { "op": "declare_pub_input", "var": 21 },
255
- { "op": "declare_pub_input", "var": 0 },
256
- { "op": "declare_pub_input", "var": 1 },
257
- { "op": "pi_skip", "guard": 13, "count": 6 },
258
- { "op": "load_imm", "imm": "18" },
259
- { "op": "declare_pub_input", "var": 363 },
260
- { "op": "pi_skip", "guard": 13, "count": 1 },
261
- { "op": "public_input", "guard": null },
262
- { "op": "load_imm", "imm": "0D" },
263
- { "op": "declare_pub_input", "var": 365 },
264
- { "op": "declare_pub_input", "var": 13 },
265
- { "op": "declare_pub_input", "var": 13 },
266
- { "op": "declare_pub_input", "var": 364 },
267
- { "op": "pi_skip", "guard": 13, "count": 4 },
268
- { "op": "cond_select", "bit": 364, "a": 25, "b": 13 },
269
- { "op": "load_imm", "imm": "70" },
270
- { "op": "cond_select", "bit": 366, "a": 367, "b": 25 },
271
- { "op": "declare_pub_input", "var": 368 },
272
- { "op": "declare_pub_input", "var": 366 },
273
- { "op": "declare_pub_input", "var": 366 },
274
- { "op": "cond_select", "bit": 366, "a": 361, "b": 25 },
275
- { "op": "declare_pub_input", "var": 369 },
276
- { "op": "pi_skip", "guard": 366, "count": 4 },
277
- { "op": "cond_select", "bit": 366, "a": 362, "b": 25 },
278
- { "op": "declare_pub_input", "var": 370 },
279
- { "op": "declare_pub_input", "var": 366 },
280
- { "op": "declare_pub_input", "var": 366 },
281
- { "op": "cond_select", "bit": 366, "a": 21, "b": 25 },
282
- { "op": "declare_pub_input", "var": 371 },
283
- { "op": "cond_select", "bit": 366, "a": 0, "b": 25 },
284
- { "op": "declare_pub_input", "var": 372 },
285
- { "op": "cond_select", "bit": 366, "a": 1, "b": 25 },
286
- { "op": "declare_pub_input", "var": 373 },
287
- { "op": "pi_skip", "guard": 366, "count": 6 },
288
- { "op": "load_imm", "imm": "11" },
289
- { "op": "load_imm", "imm": "07" },
290
- { "op": "load_imm", "imm": "80" },
291
- { "op": "load_imm", "imm": "-02" },
292
- { "op": "cond_select", "bit": 366, "a": 374, "b": 25 },
293
- { "op": "declare_pub_input", "var": 378 },
294
- { "op": "declare_pub_input", "var": 366 },
295
- { "op": "cond_select", "bit": 366, "a": 375, "b": 25 },
296
- { "op": "declare_pub_input", "var": 379 },
297
- { "op": "cond_select", "bit": 366, "a": 376, "b": 25 },
298
- { "op": "declare_pub_input", "var": 380 },
299
- { "op": "declare_pub_input", "var": 366 },
300
- { "op": "cond_select", "bit": 366, "a": 377, "b": 25 },
301
- { "op": "declare_pub_input", "var": 381 },
302
- { "op": "cond_select", "bit": 366, "a": 377, "b": 25 },
303
- { "op": "declare_pub_input", "var": 382 },
304
- { "op": "cond_select", "bit": 366, "a": 377, "b": 25 },
305
- { "op": "declare_pub_input", "var": 383 },
306
- { "op": "cond_select", "bit": 366, "a": 377, "b": 25 },
307
- { "op": "declare_pub_input", "var": 384 },
308
- { "op": "cond_select", "bit": 366, "a": 377, "b": 25 },
309
- { "op": "declare_pub_input", "var": 385 },
310
- { "op": "cond_select", "bit": 366, "a": 2, "b": 25 },
311
- { "op": "declare_pub_input", "var": 386 },
312
- { "op": "cond_select", "bit": 366, "a": 3, "b": 25 },
313
- { "op": "declare_pub_input", "var": 387 },
314
- { "op": "cond_select", "bit": 366, "a": 4, "b": 25 },
315
- { "op": "declare_pub_input", "var": 388 },
316
- { "op": "cond_select", "bit": 366, "a": 5, "b": 25 },
317
- { "op": "declare_pub_input", "var": 389 },
318
- { "op": "cond_select", "bit": 366, "a": 6, "b": 25 },
319
- { "op": "declare_pub_input", "var": 390 },
320
- { "op": "cond_select", "bit": 366, "a": 7, "b": 25 },
321
- { "op": "declare_pub_input", "var": 391 },
322
- { "op": "cond_select", "bit": 366, "a": 8, "b": 25 },
323
- { "op": "declare_pub_input", "var": 392 },
324
- { "op": "cond_select", "bit": 366, "a": 9, "b": 25 },
325
- { "op": "declare_pub_input", "var": 393 },
326
- { "op": "cond_select", "bit": 366, "a": 10, "b": 25 },
327
- { "op": "declare_pub_input", "var": 394 },
328
- { "op": "cond_select", "bit": 366, "a": 11, "b": 25 },
329
- { "op": "declare_pub_input", "var": 395 },
330
- { "op": "cond_select", "bit": 366, "a": 12, "b": 25 },
331
- { "op": "declare_pub_input", "var": 396 },
332
- { "op": "pi_skip", "guard": 366, "count": 21 },
333
- { "op": "load_imm", "imm": "91" },
334
- { "op": "cond_select", "bit": 366, "a": 397, "b": 25 },
335
- { "op": "declare_pub_input", "var": 398 },
336
- { "op": "pi_skip", "guard": 366, "count": 1 },
337
- { "op": "load_imm", "imm": "A1" },
338
- { "op": "cond_select", "bit": 366, "a": 399, "b": 25 },
339
- { "op": "declare_pub_input", "var": 400 },
340
- { "op": "pi_skip", "guard": 366, "count": 1 }
22
+ { "op": "constrain_bits", "val": "%requestId.0", "bits": 8 },
23
+ { "op": "constrain_bits", "val": "%requestId.1", "bits": 248 },
24
+ { "op": "constrain_bits", "val": "%respondBidirectional.2", "bits": 32 },
25
+ { "op": "constrain_bits", "val": "%respondBidirectional.3", "bits": 248 },
26
+ { "op": "constrain_bits", "val": "%respondBidirectional.4", "bits": 248 },
27
+ { "op": "constrain_bits", "val": "%respondBidirectional.5", "bits": 248 },
28
+ { "op": "constrain_bits", "val": "%respondBidirectional.6", "bits": 248 },
29
+ { "op": "constrain_bits", "val": "%respondBidirectional.7", "bits": 8 },
30
+ { "op": "constrain_bits", "val": "%respondBidirectional.8", "bits": 8 },
31
+ { "op": "constrain_bits", "val": "%respondBidirectional.9", "bits": 248 },
32
+ { "op": "constrain_bits", "val": "%respondBidirectional.10", "bits": 8 },
33
+ { "op": "constrain_bits", "val": "%respondBidirectional.11", "bits": 248 },
34
+ { "op": "encode", "outputs": ["%fld.13", "%fld.14", "%fld.15", "%fld.16", "%fld.17"], "input": "%pk.12" },
35
+ { "op": "persistent_hash", "output": "%bytes.18", "alignment": [{ "tag": "atom", "value": { "length": 24, "tag": "bytes" } }, { "tag": "atom", "value": { "length": 8, "tag": "bytes" } }, { "tag": "atom", "value": { "length": 24, "tag": "bytes" } }, { "tag": "atom", "value": { "length": 8, "tag": "bytes" } }, { "tag": "atom", "value": { "tag": "field" } }], "inputs": ["%fld.13", "%fld.14", "%fld.15", "%fld.16", "%fld.17"] },
36
+ { "op": "bytes32_into_low_high", "outputs": ["%t.19", "%t.20"], "bytes": "%bytes.18" },
37
+ { "op": "public_input", "type": "Scalar<BLS12-381>", "output": "%t.21", "guard": null },
38
+ { "op": "public_input", "type": "Scalar<BLS12-381>", "output": "%t.22", "guard": null },
39
+ { "op": "impact", "guard": "0x01", "inputs": ["0x30"] },
40
+ { "op": "impact", "guard": "0x01", "inputs": ["0x50", "0x01", "0x01", "0x03"] },
41
+ { "op": "impact", "guard": "0x01", "inputs": ["0x0c", "0x01", "0x20", "%t.21", "%t.22"] },
42
+ { "op": "test_eq", "output": "%t.23", "a": "%t.20", "b": "%t.21" },
43
+ { "op": "test_eq", "output": "%t.24", "a": "%t.19", "b": "%t.22" },
44
+ { "op": "cond_select", "output": "%t.25", "bit": "%t.23", "a": "%t.24", "b": "0x00" },
45
+ { "op": "assert", "cond": "%t.25" },
46
+ { "op": "persistent_hash", "output": "%bytes.26", "alignment": [{ "tag": "atom", "value": { "length": 128, "tag": "bytes" } }], "inputs": ["%respondBidirectional.2", "%respondBidirectional.3", "%respondBidirectional.4", "%respondBidirectional.5", "%respondBidirectional.6"] },
47
+ { "op": "bytes32_into_low_high", "outputs": ["%t.27", "%t.28"], "bytes": "%bytes.26" },
48
+ { "op": "div_mod_power_of_two", "outputs": ["%t.29", "%t.30"], "val": "%respondBidirectional.7", "bits": 248 },
49
+ { "op": "persistent_hash", "output": "%bytes.31", "alignment": [{ "tag": "atom", "value": { "length": 32, "tag": "bytes" } }, { "tag": "atom", "value": { "length": 32, "tag": "bytes" } }], "inputs": ["%t.28", "%t.27", "%t.29", "%t.30"] },
50
+ { "op": "bytes32_into_low_high", "outputs": ["%outHash.32", "%outHash.33"], "bytes": "%bytes.31" },
51
+ { "op": "persistent_hash", "output": "%bytes.34", "alignment": [{ "tag": "atom", "value": { "length": 32, "tag": "bytes" } }, { "tag": "atom", "value": { "length": 32, "tag": "bytes" } }, { "tag": "atom", "value": { "length": 32, "tag": "bytes" } }], "inputs": ["0x00", "0x7369676e65743a6d69646e696768743a617474657374", "%requestId.0", "%requestId.1", "%outHash.33", "%outHash.32"] },
52
+ { "op": "bytes32_into_low_high", "outputs": ["%msgHash.35", "%msgHash.36"], "bytes": "%bytes.34" },
53
+ { "op": "bytes32_from_low_high", "output": "%tmp.37", "inputs": ["%respondBidirectional.9", "%respondBidirectional.8"] },
54
+ { "op": "from_bytes32", "type": "Scalar<Secp256k1>", "output": "%t.38", "bytes": "%tmp.37" },
55
+ { "op": "bytes32_from_low_high", "output": "%tmp.39", "inputs": ["%respondBidirectional.11", "%respondBidirectional.10"] },
56
+ { "op": "from_bytes32", "type": "Scalar<Secp256k1>", "output": "%t.40", "bytes": "%tmp.39" },
57
+ { "op": "copy", "output": "%v.41", "val": "%msgHash.36" },
58
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.42", "%v.43"], "val": "%msgHash.35", "bits": 8 },
59
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.44", "%v.45"], "val": "%quo.42", "bits": 8 },
60
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.46", "%v.47"], "val": "%quo.44", "bits": 8 },
61
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.48", "%v.49"], "val": "%quo.46", "bits": 8 },
62
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.50", "%v.51"], "val": "%quo.48", "bits": 8 },
63
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.52", "%v.53"], "val": "%quo.50", "bits": 8 },
64
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.54", "%v.55"], "val": "%quo.52", "bits": 8 },
65
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.56", "%v.57"], "val": "%quo.54", "bits": 8 },
66
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.58", "%v.59"], "val": "%quo.56", "bits": 8 },
67
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.60", "%v.61"], "val": "%quo.58", "bits": 8 },
68
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.62", "%v.63"], "val": "%quo.60", "bits": 8 },
69
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.64", "%v.65"], "val": "%quo.62", "bits": 8 },
70
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.66", "%v.67"], "val": "%quo.64", "bits": 8 },
71
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.68", "%v.69"], "val": "%quo.66", "bits": 8 },
72
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.70", "%v.71"], "val": "%quo.68", "bits": 8 },
73
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.72", "%v.73"], "val": "%quo.70", "bits": 8 },
74
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.74", "%v.75"], "val": "%quo.72", "bits": 8 },
75
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.76", "%v.77"], "val": "%quo.74", "bits": 8 },
76
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.78", "%v.79"], "val": "%quo.76", "bits": 8 },
77
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.80", "%v.81"], "val": "%quo.78", "bits": 8 },
78
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.82", "%v.83"], "val": "%quo.80", "bits": 8 },
79
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.84", "%v.85"], "val": "%quo.82", "bits": 8 },
80
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.86", "%v.87"], "val": "%quo.84", "bits": 8 },
81
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.88", "%v.89"], "val": "%quo.86", "bits": 8 },
82
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.90", "%v.91"], "val": "%quo.88", "bits": 8 },
83
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.92", "%v.93"], "val": "%quo.90", "bits": 8 },
84
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.94", "%v.95"], "val": "%quo.92", "bits": 8 },
85
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.96", "%v.97"], "val": "%quo.94", "bits": 8 },
86
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.98", "%v.99"], "val": "%quo.96", "bits": 8 },
87
+ { "op": "div_mod_power_of_two", "outputs": ["%quo.100", "%v.101"], "val": "%quo.98", "bits": 8 },
88
+ { "op": "copy", "output": "%v.102", "val": "%quo.100" },
89
+ { "op": "copy", "output": "%beReversed.103", "val": "%v.43" },
90
+ { "op": "reconstitute_field", "output": "%div.104", "divisor": "%v.45", "modulus": "%v.47", "bits": 8 },
91
+ { "op": "reconstitute_field", "output": "%div.105", "divisor": "%div.104", "modulus": "%v.49", "bits": 8 },
92
+ { "op": "reconstitute_field", "output": "%div.106", "divisor": "%div.105", "modulus": "%v.51", "bits": 8 },
93
+ { "op": "reconstitute_field", "output": "%div.107", "divisor": "%div.106", "modulus": "%v.53", "bits": 8 },
94
+ { "op": "reconstitute_field", "output": "%div.108", "divisor": "%div.107", "modulus": "%v.55", "bits": 8 },
95
+ { "op": "reconstitute_field", "output": "%div.109", "divisor": "%div.108", "modulus": "%v.57", "bits": 8 },
96
+ { "op": "reconstitute_field", "output": "%div.110", "divisor": "%div.109", "modulus": "%v.59", "bits": 8 },
97
+ { "op": "reconstitute_field", "output": "%div.111", "divisor": "%div.110", "modulus": "%v.61", "bits": 8 },
98
+ { "op": "reconstitute_field", "output": "%div.112", "divisor": "%div.111", "modulus": "%v.63", "bits": 8 },
99
+ { "op": "reconstitute_field", "output": "%div.113", "divisor": "%div.112", "modulus": "%v.65", "bits": 8 },
100
+ { "op": "reconstitute_field", "output": "%div.114", "divisor": "%div.113", "modulus": "%v.67", "bits": 8 },
101
+ { "op": "reconstitute_field", "output": "%div.115", "divisor": "%div.114", "modulus": "%v.69", "bits": 8 },
102
+ { "op": "reconstitute_field", "output": "%div.116", "divisor": "%div.115", "modulus": "%v.71", "bits": 8 },
103
+ { "op": "reconstitute_field", "output": "%div.117", "divisor": "%div.116", "modulus": "%v.73", "bits": 8 },
104
+ { "op": "reconstitute_field", "output": "%div.118", "divisor": "%div.117", "modulus": "%v.75", "bits": 8 },
105
+ { "op": "reconstitute_field", "output": "%div.119", "divisor": "%div.118", "modulus": "%v.77", "bits": 8 },
106
+ { "op": "reconstitute_field", "output": "%div.120", "divisor": "%div.119", "modulus": "%v.79", "bits": 8 },
107
+ { "op": "reconstitute_field", "output": "%div.121", "divisor": "%div.120", "modulus": "%v.81", "bits": 8 },
108
+ { "op": "reconstitute_field", "output": "%div.122", "divisor": "%div.121", "modulus": "%v.83", "bits": 8 },
109
+ { "op": "reconstitute_field", "output": "%div.123", "divisor": "%div.122", "modulus": "%v.85", "bits": 8 },
110
+ { "op": "reconstitute_field", "output": "%div.124", "divisor": "%div.123", "modulus": "%v.87", "bits": 8 },
111
+ { "op": "reconstitute_field", "output": "%div.125", "divisor": "%div.124", "modulus": "%v.89", "bits": 8 },
112
+ { "op": "reconstitute_field", "output": "%div.126", "divisor": "%div.125", "modulus": "%v.91", "bits": 8 },
113
+ { "op": "reconstitute_field", "output": "%div.127", "divisor": "%div.126", "modulus": "%v.93", "bits": 8 },
114
+ { "op": "reconstitute_field", "output": "%div.128", "divisor": "%div.127", "modulus": "%v.95", "bits": 8 },
115
+ { "op": "reconstitute_field", "output": "%div.129", "divisor": "%div.128", "modulus": "%v.97", "bits": 8 },
116
+ { "op": "reconstitute_field", "output": "%div.130", "divisor": "%div.129", "modulus": "%v.99", "bits": 8 },
117
+ { "op": "reconstitute_field", "output": "%div.131", "divisor": "%div.130", "modulus": "%v.101", "bits": 8 },
118
+ { "op": "reconstitute_field", "output": "%div.132", "divisor": "%div.131", "modulus": "%v.102", "bits": 8 },
119
+ { "op": "reconstitute_field", "output": "%beReversed.133", "divisor": "%div.132", "modulus": "%v.41", "bits": 8 },
120
+ { "op": "bytes32_from_low_high", "output": "%tmp.134", "inputs": ["%beReversed.133", "%beReversed.103"] },
121
+ { "op": "from_bytes32", "type": "Scalar<Secp256k1>", "output": "%z.135", "bytes": "%tmp.134" },
122
+ { "op": "inv", "output": "%w.136", "a": "%t.40" },
123
+ { "op": "mul", "output": "%u1.137", "a": "%z.135", "b": "%w.136" },
124
+ { "op": "mul", "output": "%u2.138", "a": "%t.38", "b": "%w.136" },
125
+ { "op": "ec_mul_generator", "output": "%t.139", "scalar": "%u1.137" },
126
+ { "op": "ec_mul", "output": "%t.140", "a": "%pk.12", "scalar": "%u2.138" },
127
+ { "op": "add", "output": "%point.141", "a": "%t.139", "b": "%t.140" },
128
+ { "op": "into_coordinates", "outputs": ["%t.142", "%ignore.143"], "point": "%point.141" },
129
+ { "op": "into_bytes32", "output": "%tmp.144", "input": "%t.142" },
130
+ { "op": "bytes32_into_low_high", "outputs": ["%t.145", "%t.146"], "bytes": "%tmp.144" },
131
+ { "op": "bytes32_from_low_high", "output": "%tmp.147", "inputs": ["%t.145", "%t.146"] },
132
+ { "op": "from_bytes32", "type": "Scalar<Secp256k1>", "output": "%t.148", "bytes": "%tmp.147" },
133
+ { "op": "test_eq", "output": "%t.149", "a": "%t.148", "b": "%t.38" },
134
+ { "op": "assert", "cond": "%t.149" },
135
+ { "op": "public_input", "type": "Scalar<BLS12-381>", "output": "%t.150", "guard": null },
136
+ { "op": "impact", "guard": "0x01", "inputs": ["0x30"] },
137
+ { "op": "impact", "guard": "0x01", "inputs": ["0x50", "0x01", "0x01", "0x02"] },
138
+ { "op": "impact", "guard": "0x01", "inputs": ["0x10", "0x01", "0x01", "0x20", "%requestId.0", "%requestId.1"] },
139
+ { "op": "impact", "guard": "0x01", "inputs": ["0x18"] },
140
+ { "op": "impact", "guard": "0x01", "inputs": ["0x0d", "0x01", "0x01", "%t.150"] },
141
+ { "op": "cond_select", "output": "%t.151", "bit": "%t.150", "a": "0x00", "b": "0x01" },
142
+ { "op": "impact", "guard": "%t.151", "inputs": ["0x70", "0x01", "0x01", "0x02"] },
143
+ { "op": "impact", "guard": "%t.151", "inputs": ["0x10", "0x01", "0x01", "0x20", "%requestId.0", "%requestId.1"] },
144
+ { "op": "impact", "guard": "%t.151", "inputs": ["0x11", "0x01", "0x04", "0x80", "0x01", "0x20", "0x20", "%respondBidirectional.2", "%respondBidirectional.3", "%respondBidirectional.4", "%respondBidirectional.5", "%respondBidirectional.6", "%respondBidirectional.7", "%respondBidirectional.8", "%respondBidirectional.9", "%respondBidirectional.10", "%respondBidirectional.11"] },
145
+ { "op": "impact", "guard": "%t.151", "inputs": ["0x91"] },
146
+ { "op": "impact", "guard": "%t.151", "inputs": ["0xa1"] }
341
147
  ]
342
148
  }