@aztec/bb-prover 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2 → 0.76.0

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 (71) hide show
  1. package/dest/avm_proving_tests/avm_proving_tester.d.ts +25 -0
  2. package/dest/avm_proving_tests/avm_proving_tester.d.ts.map +1 -0
  3. package/dest/avm_proving_tests/avm_proving_tester.js +16 -14
  4. package/dest/bb/cli.d.ts +12 -0
  5. package/dest/bb/cli.d.ts.map +1 -0
  6. package/dest/bb/cli.js +9 -4
  7. package/dest/bb/execute.d.ts +170 -0
  8. package/dest/bb/execute.d.ts.map +1 -0
  9. package/dest/bb/execute.js +267 -395
  10. package/dest/bb/index.d.ts +3 -0
  11. package/dest/bb/index.d.ts.map +1 -0
  12. package/dest/bb/index.js +6 -4
  13. package/dest/config.d.ts +13 -0
  14. package/dest/config.d.ts.map +1 -0
  15. package/dest/config.js +2 -1
  16. package/dest/honk.d.ts +13 -0
  17. package/dest/honk.d.ts.map +1 -0
  18. package/dest/honk.js +5 -8
  19. package/dest/index.d.ts +8 -0
  20. package/dest/index.d.ts.map +1 -0
  21. package/dest/index.js +1 -0
  22. package/dest/instrumentation.d.ts +47 -0
  23. package/dest/instrumentation.d.ts.map +1 -0
  24. package/dest/instrumentation.js +41 -44
  25. package/dest/prover/bb_native_private_kernel_prover.d.ts +25 -0
  26. package/dest/prover/bb_native_private_kernel_prover.d.ts.map +1 -0
  27. package/dest/prover/bb_native_private_kernel_prover.js +19 -19
  28. package/dest/prover/bb_private_kernel_prover.d.ts +31 -0
  29. package/dest/prover/bb_private_kernel_prover.d.ts.map +1 -0
  30. package/dest/prover/bb_private_kernel_prover.js +11 -11
  31. package/dest/prover/bb_prover.d.ts +123 -0
  32. package/dest/prover/bb_prover.d.ts.map +1 -0
  33. package/dest/prover/bb_prover.js +445 -431
  34. package/dest/prover/client_ivc_proof_utils.d.ts +25 -0
  35. package/dest/prover/client_ivc_proof_utils.d.ts.map +1 -0
  36. package/dest/prover/client_ivc_proof_utils.js +9 -15
  37. package/dest/prover/index.d.ts +4 -0
  38. package/dest/prover/index.d.ts.map +1 -0
  39. package/dest/prover/index.js +1 -0
  40. package/dest/stats.d.ts +5 -0
  41. package/dest/stats.d.ts.map +1 -0
  42. package/dest/stats.js +14 -15
  43. package/dest/test/index.d.ts +3 -0
  44. package/dest/test/index.d.ts.map +1 -0
  45. package/dest/test/index.js +1 -0
  46. package/dest/test/test_circuit_prover.d.ts +72 -0
  47. package/dest/test/test_circuit_prover.d.ts.map +1 -0
  48. package/dest/test/test_circuit_prover.js +160 -156
  49. package/dest/test/test_verifier.d.ts +5 -0
  50. package/dest/test/test_verifier.d.ts.map +1 -0
  51. package/dest/test/test_verifier.js +1 -0
  52. package/dest/verification_key/verification_key_data.d.ts +9 -0
  53. package/dest/verification_key/verification_key_data.d.ts.map +1 -0
  54. package/dest/verification_key/verification_key_data.js +8 -10
  55. package/dest/verifier/bb_verifier.d.ts +15 -0
  56. package/dest/verifier/bb_verifier.d.ts.map +1 -0
  57. package/dest/verifier/bb_verifier.js +13 -13
  58. package/dest/verifier/index.d.ts +2 -0
  59. package/dest/verifier/index.d.ts.map +1 -0
  60. package/dest/verifier/index.js +1 -0
  61. package/dest/wasm/bb_wasm_private_kernel_prover.d.ts +16 -0
  62. package/dest/wasm/bb_wasm_private_kernel_prover.d.ts.map +1 -0
  63. package/dest/wasm/bb_wasm_private_kernel_prover.js +10 -11
  64. package/dest/wasm/bundle.d.ts +6 -0
  65. package/dest/wasm/bundle.d.ts.map +1 -0
  66. package/dest/wasm/bundle.js +2 -1
  67. package/dest/wasm/lazy.d.ts +6 -0
  68. package/dest/wasm/lazy.d.ts.map +1 -0
  69. package/dest/wasm/lazy.js +2 -1
  70. package/package.json +10 -10
  71. package/src/avm_proving_tests/avm_proving_tester.ts +15 -3
@@ -0,0 +1,5 @@
1
+ import { type ClientProtocolCircuitVerifier, type Tx } from '@aztec/circuit-types';
2
+ export declare class TestCircuitVerifier implements ClientProtocolCircuitVerifier {
3
+ verifyProof(_tx: Tx): Promise<boolean>;
4
+ }
5
+ //# sourceMappingURL=test_verifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test_verifier.d.ts","sourceRoot":"","sources":["../../src/test/test_verifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,6BAA6B,EAAE,KAAK,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAEnF,qBAAa,mBAAoB,YAAW,6BAA6B;IACvE,WAAW,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAGvC"}
@@ -3,3 +3,4 @@ export class TestCircuitVerifier {
3
3
  return Promise.resolve(true);
4
4
  }
5
5
  }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF92ZXJpZmllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L3Rlc3RfdmVyaWZpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixXQUFXLENBQUMsR0FBTztRQUNqQixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNGIn0=
@@ -0,0 +1,9 @@
1
+ import { VerificationKeyData } from '@aztec/circuits.js';
2
+ /**
3
+ * Reads the verification key data stored at the specified location and parses into a VerificationKeyData
4
+ * @param vkDirectoryPath - The directory containing the verification key data files
5
+ * @returns The verification key data
6
+ */
7
+ export declare function extractVkData(vkDirectoryPath: string): Promise<VerificationKeyData>;
8
+ export declare function extractAvmVkData(vkDirectoryPath: string): Promise<VerificationKeyData>;
9
+ //# sourceMappingURL=verification_key_data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification_key_data.d.ts","sourceRoot":"","sources":["../../src/verification_key/verification_key_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAS5B;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAWzF;AAGD,wBAAsB,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAc5F"}
@@ -1,4 +1,4 @@
1
- import { AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS, Fr, VerificationKeyAsFields, VerificationKeyData } from '@aztec/circuits.js';
1
+ import { AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS, Fr, VerificationKeyAsFields, VerificationKeyData, } from '@aztec/circuits.js';
2
2
  import { hashVK } from '@aztec/circuits.js/hash';
3
3
  import { strict as assert } from 'assert';
4
4
  import { promises as fs } from 'fs';
@@ -8,12 +8,11 @@ import { VK_FIELDS_FILENAME, VK_FILENAME } from '../bb/execute.js';
8
8
  * Reads the verification key data stored at the specified location and parses into a VerificationKeyData
9
9
  * @param vkDirectoryPath - The directory containing the verification key data files
10
10
  * @returns The verification key data
11
- */ export async function extractVkData(vkDirectoryPath) {
11
+ */
12
+ export async function extractVkData(vkDirectoryPath) {
12
13
  const [rawFields, rawBinary] = await Promise.all([
13
- fs.readFile(path.join(vkDirectoryPath, VK_FIELDS_FILENAME), {
14
- encoding: 'utf-8'
15
- }),
16
- fs.readFile(path.join(vkDirectoryPath, VK_FILENAME))
14
+ fs.readFile(path.join(vkDirectoryPath, VK_FIELDS_FILENAME), { encoding: 'utf-8' }),
15
+ fs.readFile(path.join(vkDirectoryPath, VK_FILENAME)),
17
16
  ]);
18
17
  const fieldsJson = JSON.parse(rawFields);
19
18
  const fields = fieldsJson.map(Fr.fromHexString);
@@ -25,10 +24,8 @@ import { VK_FIELDS_FILENAME, VK_FILENAME } from '../bb/execute.js';
25
24
  // TODO: This was adapted from the above function. A refactor might be needed.
26
25
  export async function extractAvmVkData(vkDirectoryPath) {
27
26
  const [rawFields, rawBinary] = await Promise.all([
28
- fs.readFile(path.join(vkDirectoryPath, VK_FIELDS_FILENAME), {
29
- encoding: 'utf-8'
30
- }),
31
- fs.readFile(path.join(vkDirectoryPath, VK_FILENAME))
27
+ fs.readFile(path.join(vkDirectoryPath, VK_FIELDS_FILENAME), { encoding: 'utf-8' }),
28
+ fs.readFile(path.join(vkDirectoryPath, VK_FILENAME)),
32
29
  ]);
33
30
  const fieldsJson = JSON.parse(rawFields);
34
31
  const fields = fieldsJson.map(Fr.fromHexString);
@@ -40,3 +37,4 @@ export async function extractAvmVkData(vkDirectoryPath) {
40
37
  const vk = new VerificationKeyData(vkAsFields, rawBinary);
41
38
  return vk;
42
39
  }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZpY2F0aW9uX2tleV9kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZlcmlmaWNhdGlvbl9rZXkvdmVyaWZpY2F0aW9uX2tleV9kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxxQ0FBcUMsRUFDckMsRUFBRSxFQUNGLHVCQUF1QixFQUN2QixtQkFBbUIsR0FDcEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFakQsT0FBTyxFQUFFLE1BQU0sSUFBSSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDMUMsT0FBTyxFQUFFLFFBQVEsSUFBSSxFQUFFLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEMsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFFN0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRW5FOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGFBQWEsQ0FBQyxlQUF1QjtJQUN6RCxNQUFNLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUMvQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDbEYsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztLQUNyRCxDQUFDLENBQUM7SUFDSCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2hELDhDQUE4QztJQUM5QyxNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxNQUFNLFVBQVUsR0FBRyxJQUFJLHVCQUF1QixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvRCxPQUFPLElBQUksbUJBQW1CLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFFRCw4RUFBOEU7QUFDOUUsTUFBTSxDQUFDLEtBQUssVUFBVSxnQkFBZ0IsQ0FBQyxlQUF1QjtJQUM1RCxNQUFNLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUMvQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDbEYsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztLQUNyRCxDQUFDLENBQUM7SUFDSCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2hELGdFQUFnRTtJQUNoRSx3Q0FBd0M7SUFDeEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pCLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLHFDQUFxQyxFQUFFLHFDQUFxQyxDQUFDLENBQUM7SUFDdkcsTUFBTSxVQUFVLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0QsTUFBTSxFQUFFLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDMUQsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDIn0=
@@ -0,0 +1,15 @@
1
+ import { type ClientProtocolCircuitVerifier, Tx } from '@aztec/circuit-types';
2
+ import { type Proof, type VerificationKeyData } from '@aztec/circuits.js';
3
+ import { type Logger } from '@aztec/foundation/log';
4
+ import { type ServerProtocolArtifact } from '@aztec/noir-protocol-circuits-types/types';
5
+ import { type BBConfig } from '../config.js';
6
+ export declare class BBCircuitVerifier implements ClientProtocolCircuitVerifier {
7
+ private config;
8
+ private logger;
9
+ private constructor();
10
+ static new(config: BBConfig, logger?: Logger): Promise<BBCircuitVerifier>;
11
+ getVerificationKeyData(circuitType: ServerProtocolArtifact): VerificationKeyData;
12
+ verifyProofForCircuit(circuit: ServerProtocolArtifact, proof: Proof): Promise<void>;
13
+ verifyProof(tx: Tx): Promise<boolean>;
14
+ }
15
+ //# sourceMappingURL=bb_verifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bb_verifier.d.ts","sourceRoot":"","sources":["../../src/verifier/bb_verifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,6BAA6B,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAE9E,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE1E,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAA+B,KAAK,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAOrH,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAK7C,qBAAa,iBAAkB,YAAW,6BAA6B;IACjD,OAAO,CAAC,MAAM;IAAY,OAAO,CAAC,MAAM;IAA5D,OAAO;WAEa,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAqC;IAK9E,sBAAsB,CAAC,WAAW,EAAE,sBAAsB,GAAG,mBAAmB;IAQ1E,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK;IAkCnE,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAuCnD"}
@@ -9,16 +9,12 @@ import { getUltraHonkFlavorForCircuit } from '../honk.js';
9
9
  import { writeToOutputDirectory } from '../prover/client_ivc_proof_utils.js';
10
10
  import { mapProtocolArtifactNameToCircuitName } from '../stats.js';
11
11
  export class BBCircuitVerifier {
12
- config;
13
- logger;
14
- constructor(config, logger){
12
+ constructor(config, logger) {
15
13
  this.config = config;
16
14
  this.logger = logger;
17
15
  }
18
16
  static async new(config, logger = createLogger('bb-prover:verifier')) {
19
- await fs.mkdir(config.bbWorkingDirectory, {
20
- recursive: true
21
- });
17
+ await fs.mkdir(config.bbWorkingDirectory, { recursive: true });
22
18
  return new BBCircuitVerifier(config, logger);
23
19
  }
24
20
  getVerificationKeyData(circuitType) {
@@ -29,7 +25,7 @@ export class BBCircuitVerifier {
29
25
  return vk;
30
26
  }
31
27
  async verifyProofForCircuit(circuit, proof) {
32
- const operation = async (bbWorkingDirectory)=>{
28
+ const operation = async (bbWorkingDirectory) => {
33
29
  const proofFileName = path.join(bbWorkingDirectory, PROOF_FILENAME);
34
30
  const verificationKeyPath = path.join(bbWorkingDirectory, VK_FILENAME);
35
31
  const verificationKey = this.getVerificationKeyData(circuit);
@@ -45,7 +41,7 @@ export class BBCircuitVerifier {
45
41
  circuitName: mapProtocolArtifactNameToCircuitName(circuit),
46
42
  duration: result.durationMs,
47
43
  eventName: 'circuit-verification',
48
- proofType: 'ultra-honk'
44
+ proofType: 'ultra-honk',
49
45
  });
50
46
  };
51
47
  await runInDirectory(this.config.bbWorkingDirectory, operation, this.config.bbSkipCleanup);
@@ -56,11 +52,13 @@ export class BBCircuitVerifier {
56
52
  // rather than read from the tx object itself. We also need the vks for the translator and ecc, which
57
53
  // are not being saved along the other vks yet. Reuse the 'verifyProofForCircuit' method above once
58
54
  // we have all the verification keys available.
59
- const expectedCircuit = tx.data.forPublic ? 'PrivateKernelTailToPublicArtifact' : 'PrivateKernelTailArtifact';
55
+ const expectedCircuit = tx.data.forPublic
56
+ ? 'PrivateKernelTailToPublicArtifact'
57
+ : 'PrivateKernelTailArtifact';
60
58
  const circuit = 'ClientIVC';
61
59
  // Block below is almost copy-pasted from verifyProofForCircuit
62
- const operation = async (bbWorkingDirectory)=>{
63
- const logFunction = (message)=>{
60
+ const operation = async (bbWorkingDirectory) => {
61
+ const logFunction = (message) => {
64
62
  this.logger.debug(`${circuit} BB out - ${message}`);
65
63
  };
66
64
  await writeToOutputDirectory(tx.clientIvcProof, bbWorkingDirectory);
@@ -73,14 +71,16 @@ export class BBCircuitVerifier {
73
71
  circuitName: mapProtocolArtifactNameToCircuitName(expectedCircuit),
74
72
  duration: result.durationMs,
75
73
  eventName: 'circuit-verification',
76
- proofType: 'client-ivc'
74
+ proofType: 'client-ivc',
77
75
  });
78
76
  };
79
77
  await runInDirectory(this.config.bbWorkingDirectory, operation, this.config.bbSkipCleanup);
80
78
  return true;
81
- } catch (err) {
79
+ }
80
+ catch (err) {
82
81
  this.logger.warn(`Failed to verify ClientIVC proof for tx ${Tx.getHash(tx)}: ${String(err)}`);
83
82
  return false;
84
83
  }
85
84
  }
86
85
  }
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmJfdmVyaWZpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmVyaWZpZXIvYmJfdmVyaWZpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQyxFQUFFLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFlLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxRQUFRLElBQUksRUFBRSxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BDLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRTdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5FLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFBNEIsTUFBZ0IsRUFBVSxNQUFjO1FBQXhDLFdBQU0sR0FBTixNQUFNLENBQVU7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUcsQ0FBQztJQUVqRSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFnQixFQUFFLE1BQU0sR0FBRyxZQUFZLENBQUMsb0JBQW9CLENBQUM7UUFDbkYsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sSUFBSSxpQkFB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
@@ -0,0 +1,2 @@
1
+ export * from './bb_verifier.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/verifier/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -1 +1,2 @@
1
1
  export * from './bb_verifier.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmVyaWZpZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQyJ9
@@ -0,0 +1,16 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
3
+ import { ClientIvcProof } from '@aztec/circuits.js';
4
+ import { type ArtifactProvider } from '@aztec/noir-protocol-circuits-types/types';
5
+ import { type SimulationProvider } from '@aztec/simulator/client';
6
+ import { type WitnessMap } from '@noir-lang/types';
7
+ import { BBPrivateKernelProver } from '../prover/bb_private_kernel_prover.js';
8
+ export declare abstract class BBWASMPrivateKernelProver extends BBPrivateKernelProver {
9
+ protected artifactProvider: ArtifactProvider;
10
+ protected simulationProvider: SimulationProvider;
11
+ private threads;
12
+ protected log: import("@aztec/foundation/log").Logger;
13
+ constructor(artifactProvider: ArtifactProvider, simulationProvider: SimulationProvider, threads?: number, log?: import("@aztec/foundation/log").Logger);
14
+ createClientIvcProof(acirs: Buffer[], witnessStack: WitnessMap[]): Promise<ClientIvcProof>;
15
+ }
16
+ //# sourceMappingURL=bb_wasm_private_kernel_prover.d.ts.map
@@ -0,0 +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"}
@@ -6,27 +6,26 @@ 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
- 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;
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;
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)), {
20
- threads: this.threads
21
- });
22
- const [proof, vk] = await backend.prove(witnessStack.map((witnessMap)=>ungzip(serializeWitness(witnessMap))));
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))));
23
21
  await backend.destroy();
24
22
  this.log.info(`Generated ClientIVC proof`, {
25
23
  eventName: 'client-ivc-proof-generation',
26
24
  duration: timer.ms(),
27
25
  proofSize: proof.length,
28
- vkSize: vk.length
26
+ vkSize: vk.length,
29
27
  });
30
28
  return new ClientIvcProof(Buffer.from(proof), Buffer.from(vk));
31
29
  }
32
30
  }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmJfd2FzbV9wcml2YXRlX2tlcm5lbF9wcm92ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FzbS9iYl93YXNtX3ByaXZhdGVfa2VybmVsX3Byb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUU5RSxNQUFNLE9BQWdCLHlCQUEwQixTQUFRLHFCQUFxQjtJQUMzRSxZQUNxQixnQkFBa0MsRUFDbEMsa0JBQXNDLEVBQ2pELFVBQWtCLENBQUMsRUFDUixNQUFNLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQztRQUV2RCxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFMOUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ2pELFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDUixRQUFHLEdBQUgsR0FBRyxDQUFpQztJQUd6RCxDQUFDO0lBRWUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEtBQWUsRUFBRSxZQUEwQjtRQUNwRixNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDL0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxrQkFBa0IsQ0FDcEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUMvQixFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQzFCLENBQUM7UUFFRixNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlHLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFO1lBQ3pDLFNBQVMsRUFBRSw2QkFBNkI7WUFDeEMsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDcEIsU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3ZCLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTTtTQUNsQixDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7Q0FDRiJ9
@@ -0,0 +1,6 @@
1
+ import { type SimulationProvider } from '@aztec/simulator/client';
2
+ import { BBWASMPrivateKernelProver } from './bb_wasm_private_kernel_prover.js';
3
+ export declare class BBWASMBundlePrivateKernelProver extends BBWASMPrivateKernelProver {
4
+ constructor(simulationProvider: SimulationProvider, threads?: number, log?: import("@aztec/foundation/log").Logger);
5
+ }
6
+ //# sourceMappingURL=bundle.d.ts.map
@@ -0,0 +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"}
@@ -2,7 +2,8 @@ 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
@@ -0,0 +1,6 @@
1
+ import { type SimulationProvider } from '@aztec/simulator/client';
2
+ import { BBWASMPrivateKernelProver } from './bb_wasm_private_kernel_prover.js';
3
+ export declare class BBWASMLazyPrivateKernelProver extends BBWASMPrivateKernelProver {
4
+ constructor(simulationProvider: SimulationProvider, threads?: number, log?: import("@aztec/foundation/log").Logger);
5
+ }
6
+ //# sourceMappingURL=lazy.d.ts.map
@@ -0,0 +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"}
package/dest/wasm/lazy.js CHANGED
@@ -2,7 +2,8 @@ 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.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
3
+ "version": "0.76.0",
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": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
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}"
35
35
  },
36
36
  "jest": {
37
37
  "moduleNameMapper": {
@@ -67,14 +67,14 @@
67
67
  ]
68
68
  },
69
69
  "dependencies": {
70
- "@aztec/bb.js": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
71
- "@aztec/circuit-types": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
72
- "@aztec/circuits.js": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
73
- "@aztec/foundation": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
74
- "@aztec/noir-protocol-circuits-types": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
75
- "@aztec/simulator": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
76
- "@aztec/telemetry-client": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
77
- "@aztec/world-state": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
70
+ "@aztec/bb.js": "0.76.0",
71
+ "@aztec/circuit-types": "0.76.0",
72
+ "@aztec/circuits.js": "0.76.0",
73
+ "@aztec/foundation": "0.76.0",
74
+ "@aztec/noir-protocol-circuits-types": "0.76.0",
75
+ "@aztec/simulator": "0.76.0",
76
+ "@aztec/telemetry-client": "0.76.0",
77
+ "@aztec/world-state": "0.76.0",
78
78
  "@msgpack/msgpack": "^3.0.0-beta2",
79
79
  "@noir-lang/noirc_abi": "portal:../../noir/packages/noirc_abi",
80
80
  "@noir-lang/types": "portal:../../noir/packages/types",
@@ -1,6 +1,7 @@
1
1
  import { type MerkleTreeWriteOperations } from '@aztec/circuit-types';
2
2
  import { type AvmCircuitInputs, AztecAddress, VerificationKeyData } from '@aztec/circuits.js';
3
3
  import { PublicTxSimulationTester, type TestEnqueuedCall } from '@aztec/simulator/public/fixtures';
4
+ import { WorldStateDB } from '@aztec/simulator/server';
4
5
  import { NativeWorldStateService } from '@aztec/world-state';
5
6
 
6
7
  import fs from 'node:fs/promises';
@@ -25,11 +26,12 @@ export class AvmProvingTester extends PublicTxSimulationTester {
25
26
  constructor(
26
27
  private bbWorkingDirectory: string,
27
28
  private checkCircuitOnly: boolean,
29
+ worldStateDB: WorldStateDB,
28
30
  contractDataSource: SimpleContractDataSource,
29
31
  merkleTrees: MerkleTreeWriteOperations,
30
32
  skipContractDeployments: boolean,
31
33
  ) {
32
- super(contractDataSource, merkleTrees, skipContractDeployments);
34
+ super(worldStateDB, contractDataSource, merkleTrees, skipContractDeployments);
33
35
  }
34
36
 
35
37
  static override async create(checkCircuitOnly: boolean = false, skipContractDeployments: boolean = false) {
@@ -37,9 +39,11 @@ export class AvmProvingTester extends PublicTxSimulationTester {
37
39
 
38
40
  const contractDataSource = new SimpleContractDataSource();
39
41
  const merkleTrees = await (await NativeWorldStateService.tmp()).fork();
42
+ const worldStateDB = new WorldStateDB(merkleTrees, contractDataSource);
40
43
  return new AvmProvingTester(
41
44
  bbWorkingDirectory,
42
45
  checkCircuitOnly,
46
+ worldStateDB,
43
47
  contractDataSource,
44
48
  merkleTrees,
45
49
  skipContractDeployments,
@@ -110,11 +114,12 @@ export class AvmProvingTester extends PublicTxSimulationTester {
110
114
  export class AvmProvingTesterV2 extends PublicTxSimulationTester {
111
115
  constructor(
112
116
  private bbWorkingDirectory: string,
117
+ worldStateDB: WorldStateDB,
113
118
  contractDataSource: SimpleContractDataSource,
114
119
  merkleTrees: MerkleTreeWriteOperations,
115
120
  skipContractDeployments: boolean,
116
121
  ) {
117
- super(contractDataSource, merkleTrees, skipContractDeployments);
122
+ super(worldStateDB, contractDataSource, merkleTrees, skipContractDeployments);
118
123
  }
119
124
 
120
125
  static override async create(skipContractDeployments: boolean = false) {
@@ -122,7 +127,14 @@ export class AvmProvingTesterV2 extends PublicTxSimulationTester {
122
127
 
123
128
  const contractDataSource = new SimpleContractDataSource();
124
129
  const merkleTrees = await (await NativeWorldStateService.tmp()).fork();
125
- return new AvmProvingTesterV2(bbWorkingDirectory, contractDataSource, merkleTrees, skipContractDeployments);
130
+ const worldStateDB = new WorldStateDB(merkleTrees, contractDataSource);
131
+ return new AvmProvingTesterV2(
132
+ bbWorkingDirectory,
133
+ worldStateDB,
134
+ contractDataSource,
135
+ merkleTrees,
136
+ skipContractDeployments,
137
+ );
126
138
  }
127
139
 
128
140
  async proveV2(avmCircuitInputs: AvmCircuitInputs): Promise<BBResult> {