@aztec/bb.js 0.76.4 → 0.77.0-testnet-ignition.4

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.
Files changed (101) hide show
  1. package/README.md +10 -2
  2. package/dest/browser/barretenberg/backend.d.ts +5 -1
  3. package/dest/browser/barretenberg/backend.d.ts.map +1 -1
  4. package/dest/browser/barretenberg/index.d.ts +3 -1
  5. package/dest/browser/barretenberg/index.d.ts.map +1 -1
  6. package/dest/browser/barretenberg-threads.js +1 -1
  7. package/dest/browser/barretenberg.js +1 -1
  8. package/dest/browser/barretenberg_api/index.d.ts +1 -0
  9. package/dest/browser/barretenberg_api/index.d.ts.map +1 -1
  10. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
  11. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
  12. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -1
  13. package/dest/browser/barretenberg_wasm/index.d.ts +2 -2
  14. package/dest/browser/barretenberg_wasm/index.d.ts.map +1 -1
  15. package/dest/browser/crs/net_crs.d.ts.map +1 -1
  16. package/dest/browser/crs/node/index.d.ts +6 -4
  17. package/dest/browser/crs/node/index.d.ts.map +1 -1
  18. package/dest/browser/index.js +98 -38
  19. package/dest/browser/retry/index.d.ts +26 -0
  20. package/dest/browser/retry/index.d.ts.map +1 -0
  21. package/dest/node/barretenberg/__snapshots__/pedersen.test.js.snap +156 -0
  22. package/dest/node/barretenberg/__snapshots__/poseidon.test.js.snap +40 -0
  23. package/dest/node/barretenberg/backend.d.ts +5 -1
  24. package/dest/node/barretenberg/backend.d.ts.map +1 -1
  25. package/dest/node/barretenberg/backend.js +21 -4
  26. package/dest/node/barretenberg/index.d.ts +3 -1
  27. package/dest/node/barretenberg/index.d.ts.map +1 -1
  28. package/dest/node/barretenberg/index.js +11 -12
  29. package/dest/node/barretenberg_api/index.d.ts +1 -0
  30. package/dest/node/barretenberg_api/index.d.ts.map +1 -1
  31. package/dest/node/barretenberg_api/index.js +25 -1
  32. package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  33. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
  34. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +5 -6
  35. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
  36. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +6 -7
  37. package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -1
  38. package/dest/node/barretenberg_wasm/fetch_code/browser/index.js +5 -2
  39. package/dest/node/barretenberg_wasm/fetch_code/node/index.js +2 -2
  40. package/dest/node/barretenberg_wasm/index.d.ts +2 -2
  41. package/dest/node/barretenberg_wasm/index.d.ts.map +1 -1
  42. package/dest/node/barretenberg_wasm/index.js +11 -9
  43. package/dest/node/barretenberg_wasm/index.test.js +3 -3
  44. package/dest/node/crs/net_crs.d.ts.map +1 -1
  45. package/dest/node/crs/net_crs.js +6 -5
  46. package/dest/node/crs/node/index.d.ts +6 -4
  47. package/dest/node/crs/node/index.d.ts.map +1 -1
  48. package/dest/node/crs/node/index.js +16 -13
  49. package/dest/node/examples/simple.test.js +2 -2
  50. package/dest/node/main.d.ts.map +1 -1
  51. package/dest/node/main.js +55 -65
  52. package/dest/node/retry/index.d.ts +26 -0
  53. package/dest/node/retry/index.d.ts.map +1 -0
  54. package/dest/node/retry/index.js +50 -0
  55. package/dest/node-cjs/barretenberg/backend.d.ts +5 -1
  56. package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
  57. package/dest/node-cjs/barretenberg/backend.js +23 -5
  58. package/dest/node-cjs/barretenberg/index.d.ts +3 -1
  59. package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
  60. package/dest/node-cjs/barretenberg/index.js +11 -12
  61. package/dest/node-cjs/barretenberg_api/index.d.ts +1 -0
  62. package/dest/node-cjs/barretenberg_api/index.d.ts.map +1 -1
  63. package/dest/node-cjs/barretenberg_api/index.js +25 -1
  64. package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  65. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
  66. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.js +5 -6
  67. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
  68. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +6 -7
  69. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -1
  70. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.js +5 -2
  71. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.js +2 -2
  72. package/dest/node-cjs/barretenberg_wasm/index.d.ts +2 -2
  73. package/dest/node-cjs/barretenberg_wasm/index.d.ts.map +1 -1
  74. package/dest/node-cjs/barretenberg_wasm/index.js +11 -9
  75. package/dest/node-cjs/barretenberg_wasm/index.test.js +3 -3
  76. package/dest/node-cjs/crs/net_crs.d.ts.map +1 -1
  77. package/dest/node-cjs/crs/net_crs.js +6 -5
  78. package/dest/node-cjs/crs/node/index.d.ts +6 -4
  79. package/dest/node-cjs/crs/node/index.d.ts.map +1 -1
  80. package/dest/node-cjs/crs/node/index.js +16 -13
  81. package/dest/node-cjs/examples/simple.test.js +2 -2
  82. package/dest/node-cjs/main.d.ts.map +1 -1
  83. package/dest/node-cjs/main.js +55 -65
  84. package/dest/node-cjs/retry/index.d.ts +26 -0
  85. package/dest/node-cjs/retry/index.d.ts.map +1 -0
  86. package/dest/node-cjs/retry/index.js +56 -0
  87. package/package.json +3 -3
  88. package/src/barretenberg/backend.ts +22 -3
  89. package/src/barretenberg/index.ts +19 -12
  90. package/src/barretenberg_api/index.ts +35 -0
  91. package/src/barretenberg_wasm/barretenberg_wasm_base/index.ts +4 -6
  92. package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +5 -7
  93. package/src/barretenberg_wasm/fetch_code/browser/index.ts +4 -1
  94. package/src/barretenberg_wasm/fetch_code/node/index.ts +1 -1
  95. package/src/barretenberg_wasm/index.test.ts +2 -2
  96. package/src/barretenberg_wasm/index.ts +21 -10
  97. package/src/crs/net_crs.ts +18 -9
  98. package/src/crs/node/index.ts +31 -15
  99. package/src/examples/simple.test.ts +1 -1
  100. package/src/main.ts +59 -70
  101. package/src/retry/index.ts +50 -0
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Generates a backoff sequence for retrying operations with an increasing delay.
3
+ * The backoff sequence follows this pattern: 1, 1, 1, 2, 4, 8, 16, 32, 64, ...
4
+ * This generator can be used in combination with the `retry` function to perform
5
+ * retries with exponential backoff and capped at 64 seconds between attempts.
6
+ *
7
+ * @returns A generator that yields the next backoff value in seconds as an integer.
8
+ */
9
+ export declare function backoffGenerator(): Generator<number, void, unknown>;
10
+ /**
11
+ * Generates a backoff sequence based on the array of retry intervals to use with the `retry` function.
12
+ * @param retries - Intervals to retry (in seconds).
13
+ * @returns A generator sequence.
14
+ */
15
+ export declare function makeBackoff(retries: number[]): Generator<number, void, unknown>;
16
+ /**
17
+ * Retry a given asynchronous function with a specific backoff strategy, until it succeeds or backoff generator ends.
18
+ * It logs the error and retry interval in case an error is caught. The function can be named for better log output.
19
+ *
20
+ * @param fn - The asynchronous function to be retried.
21
+ * @param backoff - The optional backoff generator providing the intervals in seconds between retries. Defaults to a predefined series.
22
+ * @returns A Promise that resolves with the successful result of the provided function, or rejects if backoff generator ends.
23
+ * @throws If `NoRetryError` is thrown by the `fn`, it is rethrown.
24
+ */
25
+ export declare function retry<Result>(fn: () => Promise<Result>, backoff?: Generator<number, void, unknown>): Promise<Result>;
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/retry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAiB,gBAAgB,qCAMhC;AAED;;;;GAIG;AACH,wBAAiB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,oCAI7C;AAED;;;;;;;;GAQG;AACH,wBAAsB,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,mCAAqB,mBAa1F"}
@@ -0,0 +1,156 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`pedersen sync pedersenCommit 1`] = `
4
+ Point {
5
+ "x": Fr {
6
+ "value": Uint8Array [
7
+ 40,
8
+ 159,
9
+ 125,
10
+ 144,
11
+ 234,
12
+ 153,
13
+ 219,
14
+ 166,
15
+ 76,
16
+ 75,
17
+ 47,
18
+ 51,
19
+ 253,
20
+ 27,
21
+ 9,
22
+ 101,
23
+ 2,
24
+ 145,
25
+ 223,
26
+ 38,
27
+ 43,
28
+ 114,
29
+ 5,
30
+ 21,
31
+ 90,
32
+ 97,
33
+ 2,
34
+ 6,
35
+ 219,
36
+ 97,
37
+ 109,
38
+ 152,
39
+ ],
40
+ },
41
+ "y": Fr {
42
+ "value": Uint8Array [
43
+ 5,
44
+ 175,
45
+ 199,
46
+ 200,
47
+ 35,
48
+ 67,
49
+ 88,
50
+ 76,
51
+ 19,
52
+ 203,
53
+ 45,
54
+ 50,
55
+ 137,
56
+ 153,
57
+ 67,
58
+ 200,
59
+ 57,
60
+ 87,
61
+ 22,
62
+ 209,
63
+ 141,
64
+ 173,
65
+ 205,
66
+ 189,
67
+ 23,
68
+ 215,
69
+ 206,
70
+ 3,
71
+ 174,
72
+ 112,
73
+ 128,
74
+ 11,
75
+ ],
76
+ },
77
+ }
78
+ `;
79
+
80
+ exports[`pedersen sync pedersenHash 1`] = `
81
+ Fr {
82
+ "value": Uint8Array [
83
+ 4,
84
+ 194,
85
+ 53,
86
+ 42,
87
+ 6,
88
+ 13,
89
+ 74,
90
+ 193,
91
+ 205,
92
+ 251,
93
+ 96,
94
+ 62,
95
+ 188,
96
+ 67,
97
+ 39,
98
+ 181,
99
+ 118,
100
+ 69,
101
+ 151,
102
+ 35,
103
+ 22,
104
+ 20,
105
+ 246,
106
+ 29,
107
+ 36,
108
+ 91,
109
+ 243,
110
+ 87,
111
+ 114,
112
+ 192,
113
+ 134,
114
+ 150,
115
+ ],
116
+ }
117
+ `;
118
+
119
+ exports[`pedersen sync pedersenHashBuffer 1`] = `
120
+ Fr {
121
+ "value": Uint8Array [
122
+ 43,
123
+ 213,
124
+ 196,
125
+ 82,
126
+ 160,
127
+ 201,
128
+ 113,
129
+ 98,
130
+ 41,
131
+ 79,
132
+ 201,
133
+ 223,
134
+ 208,
135
+ 241,
136
+ 224,
137
+ 157,
138
+ 14,
139
+ 9,
140
+ 201,
141
+ 95,
142
+ 165,
143
+ 237,
144
+ 63,
145
+ 241,
146
+ 73,
147
+ 251,
148
+ 222,
149
+ 243,
150
+ 102,
151
+ 203,
152
+ 81,
153
+ 249,
154
+ ],
155
+ }
156
+ `;
@@ -0,0 +1,40 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`poseidon sync poseidonHash 1`] = `
4
+ Fr {
5
+ "value": Uint8Array [
6
+ 43,
7
+ 202,
8
+ 235,
9
+ 109,
10
+ 88,
11
+ 187,
12
+ 56,
13
+ 186,
14
+ 247,
15
+ 83,
16
+ 213,
17
+ 140,
18
+ 60,
19
+ 150,
20
+ 97,
21
+ 143,
22
+ 234,
23
+ 130,
24
+ 22,
25
+ 51,
26
+ 69,
27
+ 41,
28
+ 94,
29
+ 180,
30
+ 14,
31
+ 136,
32
+ 52,
33
+ 78,
34
+ 235,
35
+ 12,
36
+ 226,
37
+ 161,
38
+ ],
39
+ }
40
+ `;
@@ -1,5 +1,8 @@
1
1
  import { BackendOptions, Barretenberg, CircuitOptions } from './index.js';
2
2
  import { ProofData, ProofDataForRecursion } from '../proof/index.js';
3
+ export declare class AztecClientBackendError extends Error {
4
+ constructor(message: string);
5
+ }
3
6
  export declare class UltraPlonkBackend {
4
7
  protected backendOptions: BackendOptions;
5
8
  protected circuitOptions: CircuitOptions;
@@ -61,7 +64,7 @@ export declare class UltraHonkBackend {
61
64
  generateProof(compressedWitness: Uint8Array, options?: UltraHonkBackendOptions): Promise<ProofData>;
62
65
  generateProofForRecursiveAggregation(compressedWitness: Uint8Array, options?: UltraHonkBackendOptions): Promise<ProofDataForRecursion>;
63
66
  verifyProof(proofData: ProofData, options?: UltraHonkBackendOptions): Promise<boolean>;
64
- getVerificationKey(): Promise<Uint8Array>;
67
+ getVerificationKey(options?: UltraHonkBackendOptions): Promise<Uint8Array>;
65
68
  /** @description Returns a solidity verifier */
66
69
  getSolidityVerifier(vk?: Uint8Array): Promise<string>;
67
70
  generateRecursiveProofArtifacts(_proof: Uint8Array, _numOfPublicInputs: number): Promise<{
@@ -81,6 +84,7 @@ export declare class AztecClientBackend {
81
84
  prove(witnessMsgpack: Uint8Array[]): Promise<[Uint8Array, Uint8Array]>;
82
85
  verify(proof: Uint8Array, vk: Uint8Array): Promise<boolean>;
83
86
  proveAndVerify(witnessMsgpack: Uint8Array[]): Promise<boolean>;
87
+ gates(): Promise<number[]>;
84
88
  destroy(): Promise<void>;
85
89
  }
86
90
  //# sourceMappingURL=backend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../../src/barretenberg/backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../../src/barretenberg/backend.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,11 @@ import { Barretenberg } from './index.js';
2
2
  import { RawBuffer } from '../types/raw_buffer.js';
3
3
  import { decompressSync as gunzip } from 'fflate';
4
4
  import { deflattenFields, flattenFieldsAsArray, reconstructHonkProof, reconstructUltraPlonkProof, } from '../proof/index.js';
5
+ export class AztecClientBackendError extends Error {
6
+ constructor(message) {
7
+ super(message);
8
+ }
9
+ }
5
10
  export class UltraPlonkBackend {
6
11
  constructor(acirBytecode, backendOptions = { threads: 1 }, circuitOptions = { recursive: false }) {
7
12
  this.backendOptions = backendOptions;
@@ -179,9 +184,11 @@ export class UltraHonkBackend {
179
184
  const vkBuf = await writeVkUltraHonk(this.acirUncompressedBytecode, this.circuitOptions.recursive);
180
185
  return await verifyUltraHonk(proof, new RawBuffer(vkBuf));
181
186
  }
182
- async getVerificationKey() {
187
+ async getVerificationKey(options) {
183
188
  await this.instantiate();
184
- return await this.api.acirWriteVkUltraHonk(this.acirUncompressedBytecode, this.circuitOptions.recursive);
189
+ return options?.keccak
190
+ ? await this.api.acirWriteVkUltraKeccakHonk(this.acirUncompressedBytecode, this.circuitOptions.recursive)
191
+ : await this.api.acirWriteVkUltraHonk(this.acirUncompressedBytecode, this.circuitOptions.recursive);
185
192
  }
186
193
  /** @description Returns a solidity verifier */
187
194
  async getSolidityVerifier(vk) {
@@ -239,7 +246,12 @@ export class AztecClientBackend {
239
246
  }
240
247
  async prove(witnessMsgpack) {
241
248
  await this.instantiate();
242
- return this.api.acirProveAztecClient(this.acirMsgpack, witnessMsgpack);
249
+ const proofAndVk = await this.api.acirProveAztecClient(this.acirMsgpack, witnessMsgpack);
250
+ const [proof, vk] = proofAndVk;
251
+ if (!await this.verify(proof, vk)) {
252
+ throw new AztecClientBackendError("Failed to verify the private (ClientIVC) transaction proof!");
253
+ }
254
+ return proofAndVk;
243
255
  }
244
256
  async verify(proof, vk) {
245
257
  await this.instantiate();
@@ -249,6 +261,11 @@ export class AztecClientBackend {
249
261
  await this.instantiate();
250
262
  return this.api.acirProveAndVerifyAztecClient(this.acirMsgpack, witnessMsgpack);
251
263
  }
264
+ async gates() {
265
+ // call function on API
266
+ await this.instantiate();
267
+ return this.api.acirGatesAztecClient(this.acirMsgpack);
268
+ }
252
269
  async destroy() {
253
270
  if (!this.api) {
254
271
  return;
@@ -277,4 +294,4 @@ function base64Decode(input) {
277
294
  throw new Error('No implementation found for base64 decoding.');
278
295
  }
279
296
  }
280
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmcvYmFja2VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLFlBQVksRUFBa0IsTUFBTSxZQUFZLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLElBQUksTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2xELE9BQU8sRUFDTCxlQUFlLEVBQ2Ysb0JBQW9CLEVBR3BCLG9CQUFvQixFQUNwQiwwQkFBMEIsR0FDM0IsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixNQUFNLE9BQU8saUJBQWlCO0lBWTVCLFlBQ0UsWUFBb0IsRUFDVixpQkFBaUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQy9DLGlCQUFpQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7UUFEckQsbUJBQWMsR0FBZCxjQUFjLENBQWlDO1FBQy9DLG1CQUFjLEdBQWQsY0FBYyxDQUF1QztRQUUvRCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELGNBQWM7SUFDZCxLQUFLLENBQUMsV0FBVztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDZCxNQUFNLEdBQUcsR0FBRyxNQUFNLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBRXhELE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQztZQUM1Qiw2REFBNkQ7WUFDN0QsTUFBTSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxtQkFBbUIsQ0FDMUQsSUFBSSxDQUFDLHdCQUF3QixFQUM3QixJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFDN0IsYUFBYSxDQUNkLENBQUM7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
297
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmcvYmFja2VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLFlBQVksRUFBa0IsTUFBTSxZQUFZLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLElBQUksTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2xELE9BQU8sRUFDTCxlQUFlLEVBQ2Ysb0JBQW9CLEVBR3BCLG9CQUFvQixFQUNwQiwwQkFBMEIsR0FDM0IsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsS0FBSztJQUNoRCxZQUFZLE9BQWU7UUFDekIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxpQkFBaUI7SUFZNUIsWUFDRSxZQUFvQixFQUNWLGlCQUFpQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFDL0MsaUJBQWlDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtRQURyRCxtQkFBYyxHQUFkLGNBQWMsQ0FBaUM7UUFDL0MsbUJBQWMsR0FBZCxjQUFjLENBQXVDO1FBRS9ELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsY0FBYztJQUNkLEtBQUssQ0FBQyxXQUFXO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNkLE1BQU0sR0FBRyxHQUFHLE1BQU0sWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFFeEQsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzVCLDZEQUE2RDtZQUM3RCxNQUFNLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxHQUFHLE1B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
@@ -13,6 +13,8 @@ export type BackendOptions = {
13
13
  crsPath?: string;
14
14
  /** @description Path to download WASM files */
15
15
  wasmPath?: string;
16
+ /** @description Logging function */
17
+ logger?: (msg: string) => void;
16
18
  };
17
19
  export type CircuitOptions = {
18
20
  /** @description Whether to produce SNARK friendly proofs */
@@ -42,7 +44,7 @@ export declare class Barretenberg extends BarretenbergApi {
42
44
  export declare class BarretenbergSync extends BarretenbergApiSync {
43
45
  private constructor();
44
46
  private static new;
45
- static initSingleton(wasmPath?: string): Promise<BarretenbergSync>;
47
+ static initSingleton(wasmPath?: string, logger?: (msg: string) => void): Promise<BarretenbergSync>;
46
48
  static getSingleton(): BarretenbergSync;
47
49
  getWasm(): import("../barretenberg_wasm/index.js").BarretenbergWasm;
48
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/barretenberg/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AASpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAIvF,MAAM,MAAM,cAAc,GAAG;IAC3B,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,kFAAkF;IAClF,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEhD,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,4DAA4D;IAC5D,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,qBAAa,YAAa,SAAQ,eAAe;IAG3B,OAAO,CAAC,MAAM;IAFlC,OAAO,CAAC,OAAO,CAAiB;IAEhC,OAAO;IAKP;;;;;OAKG;WACU,GAAG,CAAC,OAAO,GAAE,cAAmB;IAQvC,aAAa;IAIb,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzD,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAWjC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5F,OAAO;CAId;AAKD,qBAAa,gBAAiB,SAAQ,mBAAmB;IACvD,OAAO;mBAIc,GAAG;WAOX,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM;IAS5C,MAAM,CAAC,YAAY;IAOnB,OAAO;CAGR"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/barretenberg/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AASpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvF,MAAM,MAAM,cAAc,GAAG;IAC3B,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,kFAAkF;IAClF,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEhD,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,oCAAoC;IACpC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,4DAA4D;IAC5D,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,qBAAa,YAAa,SAAQ,eAAe;IAG3B,OAAO,CAAC,MAAM;IAFlC,OAAO,CAAC,OAAO,CAAiB;IAEhC,OAAO;IAKP;;;;;OAKG;WACU,GAAG,CAAC,OAAO,GAAE,cAAmB;IAcvC,aAAa;IAIb,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzD,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAWjC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5F,OAAO;CAId;AAKD,qBAAa,gBAAiB,SAAQ,mBAAmB;IACvD,OAAO;mBAIc,GAAG;WAOX,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAwC;IAS/G,MAAM,CAAC,YAAY;IAOnB,OAAO;CAGR"}
@@ -9,7 +9,6 @@ import { Crs, GrumpkinCrs } from '../crs/index.js';
9
9
  import { RawBuffer } from '../types/raw_buffer.js';
10
10
  export { BarretenbergVerifier } from './verifier.js';
11
11
  export { UltraPlonkBackend, UltraHonkBackend, AztecClientBackend } from './backend.js';
12
- const debug = createDebug('bb.js:wasm');
13
12
  /**
14
13
  * The main class library consumers interact with.
15
14
  * It extends the generated api, and provides a static constructor "new" to compose components.
@@ -29,23 +28,23 @@ export class Barretenberg extends BarretenbergApi {
29
28
  static async new(options = {}) {
30
29
  const worker = createMainWorker();
31
30
  const wasm = getRemoteBarretenbergWasm(worker);
32
- const { module, threads } = await fetchModuleAndThreads(options.threads, options.wasmPath);
33
- await wasm.init(module, threads, proxy(debug), options.memory?.initial, options.memory?.maximum);
31
+ const { module, threads } = await fetchModuleAndThreads(options.threads, options.wasmPath, options.logger);
32
+ await wasm.init(module, threads, proxy(options.logger ?? createDebug('bb.js:bb_wasm_async')), options.memory?.initial, options.memory?.maximum);
34
33
  return new Barretenberg(worker, wasm, options);
35
34
  }
36
35
  async getNumThreads() {
37
36
  return await this.wasm.getNumThreads();
38
37
  }
39
38
  async initSRSForCircuitSize(circuitSize) {
40
- const crs = await Crs.new(circuitSize + 1, this.options.crsPath);
39
+ const crs = await Crs.new(circuitSize + 1, this.options.crsPath, this.options.logger);
41
40
  // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization?
42
41
  // await this.commonInitSlabAllocator(circuitSize);
43
42
  await this.srsInitSrs(new RawBuffer(crs.getG1Data()), crs.numPoints, new RawBuffer(crs.getG2Data()));
44
43
  }
45
44
  async initSRSClientIVC() {
46
45
  // crsPath can be undefined
47
- const crs = await Crs.new(2 ** 20 + 1, this.options.crsPath);
48
- const grumpkinCrs = await GrumpkinCrs.new(2 ** 16 + 1, this.options.crsPath);
46
+ const crs = await Crs.new(2 ** 20 + 1, this.options.crsPath, this.options.logger);
47
+ const grumpkinCrs = await GrumpkinCrs.new(2 ** 16 + 1, this.options.crsPath, this.options.logger);
49
48
  // Load CRS into wasm global CRS state.
50
49
  // TODO: Make RawBuffer be default behavior, and have a specific Vector type for when wanting length prefixed.
51
50
  await this.srsInitSrs(new RawBuffer(crs.getG1Data()), crs.numPoints, new RawBuffer(crs.getG2Data()));
@@ -67,15 +66,15 @@ export class BarretenbergSync extends BarretenbergApiSync {
67
66
  constructor(wasm) {
68
67
  super(wasm);
69
68
  }
70
- static async new(wasmPath) {
69
+ static async new(wasmPath, logger = createDebug('bb.js:bb_wasm_sync')) {
71
70
  const wasm = new BarretenbergWasmMain();
72
- const { module, threads } = await fetchModuleAndThreads(1, wasmPath);
73
- await wasm.init(module, threads);
71
+ const { module, threads } = await fetchModuleAndThreads(1, wasmPath, logger);
72
+ await wasm.init(module, threads, logger);
74
73
  return new BarretenbergSync(wasm);
75
74
  }
76
- static async initSingleton(wasmPath) {
75
+ static async initSingleton(wasmPath, logger = createDebug('bb.js:bb_wasm_sync')) {
77
76
  if (!barrentenbergSyncSingletonPromise) {
78
- barrentenbergSyncSingletonPromise = BarretenbergSync.new(wasmPath);
77
+ barrentenbergSyncSingletonPromise = BarretenbergSync.new(wasmPath, logger);
79
78
  }
80
79
  barretenbergSyncSingleton = await barrentenbergSyncSingletonPromise;
81
80
  return barretenbergSyncSingleton;
@@ -90,4 +89,4 @@ export class BarretenbergSync extends BarretenbergApiSync {
90
89
  return this.wasm;
91
90
  }
92
91
  }
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxvQkFBb0IsRUFBOEIsTUFBTSxzREFBc0QsQ0FBQztBQUN4SCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNsRixPQUFPLEVBQTBCLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUYsT0FBTyxXQUFXLE1BQU0sT0FBTyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRW5ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkYsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBcUJ4Qzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sWUFBYSxTQUFRLGVBQWU7SUFHL0MsWUFBNEIsTUFBVyxFQUFFLElBQTRCLEVBQUUsT0FBdUI7UUFDNUYsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRGMsV0FBTSxHQUFOLE1BQU0sQ0FBSztRQUVyQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsS0FBSyxD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
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxvQkFBb0IsRUFBOEIsTUFBTSxzREFBc0QsQ0FBQztBQUN4SCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNsRixPQUFPLEVBQTBCLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUYsT0FBTyxXQUFXLE1BQU0sT0FBTyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRW5ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUF3QnZGOzs7R0FHRztBQUNILE1BQU0sT0FBTyxZQUFhLFNBQVEsZUFBZTtJQUcvQyxZQUE0QixNQUFXLEVBQUUsSUFBNEIsRUFBRSxPQUF1QjtRQUM1RixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFEYyxXQUFNLEdBQU4sTUFBTSxDQUFLO1FBRXJDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQTBCLEVBQUU7UUFDM0MsTUFBTSxNQUFNLEdBQUcs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
@@ -31,6 +31,7 @@ export declare class BarretenbergApi {
31
31
  testThreads(threads: number, iterations: number): Promise<number>;
32
32
  commonInitSlabAllocator(circuitSize: number): Promise<void>;
33
33
  acirGetCircuitSizes(constraintSystemBuf: Uint8Array, recursive: boolean, honkRecursion: boolean): Promise<[number, number]>;
34
+ acirGatesAztecClient(acirVec: Uint8Array[]): Promise<number[]>;
34
35
  acirNewAcirComposer(sizeHint: number): Promise<Ptr>;
35
36
  acirDeleteAcirComposer(acirComposerPtr: Ptr): Promise<void>;
36
37
  acirInitProvingKey(acirComposerPtr: Ptr, constraintSystemBuf: Uint8Array, recursive: boolean): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/barretenberg_api/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/barretenberg_api/index.ts"],"names":[],"mappings":"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"}