@aztec/prover-client 0.0.0-test.1 → 0.0.1-commit.b655e406

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 (121) hide show
  1. package/dest/block-factory/index.d.ts +2 -0
  2. package/dest/block-factory/index.d.ts.map +1 -0
  3. package/dest/block-factory/light.d.ts +38 -0
  4. package/dest/block-factory/light.d.ts.map +1 -0
  5. package/dest/block-factory/light.js +94 -0
  6. package/dest/config.d.ts +6 -6
  7. package/dest/config.d.ts.map +1 -1
  8. package/dest/config.js +11 -1
  9. package/dest/mocks/fixtures.d.ts +7 -4
  10. package/dest/mocks/fixtures.d.ts.map +1 -1
  11. package/dest/mocks/fixtures.js +32 -4
  12. package/dest/mocks/test_context.d.ts +43 -15
  13. package/dest/mocks/test_context.d.ts.map +1 -1
  14. package/dest/mocks/test_context.js +110 -48
  15. package/dest/orchestrator/block-building-helpers.d.ts +37 -28
  16. package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
  17. package/dest/orchestrator/block-building-helpers.js +156 -150
  18. package/dest/orchestrator/block-proving-state.d.ts +62 -46
  19. package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
  20. package/dest/orchestrator/block-proving-state.js +223 -179
  21. package/dest/orchestrator/checkpoint-proving-state.d.ts +63 -0
  22. package/dest/orchestrator/checkpoint-proving-state.d.ts.map +1 -0
  23. package/dest/orchestrator/checkpoint-proving-state.js +211 -0
  24. package/dest/orchestrator/epoch-proving-state.d.ts +37 -24
  25. package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
  26. package/dest/orchestrator/epoch-proving-state.js +143 -73
  27. package/dest/orchestrator/orchestrator.d.ts +34 -31
  28. package/dest/orchestrator/orchestrator.d.ts.map +1 -1
  29. package/dest/orchestrator/orchestrator.js +392 -234
  30. package/dest/orchestrator/orchestrator_metrics.d.ts +2 -0
  31. package/dest/orchestrator/orchestrator_metrics.d.ts.map +1 -1
  32. package/dest/orchestrator/orchestrator_metrics.js +9 -0
  33. package/dest/orchestrator/tx-proving-state.d.ts +12 -10
  34. package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
  35. package/dest/orchestrator/tx-proving-state.js +30 -38
  36. package/dest/prover-client/prover-client.d.ts +3 -3
  37. package/dest/prover-client/prover-client.d.ts.map +1 -1
  38. package/dest/prover-client/prover-client.js +5 -4
  39. package/dest/prover-client/server-epoch-prover.d.ts +13 -10
  40. package/dest/prover-client/server-epoch-prover.d.ts.map +1 -1
  41. package/dest/prover-client/server-epoch-prover.js +11 -11
  42. package/dest/proving_broker/broker_prover_facade.d.ts +22 -15
  43. package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
  44. package/dest/proving_broker/broker_prover_facade.js +64 -39
  45. package/dest/proving_broker/config.d.ts +9 -4
  46. package/dest/proving_broker/config.d.ts.map +1 -1
  47. package/dest/proving_broker/config.js +15 -4
  48. package/dest/proving_broker/factory.d.ts +1 -1
  49. package/dest/proving_broker/factory.d.ts.map +1 -1
  50. package/dest/proving_broker/factory.js +5 -1
  51. package/dest/proving_broker/fixtures.js +1 -1
  52. package/dest/proving_broker/proof_store/factory.js +1 -1
  53. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +1 -1
  54. package/dest/proving_broker/proof_store/gcs_proof_store.js +1 -0
  55. package/dest/proving_broker/proof_store/index.d.ts +1 -0
  56. package/dest/proving_broker/proof_store/index.d.ts.map +1 -1
  57. package/dest/proving_broker/proof_store/index.js +1 -0
  58. package/dest/proving_broker/proving_agent.d.ts +3 -3
  59. package/dest/proving_broker/proving_agent.d.ts.map +1 -1
  60. package/dest/proving_broker/proving_agent.js +83 -47
  61. package/dest/proving_broker/proving_broker.d.ts +11 -2
  62. package/dest/proving_broker/proving_broker.d.ts.map +1 -1
  63. package/dest/proving_broker/proving_broker.js +34 -22
  64. package/dest/proving_broker/proving_broker_database/memory.js +1 -1
  65. package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -1
  66. package/dest/proving_broker/proving_broker_database/persisted.js +9 -8
  67. package/dest/proving_broker/proving_job_controller.d.ts +7 -8
  68. package/dest/proving_broker/proving_job_controller.d.ts.map +1 -1
  69. package/dest/proving_broker/proving_job_controller.js +89 -61
  70. package/dest/proving_broker/rpc.d.ts +3 -5
  71. package/dest/proving_broker/rpc.d.ts.map +1 -1
  72. package/dest/proving_broker/rpc.js +1 -4
  73. package/dest/test/mock_proof_store.d.ts +9 -0
  74. package/dest/test/mock_proof_store.d.ts.map +1 -0
  75. package/dest/test/mock_proof_store.js +10 -0
  76. package/dest/test/mock_prover.d.ts +23 -16
  77. package/dest/test/mock_prover.d.ts.map +1 -1
  78. package/dest/test/mock_prover.js +38 -20
  79. package/package.json +29 -29
  80. package/src/block-factory/index.ts +1 -0
  81. package/src/block-factory/light.ts +140 -0
  82. package/src/config.ts +24 -8
  83. package/src/mocks/fixtures.ts +43 -15
  84. package/src/mocks/test_context.ts +201 -75
  85. package/src/orchestrator/block-building-helpers.ts +247 -243
  86. package/src/orchestrator/block-proving-state.ts +247 -231
  87. package/src/orchestrator/checkpoint-proving-state.ts +299 -0
  88. package/src/orchestrator/epoch-proving-state.ts +187 -111
  89. package/src/orchestrator/orchestrator.ts +590 -289
  90. package/src/orchestrator/orchestrator_metrics.ts +20 -1
  91. package/src/orchestrator/tx-proving-state.ts +60 -61
  92. package/src/prover-client/prover-client.ts +16 -14
  93. package/src/prover-client/server-epoch-prover.ts +40 -21
  94. package/src/proving_broker/broker_prover_facade.ts +200 -113
  95. package/src/proving_broker/config.ts +17 -6
  96. package/src/proving_broker/factory.ts +2 -1
  97. package/src/proving_broker/fixtures.ts +1 -1
  98. package/src/proving_broker/proof_store/factory.ts +1 -1
  99. package/src/proving_broker/proof_store/gcs_proof_store.ts +5 -1
  100. package/src/proving_broker/proof_store/index.ts +1 -0
  101. package/src/proving_broker/proof_store/inline_proof_store.ts +1 -1
  102. package/src/proving_broker/proving_agent.ts +89 -47
  103. package/src/proving_broker/proving_broker.ts +51 -32
  104. package/src/proving_broker/proving_broker_database/memory.ts +1 -1
  105. package/src/proving_broker/proving_broker_database/persisted.ts +9 -8
  106. package/src/proving_broker/proving_job_controller.ts +92 -81
  107. package/src/proving_broker/rpc.ts +1 -6
  108. package/src/test/mock_proof_store.ts +14 -0
  109. package/src/test/mock_prover.ts +164 -60
  110. package/dest/bin/get-proof-inputs.d.ts +0 -2
  111. package/dest/bin/get-proof-inputs.d.ts.map +0 -1
  112. package/dest/bin/get-proof-inputs.js +0 -51
  113. package/dest/block_builder/index.d.ts +0 -6
  114. package/dest/block_builder/index.d.ts.map +0 -1
  115. package/dest/block_builder/light.d.ts +0 -33
  116. package/dest/block_builder/light.d.ts.map +0 -1
  117. package/dest/block_builder/light.js +0 -82
  118. package/src/bin/get-proof-inputs.ts +0 -59
  119. package/src/block_builder/index.ts +0 -6
  120. package/src/block_builder/light.ts +0 -101
  121. /package/dest/{block_builder → block-factory}/index.js +0 -0
@@ -2,7 +2,9 @@ import { type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
2
2
  export declare class ProvingOrchestratorMetrics {
3
3
  readonly tracer: Tracer;
4
4
  private baseRollupInputsDuration;
5
+ private avmFallbackCount;
5
6
  constructor(client: TelemetryClient, name?: string);
6
7
  recordBaseRollupInputs(durationMs: number): void;
8
+ incAvmFallback(): void;
7
9
  }
8
10
  //# sourceMappingURL=orchestrator_metrics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator_metrics.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,eAAe,EAAE,KAAK,MAAM,EAAa,MAAM,yBAAyB,CAAC;AAEhH,qBAAa,0BAA0B;IACrC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,wBAAwB,CAAY;gBAEhC,MAAM,EAAE,eAAe,EAAE,IAAI,SAAwB;IAWjE,sBAAsB,CAAC,UAAU,EAAE,MAAM;CAG1C"}
1
+ {"version":3,"file":"orchestrator_metrics.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,0BAA0B;IACrC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,wBAAwB,CAAY;IAC5C,OAAO,CAAC,gBAAgB,CAAgB;gBAE5B,MAAM,EAAE,eAAe,EAAE,IAAI,SAAwB;IAkBjE,sBAAsB,CAAC,UAAU,EAAE,MAAM;IAIzC,cAAc;CAGf"}
@@ -2,6 +2,7 @@ import { Metrics, ValueType } from '@aztec/telemetry-client';
2
2
  export class ProvingOrchestratorMetrics {
3
3
  tracer;
4
4
  baseRollupInputsDuration;
5
+ avmFallbackCount;
5
6
  constructor(client, name = 'ProvingOrchestrator'){
6
7
  this.tracer = client.getTracer(name);
7
8
  const meter = client.getMeter(name);
@@ -10,8 +11,16 @@ export class ProvingOrchestratorMetrics {
10
11
  description: 'Duration to build base rollup inputs',
11
12
  valueType: ValueType.INT
12
13
  });
14
+ this.avmFallbackCount = meter.createUpDownCounter(Metrics.PROVING_ORCHESTRATOR_AVM_FALLBACK_COUNT, {
15
+ description: 'How many times the AVM fallback was used',
16
+ valueType: ValueType.INT
17
+ });
18
+ this.avmFallbackCount.add(0);
13
19
  }
14
20
  recordBaseRollupInputs(durationMs) {
15
21
  this.baseRollupInputsDuration.record(Math.ceil(durationMs));
16
22
  }
23
+ incAvmFallback() {
24
+ this.avmFallbackCount.add(1);
25
+ }
17
26
  }
@@ -1,7 +1,8 @@
1
- import { type AVM_PROOF_LENGTH_IN_FIELDS, type TUBE_PROOF_LENGTH } from '@aztec/constants';
1
+ import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
2
+ import type { Fr } from '@aztec/foundation/fields';
2
3
  import type { AvmCircuitInputs } from '@aztec/stdlib/avm';
3
- import type { ProofAndVerificationKey } from '@aztec/stdlib/interfaces/server';
4
- import { type BaseRollupHints, PrivateBaseRollupInputs, PublicBaseRollupInputs, TubeInputs } from '@aztec/stdlib/rollup';
4
+ import type { ProofAndVerificationKey, PublicInputsAndRecursiveProof } from '@aztec/stdlib/interfaces/server';
5
+ import { type BaseRollupHints, PrivateTxBaseRollupPrivateInputs, PublicChonkVerifierPublicInputs, PublicTxBaseRollupPrivateInputs } from '@aztec/stdlib/rollup';
5
6
  import type { AppendOnlyTreeSnapshot, MerkleTreeId } from '@aztec/stdlib/trees';
6
7
  import type { ProcessedTx } from '@aztec/stdlib/tx';
7
8
  /**
@@ -14,21 +15,22 @@ export declare class TxProvingState {
14
15
  readonly processedTx: ProcessedTx;
15
16
  private readonly baseRollupHints;
16
17
  readonly treeSnapshots: Map<MerkleTreeId, AppendOnlyTreeSnapshot>;
17
- private tube?;
18
+ private readonly proverId;
19
+ private publicChonkVerifier?;
18
20
  private avm?;
19
- constructor(processedTx: ProcessedTx, baseRollupHints: BaseRollupHints, treeSnapshots: Map<MerkleTreeId, AppendOnlyTreeSnapshot>);
21
+ constructor(processedTx: ProcessedTx, baseRollupHints: BaseRollupHints, treeSnapshots: Map<MerkleTreeId, AppendOnlyTreeSnapshot>, proverId: Fr);
20
22
  get requireAvmProof(): boolean;
21
23
  ready(): boolean;
22
- getTubeInputs(): TubeInputs;
23
24
  getAvmInputs(): AvmCircuitInputs;
25
+ getPublicChonkVerifierPrivateInputs(): import("@aztec/stdlib/rollup").PublicChonkVerifierPrivateInputs;
24
26
  getBaseRollupTypeAndInputs(): {
25
27
  rollupType: string;
26
- inputs: PublicBaseRollupInputs;
28
+ inputs: PublicTxBaseRollupPrivateInputs;
27
29
  } | {
28
30
  rollupType: string;
29
- inputs: PrivateBaseRollupInputs;
31
+ inputs: PrivateTxBaseRollupPrivateInputs;
30
32
  };
31
- setTubeProof(tubeProofAndVk: ProofAndVerificationKey<typeof TUBE_PROOF_LENGTH>): void;
32
- setAvmProof(avmProofAndVk: ProofAndVerificationKey<typeof AVM_PROOF_LENGTH_IN_FIELDS>): void;
33
+ setPublicChonkVerifierProof(publicChonkVerifierProofAndVk: PublicInputsAndRecursiveProof<PublicChonkVerifierPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>): void;
34
+ setAvmProof(avmProofAndVk: ProofAndVerificationKey<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>): void;
33
35
  }
34
36
  //# sourceMappingURL=tx-proving-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tx-proving-state.d.ts","sourceRoot":"","sources":["../../src/orchestrator/tx-proving-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,0BAA0B,EAAgB,KAAK,iBAAiB,EAAiB,MAAM,kBAAkB,CAAC;AAExH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAEL,KAAK,eAAe,EAEpB,uBAAuB,EAGvB,sBAAsB,EAEtB,UAAU,EACX,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD;;;;GAIG;AACH,qBAAa,cAAc;;aAKP,WAAW,EAAE,WAAW;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe;aAChB,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAN1E,OAAO,CAAC,IAAI,CAAC,CAAoD;IACjE,OAAO,CAAC,GAAG,CAAC,CAA6D;gBAGvD,WAAW,EAAE,WAAW,EACvB,eAAe,EAAE,eAAe,EACjC,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAG1E,IAAI,eAAe,YAElB;IAEM,KAAK;IAIL,aAAa;IAIb,YAAY,IAAI,gBAAgB;IAIhC,0BAA0B;;;;;;;IAc1B,YAAY,CAAC,cAAc,EAAE,uBAAuB,CAAC,OAAO,iBAAiB,CAAC;IAI9E,WAAW,CAAC,aAAa,EAAE,uBAAuB,CAAC,OAAO,0BAA0B,CAAC;CAqE7F"}
1
+ {"version":3,"file":"tx-proving-state.d.ts","sourceRoot":"","sources":["../../src/orchestrator/tx-proving-state.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oCAAoC,EAEpC,yCAAyC,EAC1C,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAGnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAE9G,OAAO,EACL,KAAK,eAAe,EAEpB,gCAAgC,EAEhC,+BAA+B,EAC/B,+BAA+B,EAChC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AASpD;;;;GAIG;AACH,qBAAa,cAAc;;aAQP,WAAW,EAAE,WAAW;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe;aAChB,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC;IACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAV3B,OAAO,CAAC,mBAAmB,CAAC,CAG1B;IACF,OAAO,CAAC,GAAG,CAAC,CAAuE;gBAGjE,WAAW,EAAE,WAAW,EACvB,eAAe,EAAE,eAAe,EACjC,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC,EACvD,QAAQ,EAAE,EAAE;IAG/B,IAAI,eAAe,YAElB;IAEM,KAAK;IAIL,YAAY,IAAI,gBAAgB;IAIhC,mCAAmC;IAInC,0BAA0B;;;;;;;IAc1B,2BAA2B,CAChC,6BAA6B,EAAE,6BAA6B,CAC1D,+BAA+B,EAC/B,OAAO,yCAAyC,CACjD;IAKI,WAAW,CAAC,aAAa,EAAE,uBAAuB,CAAC,OAAO,oCAAoC,CAAC;CAiDvG"}
@@ -1,7 +1,10 @@
1
- import { AVM_VK_INDEX, TUBE_VK_INDEX } from '@aztec/constants';
2
- import { getVKIndex, getVKSiblingPath } from '@aztec/noir-protocol-circuits-types/vk-tree';
3
- import { AvmProofData, PrivateBaseRollupHints, PrivateBaseRollupInputs, PrivateTubeData, PublicBaseRollupHints, PublicBaseRollupInputs, PublicTubeData, TubeInputs } from '@aztec/stdlib/rollup';
4
- import { VkWitnessData } from '@aztec/stdlib/vks';
1
+ import { AVM_VK_INDEX } from '@aztec/constants';
2
+ import { getVkData } from '@aztec/noir-protocol-circuits-types/server/vks';
3
+ import { getVKSiblingPath } from '@aztec/noir-protocol-circuits-types/vk-tree';
4
+ import { ProofData } from '@aztec/stdlib/proofs';
5
+ import { PrivateBaseRollupHints, PrivateTxBaseRollupPrivateInputs, PublicBaseRollupHints, PublicTxBaseRollupPrivateInputs } from '@aztec/stdlib/rollup';
6
+ import { VkData } from '@aztec/stdlib/vks';
7
+ import { getChonkProofFromTx, getPublicChonkVerifierPrivateInputsFromTx, toProofData } from './block-building-helpers.js';
5
8
  /**
6
9
  * Helper class to manage the proving cycle of a transaction
7
10
  * This includes the public VMs and the public kernels
@@ -10,85 +13,74 @@ import { VkWitnessData } from '@aztec/stdlib/vks';
10
13
  processedTx;
11
14
  baseRollupHints;
12
15
  treeSnapshots;
13
- tube;
16
+ proverId;
17
+ publicChonkVerifier;
14
18
  avm;
15
- constructor(processedTx, baseRollupHints, treeSnapshots){
19
+ constructor(processedTx, baseRollupHints, treeSnapshots, proverId){
16
20
  this.processedTx = processedTx;
17
21
  this.baseRollupHints = baseRollupHints;
18
22
  this.treeSnapshots = treeSnapshots;
23
+ this.proverId = proverId;
19
24
  }
20
25
  get requireAvmProof() {
21
26
  return !!this.processedTx.avmProvingRequest;
22
27
  }
23
28
  ready() {
24
- return !!this.tube && (!this.requireAvmProof || !!this.avm);
25
- }
26
- getTubeInputs() {
27
- return new TubeInputs(this.processedTx.clientIvcProof);
29
+ return !this.requireAvmProof || !!this.avm && !!this.publicChonkVerifier;
28
30
  }
29
31
  getAvmInputs() {
30
32
  return this.processedTx.avmProvingRequest.inputs;
31
33
  }
34
+ getPublicChonkVerifierPrivateInputs() {
35
+ return getPublicChonkVerifierPrivateInputsFromTx(this.processedTx, this.proverId);
36
+ }
32
37
  getBaseRollupTypeAndInputs() {
33
38
  if (this.requireAvmProof) {
34
39
  return {
35
- rollupType: 'public-base-rollup',
40
+ rollupType: 'rollup-tx-base-public',
36
41
  inputs: this.#getPublicBaseInputs()
37
42
  };
38
43
  } else {
39
44
  return {
40
- rollupType: 'private-base-rollup',
45
+ rollupType: 'rollup-tx-base-private',
41
46
  inputs: this.#getPrivateBaseInputs()
42
47
  };
43
48
  }
44
49
  }
45
- setTubeProof(tubeProofAndVk) {
46
- this.tube = tubeProofAndVk;
50
+ setPublicChonkVerifierProof(publicChonkVerifierProofAndVk) {
51
+ this.publicChonkVerifier = publicChonkVerifierProofAndVk;
47
52
  }
48
53
  setAvmProof(avmProofAndVk) {
49
54
  this.avm = avmProofAndVk;
50
55
  }
51
56
  #getPrivateBaseInputs() {
52
- if (!this.tube) {
53
- throw new Error('Tx not ready for proving base rollup.');
54
- }
55
- const vkData = this.#getTubeVkData();
56
- const tubeData = new PrivateTubeData(this.processedTx.data.toPrivateToRollupKernelCircuitPublicInputs(), this.tube.proof, vkData);
57
57
  if (!(this.baseRollupHints instanceof PrivateBaseRollupHints)) {
58
58
  throw new Error('Mismatched base rollup hints, expected private base rollup hints');
59
59
  }
60
- return new PrivateBaseRollupInputs(tubeData, this.baseRollupHints);
60
+ const privateTailProofData = new ProofData(this.processedTx.data.toPrivateToRollupKernelCircuitPublicInputs(), getChonkProofFromTx(this.processedTx), getVkData('HidingKernelToRollup'));
61
+ return new PrivateTxBaseRollupPrivateInputs(privateTailProofData, this.baseRollupHints);
61
62
  }
62
63
  #getPublicBaseInputs() {
63
64
  if (!this.processedTx.avmProvingRequest) {
64
65
  throw new Error('Should create private base rollup for a tx not requiring avm proof.');
65
66
  }
66
- if (!this.tube) {
67
- throw new Error('Tx not ready for proving base rollup: tube proof undefined');
67
+ if (!this.publicChonkVerifier) {
68
+ throw new Error('Tx not ready for proving base rollup: public chonk verifier proof undefined');
68
69
  }
69
70
  if (!this.avm) {
70
71
  throw new Error('Tx not ready for proving base rollup: avm proof undefined');
71
72
  }
72
- const tubeData = new PublicTubeData(this.processedTx.data.toPrivateToPublicKernelCircuitPublicInputs(), this.tube.proof, this.#getTubeVkData());
73
- const avmProofData = new AvmProofData(this.processedTx.avmProvingRequest.inputs.publicInputs, this.avm.proof, this.#getAvmVkData());
74
73
  if (!(this.baseRollupHints instanceof PublicBaseRollupHints)) {
75
74
  throw new Error('Mismatched base rollup hints, expected public base rollup hints');
76
75
  }
77
- return new PublicBaseRollupInputs(tubeData, avmProofData, this.baseRollupHints);
78
- }
79
- #getTubeVkData() {
80
- let vkIndex = TUBE_VK_INDEX;
81
- try {
82
- vkIndex = getVKIndex(this.tube.verificationKey);
83
- } catch (_ignored) {
84
- // TODO(#7410) The VK for the tube won't be in the tree for now, so we manually set it to the tube vk index
85
- }
86
- const vkPath = getVKSiblingPath(vkIndex);
87
- return new VkWitnessData(this.tube.verificationKey, vkIndex, vkPath);
76
+ const publicChonkVerifierProofData = toProofData(this.publicChonkVerifier);
77
+ const avmProofData = new ProofData(this.processedTx.avmProvingRequest.inputs.publicInputs, this.avm.proof, this.#getVkData(this.avm.verificationKey, AVM_VK_INDEX));
78
+ return new PublicTxBaseRollupPrivateInputs(publicChonkVerifierProofData, avmProofData, this.baseRollupHints);
88
79
  }
89
- #getAvmVkData() {
90
- const vkIndex = AVM_VK_INDEX;
80
+ #getVkData(verificationKey, vkIndex) {
81
+ // TODO(#17162): Add avm vk hash to the tree and call `getVkData('AVM')` instead.
82
+ // Below will return a path to an empty leaf.
91
83
  const vkPath = getVKSiblingPath(vkIndex);
92
- return new VkWitnessData(this.avm.verificationKey, AVM_VK_INDEX, vkPath);
84
+ return new VkData(verificationKey, vkIndex, vkPath);
93
85
  }
94
86
  }
@@ -1,6 +1,6 @@
1
1
  import { type ACVMConfig, type BBConfig } from '@aztec/bb-prover';
2
- import { Fr } from '@aztec/foundation/fields';
3
- import type { ActualProverConfig, EpochProver, EpochProverManager, ForkMerkleTreeOperations, ProvingJobBroker, ProvingJobConsumer, ServerCircuitProver } from '@aztec/stdlib/interfaces/server';
2
+ import type { EthAddress } from '@aztec/foundation/eth-address';
3
+ import { type ActualProverConfig, type EpochProver, type EpochProverManager, type ForkMerkleTreeOperations, type ProvingJobBroker, type ProvingJobConsumer, type ServerCircuitProver } from '@aztec/stdlib/interfaces/server';
4
4
  import { type TelemetryClient } from '@aztec/telemetry-client';
5
5
  import type { ProverClientConfig } from '../config.js';
6
6
  /** Manages proving of epochs by orchestrating the proving of individual blocks relying on a pool of prover agents. */
@@ -17,7 +17,7 @@ export declare class ProverClient implements EpochProverManager {
17
17
  private failedProofStore;
18
18
  private constructor();
19
19
  createEpochProver(): EpochProver;
20
- getProverId(): Fr;
20
+ getProverId(): EthAddress;
21
21
  updateProverConfig(config: Partial<ProverClientConfig>): Promise<void>;
22
22
  /**
23
23
  * Starts the prover instance
@@ -1 +1 @@
1
- {"version":3,"file":"prover-client.d.ts","sourceRoot":"","sources":["../../src/prover-client/prover-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAA2C,MAAM,kBAAkB,CAAC;AAE3G,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EAElB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAEnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAOvD,sHAAsH;AACtH,qBAAa,YAAa,YAAW,kBAAkB;IAQnD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IAZb,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAsB;IAEpC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,gBAAgB,CAAyB;IAEjD,OAAO;IAYA,iBAAiB,IAAI,WAAW;IAMhC,WAAW,IAAI,EAAE;IAIlB,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAc5E;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IASnC;;OAEG;IACU,IAAI;IAQjB;;;;;OAKG;WACiB,GAAG,CACrB,MAAM,EAAE,kBAAkB,EAC1B,UAAU,EAAE,wBAAwB,EACpC,MAAM,EAAE,gBAAgB,EACxB,SAAS,GAAE,eAAsC;IAO5C,mBAAmB,IAAI,kBAAkB;YAQlC,oBAAoB;YA2BpB,UAAU;CAGzB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,kBAAkB,GAAG,UAAU,GAAG,QAAQ,EAClD,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAU9B"}
1
+ {"version":3,"file":"prover-client.d.ts","sourceRoot":"","sources":["../../src/prover-client/prover-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAA2C,MAAM,kBAAkB,CAAC;AAE3G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAEvB,KAAK,mBAAmB,EAEzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAEnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAOvD,sHAAsH;AACtH,qBAAa,YAAa,YAAW,kBAAkB;IAQnD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IAZb,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAsB;IAEpC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,gBAAgB,CAAyB;IAEjD,OAAO;IAYA,iBAAiB,IAAI,WAAW;IAMhC,WAAW,IAAI,UAAU;IAI1B,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAc5E;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IASnC;;OAEG;IACU,IAAI;IASjB;;;;;OAKG;WACiB,GAAG,CACrB,MAAM,EAAE,kBAAkB,EAC1B,UAAU,EAAE,wBAAwB,EACpC,MAAM,EAAE,gBAAgB,EACxB,SAAS,GAAE,eAAsC;IAO5C,mBAAmB,IAAI,kBAAkB;YAQlC,oBAAoB;YA2BpB,UAAU;CAGzB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,kBAAkB,GAAG,UAAU,GAAG,QAAQ,EAClD,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAU9B"}
@@ -1,8 +1,8 @@
1
1
  import { BBNativeRollupProver, TestCircuitProver } from '@aztec/bb-prover';
2
2
  import { times } from '@aztec/foundation/collection';
3
- import { Fr } from '@aztec/foundation/fields';
4
3
  import { createLogger } from '@aztec/foundation/log';
5
4
  import { NativeACVMSimulator } from '@aztec/simulator/server';
5
+ import { tryStop } from '@aztec/stdlib/interfaces/server';
6
6
  import { getTelemetryClient } from '@aztec/telemetry-client';
7
7
  import { ProvingOrchestrator } from '../orchestrator/orchestrator.js';
8
8
  import { BrokerCircuitProverFacade } from '../proving_broker/broker_prover_facade.js';
@@ -38,7 +38,7 @@ import { ServerEpochProver } from './server-epoch-prover.js';
38
38
  return new ServerEpochProver(facade, orchestrator);
39
39
  }
40
40
  getProverId() {
41
- return this.config.proverId ?? Fr.ZERO;
41
+ return this.config.proverId;
42
42
  }
43
43
  async updateProverConfig(config) {
44
44
  const newConfig = {
@@ -68,6 +68,7 @@ import { ServerEpochProver } from './server-epoch-prover.js';
68
68
  }
69
69
  this.running = false;
70
70
  await this.stopAgents();
71
+ await tryStop(this.orchestratorClient);
71
72
  }
72
73
  /**
73
74
  * Creates a new prover client and starts it
@@ -105,6 +106,6 @@ export function buildServerCircuitProver(config, telemetry) {
105
106
  if (config.realProofs) {
106
107
  return BBNativeRollupProver.new(config, telemetry);
107
108
  }
108
- const simulationProvider = config.acvmBinaryPath ? new NativeACVMSimulator(config.acvmWorkingDirectory, config.acvmBinaryPath) : undefined;
109
- return Promise.resolve(new TestCircuitProver(simulationProvider, config, telemetry));
109
+ const simulator = config.acvmBinaryPath ? new NativeACVMSimulator(config.acvmWorkingDirectory, config.acvmBinaryPath) : undefined;
110
+ return Promise.resolve(new TestCircuitProver(simulator, config, telemetry));
110
111
  }
@@ -1,9 +1,11 @@
1
+ import type { BatchedBlob, FinalBlobBatchingChallenges } from '@aztec/blob-lib';
1
2
  import type { Fr } from '@aztec/foundation/fields';
2
- import type { L2Block } from '@aztec/stdlib/block';
3
+ import type { EthAddress } from '@aztec/stdlib/block';
3
4
  import type { EpochProver } from '@aztec/stdlib/interfaces/server';
4
5
  import type { Proof } from '@aztec/stdlib/proofs';
5
- import type { RootRollupPublicInputs } from '@aztec/stdlib/rollup';
6
- import type { BlockHeader, GlobalVariables, ProcessedTx, Tx } from '@aztec/stdlib/tx';
6
+ import type { CheckpointConstantData, RootRollupPublicInputs } from '@aztec/stdlib/rollup';
7
+ import type { BlockHeader, ProcessedTx, Tx } from '@aztec/stdlib/tx';
8
+ import type { UInt64 } from '@aztec/stdlib/types';
7
9
  import type { ProvingOrchestrator } from '../orchestrator/orchestrator.js';
8
10
  import type { BrokerCircuitProverFacade } from '../proving_broker/broker_prover_facade.js';
9
11
  /** Encapsulates the proving orchestrator and the broker facade */
@@ -11,18 +13,19 @@ export declare class ServerEpochProver implements EpochProver {
11
13
  private facade;
12
14
  private orchestrator;
13
15
  constructor(facade: BrokerCircuitProverFacade, orchestrator: ProvingOrchestrator);
14
- startNewEpoch(epochNumber: number, firstBlockNumber: number, totalNumBlocks: number): void;
15
- startTubeCircuits(txs: Tx[]): Promise<void>;
16
- setBlockCompleted(blockNumber: number, expectedBlockHeader?: BlockHeader): Promise<L2Block>;
17
- finaliseEpoch(): Promise<{
16
+ startNewEpoch(epochNumber: number, totalNumCheckpoints: number, finalBlobBatchingChallenges: FinalBlobBatchingChallenges): void;
17
+ startNewCheckpoint(checkpointIndex: number, constants: CheckpointConstantData, l1ToL2Messages: Fr[], totalNumBlocks: number, totalNumBlobFields: number, headerOfLastBlockInPreviousCheckpoint: BlockHeader): Promise<void>;
18
+ startChonkVerifierCircuits(txs: Tx[]): Promise<void>;
19
+ setBlockCompleted(blockNumber: number, expectedBlockHeader?: BlockHeader): Promise<BlockHeader>;
20
+ finalizeEpoch(): Promise<{
18
21
  publicInputs: RootRollupPublicInputs;
19
22
  proof: Proof;
23
+ batchedBlobInputs: BatchedBlob;
20
24
  }>;
21
25
  cancel(): void;
22
- getProverId(): Fr;
23
- getBlock(index: number): L2Block;
26
+ getProverId(): EthAddress;
24
27
  stop(): Promise<void>;
25
- startNewBlock(globalVariables: GlobalVariables, l1ToL2Messages: Fr[], previousBlockHeader: BlockHeader): Promise<void>;
28
+ startNewBlock(blockNumber: number, timestamp: UInt64, totalNumTxs: number): Promise<void>;
26
29
  addTxs(txs: ProcessedTx[]): Promise<void>;
27
30
  }
28
31
  //# sourceMappingURL=server-epoch-prover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-epoch-prover.d.ts","sourceRoot":"","sources":["../../src/prover-client/server-epoch-prover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAE3F,kEAAkE;AAClE,qBAAa,iBAAkB,YAAW,WAAW;IACvC,OAAO,CAAC,MAAM;IAA6B,OAAO,CAAC,YAAY;gBAAvD,MAAM,EAAE,yBAAyB,EAAU,YAAY,EAAE,mBAAmB;IAEhG,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IAI1F,iBAAiB,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAG3C,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAG3F,aAAa,IAAI,OAAO,CAAC;QAAE,YAAY,EAAE,sBAAsB,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;IAGhF,MAAM,IAAI,IAAI;IAGd,WAAW,IAAI,EAAE;IAGjB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAG1B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,aAAa,CACX,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,EAAE,EAAE,EACpB,mBAAmB,EAAE,WAAW,GAC/B,OAAO,CAAC,IAAI,CAAC;IAGhB,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1C"}
1
+ {"version":3,"file":"server-epoch-prover.d.ts","sourceRoot":"","sources":["../../src/prover-client/server-epoch-prover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAE3F,kEAAkE;AAClE,qBAAa,iBAAkB,YAAW,WAAW;IAEjD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;gBADZ,MAAM,EAAE,yBAAyB,EACjC,YAAY,EAAE,mBAAmB;IAG3C,aAAa,CACX,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,MAAM,EAC3B,2BAA2B,EAAE,2BAA2B,GACvD,IAAI;IAIP,kBAAkB,CAChB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,sBAAsB,EACjC,cAAc,EAAE,EAAE,EAAE,EACpB,cAAc,EAAE,MAAM,EACtB,kBAAkB,EAAE,MAAM,EAC1B,qCAAqC,EAAE,WAAW,GACjD,OAAO,CAAC,IAAI,CAAC;IAUhB,0BAA0B,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAGpD,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAG/F,aAAa,IAAI,OAAO,CAAC;QAAE,YAAY,EAAE,sBAAsB,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,iBAAiB,EAAE,WAAW,CAAA;KAAE,CAAC;IAGhH,MAAM,IAAI,IAAI;IAGd,WAAW,IAAI,UAAU;IAGnB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAGzF,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1C"}
@@ -5,18 +5,21 @@
5
5
  this.facade = facade;
6
6
  this.orchestrator = orchestrator;
7
7
  }
8
- startNewEpoch(epochNumber, firstBlockNumber, totalNumBlocks) {
9
- this.orchestrator.startNewEpoch(epochNumber, firstBlockNumber, totalNumBlocks);
8
+ startNewEpoch(epochNumber, totalNumCheckpoints, finalBlobBatchingChallenges) {
9
+ this.orchestrator.startNewEpoch(epochNumber, totalNumCheckpoints, finalBlobBatchingChallenges);
10
10
  this.facade.start();
11
11
  }
12
- startTubeCircuits(txs) {
13
- return this.orchestrator.startTubeCircuits(txs);
12
+ startNewCheckpoint(checkpointIndex, constants, l1ToL2Messages, totalNumBlocks, totalNumBlobFields, headerOfLastBlockInPreviousCheckpoint) {
13
+ return this.orchestrator.startNewCheckpoint(checkpointIndex, constants, l1ToL2Messages, totalNumBlocks, totalNumBlobFields, headerOfLastBlockInPreviousCheckpoint);
14
+ }
15
+ startChonkVerifierCircuits(txs) {
16
+ return this.orchestrator.startChonkVerifierCircuits(txs);
14
17
  }
15
18
  setBlockCompleted(blockNumber, expectedBlockHeader) {
16
19
  return this.orchestrator.setBlockCompleted(blockNumber, expectedBlockHeader);
17
20
  }
18
- finaliseEpoch() {
19
- return this.orchestrator.finaliseEpoch();
21
+ finalizeEpoch() {
22
+ return this.orchestrator.finalizeEpoch();
20
23
  }
21
24
  cancel() {
22
25
  this.orchestrator.cancel();
@@ -24,15 +27,12 @@
24
27
  getProverId() {
25
28
  return this.orchestrator.getProverId();
26
29
  }
27
- getBlock(index) {
28
- return this.orchestrator.getBlock(index);
29
- }
30
30
  async stop() {
31
31
  await this.facade.stop();
32
32
  await this.orchestrator.stop();
33
33
  }
34
- startNewBlock(globalVariables, l1ToL2Messages, previousBlockHeader) {
35
- return this.orchestrator.startNewBlock(globalVariables, l1ToL2Messages, previousBlockHeader);
34
+ startNewBlock(blockNumber, timestamp, totalNumTxs) {
35
+ return this.orchestrator.startNewBlock(blockNumber, timestamp, totalNumTxs);
36
36
  }
37
37
  addTxs(txs) {
38
38
  return this.orchestrator.addTxs(txs);
@@ -1,8 +1,8 @@
1
- import type { AVM_PROOF_LENGTH_IN_FIELDS, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH, TUBE_PROOF_LENGTH } from '@aztec/constants';
1
+ import type { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH } from '@aztec/constants';
2
2
  import type { AvmCircuitInputs } from '@aztec/stdlib/avm';
3
3
  import { type ProofAndVerificationKey, type ProvingJobProducer, type PublicInputsAndRecursiveProof, type ServerCircuitProver } from '@aztec/stdlib/interfaces/server';
4
- import type { BaseParityInputs, ParityPublicInputs, RootParityInputs } from '@aztec/stdlib/parity';
5
- import type { BaseOrMergeRollupPublicInputs, BlockMergeRollupInputs, BlockRootOrBlockMergePublicInputs, BlockRootRollupInputs, EmptyBlockRootRollupInputs, MergeRollupInputs, PrivateBaseRollupInputs, PublicBaseRollupInputs, RootRollupInputs, RootRollupPublicInputs, SingleTxBlockRootRollupInputs, TubeInputs } from '@aztec/stdlib/rollup';
4
+ import type { ParityBasePrivateInputs, ParityPublicInputs, ParityRootPrivateInputs } from '@aztec/stdlib/parity';
5
+ import type { BlockMergeRollupPrivateInputs, BlockRollupPublicInputs, BlockRootEmptyTxFirstRollupPrivateInputs, BlockRootFirstRollupPrivateInputs, BlockRootRollupPrivateInputs, BlockRootSingleTxFirstRollupPrivateInputs, BlockRootSingleTxRollupPrivateInputs, CheckpointMergeRollupPrivateInputs, CheckpointPaddingRollupPrivateInputs, CheckpointRollupPublicInputs, CheckpointRootRollupPrivateInputs, CheckpointRootSingleBlockRollupPrivateInputs, PrivateTxBaseRollupPrivateInputs, PublicChonkVerifierPrivateInputs, PublicChonkVerifierPublicInputs, PublicTxBaseRollupPrivateInputs, RootRollupPrivateInputs, RootRollupPublicInputs, TxMergeRollupPrivateInputs, TxRollupPublicInputs } from '@aztec/stdlib/rollup';
6
6
  import { type ProofStore } from './proof_store/index.js';
7
7
  export declare class BrokerCircuitProverFacade implements ServerCircuitProver {
8
8
  private broker;
@@ -29,18 +29,25 @@ export declare class BrokerCircuitProverFacade implements ServerCircuitProver {
29
29
  private retrieveJobsThatShouldBeReady;
30
30
  private backupFailedProofInputs;
31
31
  private monitorForCompletedJobs;
32
- getAvmProof(inputs: AvmCircuitInputs, signal?: AbortSignal, epochNumber?: number): Promise<ProofAndVerificationKey<typeof AVM_PROOF_LENGTH_IN_FIELDS>>;
33
- getBaseParityProof(inputs: BaseParityInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof RECURSIVE_PROOF_LENGTH>>;
34
- getBlockMergeRollupProof(input: BlockMergeRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
35
- getBlockRootRollupProof(input: BlockRootRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
36
- getSingleTxBlockRootRollupProof(input: SingleTxBlockRootRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
37
- getEmptyBlockRootRollupProof(input: EmptyBlockRootRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
38
- getMergeRollupProof(input: MergeRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
39
- getPrivateBaseRollupProof(baseRollupInput: PrivateBaseRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
40
- getPublicBaseRollupProof(inputs: PublicBaseRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
41
- getRootParityProof(inputs: RootParityInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof NESTED_RECURSIVE_PROOF_LENGTH>>;
42
- getRootRollupProof(input: RootRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs, typeof RECURSIVE_PROOF_LENGTH>>;
43
- getTubeProof(tubeInput: TubeInputs, signal?: AbortSignal, epochNumber?: number): Promise<ProofAndVerificationKey<typeof TUBE_PROOF_LENGTH>>;
32
+ getAvmProof(inputs: AvmCircuitInputs, skipPublicInputsValidation?: boolean, // TODO(#14234)[Unconditional PIs validation]: remove this argument
33
+ signal?: AbortSignal, epochNumber?: number): Promise<ProofAndVerificationKey<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>>;
34
+ getBaseParityProof(inputs: ParityBasePrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof RECURSIVE_PROOF_LENGTH>>;
35
+ getTxMergeRollupProof(input: TxMergeRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
36
+ getPublicChonkVerifierProof(inputs: PublicChonkVerifierPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<PublicChonkVerifierPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
37
+ getPrivateTxBaseRollupProof(baseRollupInput: PrivateTxBaseRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
38
+ getPublicTxBaseRollupProof(inputs: PublicTxBaseRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
39
+ getRootParityProof(inputs: ParityRootPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof NESTED_RECURSIVE_PROOF_LENGTH>>;
40
+ getBlockRootFirstRollupProof(input: BlockRootFirstRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
41
+ getBlockRootSingleTxFirstRollupProof(input: BlockRootSingleTxFirstRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
42
+ getBlockRootEmptyTxFirstRollupProof(input: BlockRootEmptyTxFirstRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
43
+ getBlockRootRollupProof(input: BlockRootRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
44
+ getBlockRootSingleTxRollupProof(input: BlockRootSingleTxRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
45
+ getBlockMergeRollupProof(input: BlockMergeRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
46
+ getCheckpointRootRollupProof(input: CheckpointRootRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
47
+ getCheckpointRootSingleBlockRollupProof(input: CheckpointRootSingleBlockRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
48
+ getCheckpointPaddingRollupProof(input: CheckpointPaddingRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
49
+ getCheckpointMergeRollupProof(input: CheckpointMergeRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
50
+ getRootRollupProof(input: RootRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs, typeof RECURSIVE_PROOF_LENGTH>>;
44
51
  private generateId;
45
52
  }
46
53
  //# sourceMappingURL=broker_prover_facade.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"broker_prover_facade.d.ts","sourceRoot":"","sources":["../../src/proving_broker/broker_prover_facade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"broker_prover_facade.d.ts","sourceRoot":"","sources":["../../src/proving_broker/broker_prover_facade.ts"],"names":[],"mappings":"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"}