@aztec/prover-client 0.0.0-test.1 → 0.0.1-fake-ceab37513c

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 (107) hide show
  1. package/dest/bin/get-proof-inputs.js +1 -1
  2. package/dest/block-factory/index.d.ts +2 -0
  3. package/dest/block-factory/index.d.ts.map +1 -0
  4. package/dest/block-factory/light.d.ts +36 -0
  5. package/dest/block-factory/light.d.ts.map +1 -0
  6. package/dest/{block_builder → block-factory}/light.js +35 -30
  7. package/dest/config.d.ts +6 -6
  8. package/dest/config.d.ts.map +1 -1
  9. package/dest/config.js +11 -1
  10. package/dest/mocks/fixtures.d.ts +3 -3
  11. package/dest/mocks/fixtures.d.ts.map +1 -1
  12. package/dest/mocks/fixtures.js +2 -2
  13. package/dest/mocks/test_context.d.ts +18 -13
  14. package/dest/mocks/test_context.d.ts.map +1 -1
  15. package/dest/mocks/test_context.js +44 -38
  16. package/dest/orchestrator/block-building-helpers.d.ts +18 -11
  17. package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
  18. package/dest/orchestrator/block-building-helpers.js +80 -63
  19. package/dest/orchestrator/block-proving-state.d.ts +19 -10
  20. package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
  21. package/dest/orchestrator/block-proving-state.js +63 -46
  22. package/dest/orchestrator/epoch-proving-state.d.ts +13 -6
  23. package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
  24. package/dest/orchestrator/epoch-proving-state.js +40 -14
  25. package/dest/orchestrator/orchestrator.d.ts +7 -5
  26. package/dest/orchestrator/orchestrator.d.ts.map +1 -1
  27. package/dest/orchestrator/orchestrator.js +78 -52
  28. package/dest/orchestrator/orchestrator_metrics.d.ts +2 -0
  29. package/dest/orchestrator/orchestrator_metrics.d.ts.map +1 -1
  30. package/dest/orchestrator/orchestrator_metrics.js +9 -0
  31. package/dest/orchestrator/tx-proving-state.d.ts +2 -2
  32. package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
  33. package/dest/orchestrator/tx-proving-state.js +9 -20
  34. package/dest/prover-client/prover-client.d.ts +3 -3
  35. package/dest/prover-client/prover-client.d.ts.map +1 -1
  36. package/dest/prover-client/prover-client.js +5 -4
  37. package/dest/prover-client/server-epoch-prover.d.ts +6 -4
  38. package/dest/prover-client/server-epoch-prover.d.ts.map +1 -1
  39. package/dest/prover-client/server-epoch-prover.js +4 -4
  40. package/dest/proving_broker/broker_prover_facade.d.ts +5 -3
  41. package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
  42. package/dest/proving_broker/broker_prover_facade.js +31 -21
  43. package/dest/proving_broker/config.d.ts +9 -4
  44. package/dest/proving_broker/config.d.ts.map +1 -1
  45. package/dest/proving_broker/config.js +15 -4
  46. package/dest/proving_broker/factory.d.ts +1 -1
  47. package/dest/proving_broker/factory.d.ts.map +1 -1
  48. package/dest/proving_broker/factory.js +5 -1
  49. package/dest/proving_broker/proof_store/factory.js +1 -1
  50. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +1 -1
  51. package/dest/proving_broker/proof_store/gcs_proof_store.js +1 -0
  52. package/dest/proving_broker/proving_agent.d.ts +3 -3
  53. package/dest/proving_broker/proving_agent.d.ts.map +1 -1
  54. package/dest/proving_broker/proving_agent.js +83 -47
  55. package/dest/proving_broker/proving_broker.d.ts +11 -2
  56. package/dest/proving_broker/proving_broker.d.ts.map +1 -1
  57. package/dest/proving_broker/proving_broker.js +6 -5
  58. package/dest/proving_broker/proving_broker_database/memory.js +1 -1
  59. package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -1
  60. package/dest/proving_broker/proving_broker_database/persisted.js +9 -8
  61. package/dest/proving_broker/proving_job_controller.d.ts +7 -8
  62. package/dest/proving_broker/proving_job_controller.d.ts.map +1 -1
  63. package/dest/proving_broker/proving_job_controller.js +53 -45
  64. package/dest/proving_broker/rpc.d.ts +3 -5
  65. package/dest/proving_broker/rpc.d.ts.map +1 -1
  66. package/dest/proving_broker/rpc.js +1 -4
  67. package/dest/test/mock_proof_store.d.ts +9 -0
  68. package/dest/test/mock_proof_store.d.ts.map +1 -0
  69. package/dest/test/mock_proof_store.js +10 -0
  70. package/dest/test/mock_prover.d.ts +7 -5
  71. package/dest/test/mock_prover.d.ts.map +1 -1
  72. package/dest/test/mock_prover.js +6 -3
  73. package/package.json +28 -27
  74. package/src/bin/get-proof-inputs.ts +1 -1
  75. package/src/block-factory/index.ts +1 -0
  76. package/src/{block_builder → block-factory}/light.ts +42 -29
  77. package/src/config.ts +24 -8
  78. package/src/mocks/fixtures.ts +5 -5
  79. package/src/mocks/test_context.ts +79 -59
  80. package/src/orchestrator/block-building-helpers.ts +96 -92
  81. package/src/orchestrator/block-proving-state.ts +78 -52
  82. package/src/orchestrator/epoch-proving-state.ts +51 -20
  83. package/src/orchestrator/orchestrator.ts +119 -60
  84. package/src/orchestrator/orchestrator_metrics.ts +20 -1
  85. package/src/orchestrator/tx-proving-state.ts +17 -24
  86. package/src/prover-client/prover-client.ts +16 -14
  87. package/src/prover-client/server-epoch-prover.ts +16 -7
  88. package/src/proving_broker/broker_prover_facade.ts +52 -36
  89. package/src/proving_broker/config.ts +17 -6
  90. package/src/proving_broker/factory.ts +2 -1
  91. package/src/proving_broker/proof_store/factory.ts +1 -1
  92. package/src/proving_broker/proof_store/gcs_proof_store.ts +5 -1
  93. package/src/proving_broker/proof_store/inline_proof_store.ts +1 -1
  94. package/src/proving_broker/proving_agent.ts +89 -47
  95. package/src/proving_broker/proving_broker.ts +16 -15
  96. package/src/proving_broker/proving_broker_database/memory.ts +1 -1
  97. package/src/proving_broker/proving_broker_database/persisted.ts +9 -8
  98. package/src/proving_broker/proving_job_controller.ts +56 -65
  99. package/src/proving_broker/rpc.ts +1 -6
  100. package/src/test/mock_proof_store.ts +14 -0
  101. package/src/test/mock_prover.ts +27 -5
  102. package/dest/block_builder/index.d.ts +0 -6
  103. package/dest/block_builder/index.d.ts.map +0 -1
  104. package/dest/block_builder/light.d.ts +0 -33
  105. package/dest/block_builder/light.d.ts.map +0 -1
  106. package/src/block_builder/index.ts +0 -6
  107. /package/dest/{block_builder → block-factory}/index.js +0 -0
@@ -0,0 +1,9 @@
1
+ import type { ProvingJobId } from '@aztec/stdlib/interfaces/server';
2
+ import { ProvingRequestType } from '@aztec/stdlib/proofs';
3
+ export declare class MockProofStore {
4
+ private mockCounter;
5
+ private readonly bucketName;
6
+ private readonly basePath;
7
+ saveProofInput(jobId: ProvingJobId, type: ProvingRequestType): Promise<string>;
8
+ }
9
+ //# sourceMappingURL=mock_proof_store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock_proof_store.d.ts","sourceRoot":"","sources":["../../src/test/mock_proof_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAE3C,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;CAI/E"}
@@ -0,0 +1,10 @@
1
+ // Mock ProofStore for faster benchmarks with realistic Cloud Storage URIs
2
+ export class MockProofStore {
3
+ mockCounter = 0;
4
+ bucketName = 'aztec-proving-benchmarks';
5
+ basePath = 'proving-jobs';
6
+ saveProofInput(jobId, type) {
7
+ const uri = `gs://${this.bucketName}/${this.basePath}/inputs/${type}/${jobId}`;
8
+ return Promise.resolve(uri);
9
+ }
10
+ }
@@ -2,7 +2,7 @@ import { NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, TUBE_PROOF_LENGTH } from '@a
2
2
  import type { AvmCircuitInputs } from '@aztec/stdlib/avm';
3
3
  import { type ProofAndVerificationKey, type ProvingJob, type ProvingJobId, type ProvingJobProducer, type ProvingJobStatus, type PublicInputsAndRecursiveProof, type ServerCircuitProver } from '@aztec/stdlib/interfaces/server';
4
4
  import type { BaseParityInputs, RootParityInputs } from '@aztec/stdlib/parity';
5
- import type { BaseOrMergeRollupPublicInputs, BlockMergeRollupInputs, BlockRootOrBlockMergePublicInputs, BlockRootRollupInputs, EmptyBlockRootRollupInputs, MergeRollupInputs, PrivateBaseRollupInputs, PublicBaseRollupInputs, RootRollupInputs, RootRollupPublicInputs, SingleTxBlockRootRollupInputs } from '@aztec/stdlib/rollup';
5
+ import type { BaseOrMergeRollupPublicInputs, BlockMergeRollupInputs, BlockRootOrBlockMergePublicInputs, BlockRootRollupInputs, EmptyBlockRootRollupInputs, MergeRollupInputs, PaddingBlockRootRollupInputs, PrivateBaseRollupInputs, PublicBaseRollupInputs, RootRollupInputs, RootRollupPublicInputs, SingleTxBlockRootRollupInputs } from '@aztec/stdlib/rollup';
6
6
  import { type ProofStore } from '../proving_broker/proof_store/index.js';
7
7
  export declare class TestBroker implements ProvingJobProducer {
8
8
  private proofStore;
@@ -19,14 +19,16 @@ export declare class TestBroker implements ProvingJobProducer {
19
19
  }
20
20
  export declare class MockProver implements ServerCircuitProver {
21
21
  constructor();
22
- getAvmProof(_inputs: AvmCircuitInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<ProofAndVerificationKey<4154>>;
23
- getBaseParityProof(_inputs: BaseParityInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<import("@aztec/stdlib/parity").ParityPublicInputs, 459>>;
24
- getRootParityProof(_inputs: RootParityInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<import("@aztec/stdlib/parity").ParityPublicInputs, 459>>;
22
+ getAvmProof(_inputs: AvmCircuitInputs, _skipPublicInputsValidation?: boolean, // TODO(#14234)[Unconditional PIs validation]: Remove.
23
+ _signal?: AbortSignal, _epochNumber?: number): Promise<ProofAndVerificationKey<20000>>;
24
+ getBaseParityProof(_inputs: BaseParityInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<import("@aztec/stdlib/parity").ParityPublicInputs, 457>>;
25
+ getRootParityProof(_inputs: RootParityInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<import("@aztec/stdlib/parity").ParityPublicInputs, 457>>;
25
26
  getPrivateBaseRollupProof(_baseRollupInput: PrivateBaseRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
26
27
  getPublicBaseRollupProof(_inputs: PublicBaseRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
27
28
  getMergeRollupProof(_input: MergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
28
- getBlockMergeRollupProof(_input: BlockMergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, 538>>;
29
+ getBlockMergeRollupProof(_input: BlockMergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, 535>>;
29
30
  getEmptyBlockRootRollupProof(_input: EmptyBlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
31
+ getPaddingBlockRootRollupProof(_input: PaddingBlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
30
32
  getBlockRootRollupProof(_input: BlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
31
33
  getSingleTxBlockRootRollupProof(_input: SingleTxBlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
32
34
  getRootRollupProof(_input: RootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs>>;
@@ -1 +1 @@
1
- {"version":3,"file":"mock_prover.d.ts","sourceRoot":"","sources":["../../src/test/mock_prover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock_prover.d.ts","sourceRoot":"","sources":["../../src/test/mock_prover.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AVM_PROOF_LENGTH_IN_FIELDS, AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH, TUBE_PROOF_LENGTH } from '@aztec/constants';
1
+ import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH, TUBE_PROOF_LENGTH } from '@aztec/constants';
2
2
  import { times } from '@aztec/foundation/collection';
3
3
  import { makeProofAndVerificationKey, makePublicInputsAndRecursiveProof } from '@aztec/stdlib/interfaces/server';
4
4
  import { makeEmptyRecursiveProof, makeRecursiveProof } from '@aztec/stdlib/proofs';
@@ -43,8 +43,8 @@ export class TestBroker {
43
43
  }
44
44
  export class MockProver {
45
45
  constructor(){}
46
- getAvmProof(_inputs, _signal, _epochNumber) {
47
- return Promise.resolve(makeProofAndVerificationKey(makeEmptyRecursiveProof(AVM_PROOF_LENGTH_IN_FIELDS), VerificationKeyData.makeFake(AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS)));
46
+ getAvmProof(_inputs, _skipPublicInputsValidation, _signal, _epochNumber) {
47
+ return Promise.resolve(makeProofAndVerificationKey(makeEmptyRecursiveProof(AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED), VerificationKeyData.makeFake(AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED)));
48
48
  }
49
49
  getBaseParityProof(_inputs, _signal, _epochNumber) {
50
50
  return Promise.resolve(makePublicInputsAndRecursiveProof(makeParityPublicInputs(), makeRecursiveProof(RECURSIVE_PROOF_LENGTH), VerificationKeyData.makeFakeHonk()));
@@ -67,6 +67,9 @@ export class MockProver {
67
67
  getEmptyBlockRootRollupProof(_input, _signal, _epochNumber) {
68
68
  return Promise.resolve(makePublicInputsAndRecursiveProof(makeBlockRootOrBlockMergeRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
69
69
  }
70
+ getPaddingBlockRootRollupProof(_input, _signal, _epochNumber) {
71
+ return Promise.resolve(makePublicInputsAndRecursiveProof(makeBlockRootOrBlockMergeRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
72
+ }
70
73
  getBlockRootRollupProof(_input, _signal, _epochNumber) {
71
74
  return Promise.resolve(makePublicInputsAndRecursiveProof(makeBlockRootOrBlockMergeRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
72
75
  }
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@aztec/prover-client",
3
- "version": "0.0.0-test.1",
3
+ "version": "0.0.1-fake-ceab37513c",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
7
- "./block-builder": "./dest/block_builder/index.js",
7
+ "./block-factory": "./dest/block-factory/index.js",
8
8
  "./broker": "./dest/proving_broker/index.js",
9
9
  "./orchestrator": "./dest/orchestrator/index.js",
10
10
  "./helpers": "./dest/orchestrator/block-building-helpers.js",
@@ -25,8 +25,6 @@
25
25
  "build": "yarn clean && tsc -b",
26
26
  "build:dev": "tsc -b --watch",
27
27
  "clean": "rm -rf ./dest .tsbuildinfo",
28
- "formatting": "run -T prettier --check ./src && run -T eslint ./src",
29
- "formatting:fix": "run -T eslint --fix ./src && run -T prettier -w ./src",
30
28
  "bb": "node --no-warnings ./dest/bb/index.js",
31
29
  "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=3500000 --forceExit",
32
30
  "test:debug": "LOG_LEVEL=debug NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=1500000 --forceExit --testNamePattern prover/bb_prover/parity",
@@ -63,42 +61,45 @@
63
61
  "testTimeout": 120000,
64
62
  "setupFiles": [
65
63
  "../../foundation/src/jest/setup.mjs"
64
+ ],
65
+ "testEnvironment": "../../foundation/src/jest/env.mjs",
66
+ "setupFilesAfterEnv": [
67
+ "../../foundation/src/jest/setupAfterEnv.mjs"
66
68
  ]
67
69
  },
68
70
  "dependencies": {
69
- "@aztec/bb-prover": "0.0.0-test.1",
70
- "@aztec/blob-lib": "0.0.0-test.1",
71
- "@aztec/constants": "0.0.0-test.1",
72
- "@aztec/ethereum": "0.0.0-test.1",
73
- "@aztec/foundation": "0.0.0-test.1",
74
- "@aztec/kv-store": "0.0.0-test.1",
75
- "@aztec/noir-protocol-circuits-types": "0.0.0-test.1",
76
- "@aztec/protocol-contracts": "0.0.0-test.1",
77
- "@aztec/simulator": "0.0.0-test.1",
78
- "@aztec/stdlib": "0.0.0-test.1",
79
- "@aztec/telemetry-client": "0.0.0-test.1",
80
- "@aztec/world-state": "0.0.0-test.1",
71
+ "@aztec/bb-prover": "0.0.1-fake-ceab37513c",
72
+ "@aztec/blob-lib": "0.0.1-fake-ceab37513c",
73
+ "@aztec/constants": "0.0.1-fake-ceab37513c",
74
+ "@aztec/ethereum": "0.0.1-fake-ceab37513c",
75
+ "@aztec/foundation": "0.0.1-fake-ceab37513c",
76
+ "@aztec/kv-store": "0.0.1-fake-ceab37513c",
77
+ "@aztec/noir-protocol-circuits-types": "0.0.1-fake-ceab37513c",
78
+ "@aztec/noir-types": "0.0.1-fake-ceab37513c",
79
+ "@aztec/protocol-contracts": "0.0.1-fake-ceab37513c",
80
+ "@aztec/simulator": "0.0.1-fake-ceab37513c",
81
+ "@aztec/stdlib": "0.0.1-fake-ceab37513c",
82
+ "@aztec/telemetry-client": "0.0.1-fake-ceab37513c",
83
+ "@aztec/world-state": "0.0.1-fake-ceab37513c",
81
84
  "@google-cloud/storage": "^7.15.0",
82
85
  "@iarna/toml": "^2.2.5",
83
86
  "commander": "^12.1.0",
84
87
  "lodash.chunk": "^4.2.0",
85
88
  "source-map-support": "^0.5.21",
86
89
  "tslib": "^2.4.0",
87
- "zod": "^3.23.8",
88
- "@aztec/noir-types": "0.0.0-test.1"
90
+ "zod": "^3.23.8"
89
91
  },
90
92
  "devDependencies": {
91
- "@aztec/noir-contracts.js": "0.0.0-test.1",
92
- "@jest/globals": "^29.5.0",
93
- "@types/jest": "^29.5.0",
94
- "@types/memdown": "^3.0.0",
95
- "@types/node": "^18.7.23",
93
+ "@aztec/noir-contracts.js": "0.0.1-fake-ceab37513c",
94
+ "@jest/globals": "^30.0.0",
95
+ "@types/jest": "^30.0.0",
96
+ "@types/node": "^22.15.17",
96
97
  "@types/source-map-support": "^0.5.10",
97
98
  "get-port": "^7.1.0",
98
- "jest": "^29.5.0",
99
- "jest-mock-extended": "^3.0.3",
99
+ "jest": "^30.0.0",
100
+ "jest-mock-extended": "^4.0.0",
100
101
  "ts-node": "^10.9.1",
101
- "typescript": "^5.0.4"
102
+ "typescript": "^5.3.3"
102
103
  },
103
104
  "files": [
104
105
  "dest",
@@ -107,6 +108,6 @@
107
108
  ],
108
109
  "types": "./dest/index.d.ts",
109
110
  "engines": {
110
- "node": ">=18"
111
+ "node": ">=20.10"
111
112
  }
112
113
  }
@@ -36,7 +36,7 @@ async function main() {
36
36
  logger.info(`Found inputs for ${ProvingRequestType[input.type]}`);
37
37
  writeProofInputs(input, outDir);
38
38
 
39
- console.log((await jsonParseWithSchema(jsonStringify(input), ProvingJobInputs)).inputs);
39
+ console.log(jsonParseWithSchema(jsonStringify(input), ProvingJobInputs).inputs);
40
40
  }
41
41
 
42
42
  // This mimics the behavior of bb-prover/src/bb/execute.ts
@@ -0,0 +1 @@
1
+ export * from './light.js';
@@ -4,49 +4,61 @@ import { padArrayEnd } from '@aztec/foundation/collection';
4
4
  import { Fr } from '@aztec/foundation/fields';
5
5
  import { createLogger } from '@aztec/foundation/log';
6
6
  import { L2Block } from '@aztec/stdlib/block';
7
- import type { BlockBuilder, MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
7
+ import type { IBlockFactory, MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
8
8
  import { MerkleTreeId } from '@aztec/stdlib/trees';
9
9
  import { type GlobalVariables, type ProcessedTx, toNumBlobFields } from '@aztec/stdlib/tx';
10
10
  import { type TelemetryClient, getTelemetryClient } from '@aztec/telemetry-client';
11
11
 
12
12
  import {
13
- buildBaseRollupHints,
14
13
  buildHeaderAndBodyFromTxs,
15
14
  getTreeSnapshot,
15
+ insertSideEffectsAndBuildBaseRollupHints,
16
16
  } from '../orchestrator/block-building-helpers.js';
17
17
 
18
18
  /**
19
19
  * Builds a block and its header from a set of processed tx without running any circuits.
20
+ *
21
+ * NOTE: the onus is ON THE CALLER to update the db that is passed in with the notes hashes, nullifiers, etc
22
+ * PRIOR to calling `buildBlock`.
23
+ *
24
+ * Why? Because if you are, e.g. building a block in practice from TxObjects, you are using the
25
+ * PublicProcessor which will do this for you as it processes transactions.
26
+ *
27
+ * If you haven't already inserted the side effects, e.g. because you are in a testing context, you can use the helper
28
+ * function `buildBlockWithCleanDB`, which calls `insertSideEffectsAndBuildBaseRollupHints` for you.
20
29
  */
21
- export class LightweightBlockBuilder implements BlockBuilder {
22
- private spongeBlobState?: SpongeBlob;
30
+ export class LightweightBlockFactory implements IBlockFactory {
23
31
  private globalVariables?: GlobalVariables;
24
32
  private l1ToL2Messages?: Fr[];
25
33
 
26
- private txs: ProcessedTx[] = [];
34
+ private txs: ProcessedTx[] | undefined;
27
35
 
28
- private readonly logger = createLogger('prover-client:block_builder');
36
+ private readonly logger = createLogger('lightweight-block-factory');
29
37
 
30
- constructor(private db: MerkleTreeWriteOperations, private telemetry: TelemetryClient = getTelemetryClient()) {}
38
+ constructor(
39
+ private db: MerkleTreeWriteOperations,
40
+ private telemetry: TelemetryClient = getTelemetryClient(),
41
+ ) {}
31
42
 
32
43
  async startNewBlock(globalVariables: GlobalVariables, l1ToL2Messages: Fr[]): Promise<void> {
33
44
  this.logger.debug('Starting new block', { globalVariables: globalVariables.toInspect(), l1ToL2Messages });
34
45
  this.globalVariables = globalVariables;
35
46
  this.l1ToL2Messages = padArrayEnd(l1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP);
36
- this.txs = [];
37
- this.spongeBlobState = undefined;
47
+ this.txs = undefined;
38
48
 
39
49
  // Update L1 to L2 tree
40
50
  await this.db.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, this.l1ToL2Messages!);
41
51
  }
42
52
 
43
- async addTxs(txs: ProcessedTx[]): Promise<void> {
44
- this.spongeBlobState = SpongeBlob.init(toNumBlobFields(txs));
45
- for (const tx of txs) {
46
- this.logger.debug('Adding new tx to block', { txHash: tx.hash.toString() });
47
- this.txs.push(tx);
48
- await buildBaseRollupHints(tx, this.globalVariables!, this.db, this.spongeBlobState!);
53
+ addTxs(txs: ProcessedTx[]): Promise<void> {
54
+ // Most times, `addTxs` is only called once per block.
55
+ // So avoid copies.
56
+ if (this.txs === undefined) {
57
+ this.txs = txs;
58
+ } else {
59
+ this.txs.push(...txs);
49
60
  }
61
+ return Promise.resolve();
50
62
  }
51
63
 
52
64
  setBlockCompleted(): Promise<L2Block> {
@@ -55,12 +67,14 @@ export class LightweightBlockBuilder implements BlockBuilder {
55
67
 
56
68
  private async buildBlock(): Promise<L2Block> {
57
69
  const { header, body } = await buildHeaderAndBodyFromTxs(
58
- this.txs,
70
+ this.txs ?? [],
59
71
  this.globalVariables!,
60
72
  this.l1ToL2Messages!,
61
73
  this.db,
62
74
  );
63
75
 
76
+ header.state.validate();
77
+
64
78
  await this.db.updateArchive(header);
65
79
  const newArchive = await getTreeSnapshot(MerkleTreeId.ARCHIVE, this.db);
66
80
 
@@ -68,34 +82,33 @@ export class LightweightBlockBuilder implements BlockBuilder {
68
82
  this.logger.debug(`Built block ${block.number}`, {
69
83
  globalVariables: this.globalVariables?.toInspect(),
70
84
  archiveRoot: newArchive.root.toString(),
71
- blockHash: block.hash.toString(),
85
+ stateReference: header.state.toInspect(),
86
+ blockHash: (await block.hash()).toString(),
87
+ txs: block.body.txEffects.map(tx => tx.txHash.toString()),
72
88
  });
73
89
 
74
90
  return block;
75
91
  }
76
92
  }
77
93
 
78
- export class LightweightBlockBuilderFactory {
79
- constructor(private telemetry: TelemetryClient = getTelemetryClient()) {}
80
-
81
- create(db: MerkleTreeWriteOperations): BlockBuilder {
82
- return new LightweightBlockBuilder(db, this.telemetry);
83
- }
84
- }
85
-
86
94
  /**
87
- * Creates a block builder under the hood with the given txs and messages and creates a block.
88
- * @param db - A db fork to use for block building.
95
+ * Inserts the processed transactions into the DB, then creates a block.
96
+ * @param db - A db fork to use for block building which WILL BE MODIFIED.
89
97
  */
90
- export async function buildBlock(
98
+ export async function buildBlockWithCleanDB(
91
99
  txs: ProcessedTx[],
92
100
  globalVariables: GlobalVariables,
93
101
  l1ToL2Messages: Fr[],
94
102
  db: MerkleTreeWriteOperations,
95
103
  telemetry: TelemetryClient = getTelemetryClient(),
96
104
  ) {
97
- const builder = new LightweightBlockBuilder(db, telemetry);
105
+ const spongeBlobState = SpongeBlob.init(toNumBlobFields(txs));
106
+ const builder = new LightweightBlockFactory(db, telemetry);
98
107
  await builder.startNewBlock(globalVariables, l1ToL2Messages);
108
+ const l1ToL2MessageTree = await getTreeSnapshot(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, db);
109
+ for (const tx of txs) {
110
+ await insertSideEffectsAndBuildBaseRollupHints(tx, globalVariables, l1ToL2MessageTree, db, spongeBlobState);
111
+ }
99
112
  await builder.addTxs(txs);
100
113
  return await builder.setBlockCompleted();
101
114
  }
package/src/config.ts CHANGED
@@ -1,5 +1,10 @@
1
1
  import type { ACVMConfig, BBConfig } from '@aztec/bb-prover';
2
- import { type ConfigMappingsType, booleanConfigHelper, getConfigFromMappings } from '@aztec/foundation/config';
2
+ import {
3
+ type ConfigMappingsType,
4
+ booleanConfigHelper,
5
+ getConfigFromMappings,
6
+ numberConfigHelper,
7
+ } from '@aztec/foundation/config';
3
8
  import { type ProverConfig, proverConfigMappings } from '@aztec/stdlib/interfaces/server';
4
9
 
5
10
  import {
@@ -9,10 +14,11 @@ import {
9
14
  proverBrokerConfigMappings,
10
15
  } from './proving_broker/config.js';
11
16
 
12
- /**
13
- * The prover configuration.
14
- */
15
- export type ProverClientConfig = ProverConfig & ProverAgentConfig & ProverBrokerConfig & BBConfig & ACVMConfig;
17
+ /** The prover configuration as defined by the user. */
18
+ export type ProverClientUserConfig = ProverConfig & ProverAgentConfig & ProverBrokerConfig & BBConfig & ACVMConfig;
19
+
20
+ /** The prover configuration with all missing fields resolved. */
21
+ export type ProverClientConfig = ProverClientUserConfig & Required<Pick<ProverClientUserConfig, 'proverId'>>;
16
22
 
17
23
  export const bbConfigMappings: ConfigMappingsType<BBConfig & ACVMConfig> = {
18
24
  acvmWorkingDirectory: {
@@ -36,9 +42,19 @@ export const bbConfigMappings: ConfigMappingsType<BBConfig & ACVMConfig> = {
36
42
  description: 'Whether to skip cleanup of bb temporary files',
37
43
  ...booleanConfigHelper(false),
38
44
  },
45
+ numConcurrentIVCVerifiers: {
46
+ env: 'BB_NUM_IVC_VERIFIERS',
47
+ description: 'Max number of client IVC verifiers to run concurrently',
48
+ ...numberConfigHelper(8),
49
+ },
50
+ bbIVCConcurrency: {
51
+ env: 'BB_IVC_CONCURRENCY',
52
+ description: 'Number of threads to use for IVC verification',
53
+ ...numberConfigHelper(1),
54
+ },
39
55
  };
40
56
 
41
- export const proverClientConfigMappings: ConfigMappingsType<ProverClientConfig> = {
57
+ export const proverClientConfigMappings: ConfigMappingsType<ProverClientUserConfig> = {
42
58
  ...bbConfigMappings,
43
59
  ...proverConfigMappings,
44
60
  ...proverAgentConfigMappings,
@@ -50,6 +66,6 @@ export const proverClientConfigMappings: ConfigMappingsType<ProverClientConfig>
50
66
  * Note: If an environment variable is not set, the default value is used.
51
67
  * @returns The prover configuration.
52
68
  */
53
- export function getProverEnvVars(): ProverClientConfig {
54
- return getConfigFromMappings<ProverClientConfig>(proverClientConfigMappings);
69
+ export function getProverEnvVars(): ProverClientUserConfig {
70
+ return getConfigFromMappings<ProverClientUserConfig>(proverClientConfigMappings);
55
71
  }
@@ -5,7 +5,7 @@ import { EthAddress } from '@aztec/foundation/eth-address';
5
5
  import { Fr } from '@aztec/foundation/fields';
6
6
  import type { Logger } from '@aztec/foundation/log';
7
7
  import { fileURLToPath } from '@aztec/foundation/url';
8
- import { NativeACVMSimulator, type SimulationProvider, WASMSimulatorWithBlobs } from '@aztec/simulator/server';
8
+ import { type CircuitSimulator, NativeACVMSimulator, WASMSimulatorWithBlobs } from '@aztec/simulator/server';
9
9
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
10
10
  import { GasFees } from '@aztec/stdlib/gas';
11
11
  import type { MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
@@ -64,10 +64,10 @@ export const getEnvironmentConfig = async (logger: Logger) => {
64
64
  }
65
65
  };
66
66
 
67
- export async function getSimulationProvider(
67
+ export async function getSimulator(
68
68
  config: { acvmWorkingDirectory: string | undefined; acvmBinaryPath: string | undefined },
69
69
  logger?: Logger,
70
- ): Promise<SimulationProvider> {
70
+ ): Promise<CircuitSimulator> {
71
71
  if (config.acvmBinaryPath && config.acvmWorkingDirectory) {
72
72
  try {
73
73
  await fs.access(config.acvmBinaryPath, fs.constants.R_OK);
@@ -107,9 +107,9 @@ export const makeGlobals = (blockNumber: number) => {
107
107
  return new GlobalVariables(
108
108
  Fr.ZERO,
109
109
  Fr.ZERO,
110
- new Fr(blockNumber) /** block number */,
110
+ blockNumber /** block number */,
111
111
  new Fr(blockNumber) /** slot number */,
112
- new Fr(blockNumber) /** timestamp */,
112
+ BigInt(blockNumber) /** block number as pseudo-timestamp for testing */,
113
113
  EthAddress.ZERO,
114
114
  AztecAddress.ZERO,
115
115
  GasFees.empty(),