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

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