@aztec/prover-client 0.69.1 → 0.70.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dest/block_builder/light.d.ts +0 -1
  2. package/dest/block_builder/light.d.ts.map +1 -1
  3. package/dest/block_builder/light.js +3 -13
  4. package/dest/config.d.ts +2 -1
  5. package/dest/config.d.ts.map +1 -1
  6. package/dest/config.js +3 -2
  7. package/dest/mocks/fixtures.d.ts +1 -1
  8. package/dest/mocks/fixtures.d.ts.map +1 -1
  9. package/dest/mocks/fixtures.js +2 -2
  10. package/dest/mocks/test_context.d.ts +1 -1
  11. package/dest/mocks/test_context.d.ts.map +1 -1
  12. package/dest/mocks/test_context.js +3 -3
  13. package/dest/orchestrator/block-building-helpers.d.ts +10 -25
  14. package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
  15. package/dest/orchestrator/block-building-helpers.js +34 -45
  16. package/dest/orchestrator/block-proving-state.d.ts +40 -44
  17. package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
  18. package/dest/orchestrator/block-proving-state.js +149 -85
  19. package/dest/orchestrator/epoch-proving-state.d.ts +23 -30
  20. package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
  21. package/dest/orchestrator/epoch-proving-state.js +92 -65
  22. package/dest/orchestrator/orchestrator.d.ts +16 -47
  23. package/dest/orchestrator/orchestrator.d.ts.map +1 -1
  24. package/dest/orchestrator/orchestrator.js +204 -341
  25. package/dest/orchestrator/tx-proving-state.d.ts +10 -6
  26. package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
  27. package/dest/orchestrator/tx-proving-state.js +57 -46
  28. package/dest/prover-agent/memory-proving-queue.d.ts +3 -3
  29. package/dest/prover-agent/memory-proving-queue.d.ts.map +1 -1
  30. package/dest/prover-agent/memory-proving-queue.js +4 -4
  31. package/dest/prover-agent/prover-agent.js +4 -4
  32. package/dest/prover-client/prover-client.d.ts.map +1 -1
  33. package/dest/prover-client/prover-client.js +6 -3
  34. package/dest/prover-client/server-epoch-prover.d.ts +25 -0
  35. package/dest/prover-client/server-epoch-prover.d.ts.map +1 -0
  36. package/dest/prover-client/server-epoch-prover.js +40 -0
  37. package/dest/proving_broker/broker_prover_facade.d.ts +15 -4
  38. package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
  39. package/dest/proving_broker/broker_prover_facade.js +247 -44
  40. package/dest/proving_broker/config.d.ts +61 -0
  41. package/dest/proving_broker/config.d.ts.map +1 -0
  42. package/dest/proving_broker/config.js +83 -0
  43. package/dest/proving_broker/factory.d.ts +1 -1
  44. package/dest/proving_broker/factory.d.ts.map +1 -1
  45. package/dest/proving_broker/factory.js +2 -5
  46. package/dest/proving_broker/fixtures.d.ts +5 -0
  47. package/dest/proving_broker/fixtures.d.ts.map +1 -0
  48. package/dest/proving_broker/fixtures.js +12 -0
  49. package/dest/proving_broker/index.d.ts +1 -0
  50. package/dest/proving_broker/index.d.ts.map +1 -1
  51. package/dest/proving_broker/index.js +2 -1
  52. package/dest/proving_broker/proving_broker.d.ts +16 -12
  53. package/dest/proving_broker/proving_broker.d.ts.map +1 -1
  54. package/dest/proving_broker/proving_broker.js +306 -273
  55. package/dest/proving_broker/proving_broker_database/memory.d.ts +4 -2
  56. package/dest/proving_broker/proving_broker_database/memory.d.ts.map +1 -1
  57. package/dest/proving_broker/proving_broker_database/memory.js +17 -4
  58. package/dest/proving_broker/proving_broker_database/persisted.d.ts +10 -6
  59. package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -1
  60. package/dest/proving_broker/proving_broker_database/persisted.js +105 -13
  61. package/dest/proving_broker/proving_broker_database.d.ts +7 -3
  62. package/dest/proving_broker/proving_broker_database.d.ts.map +1 -1
  63. package/dest/proving_broker/proving_job_controller.js +4 -4
  64. package/dest/proving_broker/rpc.d.ts.map +1 -1
  65. package/dest/proving_broker/rpc.js +4 -4
  66. package/dest/test/mock_prover.d.ts +7 -7
  67. package/dest/test/mock_prover.d.ts.map +1 -1
  68. package/dest/test/mock_prover.js +6 -6
  69. package/package.json +11 -11
  70. package/src/block_builder/light.ts +1 -20
  71. package/src/config.ts +4 -4
  72. package/src/mocks/fixtures.ts +1 -1
  73. package/src/mocks/test_context.ts +2 -2
  74. package/src/orchestrator/block-building-helpers.ts +45 -119
  75. package/src/orchestrator/block-proving-state.ts +251 -121
  76. package/src/orchestrator/epoch-proving-state.ts +159 -88
  77. package/src/orchestrator/orchestrator.ts +251 -527
  78. package/src/orchestrator/tx-proving-state.ts +30 -18
  79. package/src/prover-agent/memory-proving-queue.ts +11 -15
  80. package/src/prover-agent/prover-agent.ts +4 -4
  81. package/src/prover-client/prover-client.ts +5 -7
  82. package/src/prover-client/server-epoch-prover.ts +44 -0
  83. package/src/proving_broker/broker_prover_facade.ts +321 -64
  84. package/src/proving_broker/config.ts +93 -0
  85. package/src/proving_broker/factory.ts +2 -5
  86. package/src/proving_broker/fixtures.ts +14 -0
  87. package/src/proving_broker/index.ts +1 -0
  88. package/src/proving_broker/proving_broker.ts +114 -71
  89. package/src/proving_broker/proving_broker_database/memory.ts +24 -4
  90. package/src/proving_broker/proving_broker_database/persisted.ts +141 -19
  91. package/src/proving_broker/proving_broker_database.ts +8 -3
  92. package/src/proving_broker/proving_job_controller.ts +5 -5
  93. package/src/proving_broker/rpc.ts +2 -3
  94. package/src/test/mock_prover.ts +9 -14
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/proving_broker/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/proving_broker/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -6,4 +6,5 @@ export * from './proving_broker_database/memory.js';
6
6
  export * from './proving_broker_database/persisted.js';
7
7
  export * from './proof_store.js';
8
8
  export * from './factory.js';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmluZ19icm9rZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUMifQ==
9
+ export * from './config.js';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmluZ19icm9rZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUMifQ==
@@ -1,4 +1,4 @@
1
- import { type ProofUri, type ProvingJob, type ProvingJobConsumer, type ProvingJobFilter, type ProvingJobId, type ProvingJobProducer, type ProvingJobSettledResult, type ProvingJobStatus } from '@aztec/circuit-types';
1
+ import { type ProofUri, type ProvingJob, type ProvingJobConsumer, type ProvingJobFilter, type ProvingJobId, type ProvingJobProducer, type ProvingJobStatus } from '@aztec/circuit-types';
2
2
  import { type TelemetryClient, type Traceable, type Tracer } from '@aztec/telemetry-client';
3
3
  import { type ProvingBrokerDatabase } from './proving_broker_database.js';
4
4
  type ProofRequestBrokerConfig = {
@@ -13,6 +13,7 @@ type ProofRequestBrokerConfig = {
13
13
  * It takes a backend that is responsible for storing and retrieving proof requests and results.
14
14
  */
15
15
  export declare class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Traceable {
16
+ #private;
16
17
  private database;
17
18
  private logger;
18
19
  private queues;
@@ -28,44 +29,47 @@ export declare class ProvingBroker implements ProvingJobProducer, ProvingJobCons
28
29
  private maxRetries;
29
30
  private instrumentation;
30
31
  readonly tracer: Tracer;
31
- private maxParallelCleanUps;
32
+ private completedJobNotifications;
32
33
  /**
33
34
  * The broker keeps track of the highest epoch its seen.
34
35
  * This information is used for garbage collection: once it reaches the next epoch, it can start pruning the database of old state.
35
- * This clean up pass is only done against _settled_ jobs. This pass will not cancel jobs that are in-progress or in-queue.
36
- * It is a client responsibility to cancel jobs if they are no longer necessary.
36
+ * It is important that this value is initialised to zero. This ensures that we don't delete any old jobs until the current
37
+ * process instance receives a job request informing it of the actual current highest epoch
37
38
  * Example:
38
- * proving epoch 11 - the broker will wipe all setlled jobs for epochs 9 and lower
39
- * finished proving epoch 11 and got first job for epoch 12 -> the broker will wipe all setlled jobs for epochs 10 and lower
40
- * reorged back to end of epoch 10 -> epoch 11 is skipped and epoch 12 starts -> the broker will wipe all setlled jobs for epochs 10 and lower
39
+ * proving epoch 11 - the broker will wipe all jobs for epochs 9 and lower
40
+ * finished proving epoch 11 and got first job for epoch 12 -> the broker will wipe all settled jobs for epochs 10 and lower
41
+ * reorged back to end of epoch 10 -> epoch 11 is skipped and epoch 12 starts -> the broker will wipe all settled jobs for epochs 10 and lower
41
42
  */
42
43
  private epochHeight;
43
44
  private maxEpochsToKeepResultsFor;
44
- constructor(database: ProvingBrokerDatabase, client: TelemetryClient, { jobTimeoutMs, timeoutIntervalMs, maxRetries, maxEpochsToKeepResultsFor, maxParallelCleanUps, }?: ProofRequestBrokerConfig, logger?: import("@aztec/foundation/log").Logger);
45
+ private requestQueue;
46
+ private started;
47
+ constructor(database: ProvingBrokerDatabase, client: TelemetryClient, { jobTimeoutMs, timeoutIntervalMs, maxRetries, maxEpochsToKeepResultsFor, }?: ProofRequestBrokerConfig, logger?: import("@aztec/foundation/log").Logger);
45
48
  private measureQueueDepth;
46
49
  private countActiveJobs;
47
50
  start(): Promise<void>;
48
51
  stop(): Promise<void>;
49
- enqueueProvingJob(job: ProvingJob): Promise<void>;
50
- waitForJobToSettle(id: ProvingJobId): Promise<ProvingJobSettledResult>;
52
+ enqueueProvingJob(job: ProvingJob): Promise<ProvingJobStatus>;
51
53
  cancelProvingJob(id: ProvingJobId): Promise<void>;
52
- private cleanUpProvingJobState;
53
54
  getProvingJobStatus(id: ProvingJobId): Promise<ProvingJobStatus>;
55
+ getCompletedJobs(ids: ProvingJobId[]): Promise<ProvingJobId[]>;
54
56
  getProvingJob(filter?: ProvingJobFilter): Promise<{
55
57
  job: ProvingJob;
56
58
  time: number;
57
59
  } | undefined>;
60
+ reportProvingJobSuccess(id: ProvingJobId, value: ProofUri): Promise<void>;
58
61
  reportProvingJobError(id: ProvingJobId, err: string, retry?: boolean): Promise<void>;
59
62
  reportProvingJobProgress(id: ProvingJobId, startedAt: number, filter?: ProvingJobFilter): Promise<{
60
63
  job: ProvingJob;
61
64
  time: number;
62
65
  } | undefined>;
63
- reportProvingJobSuccess(id: ProvingJobId, value: ProofUri): Promise<void>;
66
+ private cleanUpProvingJobState;
64
67
  private cleanupPass;
65
68
  private cleanupStaleJobs;
66
69
  private reEnqueueExpiredJobs;
67
70
  private enqueueJobInternal;
68
71
  private isJobStale;
72
+ private oldestEpochToKeep;
69
73
  }
70
74
  export {};
71
75
  //# sourceMappingURL=proving_broker.d.ts.map
@@ -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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"}