@aztec/bb-prover 0.76.4 → 0.77.0-testnet-ignition.21

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 (82) hide show
  1. package/dest/avm_proving_tests/avm_proving_tester.d.ts +8 -8
  2. package/dest/avm_proving_tests/avm_proving_tester.d.ts.map +1 -1
  3. package/dest/avm_proving_tests/avm_proving_tester.js +24 -25
  4. package/dest/bb/cli.d.ts +3 -3
  5. package/dest/bb/cli.d.ts.map +1 -1
  6. package/dest/bb/cli.js +4 -9
  7. package/dest/bb/execute.d.ts +7 -37
  8. package/dest/bb/execute.d.ts.map +1 -1
  9. package/dest/bb/execute.js +359 -357
  10. package/dest/bb/index.js +4 -6
  11. package/dest/config.js +1 -2
  12. package/dest/honk.d.ts +1 -1
  13. package/dest/honk.d.ts.map +1 -1
  14. package/dest/honk.js +8 -5
  15. package/dest/index.d.ts +1 -1
  16. package/dest/index.d.ts.map +1 -1
  17. package/dest/index.js +0 -1
  18. package/dest/instrumentation.d.ts +2 -2
  19. package/dest/instrumentation.d.ts.map +1 -1
  20. package/dest/instrumentation.js +50 -47
  21. package/dest/prover/bb_native_private_kernel_prover.d.ts +4 -4
  22. package/dest/prover/bb_native_private_kernel_prover.d.ts.map +1 -1
  23. package/dest/prover/bb_native_private_kernel_prover.js +19 -19
  24. package/dest/prover/bb_private_kernel_prover.d.ts +7 -6
  25. package/dest/prover/bb_private_kernel_prover.d.ts.map +1 -1
  26. package/dest/prover/bb_private_kernel_prover.js +14 -15
  27. package/dest/prover/bb_prover.d.ts +7 -10
  28. package/dest/prover/bb_prover.d.ts.map +1 -1
  29. package/dest/prover/bb_prover.js +402 -447
  30. package/dest/prover/client_ivc_proof_utils.d.ts +3 -3
  31. package/dest/prover/client_ivc_proof_utils.d.ts.map +1 -1
  32. package/dest/prover/client_ivc_proof_utils.js +18 -12
  33. package/dest/prover/index.js +0 -1
  34. package/dest/stats.d.ts +2 -2
  35. package/dest/stats.d.ts.map +1 -1
  36. package/dest/stats.js +15 -14
  37. package/dest/test/delay_values.d.ts +4 -0
  38. package/dest/test/delay_values.d.ts.map +1 -0
  39. package/dest/test/delay_values.js +29 -0
  40. package/dest/test/index.js +0 -1
  41. package/dest/test/test_circuit_prover.d.ts +16 -7
  42. package/dest/test/test_circuit_prover.d.ts.map +1 -1
  43. package/dest/test/test_circuit_prover.js +165 -161
  44. package/dest/test/test_verifier.d.ts +2 -1
  45. package/dest/test/test_verifier.d.ts.map +1 -1
  46. package/dest/test/test_verifier.js +0 -1
  47. package/dest/verification_key/verification_key_data.d.ts +1 -1
  48. package/dest/verification_key/verification_key_data.d.ts.map +1 -1
  49. package/dest/verification_key/verification_key_data.js +13 -9
  50. package/dest/verifier/bb_verifier.d.ts +6 -4
  51. package/dest/verifier/bb_verifier.d.ts.map +1 -1
  52. package/dest/verifier/bb_verifier.js +18 -18
  53. package/dest/verifier/index.js +0 -1
  54. package/dest/wasm/bb_wasm_private_kernel_prover.d.ts +5 -4
  55. package/dest/wasm/bb_wasm_private_kernel_prover.d.ts.map +1 -1
  56. package/dest/wasm/bb_wasm_private_kernel_prover.js +26 -11
  57. package/dest/wasm/bundle.d.ts +1 -1
  58. package/dest/wasm/bundle.d.ts.map +1 -1
  59. package/dest/wasm/bundle.js +1 -2
  60. package/dest/wasm/lazy.d.ts +1 -1
  61. package/dest/wasm/lazy.d.ts.map +1 -1
  62. package/dest/wasm/lazy.js +1 -2
  63. package/package.json +18 -19
  64. package/src/avm_proving_tests/avm_proving_tester.ts +17 -33
  65. package/src/bb/cli.ts +3 -3
  66. package/src/bb/execute.ts +80 -211
  67. package/src/honk.ts +1 -1
  68. package/src/index.ts +1 -1
  69. package/src/instrumentation.ts +10 -10
  70. package/src/prover/bb_native_private_kernel_prover.ts +5 -4
  71. package/src/prover/bb_private_kernel_prover.ts +20 -20
  72. package/src/prover/bb_prover.ts +33 -100
  73. package/src/prover/client_ivc_proof_utils.ts +3 -3
  74. package/src/stats.ts +2 -2
  75. package/src/test/delay_values.ts +31 -0
  76. package/src/test/test_circuit_prover.ts +149 -120
  77. package/src/test/test_verifier.ts +2 -1
  78. package/src/verification_key/verification_key_data.ts +4 -7
  79. package/src/verifier/bb_verifier.ts +16 -9
  80. package/src/wasm/bb_wasm_private_kernel_prover.ts +18 -5
  81. package/src/wasm/bundle.ts +1 -1
  82. package/src/wasm/lazy.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"bb_wasm_private_kernel_prover.d.ts","sourceRoot":"","sources":["../../src/wasm/bb_wasm_private_kernel_prover.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGlE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE9E,8BAAsB,yBAA0B,SAAQ,qBAAqB;cAEtD,gBAAgB,EAAE,gBAAgB;cAClC,kBAAkB,EAAE,kBAAkB;IACzD,OAAO,CAAC,OAAO;cACI,GAAG;gBAHH,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,kBAAkB,EACjD,OAAO,GAAE,MAAU,EACR,GAAG,yCAAiC;IAKnC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;CAkBjH"}
1
+ {"version":3,"file":"bb_wasm_private_kernel_prover.d.ts","sourceRoot":"","sources":["../../src/wasm/bb_wasm_private_kernel_prover.ts"],"names":[],"mappings":";;AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE9E,8BAAsB,yBAA0B,SAAQ,qBAAqB;cAEtD,gBAAgB,EAAE,gBAAgB;cAClC,kBAAkB,EAAE,kBAAkB;IACzD,OAAO,CAAC,OAAO;cACI,GAAG;gBAHH,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,kBAAkB,EACjD,OAAO,GAAE,MAAU,EACR,GAAG,yCAAiC;IAKnC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAmB1F,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAY3G"}
@@ -1,31 +1,46 @@
1
1
  import { AztecClientBackend } from '@aztec/bb.js';
2
- import { ClientIvcProof } from '@aztec/circuits.js';
3
2
  import { createLogger } from '@aztec/foundation/log';
4
3
  import { Timer } from '@aztec/foundation/timer';
4
+ import { ClientIvcProof } from '@aztec/stdlib/proofs';
5
5
  import { serializeWitness } from '@noir-lang/noirc_abi';
6
6
  import { ungzip } from 'pako';
7
7
  import { BBPrivateKernelProver } from '../prover/bb_private_kernel_prover.js';
8
8
  export class BBWASMPrivateKernelProver extends BBPrivateKernelProver {
9
- constructor(artifactProvider, simulationProvider, threads = 1, log = createLogger('bb-prover:wasm')) {
10
- super(artifactProvider, simulationProvider, log);
11
- this.artifactProvider = artifactProvider;
12
- this.simulationProvider = simulationProvider;
13
- this.threads = threads;
14
- this.log = log;
9
+ artifactProvider;
10
+ simulationProvider;
11
+ threads;
12
+ log;
13
+ constructor(artifactProvider, simulationProvider, threads = 1, log = createLogger('bb-prover:wasm')){
14
+ super(artifactProvider, simulationProvider, log), this.artifactProvider = artifactProvider, this.simulationProvider = simulationProvider, this.threads = threads, this.log = log;
15
15
  }
16
16
  async createClientIvcProof(acirs, witnessStack) {
17
17
  const timer = new Timer();
18
18
  this.log.info(`Generating ClientIVC proof...`);
19
- const backend = new AztecClientBackend(acirs.map(acir => ungzip(acir)), { threads: this.threads });
20
- const [proof, vk] = await backend.prove(witnessStack.map(witnessMap => ungzip(serializeWitness(witnessMap))));
19
+ const backend = new AztecClientBackend(acirs.map((acir)=>ungzip(acir)), {
20
+ threads: this.threads,
21
+ logger: this.log.verbose,
22
+ wasmPath: process.env.BB_WASM_PATH
23
+ });
24
+ const [proof, vk] = await backend.prove(witnessStack.map((witnessMap)=>ungzip(serializeWitness(witnessMap))));
21
25
  await backend.destroy();
22
26
  this.log.info(`Generated ClientIVC proof`, {
23
27
  eventName: 'client-ivc-proof-generation',
24
28
  duration: timer.ms(),
25
29
  proofSize: proof.length,
26
- vkSize: vk.length,
30
+ vkSize: vk.length
27
31
  });
28
32
  return new ClientIvcProof(Buffer.from(proof), Buffer.from(vk));
29
33
  }
34
+ async computeGateCountForCircuit(_bytecode, _circuitName) {
35
+ const backend = new AztecClientBackend([
36
+ ungzip(_bytecode)
37
+ ], {
38
+ threads: this.threads,
39
+ logger: this.log.verbose,
40
+ wasmPath: process.env.BB_WASM_PATH
41
+ });
42
+ const gateCount = await backend.gates();
43
+ await backend.destroy();
44
+ return gateCount[0];
45
+ }
30
46
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmJfd2FzbV9wcml2YXRlX2tlcm5lbF9wcm92ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FzbS9iYl93YXNtX3ByaXZhdGVfa2VybmVsX3Byb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUU5RSxNQUFNLE9BQWdCLHlCQUEwQixTQUFRLHFCQUFxQjtJQUMzRSxZQUNxQixnQkFBa0MsRUFDbEMsa0JBQXNDLEVBQ2pELFVBQWtCLENBQUMsRUFDUixNQUFNLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQztRQUV2RCxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFMOUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ2pELFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDUixRQUFHLEdBQUgsR0FBRyxDQUFpQztJQUd6RCxDQUFDO0lBRWUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEtBQWUsRUFBRSxZQUEwQjtRQUNwRixNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDL0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxrQkFBa0IsQ0FDcEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUMvQixFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQzFCLENBQUM7UUFFRixNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlHLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFO1lBQ3pDLFNBQVMsRUFBRSw2QkFBNkI7WUFDeEMsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDcEIsU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3ZCLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTTtTQUNsQixDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7Q0FDRiJ9
@@ -1,4 +1,4 @@
1
- import { type SimulationProvider } from '@aztec/simulator/client';
1
+ import type { SimulationProvider } from '@aztec/simulator/client';
2
2
  import { BBWASMPrivateKernelProver } from './bb_wasm_private_kernel_prover.js';
3
3
  export declare class BBWASMBundlePrivateKernelProver extends BBWASMPrivateKernelProver {
4
4
  constructor(simulationProvider: SimulationProvider, threads?: number, log?: import("@aztec/foundation/log").Logger);
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/wasm/bundle.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,qBAAa,+BAAgC,SAAQ,yBAAyB;gBAChE,kBAAkB,EAAE,kBAAkB,EAAE,OAAO,SAAI,EAAE,GAAG,yCAAwC;CAG7G"}
1
+ {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/wasm/bundle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,qBAAa,+BAAgC,SAAQ,yBAAyB;gBAChE,kBAAkB,EAAE,kBAAkB,EAAE,OAAO,SAAI,EAAE,GAAG,yCAAwC;CAG7G"}
@@ -2,8 +2,7 @@ import { createLogger } from '@aztec/foundation/log';
2
2
  import { BundleArtifactProvider } from '@aztec/noir-protocol-circuits-types/client/bundle';
3
3
  import { BBWASMPrivateKernelProver } from './bb_wasm_private_kernel_prover.js';
4
4
  export class BBWASMBundlePrivateKernelProver extends BBWASMPrivateKernelProver {
5
- constructor(simulationProvider, threads = 1, log = createLogger('bb-prover:wasm:bundle')) {
5
+ constructor(simulationProvider, threads = 1, log = createLogger('bb-prover:wasm:bundle')){
6
6
  super(new BundleArtifactProvider(), simulationProvider, threads, log);
7
7
  }
8
8
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dhc20vYnVuZGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUczRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUUvRSxNQUFNLE9BQU8sK0JBQWdDLFNBQVEseUJBQXlCO0lBQzVFLFlBQVksa0JBQXNDLEVBQUUsT0FBTyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsWUFBWSxDQUFDLHVCQUF1QixDQUFDO1FBQzFHLEtBQUssQ0FBQyxJQUFJLHNCQUFzQixFQUFFLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7Q0FDRiJ9
@@ -1,4 +1,4 @@
1
- import { type SimulationProvider } from '@aztec/simulator/client';
1
+ import type { SimulationProvider } from '@aztec/simulator/client';
2
2
  import { BBWASMPrivateKernelProver } from './bb_wasm_private_kernel_prover.js';
3
3
  export declare class BBWASMLazyPrivateKernelProver extends BBWASMPrivateKernelProver {
4
4
  constructor(simulationProvider: SimulationProvider, threads?: number, log?: import("@aztec/foundation/log").Logger);
@@ -1 +1 @@
1
- {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/wasm/lazy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,qBAAa,6BAA8B,SAAQ,yBAAyB;gBAC9D,kBAAkB,EAAE,kBAAkB,EAAE,OAAO,SAAI,EAAE,GAAG,yCAAsC;CAG3G"}
1
+ {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/wasm/lazy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,qBAAa,6BAA8B,SAAQ,yBAAyB;gBAC9D,kBAAkB,EAAE,kBAAkB,EAAE,OAAO,SAAI,EAAE,GAAG,yCAAsC;CAG3G"}
package/dest/wasm/lazy.js CHANGED
@@ -2,8 +2,7 @@ import { createLogger } from '@aztec/foundation/log';
2
2
  import { LazyArtifactProvider } from '@aztec/noir-protocol-circuits-types/client/lazy';
3
3
  import { BBWASMPrivateKernelProver } from './bb_wasm_private_kernel_prover.js';
4
4
  export class BBWASMLazyPrivateKernelProver extends BBWASMPrivateKernelProver {
5
- constructor(simulationProvider, threads = 1, log = createLogger('bb-prover:wasm:lazy')) {
5
+ constructor(simulationProvider, threads = 1, log = createLogger('bb-prover:wasm:lazy')){
6
6
  super(new LazyArtifactProvider(), simulationProvider, threads, log);
7
7
  }
8
8
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93YXNtL2xhenkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBR3ZGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRS9FLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSx5QkFBeUI7SUFDMUUsWUFBWSxrQkFBc0MsRUFBRSxPQUFPLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxZQUFZLENBQUMscUJBQXFCLENBQUM7UUFDeEcsS0FBSyxDQUFDLElBQUksb0JBQW9CLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNGIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/bb-prover",
3
- "version": "0.76.4",
3
+ "version": "0.77.0-testnet-ignition.21",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -31,7 +31,7 @@
31
31
  "formatting": "run -T prettier --check ./src && run -T eslint ./src",
32
32
  "formatting:fix": "run -T eslint --fix ./src && run -T prettier -w ./src",
33
33
  "bb": "node --no-warnings ./dest/bb/index.js",
34
- "test": "HARDWARE_CONCURRENCY=${HARDWARE_CONCURRENCY:-16} RAYON_NUM_THREADS=${RAYON_NUM_THREADS:-4} NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
34
+ "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
35
35
  },
36
36
  "jest": {
37
37
  "moduleNameMapper": {
@@ -61,34 +61,33 @@
61
61
  "reporters": [
62
62
  "default"
63
63
  ],
64
- "testTimeout": 30000,
64
+ "testTimeout": 120000,
65
65
  "setupFiles": [
66
66
  "../../foundation/src/jest/setup.mjs"
67
67
  ]
68
68
  },
69
69
  "dependencies": {
70
- "@aztec/bb.js": "0.76.4",
71
- "@aztec/circuit-types": "0.76.4",
72
- "@aztec/circuits.js": "0.76.4",
73
- "@aztec/foundation": "0.76.4",
74
- "@aztec/noir-protocol-circuits-types": "0.76.4",
75
- "@aztec/simulator": "0.76.4",
76
- "@aztec/telemetry-client": "0.76.4",
77
- "@aztec/world-state": "0.76.4",
70
+ "@aztec/bb.js": "0.77.0-testnet-ignition.21",
71
+ "@aztec/constants": "0.77.0-testnet-ignition.21",
72
+ "@aztec/foundation": "0.77.0-testnet-ignition.21",
73
+ "@aztec/noir-protocol-circuits-types": "0.77.0-testnet-ignition.21",
74
+ "@aztec/simulator": "0.77.0-testnet-ignition.21",
75
+ "@aztec/stdlib": "0.77.0-testnet-ignition.21",
76
+ "@aztec/telemetry-client": "0.77.0-testnet-ignition.21",
77
+ "@aztec/world-state": "0.77.0-testnet-ignition.21",
78
78
  "@msgpack/msgpack": "^3.0.0-beta2",
79
- "@noir-lang/noirc_abi": "1.0.0-beta.1",
80
- "@noir-lang/types": "1.0.0-beta.1",
81
79
  "commander": "^12.1.0",
82
80
  "pako": "^2.1.0",
83
81
  "source-map-support": "^0.5.21",
84
- "tslib": "^2.4.0"
82
+ "tslib": "^2.4.0",
83
+ "@aztec/noir-noirc_abi": "0.77.0-testnet-ignition.21",
84
+ "@aztec/noir-types": "0.77.0-testnet-ignition.21"
85
85
  },
86
86
  "devDependencies": {
87
- "@aztec/ethereum": "workspace:^",
88
- "@aztec/kv-store": "workspace:^",
89
- "@aztec/noir-contracts.js": "workspace:^",
90
- "@aztec/protocol-contracts": "workspace:^",
91
- "@aztec/types": "workspace:^",
87
+ "@aztec/ethereum": "0.77.0-testnet-ignition.21",
88
+ "@aztec/kv-store": "0.77.0-testnet-ignition.21",
89
+ "@aztec/noir-contracts.js": "0.77.0-testnet-ignition.21",
90
+ "@aztec/protocol-contracts": "0.77.0-testnet-ignition.21",
92
91
  "@jest/globals": "^29.5.0",
93
92
  "@types/jest": "^29.5.0",
94
93
  "@types/memdown": "^3.0.0",
@@ -1,14 +1,16 @@
1
- import { type MerkleTreeWriteOperations } from '@aztec/circuit-types';
2
- import { type AvmCircuitInputs, AztecAddress, VerificationKeyData } from '@aztec/circuits.js';
3
1
  import { PublicTxSimulationTester, type TestEnqueuedCall } from '@aztec/simulator/public/fixtures';
4
- import { WorldStateDB } from '@aztec/simulator/server';
2
+ import { SimpleContractDataSource, WorldStateDB } from '@aztec/simulator/server';
3
+ import type { AvmCircuitInputs } from '@aztec/stdlib/avm';
4
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
+ import type { MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
6
+ import { makeAvmCircuitInputs } from '@aztec/stdlib/testing';
7
+ import { VerificationKeyData } from '@aztec/stdlib/vks';
5
8
  import { NativeWorldStateService } from '@aztec/world-state';
6
9
 
7
10
  import fs from 'node:fs/promises';
8
11
  import { tmpdir } from 'node:os';
9
12
  import path from 'path';
10
13
 
11
- import { SimpleContractDataSource } from '../../../simulator/src/avm/fixtures/simple_contract_data_source.js';
12
14
  import {
13
15
  type BBResult,
14
16
  type BBSuccess,
@@ -29,25 +31,17 @@ export class AvmProvingTester extends PublicTxSimulationTester {
29
31
  worldStateDB: WorldStateDB,
30
32
  contractDataSource: SimpleContractDataSource,
31
33
  merkleTrees: MerkleTreeWriteOperations,
32
- skipContractDeployments: boolean,
33
34
  ) {
34
- super(worldStateDB, contractDataSource, merkleTrees, skipContractDeployments);
35
+ super(worldStateDB, contractDataSource, merkleTrees);
35
36
  }
36
37
 
37
- static override async create(checkCircuitOnly: boolean = false, skipContractDeployments: boolean = false) {
38
+ static override async create(checkCircuitOnly: boolean = false) {
38
39
  const bbWorkingDirectory = await fs.mkdtemp(path.join(tmpdir(), 'bb-'));
39
40
 
40
41
  const contractDataSource = new SimpleContractDataSource();
41
42
  const merkleTrees = await (await NativeWorldStateService.tmp()).fork();
42
43
  const worldStateDB = new WorldStateDB(merkleTrees, contractDataSource);
43
- return new AvmProvingTester(
44
- bbWorkingDirectory,
45
- checkCircuitOnly,
46
- worldStateDB,
47
- contractDataSource,
48
- merkleTrees,
49
- skipContractDeployments,
50
- );
44
+ return new AvmProvingTester(bbWorkingDirectory, checkCircuitOnly, worldStateDB, contractDataSource, merkleTrees);
51
45
  }
52
46
 
53
47
  async prove(avmCircuitInputs: AvmCircuitInputs): Promise<BBResult> {
@@ -87,7 +81,7 @@ export class AvmProvingTester extends PublicTxSimulationTester {
87
81
  appCalls: TestEnqueuedCall[],
88
82
  teardownCall: TestEnqueuedCall | undefined,
89
83
  expectRevert: boolean | undefined,
90
- feePayer?: AztecAddress,
84
+ feePayer = sender,
91
85
  ) {
92
86
  const simRes = await this.simulateTx(sender, setupCalls, appCalls, teardownCall, feePayer);
93
87
  expect(simRes.revertCode.isOK()).toBe(expectRevert ? false : true);
@@ -117,24 +111,17 @@ export class AvmProvingTesterV2 extends PublicTxSimulationTester {
117
111
  worldStateDB: WorldStateDB,
118
112
  contractDataSource: SimpleContractDataSource,
119
113
  merkleTrees: MerkleTreeWriteOperations,
120
- skipContractDeployments: boolean,
121
114
  ) {
122
- super(worldStateDB, contractDataSource, merkleTrees, skipContractDeployments);
115
+ super(worldStateDB, contractDataSource, merkleTrees);
123
116
  }
124
117
 
125
- static override async create(skipContractDeployments: boolean = false) {
118
+ static override async create() {
126
119
  const bbWorkingDirectory = await fs.mkdtemp(path.join(tmpdir(), 'bb-'));
127
120
 
128
121
  const contractDataSource = new SimpleContractDataSource();
129
122
  const merkleTrees = await (await NativeWorldStateService.tmp()).fork();
130
123
  const worldStateDB = new WorldStateDB(merkleTrees, contractDataSource);
131
- return new AvmProvingTesterV2(
132
- bbWorkingDirectory,
133
- worldStateDB,
134
- contractDataSource,
135
- merkleTrees,
136
- skipContractDeployments,
137
- );
124
+ return new AvmProvingTesterV2(bbWorkingDirectory, worldStateDB, contractDataSource, merkleTrees);
138
125
  }
139
126
 
140
127
  async proveV2(avmCircuitInputs: AvmCircuitInputs): Promise<BBResult> {
@@ -148,18 +135,15 @@ export class AvmProvingTesterV2 extends PublicTxSimulationTester {
148
135
  }
149
136
 
150
137
  async verifyV2(proofRes: BBSuccess): Promise<BBResult> {
151
- // Then we verify.
152
- // Placeholder for now.
153
- const publicInputs = {
154
- dummy: [] as any[],
155
- };
138
+ // TODO: Placeholder for now. They get ignored in C++.
139
+ const inputs = await makeAvmCircuitInputs();
156
140
 
157
141
  const rawVkPath = path.join(proofRes.vkPath!, 'vk');
158
142
  return await verifyAvmProofV2(
159
143
  BB_PATH,
160
144
  this.bbWorkingDirectory,
161
145
  proofRes.proofPath!,
162
- publicInputs,
146
+ inputs.publicInputs,
163
147
  rawVkPath,
164
148
  this.logger,
165
149
  );
@@ -171,7 +155,7 @@ export class AvmProvingTesterV2 extends PublicTxSimulationTester {
171
155
  appCalls: TestEnqueuedCall[],
172
156
  teardownCall: TestEnqueuedCall | undefined,
173
157
  expectRevert: boolean | undefined,
174
- feePayer?: AztecAddress,
158
+ feePayer = sender,
175
159
  ) {
176
160
  const simRes = await this.simulateTx(sender, setupCalls, appCalls, teardownCall, feePayer);
177
161
  expect(simRes.revertCode.isOK()).toBe(expectRevert ? false : true);
package/src/bb/cli.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { type LogFn } from '@aztec/foundation/log';
1
+ import type { LogFn } from '@aztec/foundation/log';
2
2
  import { ClientCircuitArtifacts } from '@aztec/noir-protocol-circuits-types/client/bundle';
3
3
  import { ServerCircuitArtifacts } from '@aztec/noir-protocol-circuits-types/server';
4
- import { type ProtocolArtifact } from '@aztec/noir-protocol-circuits-types/types';
5
- import { type NoirCompiledCircuit } from '@aztec/types/noir';
4
+ import type { ProtocolArtifact } from '@aztec/noir-protocol-circuits-types/types';
5
+ import type { NoirCompiledCircuit } from '@aztec/stdlib/noir';
6
6
 
7
7
  import { Command } from 'commander';
8
8