@aztec/prover-client 0.0.0-test.0 → 0.0.1-fake-c83136db25

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
@@ -1 +1 @@
1
- {"version":3,"file":"proving_broker.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_broker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proving_broker.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_broker.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { createLogger } from '@aztec/foundation/log';
8
8
  import { RunningPromise, promiseWithResolvers } from '@aztec/foundation/promise';
9
9
  import { PriorityMemoryQueue } from '@aztec/foundation/queue';
10
10
  import { Timer } from '@aztec/foundation/timer';
11
+ import { tryStop } from '@aztec/stdlib/interfaces/server';
11
12
  import { ProvingRequestType } from '@aztec/stdlib/proofs';
12
13
  import { getTelemetryClient, trackSpan } from '@aztec/telemetry-client';
13
14
  import assert from 'assert';
@@ -46,7 +47,7 @@ import { ProvingBrokerInstrumentation } from './proving_broker_instrumentation.j
46
47
  /**
47
48
  * The broker keeps track of the highest epoch its seen.
48
49
  * This information is used for garbage collection: once it reaches the next epoch, it can start pruning the database of old state.
49
- * It is important that this value is initialised to zero. This ensures that we don't delete any old jobs until the current
50
+ * It is important that this value is initialized to zero. This ensures that we don't delete any old jobs until the current
50
51
  * process instance receives a job request informing it of the actual current highest epoch
51
52
  * Example:
52
53
  * proving epoch 11 - the broker will wipe all jobs for epochs 9 and lower
@@ -60,17 +61,23 @@ import { ProvingBrokerInstrumentation } from './proving_broker_instrumentation.j
60
61
  this.logger = logger;
61
62
  this.queues = {
62
63
  [ProvingRequestType.PUBLIC_VM]: new PriorityMemoryQueue(provingJobComparator),
63
- [ProvingRequestType.TUBE_PROOF]: new PriorityMemoryQueue(provingJobComparator),
64
- [ProvingRequestType.PRIVATE_BASE_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
65
- [ProvingRequestType.PUBLIC_BASE_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
66
- [ProvingRequestType.MERGE_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
64
+ [ProvingRequestType.PUBLIC_CHONK_VERIFIER]: new PriorityMemoryQueue(provingJobComparator),
65
+ [ProvingRequestType.PRIVATE_TX_BASE_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
66
+ [ProvingRequestType.PUBLIC_TX_BASE_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
67
+ [ProvingRequestType.TX_MERGE_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
67
68
  [ProvingRequestType.ROOT_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
68
69
  [ProvingRequestType.BLOCK_MERGE_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
70
+ [ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
71
+ [ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
72
+ [ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
69
73
  [ProvingRequestType.BLOCK_ROOT_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
70
- [ProvingRequestType.SINGLE_TX_BLOCK_ROOT_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
71
- [ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
72
- [ProvingRequestType.BASE_PARITY]: new PriorityMemoryQueue(provingJobComparator),
73
- [ProvingRequestType.ROOT_PARITY]: new PriorityMemoryQueue(provingJobComparator)
74
+ [ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
75
+ [ProvingRequestType.CHECKPOINT_ROOT_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
76
+ [ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
77
+ [ProvingRequestType.CHECKPOINT_MERGE_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
78
+ [ProvingRequestType.CHECKPOINT_PADDING_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
79
+ [ProvingRequestType.PARITY_BASE]: new PriorityMemoryQueue(provingJobComparator),
80
+ [ProvingRequestType.PARITY_ROOT]: new PriorityMemoryQueue(provingJobComparator)
74
81
  };
75
82
  this.jobsCache = new Map();
76
83
  this.resultsCache = new Map();
@@ -135,7 +142,7 @@ import { ProvingBrokerInstrumentation } from './proving_broker_instrumentation.j
135
142
  this.logger.warn('ProvingBroker not started');
136
143
  return Promise.resolve();
137
144
  }
138
- await this.cleanupPromise.stop();
145
+ await tryStop(this.cleanupPromise);
139
146
  }
140
147
  enqueueProvingJob(job) {
141
148
  return this.#enqueueProvingJob(job);
@@ -244,7 +251,6 @@ import { ProvingBrokerInstrumentation } from './proving_broker_instrumentation.j
244
251
  this.completedJobNotifications = [];
245
252
  return Promise.resolve(notifications.concat(completedJobs));
246
253
  }
247
- // eslint-disable-next-line require-await
248
254
  #getProvingJob(filter = {
249
255
  allowList: []
250
256
  }) {
@@ -462,7 +468,7 @@ import { ProvingBrokerInstrumentation } from './proving_broker_instrumentation.j
462
468
  }
463
469
  if (jobsToClean.length > 0) {
464
470
  this.cleanUpProvingJobState(jobsToClean);
465
- this.logger.info(`Cleaned up jobs=${jobsToClean.length}`);
471
+ this.logger.verbose(`Cleaned up proving jobs=${jobsToClean.length}`);
466
472
  }
467
473
  }
468
474
  reEnqueueExpiredJobs() {
@@ -554,17 +560,23 @@ _ts_decorate([
554
560
  *
555
561
  * The aim is that this will speed up block proving as the closer we get to a block's root proof the more likely it
556
562
  * is to get picked up by agents
557
- */ const PROOF_TYPES_IN_PRIORITY_ORDER = [
563
+ */ export const PROOF_TYPES_IN_PRIORITY_ORDER = [
564
+ ProvingRequestType.ROOT_ROLLUP,
565
+ ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP,
566
+ ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP,
567
+ ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP,
558
568
  ProvingRequestType.BLOCK_ROOT_ROLLUP,
559
- ProvingRequestType.SINGLE_TX_BLOCK_ROOT_ROLLUP,
569
+ ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP,
560
570
  ProvingRequestType.BLOCK_MERGE_ROLLUP,
561
- ProvingRequestType.ROOT_ROLLUP,
562
- ProvingRequestType.MERGE_ROLLUP,
563
- ProvingRequestType.PUBLIC_BASE_ROLLUP,
564
- ProvingRequestType.PRIVATE_BASE_ROLLUP,
571
+ ProvingRequestType.CHECKPOINT_ROOT_ROLLUP,
572
+ ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP,
573
+ ProvingRequestType.CHECKPOINT_MERGE_ROLLUP,
574
+ ProvingRequestType.CHECKPOINT_PADDING_ROLLUP,
575
+ ProvingRequestType.TX_MERGE_ROLLUP,
576
+ ProvingRequestType.PUBLIC_TX_BASE_ROLLUP,
577
+ ProvingRequestType.PRIVATE_TX_BASE_ROLLUP,
565
578
  ProvingRequestType.PUBLIC_VM,
566
- ProvingRequestType.TUBE_PROOF,
567
- ProvingRequestType.ROOT_PARITY,
568
- ProvingRequestType.BASE_PARITY,
569
- ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP
579
+ ProvingRequestType.PUBLIC_CHONK_VERIFIER,
580
+ ProvingRequestType.PARITY_ROOT,
581
+ ProvingRequestType.PARITY_BASE
570
582
  ];
@@ -41,7 +41,7 @@ export class InMemoryBrokerDatabase {
41
41
  return this.deleteProvingJobs(toDelete);
42
42
  }
43
43
  async *allProvingJobs() {
44
- for await (const item of this.jobs.values()){
44
+ for (const item of this.jobs.values()){
45
45
  yield [
46
46
  item,
47
47
  this.results.get(item.id)
@@ -1 +1 @@
1
- {"version":3,"file":"persisted.d.ts","sourceRoot":"","sources":["../../../src/proving_broker/proving_broker_database/persisted.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAIlE,OAAO,EACL,KAAK,QAAQ,EACb,UAAU,EACV,KAAK,YAAY,EACjB,uBAAuB,EAExB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAA2B,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAK5G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAwD3E,qBAAa,gBAAiB,YAAW,qBAAqB;IAM1D,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,MAAM;IARhB,OAAO,CAAC,OAAO,CAAc;IAE7B,OAAO,CAAC,UAAU,CAA2E;IAE7F,OAAO;IAuBM,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,GAAG,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM;YAQnG,YAAY;WASN,GAAG,CACrB,MAAM,EAAE,kBAAkB,EAC1B,MAAM,GAAE,eAAsC,EAC9C,MAAM,SAAwD;IAgChE,OAAO,CAAC,KAAK;IAIP,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,kCAAkC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5E,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,cAAc,IAAI,qBAAqB,CAAC,CAAC,UAAU,EAAE,uBAAuB,GAAG,SAAS,CAAC,CAAC;IAOjG,kBAAkB,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAIvD,gBAAgB;CAoB/B"}
1
+ {"version":3,"file":"persisted.d.ts","sourceRoot":"","sources":["../../../src/proving_broker/proving_broker_database/persisted.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAIlE,OAAO,EACL,KAAK,QAAQ,EACb,UAAU,EACV,KAAK,YAAY,EACjB,uBAAuB,EAExB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAA2B,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAK5G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAwD3E,qBAAa,gBAAiB,YAAW,qBAAqB;IAM1D,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,MAAM;IARhB,OAAO,CAAC,OAAO,CAAc;IAE7B,OAAO,CAAC,UAAU,CAA2E;IAE7F,OAAO;IAuBM,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,GAAG,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM;YAQnG,YAAY;WAUN,GAAG,CACrB,MAAM,EAAE,kBAAkB,EAC1B,MAAM,GAAE,eAAsC,EAC9C,MAAM,SAAwD;IAgChE,OAAO,CAAC,KAAK;IAIP,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,kCAAkC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5E,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,cAAc,IAAI,qBAAqB,CAAC,CAAC,UAAU,EAAE,uBAAuB,GAAG,SAAS,CAAC,CAAC;IAOjG,kBAAkB,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAIvD,gBAAgB;CAoB/B"}
@@ -31,9 +31,9 @@ class SingleEpochDatabase {
31
31
  }
32
32
  async *allProvingJobs() {
33
33
  for await (const jobStr of this.jobs.valuesAsync()){
34
- const job = await jsonParseWithSchema(jobStr, ProvingJob);
34
+ const job = jsonParseWithSchema(jobStr, ProvingJob);
35
35
  const resultStr = await this.jobResults.getAsync(job.id);
36
- const result = resultStr ? await jsonParseWithSchema(resultStr, ProvingJobSettledResult) : undefined;
36
+ const result = resultStr ? jsonParseWithSchema(resultStr, ProvingJobSettledResult) : undefined;
37
37
  yield [
38
38
  job,
39
39
  result
@@ -86,7 +86,8 @@ export class KVBrokerDatabase {
86
86
  async estimateSize() {
87
87
  const sizes = await Promise.all(Array.from(this.epochs.values()).map((x)=>x.estimateSize()));
88
88
  return {
89
- mappingSize: this.config.dataStoreMapSizeKB,
89
+ mappingSize: this.config.dataStoreMapSizeKb,
90
+ physicalFileSize: sizes.reduce((prev, curr)=>prev + curr.physicalFileSize, 0),
90
91
  numItems: sizes.reduce((prev, curr)=>prev + curr.numItems, 0),
91
92
  actualSize: sizes.reduce((prev, curr)=>prev + curr.actualSize, 0)
92
93
  };
@@ -108,8 +109,8 @@ export class KVBrokerDatabase {
108
109
  logger.warn(`Found invalid epoch directory ${fullDirectory} when loading epoch databases, ignoring`);
109
110
  continue;
110
111
  }
111
- logger.info(`Loading broker database for epoch ${epochNumber} from ${fullDirectory} with map size ${config.dataStoreMapSizeKB}KB`);
112
- const db = await openVersionedStoreAt(fullDirectory, SingleEpochDatabase.SCHEMA_VERSION, config.l1Contracts.rollupAddress, config.dataStoreMapSizeKB);
112
+ logger.info(`Loading broker database for epoch ${epochNumber} from ${fullDirectory} with map size ${config.dataStoreMapSizeKb}KB`);
113
+ const db = await openVersionedStoreAt(fullDirectory, SingleEpochDatabase.SCHEMA_VERSION, config.l1Contracts.rollupAddress, config.dataStoreMapSizeKb);
113
114
  const epochDb = new SingleEpochDatabase(db);
114
115
  epochs.set(epochNumber, epochDb);
115
116
  }
@@ -133,7 +134,7 @@ export class KVBrokerDatabase {
133
134
  if (!db) {
134
135
  continue;
135
136
  }
136
- this.logger.info(`Deleting broker database for epoch ${old}`);
137
+ this.logger.verbose(`Deleting broker database for epoch ${old}`);
137
138
  await db.delete();
138
139
  this.epochs.delete(old);
139
140
  }
@@ -172,8 +173,8 @@ export class KVBrokerDatabase {
172
173
  await mkdir(newEpochDirectory, {
173
174
  recursive: true
174
175
  });
175
- this.logger.info(`Creating broker database for epoch ${epochNumber} at ${newEpochDirectory} with map size ${this.config.dataStoreMapSizeKB}`);
176
- const db = await openVersionedStoreAt(newEpochDirectory, SingleEpochDatabase.SCHEMA_VERSION, this.config.l1Contracts.rollupAddress, this.config.dataStoreMapSizeKB);
176
+ this.logger.info(`Creating broker database for epoch ${epochNumber} at ${newEpochDirectory} with map size ${this.config.dataStoreMapSizeKb}`);
177
+ const db = await openVersionedStoreAt(newEpochDirectory, SingleEpochDatabase.SCHEMA_VERSION, this.config.l1Contracts.rollupAddress, this.config.dataStoreMapSizeKb);
177
178
  epochDb = new SingleEpochDatabase(db);
178
179
  this.epochs.set(epochNumber, epochDb);
179
180
  }
@@ -2,12 +2,8 @@ import type { ProvingJobId, ProvingJobInputs, ProvingJobResultsMap, ServerCircui
2
2
  import { ProvingRequestType } from '@aztec/stdlib/proofs';
3
3
  export declare enum ProvingJobControllerStatus {
4
4
  IDLE = "idle",
5
- PROVING = "proving",
6
- DONE = "done",
7
- ABORTED = "aborted"
8
- }
9
- interface ProvingJobCompletionCallback<T extends ProvingRequestType = ProvingRequestType> {
10
- (jobId: ProvingJobId, type: T, error: Error | undefined, result: ProvingJobResultsMap[T] | undefined): void | Promise<void>;
5
+ RUNNING = "running",
6
+ DONE = "done"
11
7
  }
12
8
  export declare class ProvingJobController {
13
9
  private jobId;
@@ -20,14 +16,17 @@ export declare class ProvingJobController {
20
16
  private status;
21
17
  private promise?;
22
18
  private abortController;
23
- constructor(jobId: ProvingJobId, inputs: ProvingJobInputs, epochNumber: number, startedAt: number, circuitProver: ServerCircuitProver, onComplete: ProvingJobCompletionCallback, log?: import("@aztec/foundation/log").Logger);
19
+ private result?;
20
+ constructor(jobId: ProvingJobId, inputs: ProvingJobInputs, epochNumber: number, startedAt: number, circuitProver: ServerCircuitProver, onComplete: () => void, log?: import("@aztec/foundation/log").Logger);
24
21
  start(): void;
25
22
  getStatus(): ProvingJobControllerStatus;
23
+ getResult(): ProvingJobResultsMap[ProvingRequestType] | Error | undefined;
26
24
  abort(): void;
27
25
  getJobId(): ProvingJobId;
26
+ getProofType(): ProvingRequestType;
28
27
  getStartedAt(): number;
29
28
  getProofTypeName(): string;
29
+ private run;
30
30
  private generateProof;
31
31
  }
32
- export {};
33
32
  //# sourceMappingURL=proving_job_controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proving_job_controller.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_job_controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,oBAAY,0BAA0B;IACpC,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,UAAU,4BAA4B,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB;IACtF,CACE,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,SAAS,GAC1C,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED,qBAAa,oBAAoB;IAM7B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,GAAG;IAXb,OAAO,CAAC,MAAM,CAA+D;IAC7E,OAAO,CAAC,OAAO,CAAC,CAAgB;IAChC,OAAO,CAAC,eAAe,CAAyB;gBAGtC,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,mBAAmB,EAClC,UAAU,EAAE,4BAA4B,EACxC,GAAG,yCAA6D;IAGnE,KAAK,IAAI,IAAI;IA+Db,SAAS,IAAI,0BAA0B;IAIvC,KAAK,IAAI,IAAI;IAgBb,QAAQ,IAAI,YAAY;IAIxB,YAAY,IAAI,MAAM;IAItB,gBAAgB,IAAI,MAAM;YAInB,aAAa;CA0D5B"}
1
+ {"version":3,"file":"proving_job_controller.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_job_controller.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,oBAAY,0BAA0B;IACpC,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,IAAI,SAAS;CACd;AAED,qBAAa,oBAAoB;IAO7B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,GAAG;IAZb,OAAO,CAAC,MAAM,CAA+D;IAC7E,OAAO,CAAC,OAAO,CAAC,CAAgB;IAChC,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,MAAM,CAAC,CAAmD;gBAGxD,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,mBAAmB,EAClC,UAAU,EAAE,MAAM,IAAI,EACtB,GAAG,yCAA+F;IAGrG,KAAK,IAAI,IAAI;IAmBb,SAAS,IAAI,0BAA0B;IAIvC,SAAS,IAAI,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,KAAK,GAAG,SAAS;IAIzE,KAAK,IAAI,IAAI;IAeb,QAAQ,IAAI,YAAY;IAIxB,YAAY,IAAI,kBAAkB;IAIlC,YAAY,IAAI,MAAM;IAItB,gBAAgB,IAAI,MAAM;IAIjC,OAAO,CAAC,GAAG,CA4BT;YAEY,aAAa;CAmF5B"}
@@ -1,10 +1,11 @@
1
+ import { randomBytes } from '@aztec/foundation/crypto';
2
+ import { AbortError } from '@aztec/foundation/error';
1
3
  import { createLogger } from '@aztec/foundation/log';
2
4
  import { ProvingRequestType } from '@aztec/stdlib/proofs';
3
5
  export var ProvingJobControllerStatus = /*#__PURE__*/ function(ProvingJobControllerStatus) {
4
6
  ProvingJobControllerStatus["IDLE"] = "idle";
5
- ProvingJobControllerStatus["PROVING"] = "proving";
7
+ ProvingJobControllerStatus["RUNNING"] = "running";
6
8
  ProvingJobControllerStatus["DONE"] = "done";
7
- ProvingJobControllerStatus["ABORTED"] = "aborted";
8
9
  return ProvingJobControllerStatus;
9
10
  }({});
10
11
  export class ProvingJobController {
@@ -18,7 +19,8 @@ export class ProvingJobController {
18
19
  status;
19
20
  promise;
20
21
  abortController;
21
- constructor(jobId, inputs, epochNumber, startedAt, circuitProver, onComplete, log = createLogger('prover-client:proving-agent:job-controller')){
22
+ result;
23
+ constructor(jobId, inputs, epochNumber, startedAt, circuitProver, onComplete, log = createLogger('prover-client:proving-agent:job-controller-' + randomBytes(4).toString('hex'))){
22
24
  this.jobId = jobId;
23
25
  this.inputs = inputs;
24
26
  this.epochNumber = epochNumber;
@@ -28,134 +30,160 @@ export class ProvingJobController {
28
30
  this.log = log;
29
31
  this.status = "idle";
30
32
  this.abortController = new AbortController();
31
- }
32
- start() {
33
- if (this.status !== "idle") {
34
- this.log.verbose(`Job controller for jobId=${this.jobId} not starting because it is not idle currentStatus=${this.status}`, {
35
- currentStatus: this.status,
36
- jobId: this.jobId
37
- });
38
- return;
39
- }
40
- this.status = "proving";
41
- this.log.verbose(`Job controller started jobId=${this.jobId}`, {
42
- jobId: this.jobId
43
- });
44
- this.promise = this.generateProof().then((result)=>{
45
- if (this.status === "aborted") {
46
- this.log.warn(`Job controller for jobId=${this.jobId} completed successfully but job was aborted`, {
33
+ this.run = async ()=>{
34
+ this.status = "running";
35
+ let result;
36
+ try {
37
+ result = await this.generateProof();
38
+ } catch (err) {
39
+ if (err && err instanceof Error) {
40
+ result = err;
41
+ } else {
42
+ result = new Error('Unknown proving error: ' + String(err), {
43
+ cause: err
44
+ });
45
+ }
46
+ }
47
+ if (this.abortController.signal.aborted) {
48
+ this.log.warn(`Job controller for jobId=${this.jobId} completed but job was aborted`, {
47
49
  currentStatus: this.status,
48
50
  jobId: this.jobId
49
51
  });
50
- return;
52
+ result = new AbortError('Proof was aborted');
51
53
  }
54
+ this.result = result;
52
55
  this.status = "done";
53
- this.log.verbose(`Job controller for jobId=${this.jobId} completed successfully`, {
54
- jobId: this.jobId
55
- });
56
- return this.onComplete(this.jobId, this.inputs.type, undefined, result);
57
- }, (error)=>{
58
- if (this.status === "aborted") {
59
- this.log.warn(`Job controller for jobId=${this.jobId} finished with an error but job was aborted`, {
60
- currentStatus: this.status,
56
+ try {
57
+ this.onComplete();
58
+ } catch (err) {
59
+ this.log.warn(`On complete handler error: ${err}`, {
61
60
  jobId: this.jobId
62
61
  });
63
- return;
64
- }
65
- if (error.name === 'AbortError') {
66
- // Ignore abort errors
67
- return;
68
62
  }
69
- this.log.verbose(`Job controller for jobId=${this.jobId} finished with an error`, {
70
- jobId: this.jobId,
71
- err: error
72
- });
73
- this.status = "done";
74
- return this.onComplete(this.jobId, this.inputs.type, error, undefined);
75
- }).catch((err)=>{
76
- this.log.error(`Job constroller failed to send result for jobId=${this.jobId}: ${err}`, err, {
63
+ };
64
+ }
65
+ start() {
66
+ if (this.status !== "idle") {
67
+ this.log.warn(`Job controller for jobId=${this.jobId} not starting because it is not idle currentStatus=${this.status}`, {
68
+ currentStatus: this.status,
77
69
  jobId: this.jobId
78
70
  });
71
+ return;
72
+ }
73
+ this.promise = this.run();
74
+ this.log.info(`Job controller started jobId=${this.jobId}`, {
75
+ jobId: this.jobId
79
76
  });
80
77
  }
81
78
  getStatus() {
82
79
  return this.status;
83
80
  }
81
+ getResult() {
82
+ return this.result;
83
+ }
84
84
  abort() {
85
- if (this.status !== "proving") {
85
+ if (this.status !== "running") {
86
86
  this.log.warn(`Tried to abort job controller for jobId=${this.jobId} but it is not running`, {
87
87
  currentStatus: this.status,
88
88
  jobId: this.jobId
89
89
  });
90
90
  return;
91
91
  }
92
- this.status = "aborted";
93
92
  this.abortController.abort();
94
- this.log.verbose(`Aborted job controller for jobId=${this.jobId}`, {
93
+ this.log.warn(`Aborted job controller for jobId=${this.jobId}`, {
95
94
  jobId: this.jobId
96
95
  });
97
96
  }
98
97
  getJobId() {
99
98
  return this.jobId;
100
99
  }
100
+ getProofType() {
101
+ return this.inputs.type;
102
+ }
101
103
  getStartedAt() {
102
104
  return this.startedAt;
103
105
  }
104
106
  getProofTypeName() {
105
107
  return ProvingRequestType[this.inputs.type];
106
108
  }
109
+ run;
107
110
  async generateProof() {
108
111
  const { type, inputs } = this.inputs;
109
112
  const signal = this.abortController.signal;
110
113
  switch(type){
111
114
  case ProvingRequestType.PUBLIC_VM:
112
115
  {
113
- return await this.circuitProver.getAvmProof(inputs, signal, this.epochNumber);
116
+ // TODO(#14234)[Unconditional PIs validation]: Remove argument "undefined".
117
+ return await this.circuitProver.getAvmProof(inputs, undefined, signal, this.epochNumber);
118
+ }
119
+ case ProvingRequestType.PUBLIC_CHONK_VERIFIER:
120
+ {
121
+ return await this.circuitProver.getPublicChonkVerifierProof(inputs, signal, this.epochNumber);
122
+ }
123
+ case ProvingRequestType.PRIVATE_TX_BASE_ROLLUP:
124
+ {
125
+ return await this.circuitProver.getPrivateTxBaseRollupProof(inputs, signal, this.epochNumber);
126
+ }
127
+ case ProvingRequestType.PUBLIC_TX_BASE_ROLLUP:
128
+ {
129
+ return await this.circuitProver.getPublicTxBaseRollupProof(inputs, signal, this.epochNumber);
114
130
  }
115
- case ProvingRequestType.PRIVATE_BASE_ROLLUP:
131
+ case ProvingRequestType.TX_MERGE_ROLLUP:
116
132
  {
117
- return await this.circuitProver.getPrivateBaseRollupProof(inputs, signal, this.epochNumber);
133
+ return await this.circuitProver.getTxMergeRollupProof(inputs, signal, this.epochNumber);
118
134
  }
119
- case ProvingRequestType.PUBLIC_BASE_ROLLUP:
135
+ case ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP:
120
136
  {
121
- return await this.circuitProver.getPublicBaseRollupProof(inputs, signal, this.epochNumber);
137
+ return await this.circuitProver.getBlockRootFirstRollupProof(inputs, signal, this.epochNumber);
122
138
  }
123
- case ProvingRequestType.MERGE_ROLLUP:
139
+ case ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP:
124
140
  {
125
- return await this.circuitProver.getMergeRollupProof(inputs, signal, this.epochNumber);
141
+ return await this.circuitProver.getBlockRootSingleTxFirstRollupProof(inputs, signal, this.epochNumber);
126
142
  }
127
- case ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP:
143
+ case ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP:
128
144
  {
129
- return await this.circuitProver.getEmptyBlockRootRollupProof(inputs, signal, this.epochNumber);
145
+ return await this.circuitProver.getBlockRootEmptyTxFirstRollupProof(inputs, signal, this.epochNumber);
130
146
  }
131
147
  case ProvingRequestType.BLOCK_ROOT_ROLLUP:
132
148
  {
133
149
  return await this.circuitProver.getBlockRootRollupProof(inputs, signal, this.epochNumber);
134
150
  }
135
- case ProvingRequestType.SINGLE_TX_BLOCK_ROOT_ROLLUP:
151
+ case ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP:
136
152
  {
137
- return await this.circuitProver.getSingleTxBlockRootRollupProof(inputs, signal, this.epochNumber);
153
+ return await this.circuitProver.getBlockRootSingleTxRollupProof(inputs, signal, this.epochNumber);
138
154
  }
139
155
  case ProvingRequestType.BLOCK_MERGE_ROLLUP:
140
156
  {
141
157
  return await this.circuitProver.getBlockMergeRollupProof(inputs, signal, this.epochNumber);
142
158
  }
159
+ case ProvingRequestType.CHECKPOINT_ROOT_ROLLUP:
160
+ {
161
+ return await this.circuitProver.getCheckpointRootRollupProof(inputs, signal, this.epochNumber);
162
+ }
163
+ case ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP:
164
+ {
165
+ return await this.circuitProver.getCheckpointRootSingleBlockRollupProof(inputs, signal, this.epochNumber);
166
+ }
167
+ case ProvingRequestType.CHECKPOINT_PADDING_ROLLUP:
168
+ {
169
+ return await this.circuitProver.getCheckpointPaddingRollupProof(inputs, signal, this.epochNumber);
170
+ }
171
+ case ProvingRequestType.CHECKPOINT_MERGE_ROLLUP:
172
+ {
173
+ return await this.circuitProver.getCheckpointMergeRollupProof(inputs, signal, this.epochNumber);
174
+ }
143
175
  case ProvingRequestType.ROOT_ROLLUP:
144
176
  {
145
177
  return await this.circuitProver.getRootRollupProof(inputs, signal, this.epochNumber);
146
178
  }
147
- case ProvingRequestType.BASE_PARITY:
179
+ case ProvingRequestType.PARITY_BASE:
148
180
  {
149
181
  return await this.circuitProver.getBaseParityProof(inputs, signal, this.epochNumber);
150
182
  }
151
- case ProvingRequestType.ROOT_PARITY:
183
+ case ProvingRequestType.PARITY_ROOT:
152
184
  {
153
185
  return await this.circuitProver.getRootParityProof(inputs, signal, this.epochNumber);
154
186
  }
155
- case ProvingRequestType.TUBE_PROOF:
156
- {
157
- return await this.circuitProver.getTubeProof(inputs, signal, this.epochNumber);
158
- }
159
187
  default:
160
188
  {
161
189
  const _exhaustive = type;
@@ -1,24 +1,22 @@
1
- import type { SafeJsonRpcServer } from '@aztec/foundation/json-rpc/server';
2
1
  import { type ProvingJobBroker, type ProvingJobConsumer, type ProvingJobProducer } from '@aztec/stdlib/interfaces/server';
3
2
  import { type ApiSchemaFor } from '@aztec/stdlib/schemas';
4
3
  import { type ComponentsVersions } from '@aztec/stdlib/versioning';
5
4
  export declare const ProvingJobProducerSchema: ApiSchemaFor<ProvingJobProducer>;
6
5
  export declare const ProvingJobConsumerSchema: ApiSchemaFor<ProvingJobConsumer>;
7
6
  export declare const ProvingJobBrokerSchema: ApiSchemaFor<ProvingJobBroker>;
8
- export declare function createProvingBrokerServer(broker: ProvingJobBroker): SafeJsonRpcServer;
9
- export declare function createProvingJobBrokerClient(url: string, versions: Partial<ComponentsVersions>, fetch?: (host: string, rpcMethod: string, body: any, useApiEndpoints: boolean, extraHeaders?: Record<string, string> | undefined, noRetry?: boolean | undefined) => Promise<{
7
+ export declare function createProvingJobBrokerClient(url: string, versions: Partial<ComponentsVersions>, fetch?: (host: string, body: unknown, extraHeaders?: Record<string, string>, noRetry?: boolean) => Promise<{
10
8
  response: any;
11
9
  headers: {
12
10
  get: (header: string) => string | null | undefined;
13
11
  };
14
12
  }>): ProvingJobBroker;
15
- export declare function createProvingJobProducerClient(url: string, versions: Partial<ComponentsVersions>, fetch?: (host: string, rpcMethod: string, body: any, useApiEndpoints: boolean, extraHeaders?: Record<string, string> | undefined, noRetry?: boolean | undefined) => Promise<{
13
+ export declare function createProvingJobProducerClient(url: string, versions: Partial<ComponentsVersions>, fetch?: (host: string, body: unknown, extraHeaders?: Record<string, string>, noRetry?: boolean) => Promise<{
16
14
  response: any;
17
15
  headers: {
18
16
  get: (header: string) => string | null | undefined;
19
17
  };
20
18
  }>): ProvingJobProducer;
21
- export declare function createProvingJobConsumerClient(url: string, versions: Partial<ComponentsVersions>, fetch?: (host: string, rpcMethod: string, body: any, useApiEndpoints: boolean, extraHeaders?: Record<string, string> | undefined, noRetry?: boolean | undefined) => Promise<{
19
+ export declare function createProvingJobConsumerClient(url: string, versions: Partial<ComponentsVersions>, fetch?: (host: string, body: unknown, extraHeaders?: Record<string, string>, noRetry?: boolean) => Promise<{
22
20
  response: any;
23
21
  headers: {
24
22
  get: (header: string) => string | null | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/proving_broker/rpc.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EAExB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,KAAK,kBAAkB,EAAgC,MAAM,0BAA0B,CAAC;AAcjG,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,kBAAkB,CAKrE,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,kBAAkB,CAcrE,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,YAAY,CAAC,gBAAgB,CAGjE,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,GAAG,iBAAiB,CAErF;AAED,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACrC,KAAK;;;;;EAAoC,GACxC,gBAAgB,CAMlB;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACrC,KAAK;;;;;EAAoC,GACxC,kBAAkB,CAMpB;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACrC,KAAK;;;;;EAAoC,GACxC,kBAAkB,CAMpB"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/proving_broker/rpc.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EAExB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,KAAK,kBAAkB,EAAgC,MAAM,0BAA0B,CAAC;AAcjG,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,kBAAkB,CAKrE,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,kBAAkB,CAcrE,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,YAAY,CAAC,gBAAgB,CAGjE,CAAC;AAEF,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACrC,KAAK;;;;;EAAoC,GACxC,gBAAgB,CAMlB;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACrC,KAAK;;;;;EAAoC,GACxC,kBAAkB,CAMpB;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACrC,KAAK;;;;;EAAoC,GACxC,kBAAkB,CAMpB"}
@@ -3,7 +3,7 @@ import { ProofUri, ProvingJob, ProvingJobId, ProvingJobStatus } from '@aztec/std
3
3
  import { ProvingRequestType } from '@aztec/stdlib/proofs';
4
4
  import { optional } from '@aztec/stdlib/schemas';
5
5
  import { getVersioningResponseHandler } from '@aztec/stdlib/versioning';
6
- import { createTracedJsonRpcServer, makeTracedFetch } from '@aztec/telemetry-client';
6
+ import { makeTracedFetch } from '@aztec/telemetry-client';
7
7
  import { z } from 'zod';
8
8
  const ProvingJobFilterSchema = z.object({
9
9
  allowList: z.array(z.nativeEnum(ProvingRequestType))
@@ -28,9 +28,6 @@ export const ProvingJobBrokerSchema = {
28
28
  ...ProvingJobConsumerSchema,
29
29
  ...ProvingJobProducerSchema
30
30
  };
31
- export function createProvingBrokerServer(broker) {
32
- return createTracedJsonRpcServer(broker, ProvingJobBrokerSchema);
33
- }
34
31
  export function createProvingJobBrokerClient(url, versions, fetch = makeTracedFetch([
35
32
  1,
36
33
  2,
@@ -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
+ }
@@ -1,8 +1,8 @@
1
- import { NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, TUBE_PROOF_LENGTH } from '@aztec/constants';
1
+ import { NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
2
2
  import type { AvmCircuitInputs } from '@aztec/stdlib/avm';
3
- import { type ProofAndVerificationKey, type ProvingJob, type ProvingJobId, type ProvingJobProducer, type ProvingJobStatus, type PublicInputsAndRecursiveProof, type ServerCircuitProver } from '@aztec/stdlib/interfaces/server';
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';
3
+ import { type ProvingJob, type ProvingJobId, type ProvingJobProducer, type ProvingJobStatus, type PublicInputsAndRecursiveProof, type ServerCircuitProver } from '@aztec/stdlib/interfaces/server';
4
+ import type { ParityBasePrivateInputs, 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 '../proving_broker/proof_store/index.js';
7
7
  export declare class TestBroker implements ProvingJobProducer {
8
8
  private proofStore;
@@ -19,17 +19,24 @@ 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>>;
25
- getPrivateBaseRollupProof(_baseRollupInput: PrivateBaseRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
26
- getPublicBaseRollupProof(_inputs: PublicBaseRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
27
- 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
- getEmptyBlockRootRollupProof(_input: EmptyBlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
30
- getBlockRootRollupProof(_input: BlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
31
- getSingleTxBlockRootRollupProof(_input: SingleTxBlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
32
- getRootRollupProof(_input: RootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs>>;
33
- getTubeProof(): Promise<ProofAndVerificationKey<typeof TUBE_PROOF_LENGTH>>;
22
+ getAvmProof(_inputs: AvmCircuitInputs, _skipPublicInputsValidation?: boolean, // TODO(#14234)[Unconditional PIs validation]: Remove.
23
+ _signal?: AbortSignal, _epochNumber?: number): Promise<import("@aztec/stdlib/interfaces/server").ProofAndVerificationKey<20000>>;
24
+ getBaseParityProof(_inputs: ParityBasePrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<import("@aztec/stdlib/parity").ParityPublicInputs, 457>>;
25
+ getRootParityProof(_inputs: ParityRootPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<import("@aztec/stdlib/parity").ParityPublicInputs, 457>>;
26
+ getPublicChonkVerifierProof(_inputs: PublicChonkVerifierPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<PublicChonkVerifierPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
27
+ getPrivateTxBaseRollupProof(_baseRollupInput: PrivateTxBaseRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
28
+ getPublicTxBaseRollupProof(_inputs: PublicTxBaseRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
29
+ getTxMergeRollupProof(_input: TxMergeRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
30
+ getBlockRootFirstRollupProof(_input: BlockRootFirstRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
31
+ getBlockRootSingleTxFirstRollupProof(_input: BlockRootSingleTxFirstRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
32
+ getBlockRootEmptyTxFirstRollupProof(_input: BlockRootEmptyTxFirstRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
33
+ getBlockRootRollupProof(_input: BlockRootRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
34
+ getBlockRootSingleTxRollupProof(_input: BlockRootSingleTxRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
35
+ getBlockMergeRollupProof(_input: BlockMergeRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, 535>>;
36
+ getCheckpointRootRollupProof(_input: CheckpointRootRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
37
+ getCheckpointRootSingleBlockRollupProof(_input: CheckpointRootSingleBlockRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
38
+ getCheckpointMergeRollupProof(_input: CheckpointMergeRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
39
+ getCheckpointPaddingRollupProof(_input: CheckpointPaddingRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
40
+ getRootRollupProof(_input: RootRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs>>;
34
41
  }
35
42
  //# sourceMappingURL=mock_prover.d.ts.map