@aztec/bb.js 3.0.0-nightly.20251115 → 3.0.0-nightly.20251119

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 (169) hide show
  1. package/build/amd64-linux/bb +0 -0
  2. package/build/amd64-linux/nodejs_module.node +0 -0
  3. package/build/amd64-macos/bb +0 -0
  4. package/build/amd64-macos/nodejs_module.node +0 -0
  5. package/build/arm64-linux/bb +0 -0
  6. package/build/arm64-linux/nodejs_module.node +0 -0
  7. package/build/arm64-macos/bb +0 -0
  8. package/build/arm64-macos/nodejs_module.node +0 -0
  9. package/dest/browser/barretenberg/backend.d.ts +9 -23
  10. package/dest/browser/barretenberg/backend.d.ts.map +1 -1
  11. package/dest/browser/barretenberg/backend.js +24 -84
  12. package/dest/browser/barretenberg/index.d.ts +1 -3
  13. package/dest/browser/barretenberg/index.d.ts.map +1 -1
  14. package/dest/browser/barretenberg/index.js +15 -24
  15. package/dest/browser/{bigint-array/index.d.ts → barretenberg/testing/bigint-buffer.d.ts} +1 -1
  16. package/dest/browser/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  17. package/dest/browser/barretenberg/testing/bigint-buffer.js +37 -0
  18. package/dest/browser/barretenberg/testing/fields.d.ts +16 -0
  19. package/dest/browser/barretenberg/testing/fields.d.ts.map +1 -0
  20. package/dest/browser/barretenberg/testing/fields.js +48 -0
  21. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
  22. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
  23. package/dest/browser/bb_backends/browser/platform.d.ts +4 -0
  24. package/dest/browser/bb_backends/browser/platform.d.ts.map +1 -0
  25. package/dest/browser/bb_backends/browser/platform.js +10 -0
  26. package/dest/browser/bb_backends/index.d.ts +8 -5
  27. package/dest/browser/bb_backends/index.d.ts.map +1 -1
  28. package/dest/browser/bb_backends/index.js +5 -5
  29. package/dest/browser/index.d.ts +1 -0
  30. package/dest/browser/index.d.ts.map +1 -1
  31. package/dest/browser/index.js +2 -1
  32. package/dest/node/barretenberg/backend.d.ts +9 -23
  33. package/dest/node/barretenberg/backend.d.ts.map +1 -1
  34. package/dest/node/barretenberg/backend.js +24 -84
  35. package/dest/node/barretenberg/blake2s.test.js +2 -2
  36. package/dest/node/barretenberg/index.d.ts +1 -3
  37. package/dest/node/barretenberg/index.d.ts.map +1 -1
  38. package/dest/node/barretenberg/index.js +15 -24
  39. package/dest/node/barretenberg/pedersen.test.js +2 -2
  40. package/dest/node/barretenberg/poseidon.bench.test.js +27 -68
  41. package/dest/node/barretenberg/poseidon.test.js +2 -2
  42. package/dest/node/{bigint-array/index.d.ts → barretenberg/testing/bigint-buffer.d.ts} +1 -1
  43. package/dest/node/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  44. package/dest/node/barretenberg/testing/bigint-buffer.js +37 -0
  45. package/dest/node/barretenberg/testing/fields.d.ts +16 -0
  46. package/dest/node/barretenberg/testing/fields.d.ts.map +1 -0
  47. package/dest/node/barretenberg/testing/fields.js +48 -0
  48. package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  49. package/dest/node/bb_backends/browser/platform.d.ts +4 -0
  50. package/dest/node/bb_backends/browser/platform.d.ts.map +1 -0
  51. package/dest/node/bb_backends/browser/platform.js +10 -0
  52. package/dest/node/bb_backends/index.d.ts +8 -5
  53. package/dest/node/bb_backends/index.d.ts.map +1 -1
  54. package/dest/node/bb_backends/index.js +5 -5
  55. package/dest/node/bb_backends/node/index.d.ts.map +1 -1
  56. package/dest/node/bb_backends/node/index.js +12 -4
  57. package/dest/node/bb_backends/node/native_shm.d.ts +2 -1
  58. package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -1
  59. package/dest/node/bb_backends/node/native_shm.js +50 -15
  60. package/dest/node/bb_backends/node/native_socket.d.ts +1 -1
  61. package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -1
  62. package/dest/node/bb_backends/node/native_socket.js +28 -19
  63. package/dest/node/index.d.ts +1 -0
  64. package/dest/node/index.d.ts.map +1 -1
  65. package/dest/node/index.js +2 -1
  66. package/dest/node-cjs/barretenberg/backend.d.ts +9 -23
  67. package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
  68. package/dest/node-cjs/barretenberg/backend.js +30 -90
  69. package/dest/node-cjs/barretenberg/blake2s.test.js +6 -6
  70. package/dest/node-cjs/barretenberg/index.d.ts +1 -3
  71. package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
  72. package/dest/node-cjs/barretenberg/index.js +15 -24
  73. package/dest/node-cjs/barretenberg/pedersen.test.js +9 -9
  74. package/dest/node-cjs/barretenberg/poseidon.bench.test.js +36 -77
  75. package/dest/node-cjs/barretenberg/poseidon.test.js +4 -4
  76. package/dest/node-cjs/{bigint-array/index.d.ts → barretenberg/testing/bigint-buffer.d.ts} +1 -1
  77. package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  78. package/dest/node-cjs/barretenberg/testing/bigint-buffer.js +43 -0
  79. package/dest/node-cjs/barretenberg/testing/fields.d.ts +16 -0
  80. package/dest/node-cjs/barretenberg/testing/fields.d.ts.map +1 -0
  81. package/dest/node-cjs/barretenberg/testing/fields.js +52 -0
  82. package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  83. package/dest/node-cjs/bb_backends/browser/platform.d.ts +4 -0
  84. package/dest/node-cjs/bb_backends/browser/platform.d.ts.map +1 -0
  85. package/dest/node-cjs/bb_backends/browser/platform.js +15 -0
  86. package/dest/node-cjs/bb_backends/index.d.ts +8 -5
  87. package/dest/node-cjs/bb_backends/index.d.ts.map +1 -1
  88. package/dest/node-cjs/bb_backends/index.js +5 -5
  89. package/dest/node-cjs/bb_backends/node/index.d.ts.map +1 -1
  90. package/dest/node-cjs/bb_backends/node/index.js +12 -4
  91. package/dest/node-cjs/bb_backends/node/native_shm.d.ts +2 -1
  92. package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -1
  93. package/dest/node-cjs/bb_backends/node/native_shm.js +50 -15
  94. package/dest/node-cjs/bb_backends/node/native_socket.d.ts +1 -1
  95. package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -1
  96. package/dest/node-cjs/bb_backends/node/native_socket.js +28 -19
  97. package/dest/node-cjs/index.d.ts +1 -0
  98. package/dest/node-cjs/index.d.ts.map +1 -1
  99. package/dest/node-cjs/index.js +4 -2
  100. package/package.json +1 -1
  101. package/src/barretenberg/backend.ts +19 -97
  102. package/src/barretenberg/blake2s.test.ts +1 -1
  103. package/src/barretenberg/index.ts +14 -24
  104. package/src/barretenberg/pedersen.test.ts +1 -1
  105. package/src/barretenberg/poseidon.bench.test.ts +109 -156
  106. package/src/barretenberg/poseidon.test.ts +1 -1
  107. package/src/{types → barretenberg/testing}/fields.ts +12 -26
  108. package/src/bb_backends/browser/platform.ts +11 -0
  109. package/src/bb_backends/index.ts +8 -5
  110. package/src/bb_backends/node/index.ts +23 -3
  111. package/src/bb_backends/node/native_shm.ts +51 -14
  112. package/src/bb_backends/node/native_socket.ts +31 -17
  113. package/src/index.ts +2 -0
  114. package/dest/browser/bigint-array/index.d.ts.map +0 -1
  115. package/dest/browser/bigint-array/index.js +0 -37
  116. package/dest/browser/serialize/index.d.ts +0 -2
  117. package/dest/browser/serialize/index.d.ts.map +0 -1
  118. package/dest/browser/serialize/index.js +0 -2
  119. package/dest/browser/serialize/serialize.d.ts +0 -18
  120. package/dest/browser/serialize/serialize.d.ts.map +0 -1
  121. package/dest/browser/serialize/serialize.js +0 -72
  122. package/dest/browser/types/fields.d.ts +0 -23
  123. package/dest/browser/types/fields.d.ts.map +0 -1
  124. package/dest/browser/types/fields.js +0 -61
  125. package/dest/browser/types/index.d.ts +0 -3
  126. package/dest/browser/types/index.d.ts.map +0 -1
  127. package/dest/browser/types/index.js +0 -3
  128. package/dest/browser/types/point.d.ts +0 -18
  129. package/dest/browser/types/point.d.ts.map +0 -1
  130. package/dest/browser/types/point.js +0 -28
  131. package/dest/node/bigint-array/index.d.ts.map +0 -1
  132. package/dest/node/bigint-array/index.js +0 -37
  133. package/dest/node/serialize/index.d.ts +0 -2
  134. package/dest/node/serialize/index.d.ts.map +0 -1
  135. package/dest/node/serialize/index.js +0 -2
  136. package/dest/node/serialize/serialize.d.ts +0 -18
  137. package/dest/node/serialize/serialize.d.ts.map +0 -1
  138. package/dest/node/serialize/serialize.js +0 -72
  139. package/dest/node/types/fields.d.ts +0 -23
  140. package/dest/node/types/fields.d.ts.map +0 -1
  141. package/dest/node/types/fields.js +0 -61
  142. package/dest/node/types/index.d.ts +0 -3
  143. package/dest/node/types/index.d.ts.map +0 -1
  144. package/dest/node/types/index.js +0 -3
  145. package/dest/node/types/point.d.ts +0 -18
  146. package/dest/node/types/point.d.ts.map +0 -1
  147. package/dest/node/types/point.js +0 -28
  148. package/dest/node-cjs/bigint-array/index.d.ts.map +0 -1
  149. package/dest/node-cjs/bigint-array/index.js +0 -43
  150. package/dest/node-cjs/serialize/index.d.ts +0 -2
  151. package/dest/node-cjs/serialize/index.d.ts.map +0 -1
  152. package/dest/node-cjs/serialize/index.js +0 -5
  153. package/dest/node-cjs/serialize/serialize.d.ts +0 -18
  154. package/dest/node-cjs/serialize/serialize.d.ts.map +0 -1
  155. package/dest/node-cjs/serialize/serialize.js +0 -82
  156. package/dest/node-cjs/types/fields.d.ts +0 -23
  157. package/dest/node-cjs/types/fields.d.ts.map +0 -1
  158. package/dest/node-cjs/types/fields.js +0 -65
  159. package/dest/node-cjs/types/index.d.ts +0 -3
  160. package/dest/node-cjs/types/index.d.ts.map +0 -1
  161. package/dest/node-cjs/types/index.js +0 -6
  162. package/dest/node-cjs/types/point.d.ts +0 -18
  163. package/dest/node-cjs/types/point.d.ts.map +0 -1
  164. package/dest/node-cjs/types/point.js +0 -32
  165. package/src/serialize/index.ts +0 -1
  166. package/src/serialize/serialize.ts +0 -75
  167. package/src/types/index.ts +0 -2
  168. package/src/types/point.ts +0 -32
  169. /package/src/{bigint-array/index.ts → barretenberg/testing/bigint-buffer.ts} +0 -0
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const index_js_1 = require("../index.js");
4
- const fields_js_1 = require("../types/fields.js");
5
- const index_js_2 = require("../serialize/index.js");
6
- const index_js_3 = require("../barretenberg_wasm/barretenberg_wasm_main/index.js");
7
- const index_js_4 = require("../barretenberg_wasm/index.js");
8
- const index_js_5 = require("./index.js");
4
+ const index_js_2 = require("../barretenberg_wasm/barretenberg_wasm_main/index.js");
5
+ const index_js_3 = require("../barretenberg_wasm/index.js");
6
+ const index_js_4 = require("./index.js");
7
+ const fields_js_1 = require("./testing/fields.js");
9
8
  /**
10
9
  * Async API benchmark test: WASM vs Native backends with proper non-blocking I/O
11
10
  *
@@ -24,113 +23,83 @@ describe('poseidon2Hash benchmark (Async API): WASM vs Native', () => {
24
23
  let wasm;
25
24
  beforeAll(async () => {
26
25
  // Setup direct WASM access for baseline benchmark (always required)
27
- wasm = new index_js_3.BarretenbergWasmMain();
28
- const { module } = await (0, index_js_4.fetchModuleAndThreads)(1);
26
+ wasm = new index_js_2.BarretenbergWasmMain();
27
+ const { module } = await (0, index_js_3.fetchModuleAndThreads)(1);
29
28
  await wasm.init(module, 1);
30
29
  // Setup WASM API
31
30
  try {
32
- wasmApi = await index_js_1.Barretenberg.new({ backend: index_js_5.BackendType.Wasm, threads: 1 });
31
+ wasmApi = await index_js_1.Barretenberg.new({ backend: index_js_4.BackendType.Wasm, threads: 1 });
33
32
  }
34
33
  catch (error) {
35
34
  console.warn('Failed to initialize WASM backend:', error instanceof Error ? error.message : String(error));
36
35
  }
37
36
  // Setup native socket API
38
37
  try {
39
- nativeSocketApi = await index_js_1.Barretenberg.new({ backend: index_js_5.BackendType.NativeUnixSocket, threads: 1 });
38
+ nativeSocketApi = await index_js_1.Barretenberg.new({ backend: index_js_4.BackendType.NativeUnixSocket, threads: 1 });
40
39
  }
41
40
  catch (error) {
42
41
  console.warn('Failed to initialize Native Socket backend:', error instanceof Error ? error.message : String(error));
43
42
  }
44
43
  // Setup native shared memory API (async)
45
44
  try {
46
- nativeShmApi = await index_js_1.Barretenberg.new({ backend: index_js_5.BackendType.NativeSharedMemory, threads: 1 });
45
+ nativeShmApi = await index_js_1.Barretenberg.new({ backend: index_js_4.BackendType.NativeSharedMemory, threads: 1 });
47
46
  }
48
47
  catch (error) {
49
48
  console.warn('Failed to initialize Native Shared Memory (async) backend:', error instanceof Error ? error.message : String(error));
50
49
  }
51
50
  // Setup native shared memory API (sync)
52
51
  try {
53
- nativeShmSyncApi = await index_js_1.BarretenbergSync.new({ backend: index_js_5.BackendType.NativeSharedMemory, threads: 1 });
52
+ nativeShmSyncApi = await index_js_1.BarretenbergSync.new({ backend: index_js_4.BackendType.NativeSharedMemory, threads: 1 });
54
53
  }
55
54
  catch (error) {
56
55
  console.warn('Failed to initialize Native Shared Memory (sync) backend:', error instanceof Error ? error.message : String(error));
57
56
  }
58
57
  }, 20000);
59
- afterAll(async () => {
60
- await wasm.destroy();
61
- if (wasmApi) {
62
- await wasmApi.destroy();
63
- }
64
- if (nativeSocketApi) {
65
- await nativeSocketApi.destroy();
66
- }
67
- if (nativeShmApi) {
68
- await nativeShmApi.destroy();
69
- }
70
- if (nativeShmSyncApi) {
71
- nativeShmSyncApi.destroy();
72
- }
73
- });
74
- async function directPoseidon2Hash(inputsBuffer) {
75
- const inArgs = [inputsBuffer].map(index_js_2.serializeBufferable);
76
- const outTypes = [fields_js_1.Fr];
77
- const result = wasm.callWasmExport('poseidon2_hash', inArgs, outTypes.map(t => t.SIZE_IN_BYTES));
78
- const out = result.map((r, i) => outTypes[i].fromBuffer(r));
79
- return Promise.resolve(out[0]);
80
- }
81
58
  it.each(SIZES)('benchmark with %p field elements', async (size) => {
82
59
  // Generate random inputs
83
60
  const inputs = Array(size)
84
61
  .fill(0)
85
- .map(() => fields_js_1.Fr.random());
86
- // Benchmark 1: Direct WASM (baseline - always available)
87
- const directStart = performance.now();
88
- for (let i = 0; i < ITERATIONS; i++) {
89
- await directPoseidon2Hash(inputs);
90
- }
91
- const directTime = performance.now() - directStart;
92
- // Benchmark 2: WASM (async)
62
+ .map(() => fields_js_1.Fr.random().toBuffer());
63
+ // Benchmark 1: WASM (async)
93
64
  let wasmTime = 0;
94
65
  if (wasmApi) {
95
66
  const wasmStart = performance.now();
96
67
  for (let i = 0; i < ITERATIONS; i++) {
97
- await wasmApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
68
+ await wasmApi.poseidon2Hash({ inputs });
98
69
  }
99
70
  wasmTime = performance.now() - wasmStart;
100
71
  }
101
- // Benchmark 3: Native Socket (async with non-blocking I/O)
72
+ // Benchmark 2: Native Socket (async with non-blocking I/O)
102
73
  let nativeSocketTime = 0;
103
74
  if (nativeSocketApi) {
104
75
  const nativeSocketStart = performance.now();
105
76
  for (let i = 0; i < ITERATIONS; i++) {
106
- await nativeSocketApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
77
+ await nativeSocketApi.poseidon2Hash({ inputs });
107
78
  }
108
79
  nativeSocketTime = performance.now() - nativeSocketStart;
109
80
  }
110
- // Benchmark 4: Native Shared Memory (async)
81
+ // Benchmark 3: Native Shared Memory (async)
111
82
  let nativeShmTime = 0;
112
83
  if (nativeShmApi) {
113
84
  const nativeShmStart = performance.now();
114
85
  for (let i = 0; i < ITERATIONS; i++) {
115
- await nativeShmApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
86
+ await nativeShmApi.poseidon2Hash({ inputs });
116
87
  }
117
88
  nativeShmTime = performance.now() - nativeShmStart;
118
89
  }
119
- // Benchmark 5: Native Shared Memory (sync)
90
+ // Benchmark 4: Native Shared Memory (sync)
120
91
  let nativeShmSyncTime = 0;
121
92
  if (nativeShmSyncApi) {
122
93
  const nativeShmSyncStart = performance.now();
123
94
  for (let i = 0; i < ITERATIONS; i++) {
124
- nativeShmSyncApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
95
+ nativeShmSyncApi.poseidon2Hash({ inputs });
125
96
  }
126
97
  nativeShmSyncTime = performance.now() - nativeShmSyncStart;
127
98
  }
128
99
  // Calculate metrics (all relative to WASM baseline)
129
- const directOverhead = ((directTime - wasmTime) / wasmTime) * 100;
130
100
  const nativeSocketOverhead = ((nativeSocketTime - wasmTime) / wasmTime) * 100;
131
101
  const nativeShmOverhead = ((nativeShmTime - wasmTime) / wasmTime) * 100;
132
102
  const nativeShmSyncOverhead = ((nativeShmSyncTime - wasmTime) / wasmTime) * 100;
133
- const avgDirectTimeUs = (directTime / ITERATIONS) * 1000; // microseconds
134
103
  const avgWasmTimeUs = (wasmTime / ITERATIONS) * 1000;
135
104
  const avgNativeSocketTimeUs = (nativeSocketTime / ITERATIONS) * 1000;
136
105
  const avgNativeShmTimeUs = (nativeShmTime / ITERATIONS) * 1000;
@@ -147,7 +116,6 @@ describe('poseidon2Hash benchmark (Async API): WASM vs Native', () => {
147
116
  else {
148
117
  process.stdout.write(`│ WASM: unavailable │\n`);
149
118
  }
150
- process.stdout.write(`│ Direct WASM: ${directTime.toFixed(2).padStart(8)}ms (${avgDirectTimeUs.toFixed(2).padStart(7)}µs/call) ${formatOverhead(directOverhead)} │\n`);
151
119
  if (nativeSocketApi) {
152
120
  process.stdout.write(`│ Native Socket: ${nativeSocketTime.toFixed(2).padStart(8)}ms (${avgNativeSocketTimeUs.toFixed(2).padStart(7)}µs/call) ${formatOverhead(nativeSocketOverhead)} │\n`);
153
121
  }
@@ -167,27 +135,22 @@ describe('poseidon2Hash benchmark (Async API): WASM vs Native', () => {
167
135
  process.stdout.write(`│ Native Shared Sync: unavailable │\n`);
168
136
  }
169
137
  process.stdout.write(`└────────────────────────────────────────────────────────────┘\n`);
170
- // Sanity check: verify all backends produce same result as direct WASM
171
- const directResult = await directPoseidon2Hash(inputs);
172
- if (wasmApi) {
173
- const wasmResult = await wasmApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
174
- expect(Buffer.from(wasmResult.hash)).toEqual(directResult.toBuffer());
175
- }
138
+ const wasmResult = await wasmApi.poseidon2Hash({ inputs });
176
139
  if (nativeSocketApi) {
177
- const nativeSocketResult = await nativeSocketApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
178
- expect(Buffer.from(nativeSocketResult.hash)).toEqual(directResult.toBuffer());
140
+ const nativeSocketResult = await nativeSocketApi.poseidon2Hash({ inputs });
141
+ expect(Buffer.from(nativeSocketResult.hash)).toEqual(wasmResult.hash);
179
142
  }
180
143
  if (nativeShmApi) {
181
- const nativeShmResult = await nativeShmApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
182
- expect(Buffer.from(nativeShmResult.hash)).toEqual(directResult.toBuffer());
144
+ const nativeShmResult = await nativeShmApi.poseidon2Hash({ inputs });
145
+ expect(Buffer.from(nativeShmResult.hash)).toEqual(wasmResult.hash);
183
146
  }
184
147
  if (nativeShmSyncApi) {
185
- const nativeShmSyncResult = nativeShmSyncApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
186
- expect(Buffer.from(nativeShmSyncResult.hash)).toEqual(directResult.toBuffer());
148
+ const nativeShmSyncResult = nativeShmSyncApi.poseidon2Hash({ inputs });
149
+ expect(Buffer.from(nativeShmSyncResult.hash)).toEqual(wasmResult.hash);
187
150
  }
188
151
  // Test always passes, this is just for measuring performance
189
152
  expect(true).toBe(true);
190
- });
153
+ }, 10000);
191
154
  const TEST_VECTORS = [1, 2, 3, 5, 10, 50, 100];
192
155
  const NUM_RANDOM_TESTS = 10;
193
156
  it.each(TEST_VECTORS)('produces identical results for %p field elements', async (size) => {
@@ -195,25 +158,21 @@ describe('poseidon2Hash benchmark (Async API): WASM vs Native', () => {
195
158
  for (let test = 0; test < NUM_RANDOM_TESTS; test++) {
196
159
  const inputs = Array(size)
197
160
  .fill(0)
198
- .map(() => fields_js_1.Fr.random());
199
- const directResult = await directPoseidon2Hash(inputs);
200
- if (wasmApi) {
201
- const wasmResult = await wasmApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
202
- expect(Buffer.from(wasmResult.hash)).toEqual(directResult.toBuffer());
203
- }
161
+ .map(() => fields_js_1.Fr.random().toBuffer());
162
+ const wasmResult = await wasmApi.poseidon2Hash({ inputs });
204
163
  if (nativeSocketApi) {
205
- const nativeSocketResult = await nativeSocketApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
206
- expect(Buffer.from(nativeSocketResult.hash)).toEqual(directResult.toBuffer());
164
+ const nativeSocketResult = await nativeSocketApi.poseidon2Hash({ inputs });
165
+ expect(Buffer.from(nativeSocketResult.hash)).toEqual(wasmResult.hash);
207
166
  }
208
167
  if (nativeShmApi) {
209
- const nativeShmResult = await nativeShmApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
210
- expect(Buffer.from(nativeShmResult.hash)).toEqual(directResult.toBuffer());
168
+ const nativeShmResult = await nativeShmApi.poseidon2Hash({ inputs });
169
+ expect(Buffer.from(nativeShmResult.hash)).toEqual(wasmResult.hash);
211
170
  }
212
171
  if (nativeShmSyncApi) {
213
- const nativeShmSyncResult = nativeShmSyncApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
214
- expect(Buffer.from(nativeShmSyncResult.hash)).toEqual(directResult.toBuffer());
172
+ const nativeShmSyncResult = nativeShmSyncApi.poseidon2Hash({ inputs });
173
+ expect(Buffer.from(nativeShmSyncResult.hash)).toEqual(wasmResult.hash);
215
174
  }
216
175
  }
217
176
  });
218
177
  });
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zZWlkb24uYmVuY2gudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmcvcG9zZWlkb24uYmVuY2gudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBDQUE2RDtBQUM3RCxrREFBd0M7QUFDeEMsb0RBQTREO0FBQzVELG1GQUE0RjtBQUM1Riw0REFBc0U7QUFDdEUseUNBQXlDO0FBRXpDOzs7Ozs7O0dBT0c7QUFDSCxRQUFRLENBQUMscURBQXFELEVBQUUsR0FBRyxFQUFFO0lBQ25FLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQztJQUN6QixNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFeEIsSUFBSSxPQUFPLEdBQXdCLElBQUksQ0FBQztJQUN4QyxJQUFJLGVBQWUsR0FBd0IsSUFBSSxDQUFDO0lBQ2hELElBQUksWUFBWSxHQUF3QixJQUFJLENBQUM7SUFDN0MsSUFBSSxnQkFBZ0IsR0FBNEIsSUFBSSxDQUFDO0lBQ3JELElBQUksSUFBMEIsQ0FBQztJQUUvQixTQUFTLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDbkIsb0VBQW9FO1FBQ3BFLElBQUksR0FBRyxJQUFJLCtCQUFvQixFQUFFLENBQUM7UUFDbEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSxnQ0FBcUIsRUFBQyxDQUFDLENBQUMsQ0FBQztRQUNsRCxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTNCLGlCQUFpQjtRQUNqQixJQUFJLENBQUM7WUFDSCxPQUFPLEdBQUcsTUFBTSx1QkFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxzQkFBVyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5RSxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FB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
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zZWlkb24uYmVuY2gudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmcvcG9zZWlkb24uYmVuY2gudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBDQUE2RDtBQUM3RCxtRkFBNEY7QUFDNUYsNERBQXNFO0FBQ3RFLHlDQUF5QztBQUN6QyxtREFBeUM7QUFFekM7Ozs7Ozs7R0FPRztBQUNILFFBQVEsQ0FBQyxxREFBcUQsRUFBRSxHQUFHLEVBQUU7SUFDbkUsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUV4QixJQUFJLE9BQU8sR0FBd0IsSUFBSSxDQUFDO0lBQ3hDLElBQUksZUFBZSxHQUF3QixJQUFJLENBQUM7SUFDaEQsSUFBSSxZQUFZLEdBQXdCLElBQUksQ0FBQztJQUM3QyxJQUFJLGdCQUFnQixHQUE0QixJQUFJLENBQUM7SUFDckQsSUFBSSxJQUEwQixDQUFDO0lBRS9CLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRTtRQUNuQixvRUFBb0U7UUFDcEUsSUFBSSxHQUFHLElBQUksK0JBQW9CLEVBQUUsQ0FBQztRQUNsQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLGdDQUFxQixFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFM0IsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQztZQUNILE9BQU8sR0FBRyxNQUFNLHVCQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxFQUFFLHNCQUFXLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxD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
@@ -2,19 +2,19 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const index_js_1 = require("./index.js");
4
4
  const timer_js_1 = require("../benchmark/timer.js");
5
- const index_js_2 = require("../types/index.js");
5
+ const fields_js_1 = require("./testing/fields.js");
6
6
  describe('poseidon sync', () => {
7
7
  let api;
8
8
  beforeAll(async () => {
9
9
  api = await index_js_1.BarretenbergSync.initSingleton();
10
10
  });
11
11
  it('poseidonHash', () => {
12
- const result = api.poseidon2Hash({ inputs: [new index_js_2.Fr(4n).toBuffer(), new index_js_2.Fr(8n).toBuffer()] });
12
+ const result = api.poseidon2Hash({ inputs: [new fields_js_1.Fr(4n).toBuffer(), new fields_js_1.Fr(8n).toBuffer()] });
13
13
  expect(result).toMatchSnapshot();
14
14
  });
15
15
  it('poseidonHash perf test', () => {
16
16
  const loops = 1000;
17
- const fields = Array.from({ length: loops * 2 }).map(() => index_js_2.Fr.random().toBuffer());
17
+ const fields = Array.from({ length: loops * 2 }).map(() => fields_js_1.Fr.random().toBuffer());
18
18
  const t = new timer_js_1.Timer();
19
19
  for (let i = 0; i < loops; ++i) {
20
20
  api.poseidon2Hash({ inputs: [fields[i * 2], fields[i * 2 + 1]] });
@@ -34,4 +34,4 @@ describe('poseidon sync', () => {
34
34
  // console.log(`Executed ${numHashesPerLoop * loops} hashes at an average ${us}us / hash`);
35
35
  // });
36
36
  });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zZWlkb24udGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmcvcG9zZWlkb24udGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHlDQUE4QztBQUM5QyxvREFBOEM7QUFDOUMsZ0RBQXVDO0FBRXZDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO0lBQzdCLElBQUksR0FBcUIsQ0FBQztJQUUxQixTQUFTLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDbkIsR0FBRyxHQUFHLE1BQU0sMkJBQWdCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDL0MsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRTtRQUN0QixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsSUFBSSxhQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxhQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtRQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbkIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDbkYsTUFBTSxDQUFDLEdBQUcsSUFBSSxnQkFBSyxFQUFFLENBQUM7UUFDdEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQy9CLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLENBQUM7UUFDRCxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQzFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxLQUFLLHlCQUF5QixFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZFLENBQUMsQ0FBQyxDQUFDO0lBRUgseUNBQXlDO0lBQ3pDLHNCQUFzQjtJQUN0QixtQ0FBbUM7SUFDbkMsd0ZBQXdGO0lBQ3hGLDJCQUEyQjtJQUMzQixzQ0FBc0M7SUFDdEMsbUNBQW1DO0lBQ25DLE1BQU07SUFDTixvREFBb0Q7SUFDcEQsNkZBQTZGO0lBQzdGLE1BQU07QUFDUixDQUFDLENBQUMsQ0FBQyJ9
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zZWlkb24udGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmcvcG9zZWlkb24udGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHlDQUE4QztBQUM5QyxvREFBOEM7QUFDOUMsbURBQXlDO0FBRXpDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO0lBQzdCLElBQUksR0FBcUIsQ0FBQztJQUUxQixTQUFTLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDbkIsR0FBRyxHQUFHLE1BQU0sMkJBQWdCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDL0MsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRTtRQUN0QixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsSUFBSSxjQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxjQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtRQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbkIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDbkYsTUFBTSxDQUFDLEdBQUcsSUFBSSxnQkFBSyxFQUFFLENBQUM7UUFDdEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQy9CLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLENBQUM7UUFDRCxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQzFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxLQUFLLHlCQUF5QixFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZFLENBQUMsQ0FBQyxDQUFDO0lBRUgseUNBQXlDO0lBQ3pDLHNCQUFzQjtJQUN0QixtQ0FBbUM7SUFDbkMsd0ZBQXdGO0lBQ3hGLDJCQUEyQjtJQUMzQixzQ0FBc0M7SUFDdEMsbUNBQW1DO0lBQ25DLE1BQU07SUFDTixvREFBb0Q7SUFDcEQsNkZBQTZGO0lBQzdGLE1BQU07QUFDUixDQUFDLENBQUMsQ0FBQyJ9
@@ -14,4 +14,4 @@ export declare function bigIntToBufferBE(value: bigint, byteLength?: number): Bu
14
14
  * Convert a BigInt to a 32-byte BE Uint8Array.
15
15
  */
16
16
  export declare function bigIntToUint8ArrayBE(value: bigint, byteLength?: number): Uint8Array;
17
- //# sourceMappingURL=index.d.ts.map
17
+ //# sourceMappingURL=bigint-buffer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bigint-buffer.d.ts","sourceRoot":"","sources":["../../../../src/barretenberg/testing/bigint-buffer.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO3D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAG9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,MAAM,CAYvE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,UAAU,CAE/E"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buffer32BytesToBigIntBE = buffer32BytesToBigIntBE;
4
+ exports.uint8ArrayToBigIntBE = uint8ArrayToBigIntBE;
5
+ exports.bigIntToBufferBE = bigIntToBufferBE;
6
+ exports.bigIntToUint8ArrayBE = bigIntToUint8ArrayBE;
7
+ /**
8
+ * Convert a 32-byte BE Buffer to a BigInt.
9
+ */
10
+ function buffer32BytesToBigIntBE(buf) {
11
+ return ((buf.readBigUInt64BE(0) << 192n) +
12
+ (buf.readBigUInt64BE(8) << 128n) +
13
+ (buf.readBigUInt64BE(16) << 64n) +
14
+ buf.readBigUInt64BE(24));
15
+ }
16
+ /**
17
+ * Convert a BE Uint8Array to a BigInt.
18
+ */
19
+ function uint8ArrayToBigIntBE(bytes) {
20
+ const buffer = Buffer.from(bytes);
21
+ return buffer32BytesToBigIntBE(buffer);
22
+ }
23
+ /**
24
+ * Convert a BigInt to a 32-byte BE Buffer.
25
+ */
26
+ function bigIntToBufferBE(value, byteLength = 32) {
27
+ if (byteLength != 32) {
28
+ throw new Error(`Only 32 bytes supported for conversion from bigint to buffer, attempted byte length: ${byteLength}`);
29
+ }
30
+ const buf = Buffer.alloc(byteLength);
31
+ buf.writeBigUInt64BE(value >> 192n, 0);
32
+ buf.writeBigUInt64BE((value >> 128n) & 0xffffffffffffffffn, 8);
33
+ buf.writeBigUInt64BE((value >> 64n) & 0xffffffffffffffffn, 16);
34
+ buf.writeBigUInt64BE(value & 0xffffffffffffffffn, 24);
35
+ return buf;
36
+ }
37
+ /**
38
+ * Convert a BigInt to a 32-byte BE Uint8Array.
39
+ */
40
+ function bigIntToUint8ArrayBE(value, byteLength = 32) {
41
+ return new Uint8Array(bigIntToBufferBE(value, byteLength));
42
+ }
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlnaW50LWJ1ZmZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmcvdGVzdGluZy9iaWdpbnQtYnVmZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0EsMERBT0M7QUFLRCxvREFHQztBQUtELDRDQVlDO0FBS0Qsb0RBRUM7QUExQ0Q7O0dBRUc7QUFDSCxTQUFnQix1QkFBdUIsQ0FBQyxHQUFXO0lBQ2pELE9BQU8sQ0FDTCxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2hDLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaEMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQztRQUNoQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUN4QixDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQUMsS0FBaUI7SUFDcEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxPQUFPLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLGdCQUFnQixDQUFDLEtBQWEsRUFBRSxVQUFVLEdBQUcsRUFBRTtJQUM3RCxJQUFJLFVBQVUsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUNyQixNQUFNLElBQUksS0FBSyxDQUNiLHdGQUF3RixVQUFVLEVBQUUsQ0FDckcsQ0FBQztJQUNKLENBQUM7SUFDRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsR0FBRyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRCxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLEdBQUcsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDL0QsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEtBQUssR0FBRyxtQkFBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLG9CQUFvQixDQUFDLEtBQWEsRUFBRSxVQUFVLEdBQUcsRUFBRTtJQUNqRSxPQUFPLElBQUksVUFBVSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQzdELENBQUMifQ==
@@ -0,0 +1,16 @@
1
+ export declare class Fr {
2
+ static ZERO: Fr;
3
+ static MODULUS: bigint;
4
+ static MAX_VALUE: bigint;
5
+ static SIZE_IN_BYTES: number;
6
+ value: Uint8Array;
7
+ constructor(value: Uint8Array | Buffer | bigint);
8
+ static random(): Fr;
9
+ toBuffer(): Uint8Array<ArrayBufferLike>;
10
+ toString(): string;
11
+ equals(rhs: Fr): boolean;
12
+ isZero(): boolean;
13
+ static fromBuffer(value: Uint8Array): Fr;
14
+ static fromBufferReduce(value: Uint8Array): Fr;
15
+ }
16
+ //# sourceMappingURL=fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../src/barretenberg/testing/fields.ts"],"names":[],"mappings":"AAQA,qBAAa,EAAE;IACb,MAAM,CAAC,IAAI,KAAc;IACzB,MAAM,CAAC,OAAO,SAAuE;IACrF,MAAM,CAAC,SAAS,SAAqB;IACrC,MAAM,CAAC,aAAa,SAAM;IAC1B,KAAK,EAAE,UAAU,CAAC;gBAEN,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM;IAiB/C,MAAM,CAAC,MAAM;IAKb,QAAQ;IAIR,QAAQ;IAIR,MAAM,CAAC,GAAG,EAAE,EAAE;IAId,MAAM;IAIN,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE;IAIxC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE;CAK/C"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Fr = void 0;
5
+ const index_js_1 = require("../../random/index.js");
6
+ const bigint_buffer_js_1 = require("./bigint-buffer.js");
7
+ class Fr {
8
+ constructor(value) {
9
+ // We convert buffer value to bigint to be able to check it fits within modulus
10
+ const valueBigInt = typeof value === 'bigint'
11
+ ? value
12
+ : value instanceof Buffer
13
+ ? (0, bigint_buffer_js_1.buffer32BytesToBigIntBE)(value)
14
+ : (0, bigint_buffer_js_1.uint8ArrayToBigIntBE)(value);
15
+ if (valueBigInt > _a.MAX_VALUE) {
16
+ throw new Error(`Value 0x${valueBigInt.toString(16)} is greater or equal to field modulus.`);
17
+ }
18
+ this.value =
19
+ typeof value === 'bigint' ? (0, bigint_buffer_js_1.bigIntToUint8ArrayBE)(value) : value instanceof Buffer ? new Uint8Array(value) : value;
20
+ }
21
+ static random() {
22
+ const r = (0, bigint_buffer_js_1.uint8ArrayToBigIntBE)((0, index_js_1.randomBytes)(64)) % _a.MODULUS;
23
+ return new this(r);
24
+ }
25
+ toBuffer() {
26
+ return this.value;
27
+ }
28
+ toString() {
29
+ return '0x' + this.toBuffer().reduce((accumulator, byte) => accumulator + byte.toString(16).padStart(2, '0'), '');
30
+ }
31
+ equals(rhs) {
32
+ return this.value.every((v, i) => v === rhs.value[i]);
33
+ }
34
+ isZero() {
35
+ return this.value.every(v => v === 0);
36
+ }
37
+ static fromBuffer(value) {
38
+ return _a.fromBufferReduce(value);
39
+ }
40
+ static fromBufferReduce(value) {
41
+ const valueBigInt = (0, bigint_buffer_js_1.uint8ArrayToBigIntBE)(value);
42
+ const reducedValue = valueBigInt % _a.MODULUS;
43
+ return new _a(reducedValue);
44
+ }
45
+ }
46
+ exports.Fr = Fr;
47
+ _a = Fr;
48
+ Fr.ZERO = new _a(0n);
49
+ Fr.MODULUS = 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n;
50
+ Fr.MAX_VALUE = _a.MODULUS - 1n;
51
+ Fr.SIZE_IN_BYTES = 32;
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JhcnJldGVuYmVyZy90ZXN0aW5nL2ZpZWxkcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsb0RBQW9EO0FBQ3BELHlEQUs0QjtBQUU1QixNQUFhLEVBQUU7SUFPYixZQUFZLEtBQW1DO1FBQzdDLCtFQUErRTtRQUMvRSxNQUFNLFdBQVcsR0FDZixPQUFPLEtBQUssS0FBSyxRQUFRO1lBQ3ZCLENBQUMsQ0FBQyxLQUFLO1lBQ1AsQ0FBQyxDQUFDLEtBQUssWUFBWSxNQUFNO2dCQUN2QixDQUFDLENBQUMsSUFBQSwwQ0FBdUIsRUFBQyxLQUFLLENBQUM7Z0JBQ2hDLENBQUMsQ0FBQyxJQUFBLHVDQUFvQixFQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXBDLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsd0NBQXdDLENBQUMsQ0FBQztRQUMvRixDQUFDO1FBRUQsSUFBSSxDQUFDLEtBQUs7WUFDUixPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUEsdUNBQW9CLEVBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssWUFBWSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDdEgsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNO1FBQ1gsTUFBTSxDQUFDLEdBQUcsSUFBQSx1Q0FBb0IsRUFBQyxJQUFBLHNCQUFXLEVBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO1FBQzdELE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwSCxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQU87UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBaUI7UUFDakMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFpQjtRQUN2QyxNQUFNLFdBQVcsR0FBRyxJQUFBLHVDQUFvQixFQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELE1BQU0sWUFBWSxHQUFHLFdBQVcsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO1FBQzlDLE9BQU8sSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7QUFyREgsZ0JBc0RDOztBQXJEUSxPQUFJLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLEFBQWIsQ0FBYztBQUNsQixVQUFPLEdBQUcsbUVBQW1FLEFBQXRFLENBQXVFO0FBQzlFLFlBQVMsR0FBRyxFQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQUFBcEIsQ0FBcUI7QUFDOUIsZ0JBQWEsR0FBRyxFQUFFLEFBQUwsQ0FBTSJ9
@@ -0,0 +1,4 @@
1
+ export declare function findPackageRoot(): string | null;
2
+ export declare function findBbBinary(customPath?: string): string | null;
3
+ export declare function findNapiBinary(customPath?: string): string | null;
4
+ //# sourceMappingURL=platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../../src/bb_backends/browser/platform.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAE/C;AAED,wBAAgB,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE/D;AAED,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEjE"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findPackageRoot = findPackageRoot;
4
+ exports.findBbBinary = findBbBinary;
5
+ exports.findNapiBinary = findNapiBinary;
6
+ function findPackageRoot() {
7
+ throw new Error('Not implemented in browser environment.');
8
+ }
9
+ function findBbBinary(customPath) {
10
+ throw new Error('Not implemented in browser environment.');
11
+ }
12
+ function findNapiBinary(customPath) {
13
+ throw new Error('Not implemented in browser environment.');
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmJfYmFja2VuZHMvYnJvd3Nlci9wbGF0Zm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBDQUVDO0FBRUQsb0NBRUM7QUFFRCx3Q0FFQztBQVZELFNBQWdCLGVBQWU7SUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0FBQzdELENBQUM7QUFFRCxTQUFnQixZQUFZLENBQUMsVUFBbUI7SUFDOUMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0FBQzdELENBQUM7QUFFRCxTQUFnQixjQUFjLENBQUMsVUFBbUI7SUFDaEQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0FBQzdELENBQUMifQ==
@@ -3,13 +3,13 @@
3
3
  */
4
4
  export declare enum BackendType {
5
5
  /** WASM direct execution (no worker) */
6
- Wasm = "wasm",
6
+ Wasm = "Wasm",
7
7
  /** WASM with worker threads */
8
- WasmWorker = "wasm-worker",
8
+ WasmWorker = "WasmWorker",
9
9
  /** Native via Unix domain socket (async only) */
10
- NativeUnixSocket = "native-unix-socket",
10
+ NativeUnixSocket = "NativeUnixSocket",
11
11
  /** Native via shared memory (sync only currently) */
12
- NativeSharedMemory = "native-shared-mem"
12
+ NativeSharedMemory = "NativeSharedMemory"
13
13
  }
14
14
  export type BackendOptions = {
15
15
  /** @description Number of threads to run the backend worker on */
@@ -25,7 +25,10 @@ export type BackendOptions = {
25
25
  wasmPath?: string;
26
26
  /** @description Custom path to bb binary for native backend (overrides automatic detection) */
27
27
  bbPath?: string;
28
- /** @description Logging function */
28
+ /**
29
+ * @description Logging function
30
+ * Warning: Attaching a logger can prevent nodejs from exiting without explicitly destroying the backend.
31
+ */
29
32
  logger?: (msg: string) => void;
30
33
  /**
31
34
  * @description Maximum concurrent clients for shared memory IPC server (default: 1)
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bb_backends/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,WAAW;IACrB,wCAAwC;IACxC,IAAI,SAAS;IACb,+BAA+B;IAC/B,UAAU,gBAAgB;IAC1B,iDAAiD;IACjD,gBAAgB,uBAAuB;IACvC,qDAAqD;IACrD,kBAAkB,sBAAsB;CACzC;AAED,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,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,oCAAoC;IACpC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bb_backends/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,WAAW;IACrB,wCAAwC;IACxC,IAAI,SAAS;IACb,+BAA+B;IAC/B,UAAU,eAAe;IACzB,iDAAiD;IACjD,gBAAgB,qBAAqB;IACrC,qDAAqD;IACrD,kBAAkB,uBAAuB;CAC1C;AAED,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,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC"}
@@ -7,12 +7,12 @@ exports.BackendType = void 0;
7
7
  var BackendType;
8
8
  (function (BackendType) {
9
9
  /** WASM direct execution (no worker) */
10
- BackendType["Wasm"] = "wasm";
10
+ BackendType["Wasm"] = "Wasm";
11
11
  /** WASM with worker threads */
12
- BackendType["WasmWorker"] = "wasm-worker";
12
+ BackendType["WasmWorker"] = "WasmWorker";
13
13
  /** Native via Unix domain socket (async only) */
14
- BackendType["NativeUnixSocket"] = "native-unix-socket";
14
+ BackendType["NativeUnixSocket"] = "NativeUnixSocket";
15
15
  /** Native via shared memory (sync only currently) */
16
- BackendType["NativeSharedMemory"] = "native-shared-mem";
16
+ BackendType["NativeSharedMemory"] = "NativeSharedMemory";
17
17
  })(BackendType || (exports.BackendType = BackendType = {}));
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmJfYmFja2VuZHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCxJQUFZLFdBU1g7QUFURCxXQUFZLFdBQVc7SUFDckIsd0NBQXdDO0lBQ3hDLDRCQUFhLENBQUE7SUFDYiwrQkFBK0I7SUFDL0IseUNBQTBCLENBQUE7SUFDMUIsaURBQWlEO0lBQ2pELHNEQUF1QyxDQUFBO0lBQ3ZDLHFEQUFxRDtJQUNyRCx1REFBd0MsQ0FBQTtBQUMxQyxDQUFDLEVBVFcsV0FBVywyQkFBWCxXQUFXLFFBU3RCIn0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmJfYmFja2VuZHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCxJQUFZLFdBU1g7QUFURCxXQUFZLFdBQVc7SUFDckIsd0NBQXdDO0lBQ3hDLDRCQUFhLENBQUE7SUFDYiwrQkFBK0I7SUFDL0Isd0NBQXlCLENBQUE7SUFDekIsaURBQWlEO0lBQ2pELG9EQUFxQyxDQUFBO0lBQ3JDLHFEQUFxRDtJQUNyRCx3REFBeUMsQ0FBQTtBQUMzQyxDQUFDLEVBVFcsV0FBVywyQkFBWCxXQUFXLFFBU3RCIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bb_backends/node/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1D;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC5B,OAAO,CAAC,YAAY,CAAC,CA6CvB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAwB3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bb_backends/node/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1D;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC5B,OAAO,CAAC,YAAY,CAAC,CAuDvB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAkC3B"}
@@ -13,6 +13,10 @@ const index_js_2 = require("../index.js");
13
13
  * Create backend of specific type (no fallback)
14
14
  */
15
15
  async function createAsyncBackend(type, options, logger) {
16
+ options = {
17
+ ...options,
18
+ wasmPath: options.wasmPath ?? process.env.BB_WASM_PATH,
19
+ };
16
20
  switch (type) {
17
21
  case index_js_2.BackendType.NativeUnixSocket: {
18
22
  const bbPath = (0, platform_js_1.findBbBinary)(options.bbPath);
@@ -20,7 +24,7 @@ async function createAsyncBackend(type, options, logger) {
20
24
  throw new Error('Native backend requires bb binary.');
21
25
  }
22
26
  logger(`Using native Unix socket backend: ${bbPath}`);
23
- const socket = new native_socket_js_1.BarretenbergNativeSocketAsyncBackend(bbPath, options.threads);
27
+ const socket = new native_socket_js_1.BarretenbergNativeSocketAsyncBackend(bbPath, options.threads, options.logger);
24
28
  return new index_js_1.Barretenberg(socket, options);
25
29
  }
26
30
  case index_js_2.BackendType.NativeSharedMemory: {
@@ -34,7 +38,7 @@ async function createAsyncBackend(type, options, logger) {
34
38
  }
35
39
  logger(`Using native shared memory backend (via sync adapter): ${bbPath}`);
36
40
  // Use sync backend with adapter to provide async interface
37
- const syncBackend = await native_shm_js_1.BarretenbergNativeShmSyncBackend.new(bbPath, options.threads, options.maxClients);
41
+ const syncBackend = await native_shm_js_1.BarretenbergNativeShmSyncBackend.new(bbPath, options.threads, options.maxClients, options.logger);
38
42
  const asyncBackend = new sync_to_async_adapter_js_1.SyncToAsyncAdapter(syncBackend);
39
43
  return new index_js_1.Barretenberg(asyncBackend, options);
40
44
  }
@@ -59,6 +63,10 @@ async function createAsyncBackend(type, options, logger) {
59
63
  * Create backend of specific type (no fallback)
60
64
  */
61
65
  async function createSyncBackend(type, options, logger) {
66
+ options = {
67
+ ...options,
68
+ wasmPath: options.wasmPath ?? process.env.BB_WASM_PATH,
69
+ };
62
70
  switch (type) {
63
71
  case index_js_2.BackendType.NativeSharedMemory: {
64
72
  const bbPath = (0, platform_js_1.findBbBinary)(options.bbPath);
@@ -70,7 +78,7 @@ async function createSyncBackend(type, options, logger) {
70
78
  throw new Error('Native sync backend requires napi client stub.');
71
79
  }
72
80
  logger(`Using native shared memory backend: ${bbPath}`);
73
- const shm = await native_shm_js_1.BarretenbergNativeShmSyncBackend.new(bbPath, options.threads, options.maxClients);
81
+ const shm = await native_shm_js_1.BarretenbergNativeShmSyncBackend.new(bbPath, options.threads, options.maxClients, options.logger);
74
82
  return new index_js_1.BarretenbergSync(shm);
75
83
  }
76
84
  case index_js_2.BackendType.Wasm:
@@ -81,4 +89,4 @@ async function createSyncBackend(type, options, logger) {
81
89
  throw new Error(`Backend ${type} not supported for BarretenbergSync`);
82
90
  }
83
91
  }
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmJfYmFja2VuZHMvbm9kZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVdBLGdEQWlEQztBQUtELDhDQTRCQztBQTdGRCx5REFBMEU7QUFDMUUsd0NBQXVGO0FBQ3ZGLG1EQUFtRTtBQUNuRSwwRUFBaUU7QUFDakUsK0NBQTZEO0FBQzdELDBEQUE2RTtBQUM3RSwwQ0FBMEQ7QUFFMUQ7O0dBRUc7QUFDSSxLQUFLLFVBQVUsa0JBQWtCLENBQ3RDLElBQWlCLEVBQ2pCLE9BQXVCLEVBQ3ZCLE1BQTZCO0lBRTdCLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDYixLQUFLLHNCQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLE1BQU0sTUFBTSxHQUFHLElBQUEsMEJBQVksRUFBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztZQUN4RCxDQUFDO1lBQ0QsTUFBTSxDQUFDLHFDQUFxQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ3RELE1BQU0sTUFBTSxHQUFHLElBQUksdURBQW9DLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqRixPQUFPLElBQUksdUJBQVksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUVELEtBQUssc0JBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7WUFDcEMsTUFBTSxNQUFNLEdBQUcsSUFBQSwwQkFBWSxFQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQ3hELENBQUM7WUFD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
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmJfYmFja2VuZHMvbm9kZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVdBLGdEQTJEQztBQUtELDhDQXNDQztBQWpIRCx5REFBMEU7QUFDMUUsd0NBQXVGO0FBQ3ZGLG1EQUFtRTtBQUNuRSwwRUFBaUU7QUFDakUsK0NBQTZEO0FBQzdELDBEQUE2RTtBQUM3RSwwQ0FBMEQ7QUFFMUQ7O0dBRUc7QUFDSSxLQUFLLFVBQVUsa0JBQWtCLENBQ3RDLElBQWlCLEVBQ2pCLE9BQXVCLEVBQ3ZCLE1BQTZCO0lBRTdCLE9BQU8sR0FBRztRQUNSLEdBQUcsT0FBTztRQUNWLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWTtLQUN2RCxDQUFDO0lBRUYsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNiLEtBQUssc0JBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFDbEMsTUFBTSxNQUFNLEdBQUcsSUFBQSwwQkFBWSxFQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQ3hELENBQUM7WUFDRCxNQUFNLENBQUMscUNBQXFDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDdEQsTUFBTSxNQUFNLEdBQUcsSUFBSSx1REFBb0MsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakcsT0FBTyxJQUFJLHVCQUFZLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFFRCxLQUFLLHNCQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLE1BQU0sTUFBTSxHQUFHLElBQUEsMEJB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