@aztec/noir-acvm_js 0.0.1-commit.f504929 → 0.0.1-commit.f81dbcf

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.
package/nodejs/acvm_js.js CHANGED
@@ -1,110 +1,317 @@
1
- /* @ts-self-types="./acvm_js.d.ts" */
2
1
 
3
- /**
4
- * Performs a bitwise AND operation between `lhs` and `rhs`
5
- * @param {string} lhs
6
- * @param {string} rhs
7
- * @returns {string}
8
- */
9
- function and(lhs, rhs) {
10
- const ret = wasm.and(lhs, rhs);
11
- return ret;
2
+ let imports = {};
3
+ imports['__wbindgen_placeholder__'] = module.exports;
4
+ let wasm;
5
+ const { TextDecoder, TextEncoder } = require(`util`);
6
+
7
+ function addToExternrefTable0(obj) {
8
+ const idx = wasm.__externref_table_alloc();
9
+ wasm.__wbindgen_export_2.set(idx, obj);
10
+ return idx;
12
11
  }
13
- exports.and = and;
14
12
 
15
- /**
16
- * Calculates the Blake2s256 hash of the input bytes
17
- * @param {Uint8Array} inputs
18
- * @returns {Uint8Array}
19
- */
20
- function blake2s256(inputs) {
21
- const ptr0 = passArray8ToWasm0(inputs, wasm.__wbindgen_malloc);
22
- const len0 = WASM_VECTOR_LEN;
23
- const ret = wasm.blake2s256(ptr0, len0);
24
- var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
25
- wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
26
- return v2;
13
+ function handleError(f, args) {
14
+ try {
15
+ return f.apply(this, args);
16
+ } catch (e) {
17
+ const idx = addToExternrefTable0(e);
18
+ wasm.__wbindgen_exn_store(idx);
19
+ }
20
+ }
21
+
22
+ let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
23
+
24
+ cachedTextDecoder.decode();
25
+
26
+ let cachedUint8ArrayMemory0 = null;
27
+
28
+ function getUint8ArrayMemory0() {
29
+ if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
30
+ cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
31
+ }
32
+ return cachedUint8ArrayMemory0;
33
+ }
34
+
35
+ function getStringFromWasm0(ptr, len) {
36
+ ptr = ptr >>> 0;
37
+ return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
38
+ }
39
+
40
+ let WASM_VECTOR_LEN = 0;
41
+
42
+ let cachedTextEncoder = new TextEncoder('utf-8');
43
+
44
+ const encodeString = (typeof cachedTextEncoder.encodeInto === 'function'
45
+ ? function (arg, view) {
46
+ return cachedTextEncoder.encodeInto(arg, view);
47
+ }
48
+ : function (arg, view) {
49
+ const buf = cachedTextEncoder.encode(arg);
50
+ view.set(buf);
51
+ return {
52
+ read: arg.length,
53
+ written: buf.length
54
+ };
55
+ });
56
+
57
+ function passStringToWasm0(arg, malloc, realloc) {
58
+
59
+ if (realloc === undefined) {
60
+ const buf = cachedTextEncoder.encode(arg);
61
+ const ptr = malloc(buf.length, 1) >>> 0;
62
+ getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);
63
+ WASM_VECTOR_LEN = buf.length;
64
+ return ptr;
65
+ }
66
+
67
+ let len = arg.length;
68
+ let ptr = malloc(len, 1) >>> 0;
69
+
70
+ const mem = getUint8ArrayMemory0();
71
+
72
+ let offset = 0;
73
+
74
+ for (; offset < len; offset++) {
75
+ const code = arg.charCodeAt(offset);
76
+ if (code > 0x7F) break;
77
+ mem[ptr + offset] = code;
78
+ }
79
+
80
+ if (offset !== len) {
81
+ if (offset !== 0) {
82
+ arg = arg.slice(offset);
83
+ }
84
+ ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
85
+ const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);
86
+ const ret = encodeString(arg, view);
87
+
88
+ offset += ret.written;
89
+ ptr = realloc(ptr, len, offset, 1) >>> 0;
90
+ }
91
+
92
+ WASM_VECTOR_LEN = offset;
93
+ return ptr;
94
+ }
95
+
96
+ let cachedDataViewMemory0 = null;
97
+
98
+ function getDataViewMemory0() {
99
+ if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
100
+ cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
101
+ }
102
+ return cachedDataViewMemory0;
103
+ }
104
+
105
+ function isLikeNone(x) {
106
+ return x === undefined || x === null;
107
+ }
108
+
109
+ const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined')
110
+ ? { register: () => {}, unregister: () => {} }
111
+ : new FinalizationRegistry(state => {
112
+ wasm.__wbindgen_export_6.get(state.dtor)(state.a, state.b)
113
+ });
114
+
115
+ function makeMutClosure(arg0, arg1, dtor, f) {
116
+ const state = { a: arg0, b: arg1, cnt: 1, dtor };
117
+ const real = (...args) => {
118
+ // First up with a closure we increment the internal reference
119
+ // count. This ensures that the Rust closure environment won't
120
+ // be deallocated while we're invoking it.
121
+ state.cnt++;
122
+ const a = state.a;
123
+ state.a = 0;
124
+ try {
125
+ return f(a, state.b, ...args);
126
+ } finally {
127
+ if (--state.cnt === 0) {
128
+ wasm.__wbindgen_export_6.get(state.dtor)(a, state.b);
129
+ CLOSURE_DTORS.unregister(state);
130
+ } else {
131
+ state.a = a;
132
+ }
133
+ }
134
+ };
135
+ real.original = state;
136
+ CLOSURE_DTORS.register(real, state, state);
137
+ return real;
27
138
  }
28
- exports.blake2s256 = blake2s256;
29
139
 
140
+ function debugString(val) {
141
+ // primitive types
142
+ const type = typeof val;
143
+ if (type == 'number' || type == 'boolean' || val == null) {
144
+ return `${val}`;
145
+ }
146
+ if (type == 'string') {
147
+ return `"${val}"`;
148
+ }
149
+ if (type == 'symbol') {
150
+ const description = val.description;
151
+ if (description == null) {
152
+ return 'Symbol';
153
+ } else {
154
+ return `Symbol(${description})`;
155
+ }
156
+ }
157
+ if (type == 'function') {
158
+ const name = val.name;
159
+ if (typeof name == 'string' && name.length > 0) {
160
+ return `Function(${name})`;
161
+ } else {
162
+ return 'Function';
163
+ }
164
+ }
165
+ // objects
166
+ if (Array.isArray(val)) {
167
+ const length = val.length;
168
+ let debug = '[';
169
+ if (length > 0) {
170
+ debug += debugString(val[0]);
171
+ }
172
+ for(let i = 1; i < length; i++) {
173
+ debug += ', ' + debugString(val[i]);
174
+ }
175
+ debug += ']';
176
+ return debug;
177
+ }
178
+ // Test for built-in
179
+ const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val));
180
+ let className;
181
+ if (builtInMatches && builtInMatches.length > 1) {
182
+ className = builtInMatches[1];
183
+ } else {
184
+ // Failed to match the standard '[object ClassName]'
185
+ return toString.call(val);
186
+ }
187
+ if (className == 'Object') {
188
+ // we're a user defined class or Object
189
+ // JSON.stringify avoids problems with cycles, and is generally much
190
+ // easier than looping through ownProperties of `val`.
191
+ try {
192
+ return 'Object(' + JSON.stringify(val) + ')';
193
+ } catch (_) {
194
+ return 'Object';
195
+ }
196
+ }
197
+ // errors
198
+ if (val instanceof Error) {
199
+ return `${val.name}: ${val.message}\n${val.stack}`;
200
+ }
201
+ // TODO we could test for more things here, like `Set`s and `Map`s.
202
+ return className;
203
+ }
30
204
  /**
31
205
  * Returns the `BuildInfo` object containing information about how the installed package was built.
32
206
  * @returns {BuildInfo} - Information on how the installed package was built.
33
207
  */
34
- function buildInfo() {
208
+ module.exports.buildInfo = function() {
35
209
  const ret = wasm.buildInfo();
36
210
  return ret;
37
- }
38
- exports.buildInfo = buildInfo;
211
+ };
39
212
 
213
+ function takeFromExternrefTable0(idx) {
214
+ const value = wasm.__wbindgen_export_2.get(idx);
215
+ wasm.__externref_table_dealloc(idx);
216
+ return value;
217
+ }
40
218
  /**
41
- * Compresses a `WitnessMap` into the binary format outputted by Nargo.
219
+ * Sets the package's logging level.
42
220
  *
43
- * @param {WitnessMap} witness_map - A witness map.
44
- * @returns {Uint8Array} A compressed witness map
221
+ * @param {LogLevel} level - The maximum level of logging to be emitted.
45
222
  */
46
- function compressWitness(witness_map) {
47
- const ret = wasm.compressWitness(witness_map);
48
- if (ret[3]) {
49
- throw takeFromExternrefTable0(ret[2]);
223
+ module.exports.initLogLevel = function(filter) {
224
+ const ptr0 = passStringToWasm0(filter, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
225
+ const len0 = WASM_VECTOR_LEN;
226
+ const ret = wasm.initLogLevel(ptr0, len0);
227
+ if (ret[1]) {
228
+ throw takeFromExternrefTable0(ret[0]);
50
229
  }
51
- var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
52
- wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
53
- return v1;
54
- }
55
- exports.compressWitness = compressWitness;
230
+ };
56
231
 
57
232
  /**
58
- * Compresses a `WitnessStack` into the binary format outputted by Nargo.
59
- *
60
- * @param {WitnessStack} witness_stack - A witness stack.
61
- * @returns {Uint8Array} A compressed witness stack
233
+ * Performs a bitwise AND operation between `lhs` and `rhs`
234
+ * @param {string} lhs
235
+ * @param {string} rhs
236
+ * @returns {string}
62
237
  */
63
- function compressWitnessStack(witness_stack) {
64
- const ret = wasm.compressWitnessStack(witness_stack);
65
- if (ret[3]) {
66
- throw takeFromExternrefTable0(ret[2]);
238
+ module.exports.and = function(lhs, rhs) {
239
+ const ret = wasm.and(lhs, rhs);
240
+ return ret;
241
+ };
242
+
243
+ /**
244
+ * Performs a bitwise XOR operation between `lhs` and `rhs`
245
+ * @param {string} lhs
246
+ * @param {string} rhs
247
+ * @returns {string}
248
+ */
249
+ module.exports.xor = function(lhs, rhs) {
250
+ const ret = wasm.xor(lhs, rhs);
251
+ return ret;
252
+ };
253
+
254
+ let cachedUint32ArrayMemory0 = null;
255
+
256
+ function getUint32ArrayMemory0() {
257
+ if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) {
258
+ cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer);
67
259
  }
68
- var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
69
- wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
70
- return v1;
260
+ return cachedUint32ArrayMemory0;
71
261
  }
72
- exports.compressWitnessStack = compressWitnessStack;
73
262
 
263
+ function passArray32ToWasm0(arg, malloc) {
264
+ const ptr = malloc(arg.length * 4, 4) >>> 0;
265
+ getUint32ArrayMemory0().set(arg, ptr / 4);
266
+ WASM_VECTOR_LEN = arg.length;
267
+ return ptr;
268
+ }
269
+
270
+ function getArrayU32FromWasm0(ptr, len) {
271
+ ptr = ptr >>> 0;
272
+ return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);
273
+ }
74
274
  /**
75
- * Decompresses a compressed witness as outputted by Nargo into a `WitnessMap`.
76
- * This should be used to only fetch the witness map for the main function.
77
- *
78
- * @param {Uint8Array} compressed_witness - A compressed witness.
79
- * @returns {WitnessMap} The decompressed witness map.
275
+ * Sha256 compression function
276
+ * @param {Uint32Array} inputs
277
+ * @param {Uint32Array} state
278
+ * @returns {Uint32Array}
80
279
  */
81
- function decompressWitness(compressed_witness) {
82
- const ptr0 = passArray8ToWasm0(compressed_witness, wasm.__wbindgen_malloc);
280
+ module.exports.sha256_compression = function(inputs, state) {
281
+ const ptr0 = passArray32ToWasm0(inputs, wasm.__wbindgen_malloc);
83
282
  const len0 = WASM_VECTOR_LEN;
84
- const ret = wasm.decompressWitness(ptr0, len0);
85
- if (ret[2]) {
86
- throw takeFromExternrefTable0(ret[1]);
87
- }
88
- return takeFromExternrefTable0(ret[0]);
283
+ const ptr1 = passArray32ToWasm0(state, wasm.__wbindgen_malloc);
284
+ const len1 = WASM_VECTOR_LEN;
285
+ const ret = wasm.sha256_compression(ptr0, len0, ptr1, len1);
286
+ var v3 = getArrayU32FromWasm0(ret[0], ret[1]).slice();
287
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
288
+ return v3;
289
+ };
290
+
291
+ function passArray8ToWasm0(arg, malloc) {
292
+ const ptr = malloc(arg.length * 1, 1) >>> 0;
293
+ getUint8ArrayMemory0().set(arg, ptr / 1);
294
+ WASM_VECTOR_LEN = arg.length;
295
+ return ptr;
89
296
  }
90
- exports.decompressWitness = decompressWitness;
91
297
 
298
+ function getArrayU8FromWasm0(ptr, len) {
299
+ ptr = ptr >>> 0;
300
+ return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
301
+ }
92
302
  /**
93
- * Decompresses a compressed witness stack as outputted by Nargo into a `WitnessStack`.
94
- *
95
- * @param {Uint8Array} compressed_witness - A compressed witness.
96
- * @returns {WitnessStack} The decompressed witness stack.
303
+ * Calculates the Blake2s256 hash of the input bytes
304
+ * @param {Uint8Array} inputs
305
+ * @returns {Uint8Array}
97
306
  */
98
- function decompressWitnessStack(compressed_witness) {
99
- const ptr0 = passArray8ToWasm0(compressed_witness, wasm.__wbindgen_malloc);
307
+ module.exports.blake2s256 = function(inputs) {
308
+ const ptr0 = passArray8ToWasm0(inputs, wasm.__wbindgen_malloc);
100
309
  const len0 = WASM_VECTOR_LEN;
101
- const ret = wasm.decompressWitnessStack(ptr0, len0);
102
- if (ret[2]) {
103
- throw takeFromExternrefTable0(ret[1]);
104
- }
105
- return takeFromExternrefTable0(ret[0]);
106
- }
107
- exports.decompressWitnessStack = decompressWitnessStack;
310
+ const ret = wasm.blake2s256(ptr0, len0);
311
+ var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
312
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
313
+ return v2;
314
+ };
108
315
 
109
316
  /**
110
317
  * Verifies a ECDSA signature over the secp256k1 curve.
@@ -114,7 +321,7 @@ exports.decompressWitnessStack = decompressWitnessStack;
114
321
  * @param {Uint8Array} signature
115
322
  * @returns {boolean}
116
323
  */
117
- function ecdsa_secp256k1_verify(hashed_msg, public_key_x_bytes, public_key_y_bytes, signature) {
324
+ module.exports.ecdsa_secp256k1_verify = function(hashed_msg, public_key_x_bytes, public_key_y_bytes, signature) {
118
325
  const ptr0 = passArray8ToWasm0(hashed_msg, wasm.__wbindgen_malloc);
119
326
  const len0 = WASM_VECTOR_LEN;
120
327
  const ptr1 = passArray8ToWasm0(public_key_x_bytes, wasm.__wbindgen_malloc);
@@ -125,8 +332,7 @@ function ecdsa_secp256k1_verify(hashed_msg, public_key_x_bytes, public_key_y_byt
125
332
  const len3 = WASM_VECTOR_LEN;
126
333
  const ret = wasm.ecdsa_secp256k1_verify(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
127
334
  return ret !== 0;
128
- }
129
- exports.ecdsa_secp256k1_verify = ecdsa_secp256k1_verify;
335
+ };
130
336
 
131
337
  /**
132
338
  * Verifies a ECDSA signature over the secp256r1 curve.
@@ -136,7 +342,7 @@ exports.ecdsa_secp256k1_verify = ecdsa_secp256k1_verify;
136
342
  * @param {Uint8Array} signature
137
343
  * @returns {boolean}
138
344
  */
139
- function ecdsa_secp256r1_verify(hashed_msg, public_key_x_bytes, public_key_y_bytes, signature) {
345
+ module.exports.ecdsa_secp256r1_verify = function(hashed_msg, public_key_x_bytes, public_key_y_bytes, signature) {
140
346
  const ptr0 = passArray8ToWasm0(hashed_msg, wasm.__wbindgen_malloc);
141
347
  const len0 = WASM_VECTOR_LEN;
142
348
  const ptr1 = passArray8ToWasm0(public_key_x_bytes, wasm.__wbindgen_malloc);
@@ -147,8 +353,72 @@ function ecdsa_secp256r1_verify(hashed_msg, public_key_x_bytes, public_key_y_byt
147
353
  const len3 = WASM_VECTOR_LEN;
148
354
  const ret = wasm.ecdsa_secp256r1_verify(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
149
355
  return ret !== 0;
150
- }
151
- exports.ecdsa_secp256r1_verify = ecdsa_secp256r1_verify;
356
+ };
357
+
358
+ /**
359
+ * Compresses a `WitnessMap` into the binary format outputted by Nargo.
360
+ *
361
+ * @param {WitnessMap} witness_map - A witness map.
362
+ * @returns {Uint8Array} A compressed witness map
363
+ */
364
+ module.exports.compressWitness = function(witness_map) {
365
+ const ret = wasm.compressWitness(witness_map);
366
+ if (ret[3]) {
367
+ throw takeFromExternrefTable0(ret[2]);
368
+ }
369
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
370
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
371
+ return v1;
372
+ };
373
+
374
+ /**
375
+ * Decompresses a compressed witness as outputted by Nargo into a `WitnessMap`.
376
+ * This should be used to only fetch the witness map for the main function.
377
+ *
378
+ * @param {Uint8Array} compressed_witness - A compressed witness.
379
+ * @returns {WitnessMap} The decompressed witness map.
380
+ */
381
+ module.exports.decompressWitness = function(compressed_witness) {
382
+ const ptr0 = passArray8ToWasm0(compressed_witness, wasm.__wbindgen_malloc);
383
+ const len0 = WASM_VECTOR_LEN;
384
+ const ret = wasm.decompressWitness(ptr0, len0);
385
+ if (ret[2]) {
386
+ throw takeFromExternrefTable0(ret[1]);
387
+ }
388
+ return takeFromExternrefTable0(ret[0]);
389
+ };
390
+
391
+ /**
392
+ * Compresses a `WitnessStack` into the binary format outputted by Nargo.
393
+ *
394
+ * @param {WitnessStack} witness_stack - A witness stack.
395
+ * @returns {Uint8Array} A compressed witness stack
396
+ */
397
+ module.exports.compressWitnessStack = function(witness_stack) {
398
+ const ret = wasm.compressWitnessStack(witness_stack);
399
+ if (ret[3]) {
400
+ throw takeFromExternrefTable0(ret[2]);
401
+ }
402
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
403
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
404
+ return v1;
405
+ };
406
+
407
+ /**
408
+ * Decompresses a compressed witness stack as outputted by Nargo into a `WitnessStack`.
409
+ *
410
+ * @param {Uint8Array} compressed_witness - A compressed witness.
411
+ * @returns {WitnessStack} The decompressed witness stack.
412
+ */
413
+ module.exports.decompressWitnessStack = function(compressed_witness) {
414
+ const ptr0 = passArray8ToWasm0(compressed_witness, wasm.__wbindgen_malloc);
415
+ const len0 = WASM_VECTOR_LEN;
416
+ const ret = wasm.decompressWitnessStack(ptr0, len0);
417
+ if (ret[2]) {
418
+ throw takeFromExternrefTable0(ret[1]);
419
+ }
420
+ return takeFromExternrefTable0(ret[0]);
421
+ };
152
422
 
153
423
  /**
154
424
  * Executes an ACIR circuit to generate the solved witness from the initial witness.
@@ -158,13 +428,12 @@ exports.ecdsa_secp256r1_verify = ecdsa_secp256r1_verify;
158
428
  * @param {ForeignCallHandler} foreign_call_handler - A callback to process any foreign calls from the circuit.
159
429
  * @returns {WitnessMap} The solved witness calculated by executing the circuit on the provided inputs.
160
430
  */
161
- function executeCircuit(program, initial_witness, foreign_call_handler) {
431
+ module.exports.executeCircuit = function(program, initial_witness, foreign_call_handler) {
162
432
  const ptr0 = passArray8ToWasm0(program, wasm.__wbindgen_malloc);
163
433
  const len0 = WASM_VECTOR_LEN;
164
434
  const ret = wasm.executeCircuit(ptr0, len0, initial_witness, foreign_call_handler);
165
435
  return ret;
166
- }
167
- exports.executeCircuit = executeCircuit;
436
+ };
168
437
 
169
438
  /**
170
439
  * Executes an ACIR circuit to generate the solved witness from the initial witness.
@@ -175,13 +444,12 @@ exports.executeCircuit = executeCircuit;
175
444
  * @param {ForeignCallHandler} foreign_call_handler - A callback to process any foreign calls from the circuit.
176
445
  * @returns {SolvedAndReturnWitness} The solved witness calculated by executing the circuit on the provided inputs, as well as the return witness indices as specified by the circuit.
177
446
  */
178
- function executeCircuitWithReturnWitness(program, initial_witness, foreign_call_handler) {
447
+ module.exports.executeCircuitWithReturnWitness = function(program, initial_witness, foreign_call_handler) {
179
448
  const ptr0 = passArray8ToWasm0(program, wasm.__wbindgen_malloc);
180
449
  const len0 = WASM_VECTOR_LEN;
181
450
  const ret = wasm.executeCircuitWithReturnWitness(ptr0, len0, initial_witness, foreign_call_handler);
182
451
  return ret;
183
- }
184
- exports.executeCircuitWithReturnWitness = executeCircuitWithReturnWitness;
452
+ };
185
453
 
186
454
  /**
187
455
  * Executes an ACIR circuit to generate the solved witness from the initial witness.
@@ -191,669 +459,441 @@ exports.executeCircuitWithReturnWitness = executeCircuitWithReturnWitness;
191
459
  * @param {ForeignCallHandler} foreign_call_handler - A callback to process any foreign calls from the program.
192
460
  * @returns {WitnessStack} The solved witness calculated by executing the program on the provided inputs.
193
461
  */
194
- function executeProgram(program, initial_witness, foreign_call_handler) {
462
+ module.exports.executeProgram = function(program, initial_witness, foreign_call_handler) {
195
463
  const ptr0 = passArray8ToWasm0(program, wasm.__wbindgen_malloc);
196
464
  const len0 = WASM_VECTOR_LEN;
197
465
  const ret = wasm.executeProgram(ptr0, len0, initial_witness, foreign_call_handler);
198
466
  return ret;
199
- }
200
- exports.executeProgram = executeProgram;
467
+ };
201
468
 
202
469
  /**
203
- * Extracts a `WitnessMap` containing the witness indices corresponding to the circuit's public parameters.
470
+ * Extracts a `WitnessMap` containing the witness indices corresponding to the circuit's return values.
204
471
  *
205
472
  * @param {Uint8Array} circuit - A serialized representation of an ACIR circuit
206
473
  * @param {WitnessMap} witness_map - The completed witness map after executing the circuit.
207
- * @returns {WitnessMap} A witness map containing the circuit's public parameters.
474
+ * @returns {WitnessMap} A witness map containing the circuit's return values.
208
475
  * @param {Uint8Array} program
209
- * @param {WitnessMap} solved_witness
476
+ * @param {WitnessMap} witness_map
210
477
  * @returns {WitnessMap}
211
478
  */
212
- function getPublicParametersWitness(program, solved_witness) {
479
+ module.exports.getReturnWitness = function(program, witness_map) {
213
480
  const ptr0 = passArray8ToWasm0(program, wasm.__wbindgen_malloc);
214
481
  const len0 = WASM_VECTOR_LEN;
215
- const ret = wasm.getPublicParametersWitness(ptr0, len0, solved_witness);
482
+ const ret = wasm.getReturnWitness(ptr0, len0, witness_map);
216
483
  if (ret[2]) {
217
484
  throw takeFromExternrefTable0(ret[1]);
218
485
  }
219
486
  return takeFromExternrefTable0(ret[0]);
220
- }
221
- exports.getPublicParametersWitness = getPublicParametersWitness;
487
+ };
222
488
 
223
489
  /**
224
- * Extracts a `WitnessMap` containing the witness indices corresponding to the circuit's public inputs.
490
+ * Extracts a `WitnessMap` containing the witness indices corresponding to the circuit's public parameters.
225
491
  *
226
492
  * @param {Uint8Array} circuit - A serialized representation of an ACIR circuit
227
493
  * @param {WitnessMap} witness_map - The completed witness map after executing the circuit.
228
- * @returns {WitnessMap} A witness map containing the circuit's public inputs.
494
+ * @returns {WitnessMap} A witness map containing the circuit's public parameters.
229
495
  * @param {Uint8Array} program
230
496
  * @param {WitnessMap} solved_witness
231
497
  * @returns {WitnessMap}
232
498
  */
233
- function getPublicWitness(program, solved_witness) {
499
+ module.exports.getPublicParametersWitness = function(program, solved_witness) {
234
500
  const ptr0 = passArray8ToWasm0(program, wasm.__wbindgen_malloc);
235
501
  const len0 = WASM_VECTOR_LEN;
236
- const ret = wasm.getPublicWitness(ptr0, len0, solved_witness);
502
+ const ret = wasm.getPublicParametersWitness(ptr0, len0, solved_witness);
237
503
  if (ret[2]) {
238
504
  throw takeFromExternrefTable0(ret[1]);
239
505
  }
240
506
  return takeFromExternrefTable0(ret[0]);
241
- }
242
- exports.getPublicWitness = getPublicWitness;
507
+ };
243
508
 
244
509
  /**
245
- * Extracts a `WitnessMap` containing the witness indices corresponding to the circuit's return values.
510
+ * Extracts a `WitnessMap` containing the witness indices corresponding to the circuit's public inputs.
246
511
  *
247
512
  * @param {Uint8Array} circuit - A serialized representation of an ACIR circuit
248
513
  * @param {WitnessMap} witness_map - The completed witness map after executing the circuit.
249
- * @returns {WitnessMap} A witness map containing the circuit's return values.
514
+ * @returns {WitnessMap} A witness map containing the circuit's public inputs.
250
515
  * @param {Uint8Array} program
251
- * @param {WitnessMap} witness_map
516
+ * @param {WitnessMap} solved_witness
252
517
  * @returns {WitnessMap}
253
518
  */
254
- function getReturnWitness(program, witness_map) {
519
+ module.exports.getPublicWitness = function(program, solved_witness) {
255
520
  const ptr0 = passArray8ToWasm0(program, wasm.__wbindgen_malloc);
256
521
  const len0 = WASM_VECTOR_LEN;
257
- const ret = wasm.getReturnWitness(ptr0, len0, witness_map);
522
+ const ret = wasm.getPublicWitness(ptr0, len0, solved_witness);
258
523
  if (ret[2]) {
259
524
  throw takeFromExternrefTable0(ret[1]);
260
525
  }
261
526
  return takeFromExternrefTable0(ret[0]);
527
+ };
528
+
529
+ function __wbg_adapter_30(arg0, arg1, arg2) {
530
+ wasm.closure445_externref_shim(arg0, arg1, arg2);
262
531
  }
263
- exports.getReturnWitness = getReturnWitness;
264
532
 
265
- /**
266
- * Sets the package's logging level.
267
- *
268
- * @param {LogLevel} level - The maximum level of logging to be emitted.
269
- */
270
- function initLogLevel(filter) {
271
- const ptr0 = passStringToWasm0(filter, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
272
- const len0 = WASM_VECTOR_LEN;
273
- const ret = wasm.initLogLevel(ptr0, len0);
274
- if (ret[1]) {
275
- throw takeFromExternrefTable0(ret[0]);
276
- }
533
+ function __wbg_adapter_89(arg0, arg1, arg2, arg3, arg4) {
534
+ wasm.closure924_externref_shim(arg0, arg1, arg2, arg3, arg4);
277
535
  }
278
- exports.initLogLevel = initLogLevel;
279
536
 
280
- /**
281
- * Sha256 compression function
282
- * @param {Uint32Array} inputs
283
- * @param {Uint32Array} state
284
- * @returns {Uint32Array}
285
- */
286
- function sha256_compression(inputs, state) {
287
- const ptr0 = passArray32ToWasm0(inputs, wasm.__wbindgen_malloc);
288
- const len0 = WASM_VECTOR_LEN;
289
- const ptr1 = passArray32ToWasm0(state, wasm.__wbindgen_malloc);
290
- const len1 = WASM_VECTOR_LEN;
291
- const ret = wasm.sha256_compression(ptr0, len0, ptr1, len1);
292
- var v3 = getArrayU32FromWasm0(ret[0], ret[1]).slice();
293
- wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
294
- return v3;
537
+ function __wbg_adapter_110(arg0, arg1, arg2, arg3) {
538
+ wasm.closure928_externref_shim(arg0, arg1, arg2, arg3);
295
539
  }
296
- exports.sha256_compression = sha256_compression;
297
540
 
298
- /**
299
- * Performs a bitwise XOR operation between `lhs` and `rhs`
300
- * @param {string} lhs
301
- * @param {string} rhs
302
- * @returns {string}
303
- */
304
- function xor(lhs, rhs) {
305
- const ret = wasm.xor(lhs, rhs);
541
+ module.exports.__wbg_call_672a4d21634d4a24 = function() { return handleError(function (arg0, arg1) {
542
+ const ret = arg0.call(arg1);
306
543
  return ret;
307
- }
308
- exports.xor = xor;
309
-
310
- function __wbg_get_imports() {
311
- const import0 = {
312
- __proto__: null,
313
- __wbg___wbindgen_debug_string_ddde1867f49c2442: function(arg0, arg1) {
314
- const ret = debugString(arg1);
315
- const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
316
- const len1 = WASM_VECTOR_LEN;
317
- getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
318
- getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
319
- },
320
- __wbg___wbindgen_is_function_d633e708baf0d146: function(arg0) {
321
- const ret = typeof(arg0) === 'function';
322
- return ret;
323
- },
324
- __wbg___wbindgen_is_string_7debe47dc1e045c2: function(arg0) {
325
- const ret = typeof(arg0) === 'string';
326
- return ret;
327
- },
328
- __wbg___wbindgen_is_undefined_c18285b9fc34cb7d: function(arg0) {
329
- const ret = arg0 === undefined;
330
- return ret;
331
- },
332
- __wbg___wbindgen_number_get_5854912275df1894: function(arg0, arg1) {
333
- const obj = arg1;
334
- const ret = typeof(obj) === 'number' ? obj : undefined;
335
- getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);
336
- getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);
337
- },
338
- __wbg___wbindgen_string_get_3e5751597f39a112: function(arg0, arg1) {
339
- const obj = arg1;
340
- const ret = typeof(obj) === 'string' ? obj : undefined;
341
- var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
342
- var len1 = WASM_VECTOR_LEN;
343
- getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
344
- getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
345
- },
346
- __wbg___wbindgen_throw_39bc967c0e5a9b58: function(arg0, arg1) {
347
- throw new Error(getStringFromWasm0(arg0, arg1));
348
- },
349
- __wbg__wbg_cb_unref_b6d832240a919168: function(arg0) {
350
- arg0._wbg_cb_unref();
351
- },
352
- __wbg_call_08ad0d89caa7cb79: function() { return handleError(function (arg0, arg1, arg2) {
353
- const ret = arg0.call(arg1, arg2);
354
- return ret;
355
- }, arguments); },
356
- __wbg_call_c974f0bf2231552e: function() { return handleError(function (arg0, arg1, arg2, arg3) {
357
- const ret = arg0.call(arg1, arg2, arg3);
358
- return ret;
359
- }, arguments); },
360
- __wbg_constructor_78e91522c0c3d715: function(arg0) {
361
- const ret = new Error(arg0);
362
- return ret;
363
- },
364
- __wbg_constructor_d2b676f9277a8e3c: function(arg0) {
365
- const ret = new Error(arg0);
366
- return ret;
367
- },
368
- __wbg_debug_8804c16f548276da: function(arg0, arg1, arg2, arg3) {
369
- console.debug(arg0, arg1, arg2, arg3);
370
- },
371
- __wbg_debug_e69ad32e6af73f94: function(arg0) {
372
- console.debug(arg0);
373
- },
374
- __wbg_error_91d10625a3b36a08: function(arg0, arg1, arg2, arg3) {
375
- console.error(arg0, arg1, arg2, arg3);
376
- },
377
- __wbg_error_a6fa202b58aa1cd3: function(arg0, arg1) {
378
- let deferred0_0;
379
- let deferred0_1;
380
- try {
381
- deferred0_0 = arg0;
382
- deferred0_1 = arg1;
383
- console.error(getStringFromWasm0(arg0, arg1));
384
- } finally {
385
- wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
386
- }
387
- },
388
- __wbg_error_ad28debb48b5c6bb: function(arg0) {
389
- console.error(arg0);
390
- },
391
- __wbg_forEach_9694464cb60ea370: function(arg0, arg1, arg2) {
544
+ }, arguments) };
545
+
546
+ module.exports.__wbg_call_7cccdd69e0791ae2 = function() { return handleError(function (arg0, arg1, arg2) {
547
+ const ret = arg0.call(arg1, arg2);
548
+ return ret;
549
+ }, arguments) };
550
+
551
+ module.exports.__wbg_call_833bed5770ea2041 = function() { return handleError(function (arg0, arg1, arg2, arg3) {
552
+ const ret = arg0.call(arg1, arg2, arg3);
553
+ return ret;
554
+ }, arguments) };
555
+
556
+ module.exports.__wbg_constructor_536364f6bcd4616b = function(arg0) {
557
+ const ret = new Error(arg0);
558
+ return ret;
559
+ };
560
+
561
+ module.exports.__wbg_constructor_66e92e9c3ecae9e8 = function(arg0) {
562
+ const ret = new Error(arg0);
563
+ return ret;
564
+ };
565
+
566
+ module.exports.__wbg_debug_3cb59063b29f58c1 = function(arg0) {
567
+ console.debug(arg0);
568
+ };
569
+
570
+ module.exports.__wbg_debug_e17b51583ca6a632 = function(arg0, arg1, arg2, arg3) {
571
+ console.debug(arg0, arg1, arg2, arg3);
572
+ };
573
+
574
+ module.exports.__wbg_error_524f506f44df1645 = function(arg0) {
575
+ console.error(arg0);
576
+ };
577
+
578
+ module.exports.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) {
579
+ let deferred0_0;
580
+ let deferred0_1;
581
+ try {
582
+ deferred0_0 = arg0;
583
+ deferred0_1 = arg1;
584
+ console.error(getStringFromWasm0(arg0, arg1));
585
+ } finally {
586
+ wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
587
+ }
588
+ };
589
+
590
+ module.exports.__wbg_error_80de38b3f7cc3c3c = function(arg0, arg1, arg2, arg3) {
591
+ console.error(arg0, arg1, arg2, arg3);
592
+ };
593
+
594
+ module.exports.__wbg_forEach_d6a05ca96422eff9 = function(arg0, arg1, arg2) {
595
+ try {
596
+ var state0 = {a: arg1, b: arg2};
597
+ var cb0 = (arg0, arg1, arg2) => {
598
+ const a = state0.a;
599
+ state0.a = 0;
392
600
  try {
393
- var state0 = {a: arg1, b: arg2};
394
- var cb0 = (arg0, arg1) => {
395
- const a = state0.a;
396
- state0.a = 0;
397
- try {
398
- return wasm_bindgen__convert__closures_____invoke__h5a259cce50f322a2(a, state0.b, arg0, arg1);
399
- } finally {
400
- state0.a = a;
401
- }
402
- };
403
- arg0.forEach(cb0);
601
+ return __wbg_adapter_89(a, state0.b, arg0, arg1, arg2);
404
602
  } finally {
405
- state0.a = state0.b = 0;
603
+ state0.a = a;
406
604
  }
407
- },
408
- __wbg_forEach_f33e388a24ae7d4f: function(arg0, arg1, arg2) {
605
+ };
606
+ arg0.forEach(cb0);
607
+ } finally {
608
+ state0.a = state0.b = 0;
609
+ }
610
+ };
611
+
612
+ module.exports.__wbg_forEach_e1cf6f7c8ecb7dae = function(arg0, arg1, arg2) {
613
+ try {
614
+ var state0 = {a: arg1, b: arg2};
615
+ var cb0 = (arg0, arg1) => {
616
+ const a = state0.a;
617
+ state0.a = 0;
409
618
  try {
410
- var state0 = {a: arg1, b: arg2};
411
- var cb0 = (arg0, arg1, arg2) => {
412
- const a = state0.a;
413
- state0.a = 0;
414
- try {
415
- return wasm_bindgen__convert__closures_____invoke__h149dcfc5e545a40e(a, state0.b, arg0, arg1, arg2);
416
- } finally {
417
- state0.a = a;
418
- }
419
- };
420
- arg0.forEach(cb0);
619
+ return __wbg_adapter_110(a, state0.b, arg0, arg1);
421
620
  } finally {
422
- state0.a = state0.b = 0;
621
+ state0.a = a;
423
622
  }
424
- },
425
- __wbg_fromEntries_2f51c4024e2a7aa3: function() { return handleError(function (arg0) {
426
- const ret = Object.fromEntries(arg0);
427
- return ret;
428
- }, arguments); },
429
- __wbg_from_d7e888a2e9063b32: function(arg0) {
430
- const ret = Array.from(arg0);
431
- return ret;
432
- },
433
- __wbg_get_f09c3a16f8848381: function(arg0, arg1) {
434
- const ret = arg0[arg1 >>> 0];
435
- return ret;
436
- },
437
- __wbg_get_unchecked_3d0f4b91c8eca4f0: function(arg0, arg1) {
438
- const ret = arg0[arg1 >>> 0];
439
- return ret;
440
- },
441
- __wbg_info_28d530adaabdab8c: function(arg0, arg1, arg2, arg3) {
442
- console.info(arg0, arg1, arg2, arg3);
443
- },
444
- __wbg_info_72e7e65fa3fc8b25: function(arg0) {
445
- console.info(arg0);
446
- },
447
- __wbg_isArray_581b02d0060c9728: function(arg0) {
448
- const ret = Array.isArray(arg0);
449
- return ret;
450
- },
451
- __wbg_length_a31e05262e09b7f8: function(arg0) {
452
- const ret = arg0.length;
453
- return ret;
454
- },
455
- __wbg_new_1213b57bccbdbb66: function(arg0, arg1) {
456
- const ret = new Error(getStringFromWasm0(arg0, arg1));
457
- return ret;
458
- },
459
- __wbg_new_1faa82fcea3a8b7d: function() {
460
- const ret = new Map();
461
- return ret;
462
- },
463
- __wbg_new_227d7c05414eb861: function() {
464
- const ret = new Error();
465
- return ret;
466
- },
467
- __wbg_new_92df58a8ec3bfb6b: function() {
468
- const ret = new Map();
469
- return ret;
470
- },
471
- __wbg_new_cb7a57a3ce49e647: function() {
472
- const ret = new Array();
473
- return ret;
474
- },
475
- __wbg_new_cbee8c0d5c479eac: function() {
476
- const ret = new Array();
477
- return ret;
478
- },
479
- __wbg_new_typed_8258a0d8488ef2a2: function(arg0, arg1) {
623
+ };
624
+ arg0.forEach(cb0);
625
+ } finally {
626
+ state0.a = state0.b = 0;
627
+ }
628
+ };
629
+
630
+ module.exports.__wbg_fromEntries_524679eecb0bdc2e = function() { return handleError(function (arg0) {
631
+ const ret = Object.fromEntries(arg0);
632
+ return ret;
633
+ }, arguments) };
634
+
635
+ module.exports.__wbg_from_2a5d3e218e67aa85 = function(arg0) {
636
+ const ret = Array.from(arg0);
637
+ return ret;
638
+ };
639
+
640
+ module.exports.__wbg_get_b9b93047fe3cf45b = function(arg0, arg1) {
641
+ const ret = arg0[arg1 >>> 0];
642
+ return ret;
643
+ };
644
+
645
+ module.exports.__wbg_info_033d8b8a0838f1d3 = function(arg0, arg1, arg2, arg3) {
646
+ console.info(arg0, arg1, arg2, arg3);
647
+ };
648
+
649
+ module.exports.__wbg_info_3daf2e093e091b66 = function(arg0) {
650
+ console.info(arg0);
651
+ };
652
+
653
+ module.exports.__wbg_length_e2d2a49132c1b256 = function(arg0) {
654
+ const ret = arg0.length;
655
+ return ret;
656
+ };
657
+
658
+ module.exports.__wbg_new_23a2665fac83c611 = function(arg0, arg1) {
659
+ try {
660
+ var state0 = {a: arg0, b: arg1};
661
+ var cb0 = (arg0, arg1) => {
662
+ const a = state0.a;
663
+ state0.a = 0;
480
664
  try {
481
- var state0 = {a: arg0, b: arg1};
482
- var cb0 = (arg0, arg1) => {
483
- const a = state0.a;
484
- state0.a = 0;
485
- try {
486
- return wasm_bindgen__convert__closures_____invoke__h5a259cce50f322a2_21(a, state0.b, arg0, arg1);
487
- } finally {
488
- state0.a = a;
489
- }
490
- };
491
- const ret = new Promise(cb0);
492
- return ret;
665
+ return __wbg_adapter_110(a, state0.b, arg0, arg1);
493
666
  } finally {
494
- state0.a = state0.b = 0;
667
+ state0.a = a;
495
668
  }
496
- },
497
- __wbg_parse_6dfe891b5bafb5cd: function() { return handleError(function (arg0, arg1) {
498
- const ret = JSON.parse(getStringFromWasm0(arg0, arg1));
499
- return ret;
500
- }, arguments); },
501
- __wbg_push_a6f9488ffd3fae3b: function(arg0, arg1) {
502
- const ret = arg0.push(arg1);
503
- return ret;
504
- },
505
- __wbg_queueMicrotask_2c8dfd1056f24fdc: function(arg0) {
506
- const ret = arg0.queueMicrotask;
507
- return ret;
508
- },
509
- __wbg_queueMicrotask_8985ad63815852e7: function(arg0) {
510
- queueMicrotask(arg0);
511
- },
512
- __wbg_resolve_5d61e0d10c14730a: function(arg0) {
513
- const ret = Promise.resolve(arg0);
514
- return ret;
515
- },
516
- __wbg_reverse_fcf59127ee940f96: function(arg0) {
517
- const ret = arg0.reverse();
518
- return ret;
519
- },
520
- __wbg_set_bad5c505cc70b5f8: function() { return handleError(function (arg0, arg1, arg2) {
521
- const ret = Reflect.set(arg0, arg1, arg2);
522
- return ret;
523
- }, arguments); },
524
- __wbg_set_cause_7f44b7881bde2bb6: function(arg0, arg1) {
525
- arg0.cause = arg1;
526
- },
527
- __wbg_set_cfc6de03f990decf: function(arg0, arg1, arg2) {
528
- const ret = arg0.set(arg1, arg2);
529
- return ret;
530
- },
531
- __wbg_stack_3b0d974bbf31e44f: function(arg0, arg1) {
532
- const ret = arg1.stack;
533
- const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
534
- const len1 = WASM_VECTOR_LEN;
535
- getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
536
- getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
537
- },
538
- __wbg_static_accessor_GLOBAL_THIS_14325d8cca34bb77: function() {
539
- const ret = typeof globalThis === 'undefined' ? null : globalThis;
540
- return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);
541
- },
542
- __wbg_static_accessor_GLOBAL_f3a1e69f9c5a7e8e: function() {
543
- const ret = typeof global === 'undefined' ? null : global;
544
- return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);
545
- },
546
- __wbg_static_accessor_SELF_50cdb5b517789aca: function() {
547
- const ret = typeof self === 'undefined' ? null : self;
548
- return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);
549
- },
550
- __wbg_static_accessor_WINDOW_d6c4126e4c244380: function() {
551
- const ret = typeof window === 'undefined' ? null : window;
552
- return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);
553
- },
554
- __wbg_then_d4163530723f56f4: function(arg0, arg1, arg2) {
555
- const ret = arg0.then(arg1, arg2);
556
- return ret;
557
- },
558
- __wbg_then_f1c954fe00733701: function(arg0, arg1) {
559
- const ret = arg0.then(arg1);
560
- return ret;
561
- },
562
- __wbg_values_623449cff68c6e40: function(arg0) {
563
- const ret = Object.values(arg0);
564
- return ret;
565
- },
566
- __wbg_warn_2540fe736f19ad5c: function(arg0, arg1, arg2, arg3) {
567
- console.warn(arg0, arg1, arg2, arg3);
568
- },
569
- __wbg_warn_3310c7343993c074: function(arg0) {
570
- console.warn(arg0);
571
- },
572
- __wbindgen_cast_0000000000000001: function(arg0, arg1) {
573
- // Cast intrinsic for `Closure(Closure { dtor_idx: 464, function: Function { arguments: [Externref], shim_idx: 465, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
574
- const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h589cd82bcdcce84d, wasm_bindgen__convert__closures_____invoke__hd0bc2cf4f980f051);
575
- return ret;
576
- },
577
- __wbindgen_cast_0000000000000002: function(arg0) {
578
- // Cast intrinsic for `F64 -> Externref`.
579
- const ret = arg0;
580
- return ret;
581
- },
582
- __wbindgen_cast_0000000000000003: function(arg0, arg1) {
583
- // Cast intrinsic for `Ref(String) -> Externref`.
584
- const ret = getStringFromWasm0(arg0, arg1);
585
- return ret;
586
- },
587
- __wbindgen_init_externref_table: function() {
588
- const table = wasm.__wbindgen_externrefs;
589
- const offset = table.grow(4);
590
- table.set(0, undefined);
591
- table.set(offset + 0, undefined);
592
- table.set(offset + 1, null);
593
- table.set(offset + 2, true);
594
- table.set(offset + 3, false);
595
- },
596
- };
597
- return {
598
- __proto__: null,
599
- "./acvm_js_bg.js": import0,
600
- };
601
- }
602
-
603
- function wasm_bindgen__convert__closures_____invoke__hd0bc2cf4f980f051(arg0, arg1, arg2) {
604
- const ret = wasm.wasm_bindgen__convert__closures_____invoke__hd0bc2cf4f980f051(arg0, arg1, arg2);
605
- if (ret[1]) {
606
- throw takeFromExternrefTable0(ret[0]);
669
+ };
670
+ const ret = new Promise(cb0);
671
+ return ret;
672
+ } finally {
673
+ state0.a = state0.b = 0;
607
674
  }
608
- }
675
+ };
609
676
 
610
- function wasm_bindgen__convert__closures_____invoke__h5a259cce50f322a2(arg0, arg1, arg2, arg3) {
611
- wasm.wasm_bindgen__convert__closures_____invoke__h5a259cce50f322a2(arg0, arg1, arg2, arg3);
612
- }
613
-
614
- function wasm_bindgen__convert__closures_____invoke__h5a259cce50f322a2_21(arg0, arg1, arg2, arg3) {
615
- wasm.wasm_bindgen__convert__closures_____invoke__h5a259cce50f322a2_21(arg0, arg1, arg2, arg3);
616
- }
677
+ module.exports.__wbg_new_5e0be73521bc8c17 = function() {
678
+ const ret = new Map();
679
+ return ret;
680
+ };
617
681
 
618
- function wasm_bindgen__convert__closures_____invoke__h149dcfc5e545a40e(arg0, arg1, arg2, arg3, arg4) {
619
- wasm.wasm_bindgen__convert__closures_____invoke__h149dcfc5e545a40e(arg0, arg1, arg2, arg3, arg4);
620
- }
682
+ module.exports.__wbg_new_78feb108b6472713 = function() {
683
+ const ret = new Array();
684
+ return ret;
685
+ };
621
686
 
622
- function addToExternrefTable0(obj) {
623
- const idx = wasm.__externref_table_alloc();
624
- wasm.__wbindgen_externrefs.set(idx, obj);
625
- return idx;
626
- }
687
+ module.exports.__wbg_new_8a6f238a6ece86ea = function() {
688
+ const ret = new Error();
689
+ return ret;
690
+ };
627
691
 
628
- const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined')
629
- ? { register: () => {}, unregister: () => {} }
630
- : new FinalizationRegistry(state => state.dtor(state.a, state.b));
692
+ module.exports.__wbg_new_9f501325818b4158 = function() {
693
+ const ret = new Array();
694
+ return ret;
695
+ };
631
696
 
632
- function debugString(val) {
633
- // primitive types
634
- const type = typeof val;
635
- if (type == 'number' || type == 'boolean' || val == null) {
636
- return `${val}`;
637
- }
638
- if (type == 'string') {
639
- return `"${val}"`;
640
- }
641
- if (type == 'symbol') {
642
- const description = val.description;
643
- if (description == null) {
644
- return 'Symbol';
645
- } else {
646
- return `Symbol(${description})`;
647
- }
648
- }
649
- if (type == 'function') {
650
- const name = val.name;
651
- if (typeof name == 'string' && name.length > 0) {
652
- return `Function(${name})`;
653
- } else {
654
- return 'Function';
655
- }
656
- }
657
- // objects
658
- if (Array.isArray(val)) {
659
- const length = val.length;
660
- let debug = '[';
661
- if (length > 0) {
662
- debug += debugString(val[0]);
663
- }
664
- for(let i = 1; i < length; i++) {
665
- debug += ', ' + debugString(val[i]);
666
- }
667
- debug += ']';
668
- return debug;
669
- }
670
- // Test for built-in
671
- const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val));
672
- let className;
673
- if (builtInMatches && builtInMatches.length > 1) {
674
- className = builtInMatches[1];
675
- } else {
676
- // Failed to match the standard '[object ClassName]'
677
- return toString.call(val);
678
- }
679
- if (className == 'Object') {
680
- // we're a user defined class or Object
681
- // JSON.stringify avoids problems with cycles, and is generally much
682
- // easier than looping through ownProperties of `val`.
683
- try {
684
- return 'Object(' + JSON.stringify(val) + ')';
685
- } catch (_) {
686
- return 'Object';
687
- }
688
- }
689
- // errors
690
- if (val instanceof Error) {
691
- return `${val.name}: ${val.message}\n${val.stack}`;
692
- }
693
- // TODO we could test for more things here, like `Set`s and `Map`s.
694
- return className;
695
- }
697
+ module.exports.__wbg_new_c68d7209be747379 = function(arg0, arg1) {
698
+ const ret = new Error(getStringFromWasm0(arg0, arg1));
699
+ return ret;
700
+ };
696
701
 
697
- function getArrayU32FromWasm0(ptr, len) {
698
- ptr = ptr >>> 0;
699
- return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);
700
- }
702
+ module.exports.__wbg_new_ec40611a7805f1f0 = function() {
703
+ const ret = new Map();
704
+ return ret;
705
+ };
701
706
 
702
- function getArrayU8FromWasm0(ptr, len) {
703
- ptr = ptr >>> 0;
704
- return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
705
- }
707
+ module.exports.__wbg_newnoargs_105ed471475aaf50 = function(arg0, arg1) {
708
+ const ret = new Function(getStringFromWasm0(arg0, arg1));
709
+ return ret;
710
+ };
706
711
 
707
- let cachedDataViewMemory0 = null;
708
- function getDataViewMemory0() {
709
- if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
710
- cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
711
- }
712
- return cachedDataViewMemory0;
713
- }
712
+ module.exports.__wbg_parse_def2e24ef1252aff = function() { return handleError(function (arg0, arg1) {
713
+ const ret = JSON.parse(getStringFromWasm0(arg0, arg1));
714
+ return ret;
715
+ }, arguments) };
714
716
 
715
- function getStringFromWasm0(ptr, len) {
716
- ptr = ptr >>> 0;
717
- return decodeText(ptr, len);
718
- }
717
+ module.exports.__wbg_push_737cfc8c1432c2c6 = function(arg0, arg1) {
718
+ const ret = arg0.push(arg1);
719
+ return ret;
720
+ };
719
721
 
720
- let cachedUint32ArrayMemory0 = null;
721
- function getUint32ArrayMemory0() {
722
- if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) {
723
- cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer);
724
- }
725
- return cachedUint32ArrayMemory0;
726
- }
722
+ module.exports.__wbg_queueMicrotask_97d92b4fcc8a61c5 = function(arg0) {
723
+ queueMicrotask(arg0);
724
+ };
727
725
 
728
- let cachedUint8ArrayMemory0 = null;
729
- function getUint8ArrayMemory0() {
730
- if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
731
- cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
732
- }
733
- return cachedUint8ArrayMemory0;
734
- }
726
+ module.exports.__wbg_queueMicrotask_d3219def82552485 = function(arg0) {
727
+ const ret = arg0.queueMicrotask;
728
+ return ret;
729
+ };
735
730
 
736
- function handleError(f, args) {
737
- try {
738
- return f.apply(this, args);
739
- } catch (e) {
740
- const idx = addToExternrefTable0(e);
741
- wasm.__wbindgen_exn_store(idx);
742
- }
743
- }
731
+ module.exports.__wbg_resolve_4851785c9c5f573d = function(arg0) {
732
+ const ret = Promise.resolve(arg0);
733
+ return ret;
734
+ };
744
735
 
745
- function isLikeNone(x) {
746
- return x === undefined || x === null;
747
- }
736
+ module.exports.__wbg_reverse_71c11f9686a5c11b = function(arg0) {
737
+ const ret = arg0.reverse();
738
+ return ret;
739
+ };
748
740
 
749
- function makeMutClosure(arg0, arg1, dtor, f) {
750
- const state = { a: arg0, b: arg1, cnt: 1, dtor };
751
- const real = (...args) => {
741
+ module.exports.__wbg_set_8fc6bf8a5b1071d1 = function(arg0, arg1, arg2) {
742
+ const ret = arg0.set(arg1, arg2);
743
+ return ret;
744
+ };
752
745
 
753
- // First up with a closure we increment the internal reference
754
- // count. This ensures that the Rust closure environment won't
755
- // be deallocated while we're invoking it.
756
- state.cnt++;
757
- const a = state.a;
758
- state.a = 0;
759
- try {
760
- return f(a, state.b, ...args);
761
- } finally {
762
- state.a = a;
763
- real._wbg_cb_unref();
764
- }
765
- };
766
- real._wbg_cb_unref = () => {
767
- if (--state.cnt === 0) {
768
- state.dtor(state.a, state.b);
769
- state.a = 0;
770
- CLOSURE_DTORS.unregister(state);
771
- }
772
- };
773
- CLOSURE_DTORS.register(real, state, state);
774
- return real;
775
- }
746
+ module.exports.__wbg_set_bb8cecf6a62b9f46 = function() { return handleError(function (arg0, arg1, arg2) {
747
+ const ret = Reflect.set(arg0, arg1, arg2);
748
+ return ret;
749
+ }, arguments) };
776
750
 
777
- function passArray32ToWasm0(arg, malloc) {
778
- const ptr = malloc(arg.length * 4, 4) >>> 0;
779
- getUint32ArrayMemory0().set(arg, ptr / 4);
780
- WASM_VECTOR_LEN = arg.length;
781
- return ptr;
782
- }
751
+ module.exports.__wbg_setcause_180f5110152d3ce3 = function(arg0, arg1) {
752
+ arg0.cause = arg1;
753
+ };
783
754
 
784
- function passArray8ToWasm0(arg, malloc) {
785
- const ptr = malloc(arg.length * 1, 1) >>> 0;
786
- getUint8ArrayMemory0().set(arg, ptr / 1);
787
- WASM_VECTOR_LEN = arg.length;
788
- return ptr;
789
- }
755
+ module.exports.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) {
756
+ const ret = arg1.stack;
757
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
758
+ const len1 = WASM_VECTOR_LEN;
759
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
760
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
761
+ };
762
+
763
+ module.exports.__wbg_static_accessor_GLOBAL_88a902d13a557d07 = function() {
764
+ const ret = typeof global === 'undefined' ? null : global;
765
+ return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);
766
+ };
767
+
768
+ module.exports.__wbg_static_accessor_GLOBAL_THIS_56578be7e9f832b0 = function() {
769
+ const ret = typeof globalThis === 'undefined' ? null : globalThis;
770
+ return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);
771
+ };
772
+
773
+ module.exports.__wbg_static_accessor_SELF_37c5d418e4bf5819 = function() {
774
+ const ret = typeof self === 'undefined' ? null : self;
775
+ return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);
776
+ };
777
+
778
+ module.exports.__wbg_static_accessor_WINDOW_5de37043a91a9c40 = function() {
779
+ const ret = typeof window === 'undefined' ? null : window;
780
+ return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);
781
+ };
782
+
783
+ module.exports.__wbg_then_44b73946d2fb3e7d = function(arg0, arg1) {
784
+ const ret = arg0.then(arg1);
785
+ return ret;
786
+ };
790
787
 
791
- function passStringToWasm0(arg, malloc, realloc) {
792
- if (realloc === undefined) {
793
- const buf = cachedTextEncoder.encode(arg);
794
- const ptr = malloc(buf.length, 1) >>> 0;
795
- getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);
796
- WASM_VECTOR_LEN = buf.length;
797
- return ptr;
798
- }
788
+ module.exports.__wbg_then_48b406749878a531 = function(arg0, arg1, arg2) {
789
+ const ret = arg0.then(arg1, arg2);
790
+ return ret;
791
+ };
799
792
 
800
- let len = arg.length;
801
- let ptr = malloc(len, 1) >>> 0;
793
+ module.exports.__wbg_values_fcb8ba8c0aad8b58 = function(arg0) {
794
+ const ret = Object.values(arg0);
795
+ return ret;
796
+ };
802
797
 
803
- const mem = getUint8ArrayMemory0();
798
+ module.exports.__wbg_warn_4ca3906c248c47c4 = function(arg0) {
799
+ console.warn(arg0);
800
+ };
804
801
 
805
- let offset = 0;
802
+ module.exports.__wbg_warn_aaf1f4664a035bd6 = function(arg0, arg1, arg2, arg3) {
803
+ console.warn(arg0, arg1, arg2, arg3);
804
+ };
806
805
 
807
- for (; offset < len; offset++) {
808
- const code = arg.charCodeAt(offset);
809
- if (code > 0x7F) break;
810
- mem[ptr + offset] = code;
806
+ module.exports.__wbindgen_cb_drop = function(arg0) {
807
+ const obj = arg0.original;
808
+ if (obj.cnt-- == 1) {
809
+ obj.a = 0;
810
+ return true;
811
811
  }
812
- if (offset !== len) {
813
- if (offset !== 0) {
814
- arg = arg.slice(offset);
815
- }
816
- ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
817
- const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);
818
- const ret = cachedTextEncoder.encodeInto(arg, view);
812
+ const ret = false;
813
+ return ret;
814
+ };
819
815
 
820
- offset += ret.written;
821
- ptr = realloc(ptr, len, offset, 1) >>> 0;
822
- }
816
+ module.exports.__wbindgen_closure_wrapper1364 = function(arg0, arg1, arg2) {
817
+ const ret = makeMutClosure(arg0, arg1, 446, __wbg_adapter_30);
818
+ return ret;
819
+ };
823
820
 
824
- WASM_VECTOR_LEN = offset;
825
- return ptr;
826
- }
821
+ module.exports.__wbindgen_debug_string = function(arg0, arg1) {
822
+ const ret = debugString(arg1);
823
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
824
+ const len1 = WASM_VECTOR_LEN;
825
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
826
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
827
+ };
828
+
829
+ module.exports.__wbindgen_init_externref_table = function() {
830
+ const table = wasm.__wbindgen_export_2;
831
+ const offset = table.grow(4);
832
+ table.set(0, undefined);
833
+ table.set(offset + 0, undefined);
834
+ table.set(offset + 1, null);
835
+ table.set(offset + 2, true);
836
+ table.set(offset + 3, false);
837
+ ;
838
+ };
839
+
840
+ module.exports.__wbindgen_is_array = function(arg0) {
841
+ const ret = Array.isArray(arg0);
842
+ return ret;
843
+ };
827
844
 
828
- function takeFromExternrefTable0(idx) {
829
- const value = wasm.__wbindgen_externrefs.get(idx);
830
- wasm.__externref_table_dealloc(idx);
831
- return value;
832
- }
845
+ module.exports.__wbindgen_is_function = function(arg0) {
846
+ const ret = typeof(arg0) === 'function';
847
+ return ret;
848
+ };
833
849
 
834
- let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
835
- cachedTextDecoder.decode();
836
- function decodeText(ptr, len) {
837
- return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
838
- }
850
+ module.exports.__wbindgen_is_string = function(arg0) {
851
+ const ret = typeof(arg0) === 'string';
852
+ return ret;
853
+ };
839
854
 
840
- const cachedTextEncoder = new TextEncoder();
855
+ module.exports.__wbindgen_is_undefined = function(arg0) {
856
+ const ret = arg0 === undefined;
857
+ return ret;
858
+ };
841
859
 
842
- if (!('encodeInto' in cachedTextEncoder)) {
843
- cachedTextEncoder.encodeInto = function (arg, view) {
844
- const buf = cachedTextEncoder.encode(arg);
845
- view.set(buf);
846
- return {
847
- read: arg.length,
848
- written: buf.length
849
- };
850
- };
851
- }
860
+ module.exports.__wbindgen_number_get = function(arg0, arg1) {
861
+ const obj = arg1;
862
+ const ret = typeof(obj) === 'number' ? obj : undefined;
863
+ getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);
864
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);
865
+ };
852
866
 
853
- let WASM_VECTOR_LEN = 0;
867
+ module.exports.__wbindgen_number_new = function(arg0) {
868
+ const ret = arg0;
869
+ return ret;
870
+ };
871
+
872
+ module.exports.__wbindgen_string_get = function(arg0, arg1) {
873
+ const obj = arg1;
874
+ const ret = typeof(obj) === 'string' ? obj : undefined;
875
+ var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
876
+ var len1 = WASM_VECTOR_LEN;
877
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
878
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
879
+ };
880
+
881
+ module.exports.__wbindgen_string_new = function(arg0, arg1) {
882
+ const ret = getStringFromWasm0(arg0, arg1);
883
+ return ret;
884
+ };
885
+
886
+ module.exports.__wbindgen_throw = function(arg0, arg1) {
887
+ throw new Error(getStringFromWasm0(arg0, arg1));
888
+ };
889
+
890
+ const path = require('path').join(__dirname, 'acvm_js_bg.wasm');
891
+ const bytes = require('fs').readFileSync(path);
892
+
893
+ const wasmModule = new WebAssembly.Module(bytes);
894
+ const wasmInstance = new WebAssembly.Instance(wasmModule, imports);
895
+ wasm = wasmInstance.exports;
896
+ module.exports.__wasm = wasm;
854
897
 
855
- const wasmPath = `${__dirname}/acvm_js_bg.wasm`;
856
- const wasmBytes = require('fs').readFileSync(wasmPath);
857
- const wasmModule = new WebAssembly.Module(wasmBytes);
858
- let wasm = new WebAssembly.Instance(wasmModule, __wbg_get_imports()).exports;
859
898
  wasm.__wbindgen_start();
899
+