@aztec/noir-acvm_js 0.0.1-commit.b655e406 → 0.0.1-commit.b6e433891

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