@noir-lang/acvm_js 1.0.0-beta.15-155db34.nightly → 1.0.0-beta.15-9dbad18.nightly

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,34 +1,5 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
- /**
4
- * Compresses a `WitnessMap` into the binary format outputted by Nargo.
5
- *
6
- * @param {WitnessMap} witness_map - A witness map.
7
- * @returns {Uint8Array} A compressed witness map
8
- */
9
- export function compressWitness(witness_map: WitnessMap): Uint8Array;
10
- /**
11
- * Decompresses a compressed witness as outputted by Nargo into a `WitnessMap`.
12
- * This should be used to only fetch the witness map for the main function.
13
- *
14
- * @param {Uint8Array} compressed_witness - A compressed witness.
15
- * @returns {WitnessMap} The decompressed witness map.
16
- */
17
- export function decompressWitness(compressed_witness: Uint8Array): WitnessMap;
18
- /**
19
- * Compresses a `WitnessStack` into the binary format outputted by Nargo.
20
- *
21
- * @param {WitnessStack} witness_stack - A witness stack.
22
- * @returns {Uint8Array} A compressed witness stack
23
- */
24
- export function compressWitnessStack(witness_stack: WitnessStack): Uint8Array;
25
- /**
26
- * Decompresses a compressed witness stack as outputted by Nargo into a `WitnessStack`.
27
- *
28
- * @param {Uint8Array} compressed_witness - A compressed witness.
29
- * @returns {WitnessStack} The decompressed witness stack.
30
- */
31
- export function decompressWitnessStack(compressed_witness: Uint8Array): WitnessStack;
32
3
  /**
33
4
  * Executes an ACIR circuit to generate the solved witness from the initial witness.
34
5
  *
@@ -87,11 +58,6 @@ export function ecdsa_secp256r1_verify(hashed_msg: Uint8Array, public_key_x_byte
87
58
  * @param {LogLevel} level - The maximum level of logging to be emitted.
88
59
  */
89
60
  export function initLogLevel(filter: string): void;
90
- /**
91
- * Returns the `BuildInfo` object containing information about how the installed package was built.
92
- * @returns {BuildInfo} - Information on how the installed package was built.
93
- */
94
- export function buildInfo(): BuildInfo;
95
61
  /**
96
62
  * Extracts a `WitnessMap` containing the witness indices corresponding to the circuit's return values.
97
63
  *
@@ -116,15 +82,40 @@ export function getPublicParametersWitness(program: Uint8Array, solved_witness:
116
82
  * @returns {WitnessMap} A witness map containing the circuit's public inputs.
117
83
  */
118
84
  export function getPublicWitness(program: Uint8Array, solved_witness: WitnessMap): WitnessMap;
119
-
120
- export type StackItem = {
121
- index: number;
122
- witness: WitnessMap;
123
- }
124
-
125
- export type WitnessStack = Array<StackItem>;
126
-
127
-
85
+ /**
86
+ * Returns the `BuildInfo` object containing information about how the installed package was built.
87
+ * @returns {BuildInfo} - Information on how the installed package was built.
88
+ */
89
+ export function buildInfo(): BuildInfo;
90
+ /**
91
+ * Compresses a `WitnessMap` into the binary format outputted by Nargo.
92
+ *
93
+ * @param {WitnessMap} witness_map - A witness map.
94
+ * @returns {Uint8Array} A compressed witness map
95
+ */
96
+ export function compressWitness(witness_map: WitnessMap): Uint8Array;
97
+ /**
98
+ * Decompresses a compressed witness as outputted by Nargo into a `WitnessMap`.
99
+ * This should be used to only fetch the witness map for the main function.
100
+ *
101
+ * @param {Uint8Array} compressed_witness - A compressed witness.
102
+ * @returns {WitnessMap} The decompressed witness map.
103
+ */
104
+ export function decompressWitness(compressed_witness: Uint8Array): WitnessMap;
105
+ /**
106
+ * Compresses a `WitnessStack` into the binary format outputted by Nargo.
107
+ *
108
+ * @param {WitnessStack} witness_stack - A witness stack.
109
+ * @returns {Uint8Array} A compressed witness stack
110
+ */
111
+ export function compressWitnessStack(witness_stack: WitnessStack): Uint8Array;
112
+ /**
113
+ * Decompresses a compressed witness stack as outputted by Nargo into a `WitnessStack`.
114
+ *
115
+ * @param {Uint8Array} compressed_witness - A compressed witness.
116
+ * @returns {WitnessStack} The decompressed witness stack.
117
+ */
118
+ export function decompressWitnessStack(compressed_witness: Uint8Array): WitnessStack;
128
119
 
129
120
  export type ForeignCallInput = string[]
130
121
  export type ForeignCallOutput = string | string[]
@@ -140,16 +131,26 @@ export type ForeignCallHandler = (name: string, inputs: ForeignCallInput[]) => P
140
131
 
141
132
 
142
133
 
134
+ export type StackItem = {
135
+ index: number;
136
+ witness: WitnessMap;
137
+ }
138
+
139
+ export type WitnessStack = Array<StackItem>;
140
+
141
+
142
+
143
+ // Map from witness index to hex string value of witness.
144
+ export type WitnessMap = Map<number, string>;
145
+
143
146
  /**
144
- * @typedef {Object} BuildInfo - Information about how the installed package was built
145
- * @property {string} gitHash - The hash of the git commit from which the package was built.
146
- * @property {string} version - The version of the package at the built git commit.
147
- * @property {boolean} dirty - Whether the package contained uncommitted changes when built.
147
+ * An execution result containing two witnesses.
148
+ * 1. The full solved witness of the execution.
149
+ * 2. The return witness which contains the given public return values within the full witness.
148
150
  */
149
- export type BuildInfo = {
150
- gitHash: string;
151
- version: string;
152
- dirty: string;
151
+ export type SolvedAndReturnWitness = {
152
+ solvedWitness: WitnessMap;
153
+ returnWitness: WitnessMap;
153
154
  }
154
155
 
155
156
 
@@ -168,17 +169,16 @@ export type ExecutionError = Error & {
168
169
 
169
170
 
170
171
 
171
- // Map from witness index to hex string value of witness.
172
- export type WitnessMap = Map<number, string>;
173
-
174
172
  /**
175
- * An execution result containing two witnesses.
176
- * 1. The full solved witness of the execution.
177
- * 2. The return witness which contains the given public return values within the full witness.
173
+ * @typedef {Object} BuildInfo - Information about how the installed package was built
174
+ * @property {string} gitHash - The hash of the git commit from which the package was built.
175
+ * @property {string} version - The version of the package at the built git commit.
176
+ * @property {boolean} dirty - Whether the package contained uncommitted changes when built.
178
177
  */
179
- export type SolvedAndReturnWitness = {
180
- solvedWitness: WitnessMap;
181
- returnWitness: WitnessMap;
178
+ export type BuildInfo = {
179
+ gitHash: string;
180
+ version: string;
181
+ dirty: string;
182
182
  }
183
183
 
184
184
 
package/nodejs/acvm_js.js CHANGED
@@ -202,87 +202,12 @@ function debugString(val) {
202
202
  return className;
203
203
  }
204
204
 
205
- function takeFromExternrefTable0(idx) {
206
- const value = wasm.__wbindgen_export_2.get(idx);
207
- wasm.__externref_table_dealloc(idx);
208
- return value;
209
- }
210
-
211
- function getArrayU8FromWasm0(ptr, len) {
212
- ptr = ptr >>> 0;
213
- return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
214
- }
215
- /**
216
- * Compresses a `WitnessMap` into the binary format outputted by Nargo.
217
- *
218
- * @param {WitnessMap} witness_map - A witness map.
219
- * @returns {Uint8Array} A compressed witness map
220
- */
221
- module.exports.compressWitness = function(witness_map) {
222
- const ret = wasm.compressWitness(witness_map);
223
- if (ret[3]) {
224
- throw takeFromExternrefTable0(ret[2]);
225
- }
226
- var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
227
- wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
228
- return v1;
229
- };
230
-
231
205
  function passArray8ToWasm0(arg, malloc) {
232
206
  const ptr = malloc(arg.length * 1, 1) >>> 0;
233
207
  getUint8ArrayMemory0().set(arg, ptr / 1);
234
208
  WASM_VECTOR_LEN = arg.length;
235
209
  return ptr;
236
210
  }
237
- /**
238
- * Decompresses a compressed witness as outputted by Nargo into a `WitnessMap`.
239
- * This should be used to only fetch the witness map for the main function.
240
- *
241
- * @param {Uint8Array} compressed_witness - A compressed witness.
242
- * @returns {WitnessMap} The decompressed witness map.
243
- */
244
- module.exports.decompressWitness = function(compressed_witness) {
245
- const ptr0 = passArray8ToWasm0(compressed_witness, wasm.__wbindgen_malloc);
246
- const len0 = WASM_VECTOR_LEN;
247
- const ret = wasm.decompressWitness(ptr0, len0);
248
- if (ret[2]) {
249
- throw takeFromExternrefTable0(ret[1]);
250
- }
251
- return takeFromExternrefTable0(ret[0]);
252
- };
253
-
254
- /**
255
- * Compresses a `WitnessStack` into the binary format outputted by Nargo.
256
- *
257
- * @param {WitnessStack} witness_stack - A witness stack.
258
- * @returns {Uint8Array} A compressed witness stack
259
- */
260
- module.exports.compressWitnessStack = function(witness_stack) {
261
- const ret = wasm.compressWitnessStack(witness_stack);
262
- if (ret[3]) {
263
- throw takeFromExternrefTable0(ret[2]);
264
- }
265
- var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
266
- wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
267
- return v1;
268
- };
269
-
270
- /**
271
- * Decompresses a compressed witness stack as outputted by Nargo into a `WitnessStack`.
272
- *
273
- * @param {Uint8Array} compressed_witness - A compressed witness.
274
- * @returns {WitnessStack} The decompressed witness stack.
275
- */
276
- module.exports.decompressWitnessStack = function(compressed_witness) {
277
- const ptr0 = passArray8ToWasm0(compressed_witness, wasm.__wbindgen_malloc);
278
- const len0 = WASM_VECTOR_LEN;
279
- const ret = wasm.decompressWitnessStack(ptr0, len0);
280
- if (ret[2]) {
281
- throw takeFromExternrefTable0(ret[1]);
282
- }
283
- return takeFromExternrefTable0(ret[0]);
284
- };
285
-
286
211
  /**
287
212
  * Executes an ACIR circuit to generate the solved witness from the initial witness.
288
213
  *
@@ -388,6 +313,10 @@ module.exports.sha256_compression = function(inputs, state) {
388
313
  return v3;
389
314
  };
390
315
 
316
+ function getArrayU8FromWasm0(ptr, len) {
317
+ ptr = ptr >>> 0;
318
+ return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
319
+ }
391
320
  /**
392
321
  * Calculates the Blake2s256 hash of the input bytes
393
322
  * @param {Uint8Array} inputs
@@ -444,6 +373,11 @@ module.exports.ecdsa_secp256r1_verify = function(hashed_msg, public_key_x_bytes,
444
373
  return ret !== 0;
445
374
  };
446
375
 
376
+ function takeFromExternrefTable0(idx) {
377
+ const value = wasm.__wbindgen_export_2.get(idx);
378
+ wasm.__externref_table_dealloc(idx);
379
+ return value;
380
+ }
447
381
  /**
448
382
  * Sets the package's logging level.
449
383
  *
@@ -458,15 +392,6 @@ module.exports.initLogLevel = function(filter) {
458
392
  }
459
393
  };
460
394
 
461
- /**
462
- * Returns the `BuildInfo` object containing information about how the installed package was built.
463
- * @returns {BuildInfo} - Information on how the installed package was built.
464
- */
465
- module.exports.buildInfo = function() {
466
- const ret = wasm.buildInfo();
467
- return ret;
468
- };
469
-
470
395
  /**
471
396
  * Extracts a `WitnessMap` containing the witness indices corresponding to the circuit's return values.
472
397
  *
@@ -527,16 +452,90 @@ module.exports.getPublicWitness = function(program, solved_witness) {
527
452
  return takeFromExternrefTable0(ret[0]);
528
453
  };
529
454
 
455
+ /**
456
+ * Returns the `BuildInfo` object containing information about how the installed package was built.
457
+ * @returns {BuildInfo} - Information on how the installed package was built.
458
+ */
459
+ module.exports.buildInfo = function() {
460
+ const ret = wasm.buildInfo();
461
+ return ret;
462
+ };
463
+
464
+ /**
465
+ * Compresses a `WitnessMap` into the binary format outputted by Nargo.
466
+ *
467
+ * @param {WitnessMap} witness_map - A witness map.
468
+ * @returns {Uint8Array} A compressed witness map
469
+ */
470
+ module.exports.compressWitness = function(witness_map) {
471
+ const ret = wasm.compressWitness(witness_map);
472
+ if (ret[3]) {
473
+ throw takeFromExternrefTable0(ret[2]);
474
+ }
475
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
476
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
477
+ return v1;
478
+ };
479
+
480
+ /**
481
+ * Decompresses a compressed witness as outputted by Nargo into a `WitnessMap`.
482
+ * This should be used to only fetch the witness map for the main function.
483
+ *
484
+ * @param {Uint8Array} compressed_witness - A compressed witness.
485
+ * @returns {WitnessMap} The decompressed witness map.
486
+ */
487
+ module.exports.decompressWitness = function(compressed_witness) {
488
+ const ptr0 = passArray8ToWasm0(compressed_witness, wasm.__wbindgen_malloc);
489
+ const len0 = WASM_VECTOR_LEN;
490
+ const ret = wasm.decompressWitness(ptr0, len0);
491
+ if (ret[2]) {
492
+ throw takeFromExternrefTable0(ret[1]);
493
+ }
494
+ return takeFromExternrefTable0(ret[0]);
495
+ };
496
+
497
+ /**
498
+ * Compresses a `WitnessStack` into the binary format outputted by Nargo.
499
+ *
500
+ * @param {WitnessStack} witness_stack - A witness stack.
501
+ * @returns {Uint8Array} A compressed witness stack
502
+ */
503
+ module.exports.compressWitnessStack = function(witness_stack) {
504
+ const ret = wasm.compressWitnessStack(witness_stack);
505
+ if (ret[3]) {
506
+ throw takeFromExternrefTable0(ret[2]);
507
+ }
508
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
509
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
510
+ return v1;
511
+ };
512
+
513
+ /**
514
+ * Decompresses a compressed witness stack as outputted by Nargo into a `WitnessStack`.
515
+ *
516
+ * @param {Uint8Array} compressed_witness - A compressed witness.
517
+ * @returns {WitnessStack} The decompressed witness stack.
518
+ */
519
+ module.exports.decompressWitnessStack = function(compressed_witness) {
520
+ const ptr0 = passArray8ToWasm0(compressed_witness, wasm.__wbindgen_malloc);
521
+ const len0 = WASM_VECTOR_LEN;
522
+ const ret = wasm.decompressWitnessStack(ptr0, len0);
523
+ if (ret[2]) {
524
+ throw takeFromExternrefTable0(ret[1]);
525
+ }
526
+ return takeFromExternrefTable0(ret[0]);
527
+ };
528
+
530
529
  function __wbg_adapter_30(arg0, arg1, arg2) {
531
- wasm.closure576_externref_shim(arg0, arg1, arg2);
530
+ wasm.closure573_externref_shim(arg0, arg1, arg2);
532
531
  }
533
532
 
534
533
  function __wbg_adapter_89(arg0, arg1, arg2, arg3, arg4) {
535
- wasm.closure1171_externref_shim(arg0, arg1, arg2, arg3, arg4);
534
+ wasm.closure1168_externref_shim(arg0, arg1, arg2, arg3, arg4);
536
535
  }
537
536
 
538
537
  function __wbg_adapter_110(arg0, arg1, arg2, arg3) {
539
- wasm.closure1175_externref_shim(arg0, arg1, arg2, arg3);
538
+ wasm.closure1172_externref_shim(arg0, arg1, arg2, arg3);
540
539
  }
541
540
 
542
541
  module.exports.__wbg_call_672a4d21634d4a24 = function() { return handleError(function (arg0, arg1) {
@@ -814,8 +813,8 @@ module.exports.__wbindgen_cb_drop = function(arg0) {
814
813
  return ret;
815
814
  };
816
815
 
817
- module.exports.__wbindgen_closure_wrapper1982 = function(arg0, arg1, arg2) {
818
- const ret = makeMutClosure(arg0, arg1, 577, __wbg_adapter_30);
816
+ module.exports.__wbindgen_closure_wrapper1977 = function(arg0, arg1, arg2) {
817
+ const ret = makeMutClosure(arg0, arg1, 574, __wbg_adapter_30);
819
818
  return ret;
820
819
  };
821
820
 
Binary file
@@ -1,10 +1,6 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
- export const compressWitness: (a: any) => [number, number, number, number];
5
- export const decompressWitness: (a: number, b: number) => [number, number, number];
6
- export const compressWitnessStack: (a: any) => [number, number, number, number];
7
- export const decompressWitnessStack: (a: number, b: number) => [number, number, number];
8
4
  export const executeCircuit: (a: number, b: number, c: any, d: any) => any;
9
5
  export const executeCircuitWithReturnWitness: (a: number, b: number, c: any, d: any) => any;
10
6
  export const executeProgram: (a: number, b: number, c: any, d: any) => any;
@@ -15,10 +11,14 @@ export const blake2s256: (a: number, b: number) => [number, number];
15
11
  export const ecdsa_secp256k1_verify: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
16
12
  export const ecdsa_secp256r1_verify: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
17
13
  export const initLogLevel: (a: number, b: number) => [number, number];
18
- export const buildInfo: () => any;
19
14
  export const getReturnWitness: (a: number, b: number, c: any) => [number, number, number];
20
15
  export const getPublicParametersWitness: (a: number, b: number, c: any) => [number, number, number];
21
16
  export const getPublicWitness: (a: number, b: number, c: any) => [number, number, number];
17
+ export const buildInfo: () => any;
18
+ export const compressWitness: (a: any) => [number, number, number, number];
19
+ export const decompressWitness: (a: number, b: number) => [number, number, number];
20
+ export const compressWitnessStack: (a: any) => [number, number, number, number];
21
+ export const decompressWitnessStack: (a: number, b: number) => [number, number, number];
22
22
  export const __wbindgen_exn_store: (a: number) => void;
23
23
  export const __externref_table_alloc: () => number;
24
24
  export const __wbindgen_export_2: WebAssembly.Table;
@@ -27,7 +27,7 @@ export const __wbindgen_malloc: (a: number, b: number) => number;
27
27
  export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
28
28
  export const __wbindgen_export_6: WebAssembly.Table;
29
29
  export const __externref_table_dealloc: (a: number) => void;
30
- export const closure576_externref_shim: (a: number, b: number, c: any) => void;
31
- export const closure1171_externref_shim: (a: number, b: number, c: any, d: number, e: any) => void;
32
- export const closure1175_externref_shim: (a: number, b: number, c: any, d: any) => void;
30
+ export const closure573_externref_shim: (a: number, b: number, c: any) => void;
31
+ export const closure1168_externref_shim: (a: number, b: number, c: any, d: number, e: any) => void;
32
+ export const closure1172_externref_shim: (a: number, b: number, c: any, d: any) => void;
33
33
  export const __wbindgen_start: () => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noir-lang/acvm_js",
3
- "version": "1.0.0-beta.15-155db34.nightly",
3
+ "version": "1.0.0-beta.15-9dbad18.nightly",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
package/web/acvm_js.d.ts CHANGED
@@ -1,34 +1,5 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
- /**
4
- * Compresses a `WitnessMap` into the binary format outputted by Nargo.
5
- *
6
- * @param {WitnessMap} witness_map - A witness map.
7
- * @returns {Uint8Array} A compressed witness map
8
- */
9
- export function compressWitness(witness_map: WitnessMap): Uint8Array;
10
- /**
11
- * Decompresses a compressed witness as outputted by Nargo into a `WitnessMap`.
12
- * This should be used to only fetch the witness map for the main function.
13
- *
14
- * @param {Uint8Array} compressed_witness - A compressed witness.
15
- * @returns {WitnessMap} The decompressed witness map.
16
- */
17
- export function decompressWitness(compressed_witness: Uint8Array): WitnessMap;
18
- /**
19
- * Compresses a `WitnessStack` into the binary format outputted by Nargo.
20
- *
21
- * @param {WitnessStack} witness_stack - A witness stack.
22
- * @returns {Uint8Array} A compressed witness stack
23
- */
24
- export function compressWitnessStack(witness_stack: WitnessStack): Uint8Array;
25
- /**
26
- * Decompresses a compressed witness stack as outputted by Nargo into a `WitnessStack`.
27
- *
28
- * @param {Uint8Array} compressed_witness - A compressed witness.
29
- * @returns {WitnessStack} The decompressed witness stack.
30
- */
31
- export function decompressWitnessStack(compressed_witness: Uint8Array): WitnessStack;
32
3
  /**
33
4
  * Executes an ACIR circuit to generate the solved witness from the initial witness.
34
5
  *
@@ -87,11 +58,6 @@ export function ecdsa_secp256r1_verify(hashed_msg: Uint8Array, public_key_x_byte
87
58
  * @param {LogLevel} level - The maximum level of logging to be emitted.
88
59
  */
89
60
  export function initLogLevel(filter: string): void;
90
- /**
91
- * Returns the `BuildInfo` object containing information about how the installed package was built.
92
- * @returns {BuildInfo} - Information on how the installed package was built.
93
- */
94
- export function buildInfo(): BuildInfo;
95
61
  /**
96
62
  * Extracts a `WitnessMap` containing the witness indices corresponding to the circuit's return values.
97
63
  *
@@ -116,15 +82,40 @@ export function getPublicParametersWitness(program: Uint8Array, solved_witness:
116
82
  * @returns {WitnessMap} A witness map containing the circuit's public inputs.
117
83
  */
118
84
  export function getPublicWitness(program: Uint8Array, solved_witness: WitnessMap): WitnessMap;
119
-
120
- export type StackItem = {
121
- index: number;
122
- witness: WitnessMap;
123
- }
124
-
125
- export type WitnessStack = Array<StackItem>;
126
-
127
-
85
+ /**
86
+ * Returns the `BuildInfo` object containing information about how the installed package was built.
87
+ * @returns {BuildInfo} - Information on how the installed package was built.
88
+ */
89
+ export function buildInfo(): BuildInfo;
90
+ /**
91
+ * Compresses a `WitnessMap` into the binary format outputted by Nargo.
92
+ *
93
+ * @param {WitnessMap} witness_map - A witness map.
94
+ * @returns {Uint8Array} A compressed witness map
95
+ */
96
+ export function compressWitness(witness_map: WitnessMap): Uint8Array;
97
+ /**
98
+ * Decompresses a compressed witness as outputted by Nargo into a `WitnessMap`.
99
+ * This should be used to only fetch the witness map for the main function.
100
+ *
101
+ * @param {Uint8Array} compressed_witness - A compressed witness.
102
+ * @returns {WitnessMap} The decompressed witness map.
103
+ */
104
+ export function decompressWitness(compressed_witness: Uint8Array): WitnessMap;
105
+ /**
106
+ * Compresses a `WitnessStack` into the binary format outputted by Nargo.
107
+ *
108
+ * @param {WitnessStack} witness_stack - A witness stack.
109
+ * @returns {Uint8Array} A compressed witness stack
110
+ */
111
+ export function compressWitnessStack(witness_stack: WitnessStack): Uint8Array;
112
+ /**
113
+ * Decompresses a compressed witness stack as outputted by Nargo into a `WitnessStack`.
114
+ *
115
+ * @param {Uint8Array} compressed_witness - A compressed witness.
116
+ * @returns {WitnessStack} The decompressed witness stack.
117
+ */
118
+ export function decompressWitnessStack(compressed_witness: Uint8Array): WitnessStack;
128
119
 
129
120
  export type ForeignCallInput = string[]
130
121
  export type ForeignCallOutput = string | string[]
@@ -140,16 +131,26 @@ export type ForeignCallHandler = (name: string, inputs: ForeignCallInput[]) => P
140
131
 
141
132
 
142
133
 
134
+ export type StackItem = {
135
+ index: number;
136
+ witness: WitnessMap;
137
+ }
138
+
139
+ export type WitnessStack = Array<StackItem>;
140
+
141
+
142
+
143
+ // Map from witness index to hex string value of witness.
144
+ export type WitnessMap = Map<number, string>;
145
+
143
146
  /**
144
- * @typedef {Object} BuildInfo - Information about how the installed package was built
145
- * @property {string} gitHash - The hash of the git commit from which the package was built.
146
- * @property {string} version - The version of the package at the built git commit.
147
- * @property {boolean} dirty - Whether the package contained uncommitted changes when built.
147
+ * An execution result containing two witnesses.
148
+ * 1. The full solved witness of the execution.
149
+ * 2. The return witness which contains the given public return values within the full witness.
148
150
  */
149
- export type BuildInfo = {
150
- gitHash: string;
151
- version: string;
152
- dirty: string;
151
+ export type SolvedAndReturnWitness = {
152
+ solvedWitness: WitnessMap;
153
+ returnWitness: WitnessMap;
153
154
  }
154
155
 
155
156
 
@@ -168,17 +169,16 @@ export type ExecutionError = Error & {
168
169
 
169
170
 
170
171
 
171
- // Map from witness index to hex string value of witness.
172
- export type WitnessMap = Map<number, string>;
173
-
174
172
  /**
175
- * An execution result containing two witnesses.
176
- * 1. The full solved witness of the execution.
177
- * 2. The return witness which contains the given public return values within the full witness.
173
+ * @typedef {Object} BuildInfo - Information about how the installed package was built
174
+ * @property {string} gitHash - The hash of the git commit from which the package was built.
175
+ * @property {string} version - The version of the package at the built git commit.
176
+ * @property {boolean} dirty - Whether the package contained uncommitted changes when built.
178
177
  */
179
- export type SolvedAndReturnWitness = {
180
- solvedWitness: WitnessMap;
181
- returnWitness: WitnessMap;
178
+ export type BuildInfo = {
179
+ gitHash: string;
180
+ version: string;
181
+ dirty: string;
182
182
  }
183
183
 
184
184
 
@@ -187,10 +187,6 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
187
187
 
188
188
  export interface InitOutput {
189
189
  readonly memory: WebAssembly.Memory;
190
- readonly compressWitness: (a: any) => [number, number, number, number];
191
- readonly decompressWitness: (a: number, b: number) => [number, number, number];
192
- readonly compressWitnessStack: (a: any) => [number, number, number, number];
193
- readonly decompressWitnessStack: (a: number, b: number) => [number, number, number];
194
190
  readonly executeCircuit: (a: number, b: number, c: any, d: any) => any;
195
191
  readonly executeCircuitWithReturnWitness: (a: number, b: number, c: any, d: any) => any;
196
192
  readonly executeProgram: (a: number, b: number, c: any, d: any) => any;
@@ -201,10 +197,14 @@ export interface InitOutput {
201
197
  readonly ecdsa_secp256k1_verify: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
202
198
  readonly ecdsa_secp256r1_verify: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
203
199
  readonly initLogLevel: (a: number, b: number) => [number, number];
204
- readonly buildInfo: () => any;
205
200
  readonly getReturnWitness: (a: number, b: number, c: any) => [number, number, number];
206
201
  readonly getPublicParametersWitness: (a: number, b: number, c: any) => [number, number, number];
207
202
  readonly getPublicWitness: (a: number, b: number, c: any) => [number, number, number];
203
+ readonly buildInfo: () => any;
204
+ readonly compressWitness: (a: any) => [number, number, number, number];
205
+ readonly decompressWitness: (a: number, b: number) => [number, number, number];
206
+ readonly compressWitnessStack: (a: any) => [number, number, number, number];
207
+ readonly decompressWitnessStack: (a: number, b: number) => [number, number, number];
208
208
  readonly __wbindgen_exn_store: (a: number) => void;
209
209
  readonly __externref_table_alloc: () => number;
210
210
  readonly __wbindgen_export_2: WebAssembly.Table;
@@ -213,9 +213,9 @@ export interface InitOutput {
213
213
  readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
214
214
  readonly __wbindgen_export_6: WebAssembly.Table;
215
215
  readonly __externref_table_dealloc: (a: number) => void;
216
- readonly closure576_externref_shim: (a: number, b: number, c: any) => void;
217
- readonly closure1171_externref_shim: (a: number, b: number, c: any, d: number, e: any) => void;
218
- readonly closure1175_externref_shim: (a: number, b: number, c: any, d: any) => void;
216
+ readonly closure573_externref_shim: (a: number, b: number, c: any) => void;
217
+ readonly closure1168_externref_shim: (a: number, b: number, c: any, d: number, e: any) => void;
218
+ readonly closure1172_externref_shim: (a: number, b: number, c: any, d: any) => void;
219
219
  readonly __wbindgen_start: () => void;
220
220
  }
221
221
 
package/web/acvm_js.js CHANGED
@@ -198,87 +198,12 @@ function debugString(val) {
198
198
  return className;
199
199
  }
200
200
 
201
- function takeFromExternrefTable0(idx) {
202
- const value = wasm.__wbindgen_export_2.get(idx);
203
- wasm.__externref_table_dealloc(idx);
204
- return value;
205
- }
206
-
207
- function getArrayU8FromWasm0(ptr, len) {
208
- ptr = ptr >>> 0;
209
- return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
210
- }
211
- /**
212
- * Compresses a `WitnessMap` into the binary format outputted by Nargo.
213
- *
214
- * @param {WitnessMap} witness_map - A witness map.
215
- * @returns {Uint8Array} A compressed witness map
216
- */
217
- export function compressWitness(witness_map) {
218
- const ret = wasm.compressWitness(witness_map);
219
- if (ret[3]) {
220
- throw takeFromExternrefTable0(ret[2]);
221
- }
222
- var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
223
- wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
224
- return v1;
225
- }
226
-
227
201
  function passArray8ToWasm0(arg, malloc) {
228
202
  const ptr = malloc(arg.length * 1, 1) >>> 0;
229
203
  getUint8ArrayMemory0().set(arg, ptr / 1);
230
204
  WASM_VECTOR_LEN = arg.length;
231
205
  return ptr;
232
206
  }
233
- /**
234
- * Decompresses a compressed witness as outputted by Nargo into a `WitnessMap`.
235
- * This should be used to only fetch the witness map for the main function.
236
- *
237
- * @param {Uint8Array} compressed_witness - A compressed witness.
238
- * @returns {WitnessMap} The decompressed witness map.
239
- */
240
- export function decompressWitness(compressed_witness) {
241
- const ptr0 = passArray8ToWasm0(compressed_witness, wasm.__wbindgen_malloc);
242
- const len0 = WASM_VECTOR_LEN;
243
- const ret = wasm.decompressWitness(ptr0, len0);
244
- if (ret[2]) {
245
- throw takeFromExternrefTable0(ret[1]);
246
- }
247
- return takeFromExternrefTable0(ret[0]);
248
- }
249
-
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
- /**
267
- * Decompresses a compressed witness stack as outputted by Nargo into a `WitnessStack`.
268
- *
269
- * @param {Uint8Array} compressed_witness - A compressed witness.
270
- * @returns {WitnessStack} The decompressed witness stack.
271
- */
272
- export function decompressWitnessStack(compressed_witness) {
273
- const ptr0 = passArray8ToWasm0(compressed_witness, wasm.__wbindgen_malloc);
274
- const len0 = WASM_VECTOR_LEN;
275
- const ret = wasm.decompressWitnessStack(ptr0, len0);
276
- if (ret[2]) {
277
- throw takeFromExternrefTable0(ret[1]);
278
- }
279
- return takeFromExternrefTable0(ret[0]);
280
- }
281
-
282
207
  /**
283
208
  * Executes an ACIR circuit to generate the solved witness from the initial witness.
284
209
  *
@@ -384,6 +309,10 @@ export function sha256_compression(inputs, state) {
384
309
  return v3;
385
310
  }
386
311
 
312
+ function getArrayU8FromWasm0(ptr, len) {
313
+ ptr = ptr >>> 0;
314
+ return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
315
+ }
387
316
  /**
388
317
  * Calculates the Blake2s256 hash of the input bytes
389
318
  * @param {Uint8Array} inputs
@@ -440,6 +369,11 @@ export function ecdsa_secp256r1_verify(hashed_msg, public_key_x_bytes, public_ke
440
369
  return ret !== 0;
441
370
  }
442
371
 
372
+ function takeFromExternrefTable0(idx) {
373
+ const value = wasm.__wbindgen_export_2.get(idx);
374
+ wasm.__externref_table_dealloc(idx);
375
+ return value;
376
+ }
443
377
  /**
444
378
  * Sets the package's logging level.
445
379
  *
@@ -454,15 +388,6 @@ export function initLogLevel(filter) {
454
388
  }
455
389
  }
456
390
 
457
- /**
458
- * Returns the `BuildInfo` object containing information about how the installed package was built.
459
- * @returns {BuildInfo} - Information on how the installed package was built.
460
- */
461
- export function buildInfo() {
462
- const ret = wasm.buildInfo();
463
- return ret;
464
- }
465
-
466
391
  /**
467
392
  * Extracts a `WitnessMap` containing the witness indices corresponding to the circuit's return values.
468
393
  *
@@ -523,16 +448,90 @@ export function getPublicWitness(program, solved_witness) {
523
448
  return takeFromExternrefTable0(ret[0]);
524
449
  }
525
450
 
451
+ /**
452
+ * Returns the `BuildInfo` object containing information about how the installed package was built.
453
+ * @returns {BuildInfo} - Information on how the installed package was built.
454
+ */
455
+ export function buildInfo() {
456
+ const ret = wasm.buildInfo();
457
+ return ret;
458
+ }
459
+
460
+ /**
461
+ * Compresses a `WitnessMap` into the binary format outputted by Nargo.
462
+ *
463
+ * @param {WitnessMap} witness_map - A witness map.
464
+ * @returns {Uint8Array} A compressed witness map
465
+ */
466
+ export function compressWitness(witness_map) {
467
+ const ret = wasm.compressWitness(witness_map);
468
+ if (ret[3]) {
469
+ throw takeFromExternrefTable0(ret[2]);
470
+ }
471
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
472
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
473
+ return v1;
474
+ }
475
+
476
+ /**
477
+ * Decompresses a compressed witness as outputted by Nargo into a `WitnessMap`.
478
+ * This should be used to only fetch the witness map for the main function.
479
+ *
480
+ * @param {Uint8Array} compressed_witness - A compressed witness.
481
+ * @returns {WitnessMap} The decompressed witness map.
482
+ */
483
+ export function decompressWitness(compressed_witness) {
484
+ const ptr0 = passArray8ToWasm0(compressed_witness, wasm.__wbindgen_malloc);
485
+ const len0 = WASM_VECTOR_LEN;
486
+ const ret = wasm.decompressWitness(ptr0, len0);
487
+ if (ret[2]) {
488
+ throw takeFromExternrefTable0(ret[1]);
489
+ }
490
+ return takeFromExternrefTable0(ret[0]);
491
+ }
492
+
493
+ /**
494
+ * Compresses a `WitnessStack` into the binary format outputted by Nargo.
495
+ *
496
+ * @param {WitnessStack} witness_stack - A witness stack.
497
+ * @returns {Uint8Array} A compressed witness stack
498
+ */
499
+ export function compressWitnessStack(witness_stack) {
500
+ const ret = wasm.compressWitnessStack(witness_stack);
501
+ if (ret[3]) {
502
+ throw takeFromExternrefTable0(ret[2]);
503
+ }
504
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
505
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
506
+ return v1;
507
+ }
508
+
509
+ /**
510
+ * Decompresses a compressed witness stack as outputted by Nargo into a `WitnessStack`.
511
+ *
512
+ * @param {Uint8Array} compressed_witness - A compressed witness.
513
+ * @returns {WitnessStack} The decompressed witness stack.
514
+ */
515
+ export function decompressWitnessStack(compressed_witness) {
516
+ const ptr0 = passArray8ToWasm0(compressed_witness, wasm.__wbindgen_malloc);
517
+ const len0 = WASM_VECTOR_LEN;
518
+ const ret = wasm.decompressWitnessStack(ptr0, len0);
519
+ if (ret[2]) {
520
+ throw takeFromExternrefTable0(ret[1]);
521
+ }
522
+ return takeFromExternrefTable0(ret[0]);
523
+ }
524
+
526
525
  function __wbg_adapter_30(arg0, arg1, arg2) {
527
- wasm.closure576_externref_shim(arg0, arg1, arg2);
526
+ wasm.closure573_externref_shim(arg0, arg1, arg2);
528
527
  }
529
528
 
530
529
  function __wbg_adapter_89(arg0, arg1, arg2, arg3, arg4) {
531
- wasm.closure1171_externref_shim(arg0, arg1, arg2, arg3, arg4);
530
+ wasm.closure1168_externref_shim(arg0, arg1, arg2, arg3, arg4);
532
531
  }
533
532
 
534
533
  function __wbg_adapter_110(arg0, arg1, arg2, arg3) {
535
- wasm.closure1175_externref_shim(arg0, arg1, arg2, arg3);
534
+ wasm.closure1172_externref_shim(arg0, arg1, arg2, arg3);
536
535
  }
537
536
 
538
537
  async function __wbg_load(module, imports) {
@@ -798,8 +797,8 @@ function __wbg_get_imports() {
798
797
  const ret = false;
799
798
  return ret;
800
799
  };
801
- imports.wbg.__wbindgen_closure_wrapper1982 = function(arg0, arg1, arg2) {
802
- const ret = makeMutClosure(arg0, arg1, 577, __wbg_adapter_30);
800
+ imports.wbg.__wbindgen_closure_wrapper1977 = function(arg0, arg1, arg2) {
801
+ const ret = makeMutClosure(arg0, arg1, 574, __wbg_adapter_30);
803
802
  return ret;
804
803
  };
805
804
  imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {
Binary file
@@ -1,10 +1,6 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
- export const compressWitness: (a: any) => [number, number, number, number];
5
- export const decompressWitness: (a: number, b: number) => [number, number, number];
6
- export const compressWitnessStack: (a: any) => [number, number, number, number];
7
- export const decompressWitnessStack: (a: number, b: number) => [number, number, number];
8
4
  export const executeCircuit: (a: number, b: number, c: any, d: any) => any;
9
5
  export const executeCircuitWithReturnWitness: (a: number, b: number, c: any, d: any) => any;
10
6
  export const executeProgram: (a: number, b: number, c: any, d: any) => any;
@@ -15,10 +11,14 @@ export const blake2s256: (a: number, b: number) => [number, number];
15
11
  export const ecdsa_secp256k1_verify: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
16
12
  export const ecdsa_secp256r1_verify: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
17
13
  export const initLogLevel: (a: number, b: number) => [number, number];
18
- export const buildInfo: () => any;
19
14
  export const getReturnWitness: (a: number, b: number, c: any) => [number, number, number];
20
15
  export const getPublicParametersWitness: (a: number, b: number, c: any) => [number, number, number];
21
16
  export const getPublicWitness: (a: number, b: number, c: any) => [number, number, number];
17
+ export const buildInfo: () => any;
18
+ export const compressWitness: (a: any) => [number, number, number, number];
19
+ export const decompressWitness: (a: number, b: number) => [number, number, number];
20
+ export const compressWitnessStack: (a: any) => [number, number, number, number];
21
+ export const decompressWitnessStack: (a: number, b: number) => [number, number, number];
22
22
  export const __wbindgen_exn_store: (a: number) => void;
23
23
  export const __externref_table_alloc: () => number;
24
24
  export const __wbindgen_export_2: WebAssembly.Table;
@@ -27,7 +27,7 @@ export const __wbindgen_malloc: (a: number, b: number) => number;
27
27
  export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
28
28
  export const __wbindgen_export_6: WebAssembly.Table;
29
29
  export const __externref_table_dealloc: (a: number) => void;
30
- export const closure576_externref_shim: (a: number, b: number, c: any) => void;
31
- export const closure1171_externref_shim: (a: number, b: number, c: any, d: number, e: any) => void;
32
- export const closure1175_externref_shim: (a: number, b: number, c: any, d: any) => void;
30
+ export const closure573_externref_shim: (a: number, b: number, c: any) => void;
31
+ export const closure1168_externref_shim: (a: number, b: number, c: any, d: number, e: any) => void;
32
+ export const closure1172_externref_shim: (a: number, b: number, c: any, d: any) => void;
33
33
  export const __wbindgen_start: () => void;