@aztec/bb.js 0.0.1-commit.f295ac2 → 0.0.1-commit.fc805bf

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 (84) 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 +2 -1
  10. package/dest/browser/barretenberg/backend.d.ts.map +1 -1
  11. package/dest/browser/barretenberg/backend.js +15 -4
  12. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
  13. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
  14. package/dest/browser/cbind/generated/api_types.d.ts +10 -44
  15. package/dest/browser/cbind/generated/api_types.d.ts.map +1 -1
  16. package/dest/browser/cbind/generated/api_types.js +11 -83
  17. package/dest/browser/cbind/generated/async.d.ts +3 -5
  18. package/dest/browser/cbind/generated/async.d.ts.map +1 -1
  19. package/dest/browser/cbind/generated/async.js +8 -32
  20. package/dest/browser/cbind/generated/sync.d.ts +3 -5
  21. package/dest/browser/cbind/generated/sync.d.ts.map +1 -1
  22. package/dest/browser/cbind/generated/sync.js +8 -30
  23. package/dest/browser/cbind/rust_codegen.d.ts +2 -1
  24. package/dest/browser/cbind/rust_codegen.d.ts.map +1 -1
  25. package/dest/browser/cbind/rust_codegen.js +47 -2
  26. package/dest/node/barretenberg/backend.d.ts +2 -1
  27. package/dest/node/barretenberg/backend.d.ts.map +1 -1
  28. package/dest/node/barretenberg/backend.js +15 -4
  29. package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  30. package/dest/node/bb_backends/node/native_shm.d.ts +1 -1
  31. package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -1
  32. package/dest/node/bb_backends/node/native_shm.js +3 -2
  33. package/dest/node/bb_backends/node/native_shm_async.d.ts +1 -1
  34. package/dest/node/bb_backends/node/native_shm_async.d.ts.map +1 -1
  35. package/dest/node/bb_backends/node/native_shm_async.js +3 -2
  36. package/dest/node/bb_backends/node/native_socket.d.ts +1 -1
  37. package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -1
  38. package/dest/node/bb_backends/node/native_socket.js +4 -2
  39. package/dest/node/cbind/generated/api_types.d.ts +10 -44
  40. package/dest/node/cbind/generated/api_types.d.ts.map +1 -1
  41. package/dest/node/cbind/generated/api_types.js +11 -83
  42. package/dest/node/cbind/generated/async.d.ts +3 -5
  43. package/dest/node/cbind/generated/async.d.ts.map +1 -1
  44. package/dest/node/cbind/generated/async.js +8 -32
  45. package/dest/node/cbind/generated/sync.d.ts +3 -5
  46. package/dest/node/cbind/generated/sync.d.ts.map +1 -1
  47. package/dest/node/cbind/generated/sync.js +8 -30
  48. package/dest/node/cbind/rust_codegen.d.ts +2 -1
  49. package/dest/node/cbind/rust_codegen.d.ts.map +1 -1
  50. package/dest/node/cbind/rust_codegen.js +47 -2
  51. package/dest/node-cjs/barretenberg/backend.d.ts +2 -1
  52. package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
  53. package/dest/node-cjs/barretenberg/backend.js +15 -4
  54. package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  55. package/dest/node-cjs/bb_backends/node/native_shm.d.ts +1 -1
  56. package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -1
  57. package/dest/node-cjs/bb_backends/node/native_shm.js +3 -2
  58. package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts +1 -1
  59. package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts.map +1 -1
  60. package/dest/node-cjs/bb_backends/node/native_shm_async.js +3 -2
  61. package/dest/node-cjs/bb_backends/node/native_socket.d.ts +1 -1
  62. package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -1
  63. package/dest/node-cjs/bb_backends/node/native_socket.js +4 -2
  64. package/dest/node-cjs/cbind/generated/api_types.d.ts +10 -44
  65. package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -1
  66. package/dest/node-cjs/cbind/generated/api_types.js +15 -95
  67. package/dest/node-cjs/cbind/generated/async.d.ts +3 -5
  68. package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -1
  69. package/dest/node-cjs/cbind/generated/async.js +7 -31
  70. package/dest/node-cjs/cbind/generated/sync.d.ts +3 -5
  71. package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -1
  72. package/dest/node-cjs/cbind/generated/sync.js +7 -29
  73. package/dest/node-cjs/cbind/rust_codegen.d.ts +2 -1
  74. package/dest/node-cjs/cbind/rust_codegen.d.ts.map +1 -1
  75. package/dest/node-cjs/cbind/rust_codegen.js +47 -2
  76. package/package.json +1 -1
  77. package/src/barretenberg/backend.ts +16 -4
  78. package/src/bb_backends/node/native_shm.ts +2 -1
  79. package/src/bb_backends/node/native_shm_async.ts +2 -1
  80. package/src/bb_backends/node/native_socket.ts +4 -1
  81. package/src/cbind/generated/api_types.ts +15 -105
  82. package/src/cbind/generated/async.ts +7 -33
  83. package/src/cbind/generated/sync.ts +7 -31
  84. package/src/cbind/rust_codegen.ts +46 -1
@@ -59,27 +59,16 @@ class SyncApi {
59
59
  }
60
60
  return (0, api_types_js_1.toCircuitVerifyResponse)(result);
61
61
  }
62
- chonkComputeStandaloneVk(command) {
63
- const msgpackCommand = (0, api_types_js_1.fromChonkComputeStandaloneVk)(command);
64
- const [variantName, result] = msgpackCall(this.backend, [["ChonkComputeStandaloneVk", msgpackCommand]]);
62
+ chonkComputeVk(command) {
63
+ const msgpackCommand = (0, api_types_js_1.fromChonkComputeVk)(command);
64
+ const [variantName, result] = msgpackCall(this.backend, [["ChonkComputeVk", msgpackCommand]]);
65
65
  if (variantName === 'ErrorResponse') {
66
66
  throw new bbapi_exception_js_1.BBApiException(result.message || 'Unknown error from barretenberg');
67
67
  }
68
- if (variantName !== 'ChonkComputeStandaloneVkResponse') {
69
- throw new bbapi_exception_js_1.BBApiException(`Expected variant name 'ChonkComputeStandaloneVkResponse' but got '${variantName}'`);
68
+ if (variantName !== 'ChonkComputeVkResponse') {
69
+ throw new bbapi_exception_js_1.BBApiException(`Expected variant name 'ChonkComputeVkResponse' but got '${variantName}'`);
70
70
  }
71
- return (0, api_types_js_1.toChonkComputeStandaloneVkResponse)(result);
72
- }
73
- chonkComputeIvcVk(command) {
74
- const msgpackCommand = (0, api_types_js_1.fromChonkComputeIvcVk)(command);
75
- const [variantName, result] = msgpackCall(this.backend, [["ChonkComputeIvcVk", msgpackCommand]]);
76
- if (variantName === 'ErrorResponse') {
77
- throw new bbapi_exception_js_1.BBApiException(result.message || 'Unknown error from barretenberg');
78
- }
79
- if (variantName !== 'ChonkComputeIvcVkResponse') {
80
- throw new bbapi_exception_js_1.BBApiException(`Expected variant name 'ChonkComputeIvcVkResponse' but got '${variantName}'`);
81
- }
82
- return (0, api_types_js_1.toChonkComputeIvcVkResponse)(result);
71
+ return (0, api_types_js_1.toChonkComputeVkResponse)(result);
83
72
  }
84
73
  chonkStart(command) {
85
74
  const msgpackCommand = (0, api_types_js_1.fromChonkStart)(command);
@@ -213,17 +202,6 @@ class SyncApi {
213
202
  }
214
203
  return (0, api_types_js_1.toPoseidon2PermutationResponse)(result);
215
204
  }
216
- poseidon2HashAccumulate(command) {
217
- const msgpackCommand = (0, api_types_js_1.fromPoseidon2HashAccumulate)(command);
218
- const [variantName, result] = msgpackCall(this.backend, [["Poseidon2HashAccumulate", msgpackCommand]]);
219
- if (variantName === 'ErrorResponse') {
220
- throw new bbapi_exception_js_1.BBApiException(result.message || 'Unknown error from barretenberg');
221
- }
222
- if (variantName !== 'Poseidon2HashAccumulateResponse') {
223
- throw new bbapi_exception_js_1.BBApiException(`Expected variant name 'Poseidon2HashAccumulateResponse' but got '${variantName}'`);
224
- }
225
- return (0, api_types_js_1.toPoseidon2HashAccumulateResponse)(result);
226
- }
227
205
  pedersenCommit(command) {
228
206
  const msgpackCommand = (0, api_types_js_1.fromPedersenCommit)(command);
229
207
  const [variantName, result] = msgpackCall(this.backend, [["PedersenCommit", msgpackCommand]]);
@@ -615,4 +593,4 @@ class SyncApi {
615
593
  }
616
594
  }
617
595
  exports.SyncApi = SyncApi;
618
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jYmluZC9nZW5lcmF0ZWQvc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsbUNBQW1DOzs7QUFHbkMsdUNBQTRDO0FBQzVDLGlFQUEwRDtBQUMxRCxpREFBcXZLO0FBRXJ2SyxTQUFTLFdBQVcsQ0FBQyxPQUE0QixFQUFFLEtBQVksRUFBRTtJQUMvRCxNQUFNLFdBQVcsR0FBRyxJQUFJLGtCQUFPLENBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkUsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoRCxPQUFPLElBQUksa0JBQU8sQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUFBLENBQ2pFO0FBRUQ7SUFDd0IsT0FBTztJQUE3QixZQUFzQixPQUE0QixFQUFFO3VCQUE5QixPQUFPO0lBQXdCLENBQUM7SUFFdEQsWUFBWSxDQUFDLE9BQXFCLEVBQXdCO1FBQ3hELE1BQU0sY0FBYyxHQUFHLElBQUEsK0JBQWdCLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RixJQUFJLFdBQVcsS0FBSyxlQUFlLEVBQUUsQ0FBQztZQUNwQyxNQUFNLElBQUksbUNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLGlDQUFpQyxDQUFDLENBQUM7UUFDaEYsQ0FBQztRQUNELElBQUksV0FBVyxLQUFLLHNCQUFzQixFQUFFLENBQUM7WUFDM0MsTUFBTSxJQUFJLG1DQUFj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
596
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jYmluZC9nZW5lcmF0ZWQvc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsbUNBQW1DOzs7QUFHbkMsdUNBQTRDO0FBQzVDLGlFQUEwRDtBQUMxRCxpREFBaS9KO0FBRWovSixTQUFTLFdBQVcsQ0FBQyxPQUE0QixFQUFFLEtBQVksRUFBRTtJQUMvRCxNQUFNLFdBQVcsR0FBRyxJQUFJLGtCQUFPLENBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkUsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoRCxPQUFPLElBQUksa0JBQU8sQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUFBLENBQ2pFO0FBRUQ7SUFDd0IsT0FBTztJQUE3QixZQUFzQixPQUE0QixFQUFFO3VCQUE5QixPQUFPO0lBQXdCLENBQUM7SUFFdEQsWUFBWSxDQUFDLE9BQXFCLEVBQXdCO1FBQ3hELE1BQU0sY0FBYyxHQUFHLElBQUEsK0JBQWdCLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RixJQUFJLFdBQVcsS0FBSyxlQUFlLEVBQUUsQ0FBQztZQUNwQyxNQUFNLElBQUksbUNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLGlDQUFpQyxDQUFDLENBQUM7UUFDaEYsQ0FBQztRQUNELElBQUksV0FBVyxLQUFLLHNCQUFzQixFQUFFLENBQUM7WUFDM0MsTUFBTSxJQUFJLG1DQUFj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
@@ -12,6 +12,7 @@ export declare class RustCodegen {
12
12
  private mapType;
13
13
  private needsSerdeBytes;
14
14
  private needsSerdeVecBytes;
15
+ private needsSerdeArray4Bytes;
15
16
  private generateField;
16
17
  private generateStruct;
17
18
  private generateConstructor;
@@ -22,4 +23,4 @@ export declare class RustCodegen {
22
23
  private generateApiMethod;
23
24
  generateApi(schema: CompiledSchema): string;
24
25
  }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVzdF9jb2RlZ2VuLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2JpbmQvcnVzdF9jb2RlZ2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUF1QixNQUFNLHFCQUFxQixDQUFDO0FBRy9FLHFCQUFhLFdBQVc7SUFFdEIsT0FBTyxDQUFDLE9BQU87SUFvQ2YsT0FBTyxDQUFDLGVBQWU7SUFLdkIsT0FBTyxDQUFDLGtCQUFrQjtJQUsxQixPQUFPLENBQUMsYUFBYTtJQXFCckIsT0FBTyxDQUFDLGNBQWM7SUF5QnRCLE9BQU8sQ0FBQyxtQkFBbUI7SUFzQjNCLE9BQU8sQ0FBQyxtQkFBbUI7SUErRTNCLE9BQU8sQ0FBQyxvQkFBb0I7SUFpRjVCLE9BQU8sQ0FBQyxvQkFBb0I7SUFnRDVCLGFBQWEsQ0FBQyxNQUFNLEVBQUUsY0FBYyxHQUFHLE1BQU0sQ0E0QjVDO0lBR0QsT0FBTyxDQUFDLGlCQUFpQjtJQXNDekIsV0FBVyxDQUFDLE1BQU0sRUFBRSxjQUFjLEdBQUcsTUFBTSxDQW1EMUM7Q0FDRiJ9
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVzdF9jb2RlZ2VuLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2JpbmQvcnVzdF9jb2RlZ2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUF1QixNQUFNLHFCQUFxQixDQUFDO0FBRy9FLHFCQUFhLFdBQVc7SUFFdEIsT0FBTyxDQUFDLE9BQU87SUFvQ2YsT0FBTyxDQUFDLGVBQWU7SUFLdkIsT0FBTyxDQUFDLGtCQUFrQjtJQUsxQixPQUFPLENBQUMscUJBQXFCO0lBSzdCLE9BQU8sQ0FBQyxhQUFhO0lBdUJyQixPQUFPLENBQUMsY0FBYztJQXlCdEIsT0FBTyxDQUFDLG1CQUFtQjtJQXNCM0IsT0FBTyxDQUFDLG1CQUFtQjtJQStFM0IsT0FBTyxDQUFDLG9CQUFvQjtJQWlGNUIsT0FBTyxDQUFDLG9CQUFvQjtJQXNGNUIsYUFBYSxDQUFDLE1BQU0sRUFBRSxjQUFjLEdBQUcsTUFBTSxDQTRCNUM7SUFHRCxPQUFPLENBQUMsaUJBQWlCO0lBc0N6QixXQUFXLENBQUMsTUFBTSxFQUFFLGNBQWMsR0FBRyxNQUFNLENBbUQxQztDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"rust_codegen.d.ts","sourceRoot":"","sources":["../../../src/cbind/rust_codegen.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,qBAAqB,CAAC;AAG/E,qBAAa,WAAW;IAEtB,OAAO,CAAC,OAAO;IAoCf,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,mBAAmB;IA+E3B,OAAO,CAAC,oBAAoB;IAiF5B,OAAO,CAAC,oBAAoB;IAgD5B,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CA4B5C;IAGD,OAAO,CAAC,iBAAiB;IAsCzB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAmD1C;CACF"}
1
+ {"version":3,"file":"rust_codegen.d.ts","sourceRoot":"","sources":["../../../src/cbind/rust_codegen.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,qBAAqB,CAAC;AAG/E,qBAAa,WAAW;IAEtB,OAAO,CAAC,OAAO;IAoCf,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,mBAAmB;IA+E3B,OAAO,CAAC,oBAAoB;IAiF5B,OAAO,CAAC,oBAAoB;IAsF5B,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CA4B5C;IAGD,OAAO,CAAC,iBAAiB;IAsCzB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAmD1C;CACF"}
@@ -50,6 +50,10 @@ class RustCodegen {
50
50
  needsSerdeVecBytes(type) {
51
51
  return type.kind === 'vector' && this.needsSerdeBytes(type.element);
52
52
  }
53
+ // Check if field needs serde(with = "serde_array4_bytes") - for [Vec<u8>; 4] (Poseidon2 state)
54
+ needsSerdeArray4Bytes(type) {
55
+ return type.kind === 'array' && type.size === 4 && this.needsSerdeBytes(type.element);
56
+ }
53
57
  // Generate struct field
54
58
  generateField(field) {
55
59
  const rustName = (0, naming_js_1.toSnakeCase)(field.name);
@@ -60,7 +64,10 @@ class RustCodegen {
60
64
  attrs += ` #[serde(rename = "${field.name}")]\n`;
61
65
  }
62
66
  // Add serde bytes handling
63
- if (this.needsSerdeVecBytes(field.type)) {
67
+ if (this.needsSerdeArray4Bytes(field.type)) {
68
+ attrs += ` #[serde(with = "serde_array4_bytes")]\n`;
69
+ }
70
+ else if (this.needsSerdeVecBytes(field.type)) {
64
71
  attrs += ` #[serde(with = "serde_vec_bytes")]\n`;
65
72
  }
66
73
  else if (this.needsSerdeBytes(field.type)) {
@@ -300,6 +307,44 @@ mod serde_vec_bytes {
300
307
  }
301
308
  deserializer.deserialize_seq(VecVecU8Visitor)
302
309
  }
310
+ }
311
+
312
+ mod serde_array4_bytes {
313
+ use serde::{Deserialize, Deserializer, Serialize, Serializer};
314
+ use serde::ser::SerializeTuple;
315
+ use serde::de::{SeqAccess, Visitor};
316
+
317
+ #[derive(Serialize, Deserialize)]
318
+ struct BytesWrapper(#[serde(with = "super::serde_bytes")] Vec<u8>);
319
+
320
+ pub fn serialize<S>(arr: &[Vec<u8>; 4], serializer: S) -> Result<S::Ok, S::Error>
321
+ where S: Serializer {
322
+ let mut tup = serializer.serialize_tuple(4)?;
323
+ for bytes in arr {
324
+ tup.serialize_element(&BytesWrapper(bytes.clone()))?;
325
+ }
326
+ tup.end()
327
+ }
328
+ pub fn deserialize<'de, D>(deserializer: D) -> Result<[Vec<u8>; 4], D::Error>
329
+ where D: Deserializer<'de> {
330
+ struct Array4Visitor;
331
+ impl<'de> Visitor<'de> for Array4Visitor {
332
+ type Value = [Vec<u8>; 4];
333
+ fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
334
+ formatter.write_str("an array of 4 byte arrays")
335
+ }
336
+ fn visit_seq<A>(self, mut seq: A) -> Result<Self::Value, A::Error>
337
+ where A: SeqAccess<'de> {
338
+ let mut arr: [Vec<u8>; 4] = Default::default();
339
+ for (i, item) in arr.iter_mut().enumerate() {
340
+ *item = seq.next_element::<BytesWrapper>()?
341
+ .ok_or_else(|| serde::de::Error::invalid_length(i, &self))?.0;
342
+ }
343
+ Ok(arr)
344
+ }
345
+ }
346
+ deserializer.deserialize_tuple(4, Array4Visitor)
347
+ }
303
348
  }`;
304
349
  }
305
350
  // Generate types file
@@ -417,4 +462,4 @@ ${apiMethods}
417
462
  }
418
463
  }
419
464
  exports.RustCodegen = RustCodegen;
420
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVzdF9jb2RlZ2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NiaW5kL3J1c3RfY29kZWdlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7O0dBUUc7OztBQUdILDJDQUF3RDtBQUV4RDtJQUNFLHlDQUF5QztJQUNqQyxPQUFPLENBQUMsSUFBVSxFQUFVO1FBQ2xDLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xCLEtBQUssV0FBVztnQkFDZCxRQUFRLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDdkIsS0FBSyxNQUFNLEVBQUUsT0FBTyxNQUFNLENBQUM7b0JBQzNCLEtBQUssSUFBSSxFQUFFLE9BQU8sSUFBSSxDQUFDO29CQUN2QixLQUFLLEtBQUssRUFBRSxPQUFPLEtBQUssQ0FBQztvQkFDekIsS0FBSyxLQUFLLEVBQUUsT0FBTyxLQUFLLENBQUM7b0JBQ3pCLEtBQUssS0FBSyxFQUFFLE9BQU8sS0FBSyxDQUFDO29CQUN6QixLQUFLLEtBQUssRUFBRSxPQUFPLEtBQUssQ0FBQztvQkFDekIsS0FBSyxRQUFRLEVBQUUsT0FBTyxRQUFRLENBQUM7b0JBQy9CLEtBQUssT0FBTyxFQUFFLE9BQU8sU0FBUyxDQUFDO29CQUMvQixLQUFLLFFBQVEsRUFBRSxPQUFPLGNBQWMsQ0FBQyxDQUFFLHlEQUF5RDtnQkFDbEcsQ0FBQztnQkFDRCxNQUFNO1lBRVIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFRLENBQUMsR0FBRyxDQUFDO1lBRS9DLEtBQUssT0FBTztnQkFDVixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFRLENBQUMsQ0FBQztnQkFDN0MseUNBQXlDO2dCQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLFFBQVEsR0FB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
465
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVzdF9jb2RlZ2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NiaW5kL3J1c3RfY29kZWdlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7O0dBUUc7OztBQUdILDJDQUF3RDtBQUV4RDtJQUNFLHlDQUF5QztJQUNqQyxPQUFPLENBQUMsSUFBVSxFQUFVO1FBQ2xDLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xCLEtBQUssV0FBVztnQkFDZCxRQUFRLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDdkIsS0FBSyxNQUFNLEVBQUUsT0FBTyxNQUFNLENBQUM7b0JBQzNCLEtBQUssSUFBSSxFQUFFLE9BQU8sSUFBSSxDQUFDO29CQUN2QixLQUFLLEtBQUssRUFBRSxPQUFPLEtBQUssQ0FBQztvQkFDekIsS0FBSyxLQUFLLEVBQUUsT0FBTyxLQUFLLENBQUM7b0JBQ3pCLEtBQUssS0FBSyxFQUFFLE9BQU8sS0FBSyxDQUFDO29CQUN6QixLQUFLLEtBQUssRUFBRSxPQUFPLEtBQUssQ0FBQztvQkFDekIsS0FBSyxRQUFRLEVBQUUsT0FBTyxRQUFRLENBQUM7b0JBQy9CLEtBQUssT0FBTyxFQUFFLE9BQU8sU0FBUyxDQUFDO29CQUMvQixLQUFLLFFBQVEsRUFBRSxPQUFPLGNBQWMsQ0FBQyxDQUFFLHlEQUF5RDtnQkFDbEcsQ0FBQztnQkFDRCxNQUFNO1lBRVIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFRLENBQUMsR0FBRyxDQUFDO1lBRS9DLEtBQUssT0FBTztnQkFDVixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFRLENBQUMsQ0FBQztnQkFDN0MseUNBQXlDO2dCQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLFFBQVEsR0FB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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aztec/bb.js",
3
3
  "packageManager": "yarn@4.5.2",
4
- "version": "0.0.1-commit.f295ac2",
4
+ "version": "0.0.1-commit.fc805bf",
5
5
  "homepage": "https://github.com/AztecProtocol/aztec-packages/tree/master/barretenberg/ts",
6
6
  "license": "MIT",
7
7
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  import { Barretenberg } from './index.js';
2
2
  import { ProofData, uint8ArrayToHex, hexToUint8Array } from '../proof/index.js';
3
- import { fromChonkProof, toChonkProof } from '../cbind/generated/api_types.js';
3
+ import { fromChonkProof, toChonkProof, ChonkProof } from '../cbind/generated/api_types.js';
4
4
  import { ungzip } from 'pako';
5
5
  import { Decoder, Encoder } from 'msgpackr';
6
6
 
@@ -326,7 +326,7 @@ export class AztecClientBackend {
326
326
  // The API currently expects a msgpack-encoded API.
327
327
  const proof = new Encoder({ useRecords: false }).encode(fromChonkProof(proveResult.proof));
328
328
  // Generate the VK
329
- const vkResult = await this.api.chonkComputeIvcVk({
329
+ const vkResult = await this.api.chonkComputeVk({
330
330
  circuit: {
331
331
  name: 'hiding',
332
332
  bytecode: this.acirBuf[this.acirBuf.length - 1],
@@ -341,8 +341,8 @@ export class AztecClientBackend {
341
341
  proveResult.proof.goblinProof.translatorProof,
342
342
  ].flat();
343
343
 
344
- // Note: Verification may not work correctly until we properly serialize the proof
345
- if (!(await this.verify(proof, vkResult.bytes))) {
344
+ // Verify using native proof directly to avoid redundant encode/decode cycle
345
+ if (!(await this.verifyNative(proveResult.proof, vkResult.bytes))) {
346
346
  throw new AztecClientBackendError('Failed to verify the private (Chonk) transaction proof!');
347
347
  }
348
348
  return [proofFields, proof, vkResult.bytes];
@@ -356,6 +356,18 @@ export class AztecClientBackend {
356
356
  return result.valid;
357
357
  }
358
358
 
359
+ /**
360
+ * Internal verification using native ChonkProof type.
361
+ * Avoids encode/decode cycle when called from prove().
362
+ */
363
+ private async verifyNative(proof: ChonkProof, vk: Uint8Array): Promise<boolean> {
364
+ const result = await this.api.chonkVerify({
365
+ proof,
366
+ vk,
367
+ });
368
+ return result.valid;
369
+ }
370
+
359
371
  async gates(): Promise<number[]> {
360
372
  const circuitSizes: number[] = [];
361
373
  for (const buf of this.acirBuf) {
@@ -3,6 +3,7 @@ import { spawn, ChildProcess } from 'child_process';
3
3
  import { openSync, closeSync, unlinkSync } from 'fs';
4
4
  import { IMsgpackBackendSync } from '../interface.js';
5
5
  import { findNapiBinary, findPackageRoot } from './platform.js';
6
+ import { threadId } from 'worker_threads';
6
7
 
7
8
  let instanceCounter = 0;
8
9
 
@@ -54,7 +55,7 @@ export class BarretenbergNativeShmSyncBackend implements IMsgpackBackendSync {
54
55
  }
55
56
 
56
57
  // Create a unique shared memory name
57
- const shmName = `bb-sync-${process.pid}-${instanceCounter++}`;
58
+ const shmName = `bb-sync-${process.pid}-${threadId}-${instanceCounter++}`;
58
59
 
59
60
  // If threads not set use 1 thread. We're not expected to do long lived work on sync backends.
60
61
  const hwc = threads ? threads.toString() : '1';
@@ -3,6 +3,7 @@ import { spawn, ChildProcess } from 'child_process';
3
3
  import { openSync, closeSync } from 'fs';
4
4
  import { IMsgpackBackendAsync } from '../interface.js';
5
5
  import { findNapiBinary, findPackageRoot } from './platform.js';
6
+ import { threadId } from 'worker_threads';
6
7
 
7
8
  let instanceCounter = 0;
8
9
 
@@ -89,7 +90,7 @@ export class BarretenbergNativeShmAsyncBackend implements IMsgpackBackendAsync {
89
90
  }
90
91
 
91
92
  // Create a unique shared memory name
92
- const shmName = `bb-async-${process.pid}-${instanceCounter++}`;
93
+ const shmName = `bb-async-${process.pid}-${threadId}-${instanceCounter++}`;
93
94
 
94
95
  // If threads not set use num cpu cores, max 16 (same as socket backend)
95
96
  const hwc = threads ? threads.toString() : '16';
@@ -5,6 +5,9 @@ import * as os from 'os';
5
5
  import * as path from 'path';
6
6
  import { IMsgpackBackendAsync } from '../interface.js';
7
7
  import readline from 'readline';
8
+ import { threadId } from 'worker_threads';
9
+
10
+ let instanceCounter = 0;
8
11
 
9
12
  /**
10
13
  * Asynchronous native backend that communicates with bb binary via Unix Domain Socket.
@@ -42,7 +45,7 @@ export class BarretenbergNativeSocketAsyncBackend implements IMsgpackBackendAsyn
42
45
 
43
46
  constructor(bbBinaryPath: string, threads?: number, logger?: (msg: string) => void) {
44
47
  // Create a unique socket path in temp directory
45
- this.socketPath = path.join(os.tmpdir(), `bb-${process.pid}-${Date.now()}.sock`);
48
+ this.socketPath = path.join(os.tmpdir(), `bb-${process.pid}-${threadId}-${instanceCounter++}.sock`);
46
49
 
47
50
  // Ensure socket path doesn't already exist (cleanup from previous crashes)
48
51
  if (fs.existsSync(this.socketPath)) {