@aztec/prover-client 0.65.1 → 0.66.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 (144) hide show
  1. package/dest/block_builder/index.d.ts +6 -0
  2. package/dest/block_builder/index.d.ts.map +1 -0
  3. package/dest/block_builder/index.js +2 -0
  4. package/dest/block_builder/light.d.ts +32 -0
  5. package/dest/block_builder/light.d.ts.map +1 -0
  6. package/dest/block_builder/light.js +71 -0
  7. package/dest/config.d.ts +4 -10
  8. package/dest/config.d.ts.map +1 -1
  9. package/dest/config.js +8 -7
  10. package/dest/index.d.ts +2 -2
  11. package/dest/index.d.ts.map +1 -1
  12. package/dest/index.js +3 -3
  13. package/dest/mocks/fixtures.d.ts +1 -2
  14. package/dest/mocks/fixtures.d.ts.map +1 -1
  15. package/dest/mocks/fixtures.js +3 -7
  16. package/dest/mocks/test_context.d.ts +28 -10
  17. package/dest/mocks/test_context.d.ts.map +1 -1
  18. package/dest/mocks/test_context.js +59 -21
  19. package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
  20. package/dest/orchestrator/block-building-helpers.js +10 -18
  21. package/dest/orchestrator/block-proving-state.js +2 -2
  22. package/dest/orchestrator/epoch-proving-state.d.ts +5 -6
  23. package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
  24. package/dest/orchestrator/epoch-proving-state.js +10 -12
  25. package/dest/orchestrator/orchestrator.d.ts +8 -6
  26. package/dest/orchestrator/orchestrator.d.ts.map +1 -1
  27. package/dest/orchestrator/orchestrator.js +83 -72
  28. package/dest/orchestrator/tx-proving-state.d.ts +0 -1
  29. package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
  30. package/dest/orchestrator/tx-proving-state.js +2 -34
  31. package/dest/prover-agent/memory-proving-queue.d.ts +10 -8
  32. package/dest/prover-agent/memory-proving-queue.d.ts.map +1 -1
  33. package/dest/prover-agent/memory-proving-queue.js +35 -35
  34. package/dest/prover-agent/prover-agent.d.ts +1 -0
  35. package/dest/prover-agent/prover-agent.d.ts.map +1 -1
  36. package/dest/prover-agent/prover-agent.js +12 -9
  37. package/dest/prover-client/factory.d.ts +6 -0
  38. package/dest/prover-client/factory.d.ts.map +1 -0
  39. package/dest/prover-client/factory.js +6 -0
  40. package/dest/prover-client/index.d.ts +3 -0
  41. package/dest/prover-client/index.d.ts.map +1 -0
  42. package/dest/prover-client/index.js +3 -0
  43. package/dest/prover-client/prover-client.d.ts +41 -0
  44. package/dest/prover-client/prover-client.d.ts.map +1 -0
  45. package/dest/prover-client/prover-client.js +107 -0
  46. package/dest/proving_broker/caching_broker_facade.d.ts +30 -0
  47. package/dest/proving_broker/caching_broker_facade.d.ts.map +1 -0
  48. package/dest/proving_broker/caching_broker_facade.js +150 -0
  49. package/dest/proving_broker/factory.d.ts +5 -0
  50. package/dest/proving_broker/factory.d.ts.map +1 -0
  51. package/dest/proving_broker/factory.js +17 -0
  52. package/dest/proving_broker/index.d.ts +9 -0
  53. package/dest/proving_broker/index.d.ts.map +1 -0
  54. package/dest/proving_broker/index.js +9 -0
  55. package/dest/proving_broker/proof_store.d.ts +46 -0
  56. package/dest/proving_broker/proof_store.d.ts.map +1 -0
  57. package/dest/proving_broker/proof_store.js +37 -0
  58. package/dest/proving_broker/prover_cache/memory.d.ts +9 -0
  59. package/dest/proving_broker/prover_cache/memory.d.ts.map +1 -0
  60. package/dest/proving_broker/prover_cache/memory.js +16 -0
  61. package/dest/proving_broker/proving_agent.d.ts +16 -6
  62. package/dest/proving_broker/proving_agent.d.ts.map +1 -1
  63. package/dest/proving_broker/proving_agent.js +59 -20
  64. package/dest/proving_broker/proving_agent_instrumentation.d.ts +8 -0
  65. package/dest/proving_broker/proving_agent_instrumentation.d.ts.map +1 -0
  66. package/dest/proving_broker/proving_agent_instrumentation.js +16 -0
  67. package/dest/proving_broker/proving_broker.d.ts +22 -16
  68. package/dest/proving_broker/proving_broker.d.ts.map +1 -1
  69. package/dest/proving_broker/proving_broker.js +79 -25
  70. package/dest/proving_broker/proving_broker_database/memory.d.ts +14 -0
  71. package/dest/proving_broker/proving_broker_database/memory.d.ts.map +1 -0
  72. package/dest/proving_broker/proving_broker_database/memory.js +35 -0
  73. package/dest/proving_broker/proving_broker_database/persisted.d.ts +17 -0
  74. package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -0
  75. package/dest/proving_broker/proving_broker_database/persisted.js +43 -0
  76. package/dest/proving_broker/{proving_job_database.d.ts → proving_broker_database.d.ts} +8 -8
  77. package/dest/proving_broker/proving_broker_database.d.ts.map +1 -0
  78. package/dest/proving_broker/proving_broker_database.js +2 -0
  79. package/dest/proving_broker/proving_broker_instrumentation.d.ts +25 -0
  80. package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +1 -0
  81. package/dest/proving_broker/proving_broker_instrumentation.js +91 -0
  82. package/dest/proving_broker/proving_job_controller.d.ts +13 -8
  83. package/dest/proving_broker/proving_job_controller.d.ts.map +1 -1
  84. package/dest/proving_broker/proving_job_controller.js +43 -43
  85. package/dest/proving_broker/rpc.d.ts +11 -0
  86. package/dest/proving_broker/rpc.d.ts.map +1 -0
  87. package/dest/proving_broker/rpc.js +44 -0
  88. package/dest/test/mock_prover.d.ts +16 -2
  89. package/dest/test/mock_prover.d.ts.map +1 -1
  90. package/dest/test/mock_prover.js +37 -1
  91. package/package.json +17 -14
  92. package/src/block_builder/index.ts +6 -0
  93. package/src/block_builder/light.ts +117 -0
  94. package/src/config.ts +17 -16
  95. package/src/index.ts +2 -2
  96. package/src/mocks/fixtures.ts +2 -14
  97. package/src/mocks/test_context.ts +81 -25
  98. package/src/orchestrator/block-building-helpers.ts +22 -33
  99. package/src/orchestrator/block-proving-state.ts +1 -1
  100. package/src/orchestrator/epoch-proving-state.ts +10 -13
  101. package/src/orchestrator/orchestrator.ts +97 -77
  102. package/src/orchestrator/tx-proving-state.ts +1 -56
  103. package/src/prover-agent/memory-proving-queue.ts +43 -44
  104. package/src/prover-agent/prover-agent.ts +16 -20
  105. package/src/prover-client/factory.ts +15 -0
  106. package/src/prover-client/index.ts +2 -0
  107. package/src/prover-client/prover-client.ts +172 -0
  108. package/src/proving_broker/caching_broker_facade.ts +312 -0
  109. package/src/proving_broker/factory.ts +25 -0
  110. package/src/proving_broker/index.ts +8 -0
  111. package/src/proving_broker/proof_store.ts +106 -0
  112. package/src/proving_broker/prover_cache/memory.ts +20 -0
  113. package/src/proving_broker/proving_agent.ts +90 -20
  114. package/src/proving_broker/proving_agent_instrumentation.ts +21 -0
  115. package/src/proving_broker/proving_broker.ts +143 -67
  116. package/src/proving_broker/proving_broker_database/memory.ts +43 -0
  117. package/src/proving_broker/proving_broker_database/persisted.ts +60 -0
  118. package/src/proving_broker/{proving_job_database.ts → proving_broker_database.ts} +7 -12
  119. package/src/proving_broker/proving_broker_instrumentation.ts +130 -0
  120. package/src/proving_broker/proving_job_controller.ts +54 -46
  121. package/src/proving_broker/rpc.ts +64 -0
  122. package/src/test/mock_prover.ts +52 -0
  123. package/dest/proving_broker/proving_broker_interface.d.ts +0 -61
  124. package/dest/proving_broker/proving_broker_interface.d.ts.map +0 -1
  125. package/dest/proving_broker/proving_broker_interface.js +0 -2
  126. package/dest/proving_broker/proving_job_database/memory.d.ts +0 -14
  127. package/dest/proving_broker/proving_job_database/memory.d.ts.map +0 -1
  128. package/dest/proving_broker/proving_job_database/memory.js +0 -35
  129. package/dest/proving_broker/proving_job_database/persisted.d.ts +0 -15
  130. package/dest/proving_broker/proving_job_database/persisted.d.ts.map +0 -1
  131. package/dest/proving_broker/proving_job_database/persisted.js +0 -35
  132. package/dest/proving_broker/proving_job_database.d.ts.map +0 -1
  133. package/dest/proving_broker/proving_job_database.js +0 -2
  134. package/dest/tx-prover/factory.d.ts +0 -5
  135. package/dest/tx-prover/factory.d.ts.map +0 -1
  136. package/dest/tx-prover/factory.js +0 -6
  137. package/dest/tx-prover/tx-prover.d.ts +0 -38
  138. package/dest/tx-prover/tx-prover.d.ts.map +0 -1
  139. package/dest/tx-prover/tx-prover.js +0 -93
  140. package/src/proving_broker/proving_broker_interface.ts +0 -74
  141. package/src/proving_broker/proving_job_database/memory.ts +0 -43
  142. package/src/proving_broker/proving_job_database/persisted.ts +0 -45
  143. package/src/tx-prover/factory.ts +0 -9
  144. package/src/tx-prover/tx-prover.ts +0 -130
@@ -1,53 +1,68 @@
1
1
  import {
2
+ type ProvingJobId,
3
+ type ProvingJobInputs,
4
+ type ProvingJobResultsMap,
2
5
  ProvingRequestType,
3
6
  type ServerCircuitProver,
4
- type V2ProofOutput,
5
- type V2ProvingJob,
6
- type V2ProvingJobId,
7
7
  } from '@aztec/circuit-types';
8
8
 
9
- export enum ProvingJobStatus {
9
+ export enum ProvingJobControllerStatus {
10
10
  IDLE = 'idle',
11
11
  PROVING = 'proving',
12
12
  DONE = 'done',
13
+ ABORTED = 'aborted',
13
14
  }
14
15
 
15
- type ProvingJobCompletionCallback = (
16
- error: Error | undefined,
17
- result: V2ProofOutput | undefined,
18
- ) => void | Promise<void>;
16
+ interface ProvingJobCompletionCallback<T extends ProvingRequestType = ProvingRequestType> {
17
+ (
18
+ jobId: ProvingJobId,
19
+ type: T,
20
+ error: Error | undefined,
21
+ result: ProvingJobResultsMap[T] | undefined,
22
+ ): void | Promise<void>;
23
+ }
19
24
 
20
25
  export class ProvingJobController {
21
- private status: ProvingJobStatus = ProvingJobStatus.IDLE;
26
+ private status: ProvingJobControllerStatus = ProvingJobControllerStatus.IDLE;
22
27
  private promise?: Promise<void>;
23
28
  private abortController = new AbortController();
24
29
 
25
30
  constructor(
26
- private job: V2ProvingJob,
31
+ private jobId: ProvingJobId,
32
+ private inputs: ProvingJobInputs,
27
33
  private startedAt: number,
28
34
  private circuitProver: ServerCircuitProver,
29
35
  private onComplete: ProvingJobCompletionCallback,
30
36
  ) {}
31
37
 
32
38
  public start(): void {
33
- if (this.status !== ProvingJobStatus.IDLE) {
39
+ if (this.status !== ProvingJobControllerStatus.IDLE) {
34
40
  return;
35
41
  }
36
42
 
37
- this.status = ProvingJobStatus.PROVING;
43
+ this.status = ProvingJobControllerStatus.PROVING;
38
44
  this.promise = this.generateProof()
39
45
  .then(
40
46
  result => {
41
- this.status = ProvingJobStatus.DONE;
42
- return this.onComplete(undefined, result);
47
+ if (this.status === ProvingJobControllerStatus.ABORTED) {
48
+ return;
49
+ }
50
+
51
+ this.status = ProvingJobControllerStatus.DONE;
52
+ return this.onComplete(this.jobId, this.inputs.type, undefined, result);
43
53
  },
44
54
  error => {
45
- this.status = ProvingJobStatus.DONE;
55
+ if (this.status === ProvingJobControllerStatus.ABORTED) {
56
+ return;
57
+ }
58
+
46
59
  if (error.name === 'AbortError') {
47
60
  // Ignore abort errors
48
61
  return;
49
62
  }
50
- return this.onComplete(error, undefined);
63
+
64
+ this.status = ProvingJobControllerStatus.DONE;
65
+ return this.onComplete(this.jobId, this.inputs.type, error, undefined);
51
66
  },
52
67
  )
53
68
  .catch(_ => {
@@ -55,88 +70,81 @@ export class ProvingJobController {
55
70
  });
56
71
  }
57
72
 
58
- public getStatus(): ProvingJobStatus {
73
+ public getStatus(): ProvingJobControllerStatus {
59
74
  return this.status;
60
75
  }
61
76
 
62
77
  public abort(): void {
63
- if (this.status !== ProvingJobStatus.PROVING) {
78
+ if (this.status !== ProvingJobControllerStatus.PROVING) {
64
79
  return;
65
80
  }
66
81
 
82
+ this.status = ProvingJobControllerStatus.ABORTED;
67
83
  this.abortController.abort();
68
84
  }
69
85
 
70
- public getJobId(): V2ProvingJobId {
71
- return this.job.id;
86
+ public getJobId(): ProvingJobId {
87
+ return this.jobId;
72
88
  }
73
89
 
74
90
  public getStartedAt(): number {
75
91
  return this.startedAt;
76
92
  }
77
93
 
78
- private async generateProof(): Promise<V2ProofOutput> {
79
- const { type, inputs } = this.job;
94
+ public getProofTypeName(): string {
95
+ return ProvingRequestType[this.inputs.type];
96
+ }
97
+
98
+ private async generateProof(): Promise<ProvingJobResultsMap[ProvingRequestType]> {
99
+ const { type, inputs } = this.inputs;
80
100
  const signal = this.abortController.signal;
81
101
  switch (type) {
82
102
  case ProvingRequestType.PUBLIC_VM: {
83
- const value = await this.circuitProver.getAvmProof(inputs, signal);
84
- return { type, value };
103
+ return await this.circuitProver.getAvmProof(inputs, signal);
85
104
  }
86
105
 
87
106
  case ProvingRequestType.PRIVATE_BASE_ROLLUP: {
88
- const value = await this.circuitProver.getPrivateBaseRollupProof(inputs, signal);
89
- return { type, value };
107
+ return await this.circuitProver.getPrivateBaseRollupProof(inputs, signal);
90
108
  }
91
109
 
92
110
  case ProvingRequestType.PUBLIC_BASE_ROLLUP: {
93
- const value = await this.circuitProver.getPublicBaseRollupProof(inputs, signal);
94
- return { type, value };
111
+ return await this.circuitProver.getPublicBaseRollupProof(inputs, signal);
95
112
  }
96
113
 
97
114
  case ProvingRequestType.MERGE_ROLLUP: {
98
- const value = await this.circuitProver.getMergeRollupProof(inputs, signal);
99
- return { type, value };
115
+ return await this.circuitProver.getMergeRollupProof(inputs, signal);
100
116
  }
101
117
 
102
118
  case ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP: {
103
- const value = await this.circuitProver.getEmptyBlockRootRollupProof(inputs, signal);
104
- return { type, value };
119
+ return await this.circuitProver.getEmptyBlockRootRollupProof(inputs, signal);
105
120
  }
106
121
 
107
122
  case ProvingRequestType.BLOCK_ROOT_ROLLUP: {
108
- const value = await this.circuitProver.getBlockRootRollupProof(inputs, signal);
109
- return { type, value };
123
+ return await this.circuitProver.getBlockRootRollupProof(inputs, signal);
110
124
  }
111
125
 
112
126
  case ProvingRequestType.BLOCK_MERGE_ROLLUP: {
113
- const value = await this.circuitProver.getBlockMergeRollupProof(inputs, signal);
114
- return { type, value };
127
+ return await this.circuitProver.getBlockMergeRollupProof(inputs, signal);
115
128
  }
116
129
 
117
130
  case ProvingRequestType.ROOT_ROLLUP: {
118
- const value = await this.circuitProver.getRootRollupProof(inputs, signal);
119
- return { type, value };
131
+ return await this.circuitProver.getRootRollupProof(inputs, signal);
120
132
  }
121
133
 
122
134
  case ProvingRequestType.BASE_PARITY: {
123
- const value = await this.circuitProver.getBaseParityProof(inputs, signal);
124
- return { type, value };
135
+ return await this.circuitProver.getBaseParityProof(inputs, signal);
125
136
  }
126
137
 
127
138
  case ProvingRequestType.ROOT_PARITY: {
128
- const value = await this.circuitProver.getRootParityProof(inputs, signal);
129
- return { type, value };
139
+ return await this.circuitProver.getRootParityProof(inputs, signal);
130
140
  }
131
141
 
132
142
  case ProvingRequestType.PRIVATE_KERNEL_EMPTY: {
133
- const value = await this.circuitProver.getEmptyPrivateKernelProof(inputs, signal);
134
- return { type, value };
143
+ return await this.circuitProver.getEmptyPrivateKernelProof(inputs, signal);
135
144
  }
136
145
 
137
146
  case ProvingRequestType.TUBE_PROOF: {
138
- const value = await this.circuitProver.getTubeProof(inputs, signal);
139
- return { type, value };
147
+ return await this.circuitProver.getTubeProof(inputs, signal);
140
148
  }
141
149
 
142
150
  default: {
@@ -0,0 +1,64 @@
1
+ import {
2
+ type GetProvingJobResponse,
3
+ ProofUri,
4
+ ProvingJob,
5
+ type ProvingJobBroker,
6
+ type ProvingJobConsumer,
7
+ ProvingJobId,
8
+ type ProvingJobProducer,
9
+ ProvingJobSettledResult,
10
+ ProvingJobStatus,
11
+ ProvingRequestType,
12
+ } from '@aztec/circuit-types';
13
+ import { createSafeJsonRpcClient, makeFetch } from '@aztec/foundation/json-rpc/client';
14
+ import { type SafeJsonRpcServer, createSafeJsonRpcServer } from '@aztec/foundation/json-rpc/server';
15
+ import { type ApiSchemaFor, optional } from '@aztec/foundation/schemas';
16
+
17
+ import { z } from 'zod';
18
+
19
+ const ProvingJobFilterSchema = z.object({
20
+ allowList: z.array(z.nativeEnum(ProvingRequestType)),
21
+ });
22
+
23
+ const GetProvingJobResponse = z.object({
24
+ job: ProvingJob,
25
+ time: z.number(),
26
+ });
27
+
28
+ export const ProvingJobProducerSchema: ApiSchemaFor<ProvingJobProducer> = {
29
+ enqueueProvingJob: z.function().args(ProvingJob).returns(z.void()),
30
+ getProvingJobStatus: z.function().args(ProvingJobId).returns(ProvingJobStatus),
31
+ removeAndCancelProvingJob: z.function().args(ProvingJobId).returns(z.void()),
32
+ waitForJobToSettle: z.function().args(ProvingJobId).returns(ProvingJobSettledResult),
33
+ };
34
+
35
+ export const ProvingJobConsumerSchema: ApiSchemaFor<ProvingJobConsumer> = {
36
+ getProvingJob: z.function().args(optional(ProvingJobFilterSchema)).returns(GetProvingJobResponse.optional()),
37
+ reportProvingJobError: z.function().args(ProvingJobId, z.string(), optional(z.boolean())).returns(z.void()),
38
+ reportProvingJobProgress: z
39
+ .function()
40
+ .args(ProvingJobId, z.number(), optional(ProvingJobFilterSchema))
41
+ .returns(GetProvingJobResponse.optional()),
42
+ reportProvingJobSuccess: z.function().args(ProvingJobId, ProofUri).returns(z.void()),
43
+ };
44
+
45
+ export const ProvingJobBrokerSchema: ApiSchemaFor<ProvingJobBroker> = {
46
+ ...ProvingJobConsumerSchema,
47
+ ...ProvingJobProducerSchema,
48
+ };
49
+
50
+ export function createProvingBrokerServer(broker: ProvingJobBroker): SafeJsonRpcServer {
51
+ return createSafeJsonRpcServer(broker, ProvingJobBrokerSchema);
52
+ }
53
+
54
+ export function createProvingJobBrokerClient(url: string, fetch = makeFetch([1, 2, 3], false)): ProvingJobBroker {
55
+ return createSafeJsonRpcClient(url, ProvingJobBrokerSchema, false, 'proverBroker', fetch);
56
+ }
57
+
58
+ export function createProvingJobProducerClient(url: string, fetch = makeFetch([1, 2, 3], false)): ProvingJobProducer {
59
+ return createSafeJsonRpcClient(url, ProvingJobProducerSchema, false, 'provingJobProducer', fetch);
60
+ }
61
+
62
+ export function createProvingJobConsumerClient(url: string, fetch = makeFetch([1, 2, 3], false)): ProvingJobConsumer {
63
+ return createSafeJsonRpcClient(url, ProvingJobConsumerSchema, false, 'provingJobConsumer', fetch);
64
+ }
@@ -1,5 +1,10 @@
1
1
  import {
2
2
  type ProofAndVerificationKey,
3
+ type ProvingJob,
4
+ type ProvingJobId,
5
+ type ProvingJobProducer,
6
+ type ProvingJobSettledResult,
7
+ type ProvingJobStatus,
3
8
  type PublicInputsAndRecursiveProof,
4
9
  type ServerCircuitProver,
5
10
  makeProofAndVerificationKey,
@@ -37,6 +42,53 @@ import {
37
42
  makeParityPublicInputs,
38
43
  makeRootRollupPublicInputs,
39
44
  } from '@aztec/circuits.js/testing';
45
+ import { times } from '@aztec/foundation/collection';
46
+ import { NoopTelemetryClient } from '@aztec/telemetry-client/noop';
47
+
48
+ import { InlineProofStore, type ProofStore } from '../proving_broker/proof_store.js';
49
+ import { ProvingAgent } from '../proving_broker/proving_agent.js';
50
+ import { ProvingBroker } from '../proving_broker/proving_broker.js';
51
+ import { InMemoryBrokerDatabase } from '../proving_broker/proving_broker_database/memory.js';
52
+
53
+ export class TestBroker implements ProvingJobProducer {
54
+ private broker = new ProvingBroker(new InMemoryBrokerDatabase(), new NoopTelemetryClient());
55
+ private agents: ProvingAgent[];
56
+
57
+ constructor(
58
+ agentCount: number,
59
+ prover: ServerCircuitProver,
60
+ private proofStore: ProofStore = new InlineProofStore(),
61
+ ) {
62
+ this.agents = times(agentCount, () => new ProvingAgent(this.broker, proofStore, prover, new NoopTelemetryClient()));
63
+ }
64
+
65
+ public async start() {
66
+ await this.broker.start();
67
+ this.agents.forEach(agent => agent.start());
68
+ }
69
+
70
+ public async stop() {
71
+ await Promise.all(this.agents.map(agent => agent.stop()));
72
+ await this.broker.stop();
73
+ }
74
+
75
+ public getProofStore(): ProofStore {
76
+ return this.proofStore;
77
+ }
78
+
79
+ enqueueProvingJob(job: ProvingJob): Promise<void> {
80
+ return this.broker.enqueueProvingJob(job);
81
+ }
82
+ getProvingJobStatus(id: ProvingJobId): Promise<ProvingJobStatus> {
83
+ return this.broker.getProvingJobStatus(id);
84
+ }
85
+ removeAndCancelProvingJob(id: ProvingJobId): Promise<void> {
86
+ return this.broker.removeAndCancelProvingJob(id);
87
+ }
88
+ waitForJobToSettle(id: ProvingJobId): Promise<ProvingJobSettledResult> {
89
+ return this.broker.waitForJobToSettle(id);
90
+ }
91
+ }
40
92
 
41
93
  export class MockProver implements ServerCircuitProver {
42
94
  constructor() {}
@@ -1,61 +0,0 @@
1
- import { type ProvingRequestType, type V2ProofOutput, type V2ProvingJob, type V2ProvingJobId, type V2ProvingJobStatus } from '@aztec/circuit-types';
2
- /**
3
- * An interface for the proving orchestrator. The producer uses this to enqueue jobs for agents
4
- */
5
- export interface ProvingJobProducer {
6
- /**
7
- * Enqueues a proving job
8
- * @param job - The job to enqueue
9
- */
10
- enqueueProvingJob(job: V2ProvingJob): Promise<void>;
11
- /**
12
- * Cancels a proving job and clears all of its
13
- * @param id - The ID of the job to cancel
14
- */
15
- removeAndCancelProvingJob(id: V2ProvingJobId): Promise<void>;
16
- /**
17
- * Returns the current status fof the proving job
18
- * @param id - The ID of the job to get the status of
19
- */
20
- getProvingJobStatus(id: V2ProvingJobId): Promise<V2ProvingJobStatus>;
21
- }
22
- export interface ProvingJobFilter<T extends ProvingRequestType[]> {
23
- allowList?: T;
24
- }
25
- /**
26
- * An interface for proving agents to request jobs and report results
27
- */
28
- export interface ProvingJobConsumer {
29
- /**
30
- * Gets a proving job to work on
31
- * @param filter - Optional filter for the type of job to get
32
- */
33
- getProvingJob<T extends ProvingRequestType[]>(filter?: ProvingJobFilter<T>): Promise<{
34
- job: V2ProvingJob;
35
- time: number;
36
- } | undefined>;
37
- /**
38
- * Marks a proving job as successful
39
- * @param id - The ID of the job to report success for
40
- * @param result - The result of the job
41
- */
42
- reportProvingJobSuccess(id: V2ProvingJobId, result: V2ProofOutput): Promise<void>;
43
- /**
44
- * Marks a proving job as errored
45
- * @param id - The ID of the job to report an error for
46
- * @param err - The error that occurred while processing the job
47
- * @param retry - Whether to retry the job
48
- */
49
- reportProvingJobError(id: V2ProvingJobId, err: Error, retry?: boolean): Promise<void>;
50
- /**
51
- * Sends a heartbeat to the broker to indicate that the agent is still working on the given proving job
52
- * @param id - The ID of the job to report progress for
53
- * @param startedAt - The unix epoch when the job was started
54
- * @param filter - Optional filter for the type of job to get
55
- */
56
- reportProvingJobProgress<F extends ProvingRequestType[]>(id: V2ProvingJobId, startedAt: number, filter?: ProvingJobFilter<F>): Promise<{
57
- job: V2ProvingJob;
58
- time: number;
59
- } | undefined>;
60
- }
61
- //# sourceMappingURL=proving_broker_interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proving_broker_interface.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_broker_interface.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,iBAAiB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD;;;OAGG;IACH,yBAAyB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D;;;OAGG;IACH,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,kBAAkB,EAAE;IAC9D,SAAS,CAAC,EAAE,CAAC,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,aAAa,CAAC,CAAC,SAAS,kBAAkB,EAAE,EAC1C,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC;QAAE,GAAG,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;IAE5D;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElF;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtF;;;;;OAKG;IACH,wBAAwB,CAAC,CAAC,SAAS,kBAAkB,EAAE,EACrD,EAAE,EAAE,cAAc,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC;QAAE,GAAG,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;CAC7D"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmluZ19icm9rZXJfaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3Byb3ZpbmdfYnJva2VyX2ludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -1,14 +0,0 @@
1
- import type { V2ProofOutput, V2ProvingJob, V2ProvingJobId, V2ProvingJobResult } from '@aztec/circuit-types';
2
- import { type ProvingJobDatabase } from '../proving_job_database.js';
3
- export declare class InMemoryDatabase implements ProvingJobDatabase {
4
- private jobs;
5
- private results;
6
- getProvingJob(id: V2ProvingJobId): V2ProvingJob | undefined;
7
- getProvingJobResult(id: V2ProvingJobId): V2ProvingJobResult | undefined;
8
- addProvingJob(request: V2ProvingJob): Promise<void>;
9
- setProvingJobResult(id: V2ProvingJobId, value: V2ProofOutput): Promise<void>;
10
- setProvingJobError(id: V2ProvingJobId, error: Error): Promise<void>;
11
- deleteProvingJobAndResult(id: V2ProvingJobId): Promise<void>;
12
- allProvingJobs(): Iterable<[V2ProvingJob, V2ProvingJobResult | undefined]>;
13
- }
14
- //# sourceMappingURL=memory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/proving_broker/proving_job_database/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE5G,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,qBAAa,gBAAiB,YAAW,kBAAkB;IACzD,OAAO,CAAC,IAAI,CAA2C;IACvD,OAAO,CAAC,OAAO,CAAiD;IAEhE,aAAa,CAAC,EAAE,EAAE,cAAc,GAAG,YAAY,GAAG,SAAS;IAI3D,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,kBAAkB,GAAG,SAAS;IAIvE,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnD,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5E,kBAAkB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnE,yBAAyB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3D,cAAc,IAAI,QAAQ,CAAC,CAAC,YAAY,EAAE,kBAAkB,GAAG,SAAS,CAAC,CAAC;CAK5E"}
@@ -1,35 +0,0 @@
1
- export class InMemoryDatabase {
2
- constructor() {
3
- this.jobs = new Map();
4
- this.results = new Map();
5
- }
6
- getProvingJob(id) {
7
- return this.jobs.get(id);
8
- }
9
- getProvingJobResult(id) {
10
- return this.results.get(id);
11
- }
12
- addProvingJob(request) {
13
- this.jobs.set(request.id, request);
14
- return Promise.resolve();
15
- }
16
- setProvingJobResult(id, value) {
17
- this.results.set(id, { value });
18
- return Promise.resolve();
19
- }
20
- setProvingJobError(id, error) {
21
- this.results.set(id, { error: String(error) });
22
- return Promise.resolve();
23
- }
24
- deleteProvingJobAndResult(id) {
25
- this.jobs.delete(id);
26
- this.results.delete(id);
27
- return Promise.resolve();
28
- }
29
- *allProvingJobs() {
30
- for (const item of this.jobs.values()) {
31
- yield [item, this.results.get(item.id)];
32
- }
33
- }
34
- }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3Byb3Zpbmdfam9iX2RhdGFiYXNlL21lbW9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQU8sZ0JBQWdCO0lBQTdCO1FBQ1UsU0FBSSxHQUFHLElBQUksR0FBRyxFQUFnQyxDQUFDO1FBQy9DLFlBQU8sR0FBRyxJQUFJLEdBQUcsRUFBc0MsQ0FBQztJQW9DbEUsQ0FBQztJQWxDQyxhQUFhLENBQUMsRUFBa0I7UUFDOUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsbUJBQW1CLENBQUMsRUFBa0I7UUFDcEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQXFCO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbkMsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELG1CQUFtQixDQUFDLEVBQWtCLEVBQUUsS0FBb0I7UUFDMUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNoQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsa0JBQWtCLENBQUMsRUFBa0IsRUFBRSxLQUFZO1FBQ2pELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxFQUFrQjtRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsQ0FBQyxjQUFjO1FBQ2IsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDdEMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQVUsQ0FBQztRQUNuRCxDQUFDO0lBQ0gsQ0FBQztDQUNGIn0=
@@ -1,15 +0,0 @@
1
- import { type V2ProofOutput, V2ProvingJob, type V2ProvingJobId, V2ProvingJobResult } from '@aztec/circuit-types';
2
- import { type AztecKVStore } from '@aztec/kv-store';
3
- import { type ProvingJobDatabase } from '../proving_job_database.js';
4
- export declare class PersistedProvingJobDatabase implements ProvingJobDatabase {
5
- private store;
6
- private jobs;
7
- private jobResults;
8
- constructor(store: AztecKVStore);
9
- addProvingJob(job: V2ProvingJob): Promise<void>;
10
- allProvingJobs(): Iterable<[V2ProvingJob, V2ProvingJobResult | undefined]>;
11
- deleteProvingJobAndResult(id: V2ProvingJobId): Promise<void>;
12
- setProvingJobError(id: V2ProvingJobId, err: Error): Promise<void>;
13
- setProvingJobResult(id: V2ProvingJobId, value: V2ProofOutput): Promise<void>;
14
- }
15
- //# sourceMappingURL=persisted.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"persisted.d.ts","sourceRoot":"","sources":["../../../src/proving_broker/proving_job_database/persisted.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEjH,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,qBAAa,2BAA4B,YAAW,kBAAkB;IAIxD,OAAO,CAAC,KAAK;IAHzB,OAAO,CAAC,IAAI,CAAmC;IAC/C,OAAO,CAAC,UAAU,CAAmC;gBAEjC,KAAK,EAAE,YAAY;IAKjC,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,cAAc,IAAI,QAAQ,CAAC,CAAC,YAAY,EAAE,kBAAkB,GAAG,SAAS,CAAC,CAAC;IAS3E,yBAAyB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtD,kBAAkB,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CAInF"}
@@ -1,35 +0,0 @@
1
- import { V2ProvingJob, V2ProvingJobResult } from '@aztec/circuit-types';
2
- import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
3
- export class PersistedProvingJobDatabase {
4
- constructor(store) {
5
- this.store = store;
6
- this.jobs = store.openMap('proving_jobs');
7
- this.jobResults = store.openMap('proving_job_results');
8
- }
9
- async addProvingJob(job) {
10
- await this.jobs.set(job.id, jsonStringify(job));
11
- }
12
- *allProvingJobs() {
13
- for (const jobStr of this.jobs.values()) {
14
- const job = jsonParseWithSchema(jobStr, V2ProvingJob);
15
- const resultStr = this.jobResults.get(job.id);
16
- const result = resultStr ? jsonParseWithSchema(resultStr, V2ProvingJobResult) : undefined;
17
- yield [job, result];
18
- }
19
- }
20
- deleteProvingJobAndResult(id) {
21
- return this.store.transaction(() => {
22
- void this.jobs.delete(id);
23
- void this.jobResults.delete(id);
24
- });
25
- }
26
- async setProvingJobError(id, err) {
27
- const res = { error: err.message };
28
- await this.jobResults.set(id, jsonStringify(res));
29
- }
30
- async setProvingJobResult(id, value) {
31
- const res = { value };
32
- await this.jobResults.set(id, jsonStringify(res));
33
- }
34
- }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc2lzdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3Byb3Zpbmdfam9iX2RhdGFiYXNlL3BlcnNpc3RlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLFlBQVksRUFBdUIsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFLaEYsTUFBTSxPQUFPLDJCQUEyQjtJQUl0QyxZQUFvQixLQUFtQjtRQUFuQixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFpQjtRQUNuQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELENBQUMsY0FBYztRQUNiLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sR0FBRyxHQUFHLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztZQUN0RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDOUMsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzFGLE1BQU0sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxFQUFrQjtRQUMxQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNqQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzFCLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEVBQWtCLEVBQUUsR0FBVTtRQUNyRCxNQUFNLEdBQUcsR0FBdUIsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZELE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxLQUFLLENBQUMsbUJBQW1CLENBQUMsRUFBa0IsRUFBRSxLQUFvQjtRQUNoRSxNQUFNLEdBQUcsR0FBdUIsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUMxQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0NBQ0YifQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"proving_job_database.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_job_database.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD;;;OAGG;IACH,yBAAyB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D;;OAEG;IACH,cAAc,IAAI,QAAQ,CAAC,CAAC,YAAY,EAAE,kBAAkB,GAAG,SAAS,CAAC,CAAC,CAAC;IAE3E;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7E;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmluZ19qb2JfZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmluZ19icm9rZXIvcHJvdmluZ19qb2JfZGF0YWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1,5 +0,0 @@
1
- import { type TelemetryClient } from '@aztec/telemetry-client';
2
- import { type ProverClientConfig } from '../config.js';
3
- import { TxProver } from './tx-prover.js';
4
- export declare function createProverClient(config: ProverClientConfig, telemetry?: TelemetryClient): Promise<TxProver>;
5
- //# sourceMappingURL=factory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/tx-prover/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,EAAE,SAAS,GAAE,eAA2C,qBAEpH"}
@@ -1,6 +0,0 @@
1
- import { NoopTelemetryClient } from '@aztec/telemetry-client/noop';
2
- import { TxProver } from './tx-prover.js';
3
- export function createProverClient(config, telemetry = new NoopTelemetryClient()) {
4
- return TxProver.new(config, telemetry);
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eC1wcm92ZXIvZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUduRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUMsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE1BQTBCLEVBQUUsWUFBNkIsSUFBSSxtQkFBbUIsRUFBRTtJQUNuSCxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQ3pDLENBQUMifQ==
@@ -1,38 +0,0 @@
1
- import { type EpochProver, type EpochProverManager, type MerkleTreeWriteOperations, type ProvingJobSource } from '@aztec/circuit-types/interfaces';
2
- import { Fr } from '@aztec/circuits.js';
3
- import { type TelemetryClient } from '@aztec/telemetry-client';
4
- import { type ProverClientConfig } from '../config.js';
5
- /**
6
- * A prover factory.
7
- * TODO(palla/prover-node): Rename this class
8
- */
9
- export declare class TxProver implements EpochProverManager {
10
- private config;
11
- private telemetry;
12
- private agent?;
13
- private queue;
14
- private running;
15
- private constructor();
16
- createEpochProver(db: MerkleTreeWriteOperations): EpochProver;
17
- getProverId(): Fr;
18
- updateProverConfig(config: Partial<ProverClientConfig>): Promise<void>;
19
- /**
20
- * Starts the prover instance
21
- */
22
- start(): Promise<void>;
23
- /**
24
- * Stops the prover instance
25
- */
26
- stop(): Promise<void>;
27
- /**
28
- * Creates a new prover client and starts it
29
- * @param config - The prover configuration.
30
- * @param vks - The verification keys for the prover
31
- * @param worldStateSynchronizer - An instance of the world state
32
- * @returns An instance of the prover, constructed and started.
33
- */
34
- static new(config: ProverClientConfig, telemetry: TelemetryClient): Promise<TxProver>;
35
- private static buildCircuitProver;
36
- getProvingJobSource(): ProvingJobSource;
37
- }
38
- //# sourceMappingURL=tx-prover.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tx-prover.d.ts","sourceRoot":"","sources":["../../src/tx-prover/tx-prover.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EAEtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAKvD;;;GAGG;AACH,qBAAa,QAAS,YAAW,kBAAkB;IAK/C,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,KAAK,CAAC;IANhB,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO;IAUA,iBAAiB,CAAC,EAAE,EAAE,yBAAyB,GAAG,WAAW;IAI7D,WAAW,IAAI,EAAE;IAIlB,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB5E;;OAEG;IACI,KAAK;IAWZ;;OAEG;IACU,IAAI;IAWjB;;;;;;OAMG;WACiB,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,SAAS,EAAE,eAAe;mBAczD,kBAAkB;IAehC,mBAAmB,IAAI,gBAAgB;CAG/C"}