@aztec/prover-client 0.73.0 → 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2

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 (138) hide show
  1. package/dest/bin/get-proof-inputs.js +18 -16
  2. package/dest/block_builder/index.js +0 -1
  3. package/dest/block_builder/light.js +23 -13
  4. package/dest/config.js +9 -11
  5. package/dest/index.js +0 -1
  6. package/dest/mocks/fixtures.js +28 -26
  7. package/dest/mocks/test_context.js +55 -31
  8. package/dest/orchestrator/block-building-helpers.js +90 -90
  9. package/dest/orchestrator/block-proving-state.js +95 -70
  10. package/dest/orchestrator/epoch-proving-state.js +53 -40
  11. package/dest/orchestrator/index.js +0 -1
  12. package/dest/orchestrator/orchestrator.js +649 -653
  13. package/dest/orchestrator/orchestrator_metrics.js +4 -3
  14. package/dest/orchestrator/tx-proving-state.js +52 -51
  15. package/dest/prover-agent/index.js +0 -1
  16. package/dest/prover-agent/memory-proving-queue.js +237 -248
  17. package/dest/prover-agent/prover-agent.js +184 -187
  18. package/dest/prover-agent/proving-error.js +0 -1
  19. package/dest/prover-agent/queue_metrics.js +6 -5
  20. package/dest/prover-agent/rpc.js +6 -4
  21. package/dest/prover-client/factory.js +0 -1
  22. package/dest/prover-client/index.js +0 -1
  23. package/dest/prover-client/prover-client.js +30 -25
  24. package/dest/prover-client/server-epoch-prover.js +4 -4
  25. package/dest/proving_broker/broker_prover_facade.js +70 -59
  26. package/dest/proving_broker/config.js +22 -37
  27. package/dest/proving_broker/factory.js +1 -2
  28. package/dest/proving_broker/fixtures.js +0 -1
  29. package/dest/proving_broker/index.js +0 -1
  30. package/dest/proving_broker/proof_store/factory.js +9 -12
  31. package/dest/proving_broker/proof_store/gcs_proof_store.js +11 -7
  32. package/dest/proving_broker/proof_store/index.js +0 -1
  33. package/dest/proving_broker/proof_store/inline_proof_store.js +11 -7
  34. package/dest/proving_broker/proof_store/proof_store.js +3 -2
  35. package/dest/proving_broker/proving_agent.js +121 -110
  36. package/dest/proving_broker/proving_agent_instrumentation.js +3 -3
  37. package/dest/proving_broker/proving_broker.js +491 -451
  38. package/dest/proving_broker/proving_broker_database/memory.js +19 -13
  39. package/dest/proving_broker/proving_broker_database/persisted.js +41 -21
  40. package/dest/proving_broker/proving_broker_database.js +3 -2
  41. package/dest/proving_broker/proving_broker_instrumentation.js +28 -21
  42. package/dest/proving_broker/proving_job_controller.js +81 -62
  43. package/dest/proving_broker/rpc.js +23 -15
  44. package/dest/test/mock_prover.js +11 -9
  45. package/package.json +13 -11
  46. package/src/index.ts +1 -1
  47. package/src/orchestrator/block-building-helpers.ts +1 -1
  48. package/src/proving_broker/proving_agent.ts +30 -11
  49. package/src/proving_broker/proving_broker.ts +53 -27
  50. package/src/proving_broker/rpc.ts +8 -2
  51. package/dest/bin/get-proof-inputs.d.ts +0 -2
  52. package/dest/bin/get-proof-inputs.d.ts.map +0 -1
  53. package/dest/block_builder/index.d.ts +0 -6
  54. package/dest/block_builder/index.d.ts.map +0 -1
  55. package/dest/block_builder/light.d.ts +0 -31
  56. package/dest/block_builder/light.d.ts.map +0 -1
  57. package/dest/config.d.ts +0 -17
  58. package/dest/config.d.ts.map +0 -1
  59. package/dest/index.d.ts +0 -4
  60. package/dest/index.d.ts.map +0 -1
  61. package/dest/mocks/fixtures.d.ts +0 -19
  62. package/dest/mocks/fixtures.d.ts.map +0 -1
  63. package/dest/mocks/test_context.d.ts +0 -49
  64. package/dest/mocks/test_context.d.ts.map +0 -1
  65. package/dest/orchestrator/block-building-helpers.d.ts +0 -50
  66. package/dest/orchestrator/block-building-helpers.d.ts.map +0 -1
  67. package/dest/orchestrator/block-proving-state.d.ts +0 -71
  68. package/dest/orchestrator/block-proving-state.d.ts.map +0 -1
  69. package/dest/orchestrator/epoch-proving-state.d.ts +0 -56
  70. package/dest/orchestrator/epoch-proving-state.d.ts.map +0 -1
  71. package/dest/orchestrator/index.d.ts +0 -2
  72. package/dest/orchestrator/index.d.ts.map +0 -1
  73. package/dest/orchestrator/orchestrator.d.ts +0 -108
  74. package/dest/orchestrator/orchestrator.d.ts.map +0 -1
  75. package/dest/orchestrator/orchestrator_metrics.d.ts +0 -8
  76. package/dest/orchestrator/orchestrator_metrics.d.ts.map +0 -1
  77. package/dest/orchestrator/tx-proving-state.d.ts +0 -31
  78. package/dest/orchestrator/tx-proving-state.d.ts.map +0 -1
  79. package/dest/prover-agent/index.d.ts +0 -4
  80. package/dest/prover-agent/index.d.ts.map +0 -1
  81. package/dest/prover-agent/memory-proving-queue.d.ts +0 -82
  82. package/dest/prover-agent/memory-proving-queue.d.ts.map +0 -1
  83. package/dest/prover-agent/prover-agent.d.ts +0 -43
  84. package/dest/prover-agent/prover-agent.d.ts.map +0 -1
  85. package/dest/prover-agent/proving-error.d.ts +0 -5
  86. package/dest/prover-agent/proving-error.d.ts.map +0 -1
  87. package/dest/prover-agent/queue_metrics.d.ts +0 -10
  88. package/dest/prover-agent/queue_metrics.d.ts.map +0 -1
  89. package/dest/prover-agent/rpc.d.ts +0 -11
  90. package/dest/prover-agent/rpc.d.ts.map +0 -1
  91. package/dest/prover-client/factory.d.ts +0 -6
  92. package/dest/prover-client/factory.d.ts.map +0 -1
  93. package/dest/prover-client/index.d.ts +0 -3
  94. package/dest/prover-client/index.d.ts.map +0 -1
  95. package/dest/prover-client/prover-client.d.ts +0 -42
  96. package/dest/prover-client/prover-client.d.ts.map +0 -1
  97. package/dest/prover-client/server-epoch-prover.d.ts +0 -25
  98. package/dest/prover-client/server-epoch-prover.d.ts.map +0 -1
  99. package/dest/proving_broker/broker_prover_facade.d.ts +0 -39
  100. package/dest/proving_broker/broker_prover_facade.d.ts.map +0 -1
  101. package/dest/proving_broker/config.d.ts +0 -61
  102. package/dest/proving_broker/config.d.ts.map +0 -1
  103. package/dest/proving_broker/factory.d.ts +0 -5
  104. package/dest/proving_broker/factory.d.ts.map +0 -1
  105. package/dest/proving_broker/fixtures.d.ts +0 -5
  106. package/dest/proving_broker/fixtures.d.ts.map +0 -1
  107. package/dest/proving_broker/index.d.ts +0 -10
  108. package/dest/proving_broker/index.d.ts.map +0 -1
  109. package/dest/proving_broker/proof_store/factory.d.ts +0 -6
  110. package/dest/proving_broker/proof_store/factory.d.ts.map +0 -1
  111. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts +0 -13
  112. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +0 -1
  113. package/dest/proving_broker/proof_store/index.d.ts +0 -4
  114. package/dest/proving_broker/proof_store/index.d.ts.map +0 -1
  115. package/dest/proving_broker/proof_store/inline_proof_store.d.ts +0 -14
  116. package/dest/proving_broker/proof_store/inline_proof_store.d.ts.map +0 -1
  117. package/dest/proving_broker/proof_store/proof_store.d.ts +0 -35
  118. package/dest/proving_broker/proof_store/proof_store.d.ts.map +0 -1
  119. package/dest/proving_broker/proving_agent.d.ts +0 -44
  120. package/dest/proving_broker/proving_agent.d.ts.map +0 -1
  121. package/dest/proving_broker/proving_agent_instrumentation.d.ts +0 -8
  122. package/dest/proving_broker/proving_agent_instrumentation.d.ts.map +0 -1
  123. package/dest/proving_broker/proving_broker.d.ts +0 -75
  124. package/dest/proving_broker/proving_broker.d.ts.map +0 -1
  125. package/dest/proving_broker/proving_broker_database/memory.d.ts +0 -16
  126. package/dest/proving_broker/proving_broker_database/memory.d.ts.map +0 -1
  127. package/dest/proving_broker/proving_broker_database/persisted.d.ts +0 -21
  128. package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +0 -1
  129. package/dest/proving_broker/proving_broker_database.d.ts +0 -39
  130. package/dest/proving_broker/proving_broker_database.d.ts.map +0 -1
  131. package/dest/proving_broker/proving_broker_instrumentation.d.ts +0 -25
  132. package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +0 -1
  133. package/dest/proving_broker/proving_job_controller.d.ts +0 -31
  134. package/dest/proving_broker/proving_job_controller.d.ts.map +0 -1
  135. package/dest/proving_broker/rpc.d.ts +0 -11
  136. package/dest/proving_broker/rpc.d.ts.map +0 -1
  137. package/dest/test/mock_prover.d.ts +0 -33
  138. package/dest/test/mock_prover.d.ts.map +0 -1
@@ -1,23 +1,26 @@
1
- import { makeProofAndVerificationKey, makePublicInputsAndRecursiveProof, } from '@aztec/circuit-types';
2
- import { AVM_PROOF_LENGTH_IN_FIELDS, AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH, TUBE_PROOF_LENGTH, VerificationKeyData, makeEmptyRecursiveProof, makeRecursiveProof, } from '@aztec/circuits.js';
3
- import { makeBaseOrMergeRollupPublicInputs, makeBlockRootOrBlockMergeRollupPublicInputs, makeParityPublicInputs, makeRootRollupPublicInputs, } from '@aztec/circuits.js/testing';
1
+ import { makeProofAndVerificationKey, makePublicInputsAndRecursiveProof } from '@aztec/circuit-types';
2
+ import { AVM_PROOF_LENGTH_IN_FIELDS, AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH, TUBE_PROOF_LENGTH, VerificationKeyData, makeEmptyRecursiveProof, makeRecursiveProof } from '@aztec/circuits.js';
3
+ import { makeBaseOrMergeRollupPublicInputs, makeBlockRootOrBlockMergeRollupPublicInputs, makeParityPublicInputs, makeRootRollupPublicInputs } from '@aztec/circuits.js/testing';
4
4
  import { times } from '@aztec/foundation/collection';
5
5
  import { InlineProofStore } from '../proving_broker/proof_store/index.js';
6
6
  import { ProvingAgent } from '../proving_broker/proving_agent.js';
7
7
  import { ProvingBroker } from '../proving_broker/proving_broker.js';
8
8
  import { InMemoryBrokerDatabase } from '../proving_broker/proving_broker_database/memory.js';
9
9
  export class TestBroker {
10
- constructor(agentCount, prover, proofStore = new InlineProofStore(), agentPollInterval = 100) {
10
+ proofStore;
11
+ broker;
12
+ agents;
13
+ constructor(agentCount, prover, proofStore = new InlineProofStore(), agentPollInterval = 100){
11
14
  this.proofStore = proofStore;
12
15
  this.broker = new ProvingBroker(new InMemoryBrokerDatabase());
13
- this.agents = times(agentCount, () => new ProvingAgent(this.broker, proofStore, prover, undefined, agentPollInterval));
16
+ this.agents = times(agentCount, ()=>new ProvingAgent(this.broker, proofStore, prover, undefined, agentPollInterval));
14
17
  }
15
18
  async start() {
16
19
  await this.broker.start();
17
- this.agents.forEach(agent => agent.start());
20
+ this.agents.forEach((agent)=>agent.start());
18
21
  }
19
22
  async stop() {
20
- await Promise.all(this.agents.map(agent => agent.stop()));
23
+ await Promise.all(this.agents.map((agent)=>agent.stop()));
21
24
  await this.broker.stop();
22
25
  }
23
26
  getProofStore() {
@@ -37,7 +40,7 @@ export class TestBroker {
37
40
  }
38
41
  }
39
42
  export class MockProver {
40
- constructor() { }
43
+ constructor(){}
41
44
  getAvmProof(_inputs, _signal, _epochNumber) {
42
45
  return Promise.resolve(makeProofAndVerificationKey(makeEmptyRecursiveProof(AVM_PROOF_LENGTH_IN_FIELDS), VerificationKeyData.makeFake(AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS)));
43
46
  }
@@ -75,4 +78,3 @@ export class MockProver {
75
78
  return Promise.resolve(makeProofAndVerificationKey(makeRecursiveProof(TUBE_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
76
79
  }
77
80
  }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19wcm92ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9tb2NrX3Byb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBUUwsMkJBQTJCLEVBQzNCLGlDQUFpQyxHQUNsQyxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIscUNBQXFDLEVBR3JDLDZCQUE2QixFQUM3Qix5Q0FBeUMsRUFDekMsc0JBQXNCLEVBRXRCLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixHQUNuQixNQUFNLG9CQUFvQixDQUFDO0FBYzVCLE9BQU8sRUFDTCxpQ0FBaUMsRUFDakMsMkNBQTJDLEVBQzNDLHNCQUFzQixFQUN0QiwwQkFBMEIsR0FDM0IsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFckQsT0FBTyxFQUFFLGdCQUFnQixFQUFtQixNQUFNLHdDQUF3QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFN0YsTUFBTSxPQUFPLFVBQVU7SUFJckIsWUFDRSxVQUFrQixFQUNsQixNQUEyQixFQUNuQixhQUF5QixJQUFJLGdCQUFnQixFQUFFLEVBQ3ZELGlCQUFpQixHQUFHLEdBQUc7UUFEZixlQUFVLEdBQVYsVUFBVSxDQUFxQztRQU5qRCxXQUFNLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxzQkFBc0IsRUFBRSxDQUFDLENBQUM7UUFTL0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQ2pCLFVBQVUsRUFDVixHQUFHLEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxJQUFJ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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/prover-client",
3
- "version": "0.73.0",
3
+ "version": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -67,17 +67,19 @@
67
67
  ]
68
68
  },
69
69
  "dependencies": {
70
- "@aztec/bb-prover": "0.73.0",
71
- "@aztec/circuit-types": "0.73.0",
72
- "@aztec/circuits.js": "0.73.0",
73
- "@aztec/foundation": "0.73.0",
74
- "@aztec/kv-store": "0.73.0",
75
- "@aztec/noir-protocol-circuits-types": "0.73.0",
76
- "@aztec/protocol-contracts": "0.73.0",
77
- "@aztec/simulator": "0.73.0",
78
- "@aztec/telemetry-client": "0.73.0",
79
- "@aztec/world-state": "0.73.0",
70
+ "@aztec/bb-prover": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
71
+ "@aztec/blob-lib": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
72
+ "@aztec/circuit-types": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
73
+ "@aztec/circuits.js": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
74
+ "@aztec/foundation": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
75
+ "@aztec/kv-store": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
76
+ "@aztec/noir-protocol-circuits-types": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
77
+ "@aztec/protocol-contracts": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
78
+ "@aztec/simulator": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
79
+ "@aztec/telemetry-client": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
80
+ "@aztec/world-state": "0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2",
80
81
  "@google-cloud/storage": "^7.15.0",
82
+ "@iarna/toml": "^2.2.5",
81
83
  "@noir-lang/types": "portal:../../noir/packages/types",
82
84
  "commander": "^12.1.0",
83
85
  "lodash.chunk": "^4.2.0",
package/src/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { EpochProverManager } from '@aztec/circuit-types';
1
+ export type { EpochProverManager } from '@aztec/circuit-types';
2
2
 
3
3
  export * from './prover-client/index.js';
4
4
  export * from './config.js';
@@ -1,3 +1,4 @@
1
+ import { Blob } from '@aztec/blob-lib';
1
2
  import {
2
3
  Body,
3
4
  MerkleTreeId,
@@ -44,7 +45,6 @@ import {
44
45
  PublicBaseStateDiffHints,
45
46
  } from '@aztec/circuits.js/rollup';
46
47
  import { makeTuple } from '@aztec/foundation/array';
47
- import { Blob } from '@aztec/foundation/blob';
48
48
  import { padArrayEnd } from '@aztec/foundation/collection';
49
49
  import { sha256Trunc } from '@aztec/foundation/crypto';
50
50
  import { type Logger } from '@aztec/foundation/log';
@@ -94,20 +94,37 @@ export class ProvingAgent implements Traceable {
94
94
  return;
95
95
  }
96
96
 
97
+ if (this.idleTimer) {
98
+ this.instrumentation.recordIdleTime(this.idleTimer);
99
+ }
100
+ this.idleTimer = undefined;
101
+
102
+ const { job, time } = maybeJob;
103
+ await this.startJob(job, time);
104
+ }
105
+
106
+ private async startJob(job: ProvingJob, startedAt: number): Promise<void> {
97
107
  let abortedProofJobId: string | undefined;
98
108
  let abortedProofName: string | undefined;
109
+
99
110
  if (this.currentJobController?.getStatus() === ProvingJobControllerStatus.PROVING) {
100
111
  abortedProofJobId = this.currentJobController.getJobId();
101
112
  abortedProofName = this.currentJobController.getProofTypeName();
102
113
  this.currentJobController?.abort();
103
114
  }
104
115
 
105
- const { job, time } = maybeJob;
106
116
  let inputs: ProvingJobInputs;
107
117
  try {
108
118
  inputs = await this.proofStore.getProofInput(job.inputsUri);
109
119
  } catch (err) {
110
- await this.broker.reportProvingJobError(job.id, 'Failed to load proof inputs', true);
120
+ const maybeJob = await this.broker.reportProvingJobError(job.id, 'Failed to load proof inputs', true, {
121
+ allowList: this.proofAllowList,
122
+ });
123
+
124
+ if (maybeJob) {
125
+ return this.startJob(maybeJob.job, maybeJob.time);
126
+ }
127
+
111
128
  return;
112
129
  }
113
130
 
@@ -115,7 +132,7 @@ export class ProvingAgent implements Traceable {
115
132
  job.id,
116
133
  inputs,
117
134
  job.epochNumber,
118
- time,
135
+ startedAt,
119
136
  this.circuitProver,
120
137
  this.handleJobResult,
121
138
  );
@@ -134,11 +151,6 @@ export class ProvingAgent implements Traceable {
134
151
  );
135
152
  }
136
153
 
137
- if (this.idleTimer) {
138
- this.instrumentation.recordIdleTime(this.idleTimer);
139
- }
140
- this.idleTimer = undefined;
141
-
142
154
  this.currentJobController.start();
143
155
  }
144
156
 
@@ -148,15 +160,22 @@ export class ProvingAgent implements Traceable {
148
160
  err: Error | undefined,
149
161
  result: ProvingJobResultsMap[T] | undefined,
150
162
  ) => {
151
- this.idleTimer = new Timer();
163
+ let maybeJob: { job: ProvingJob; time: number } | undefined;
152
164
  if (err) {
153
165
  const retry = err.name === ProvingError.NAME ? (err as ProvingError).retry : false;
154
166
  this.log.error(`Job id=${jobId} type=${ProvingRequestType[type]} failed err=${err.message} retry=${retry}`, err);
155
- return this.broker.reportProvingJobError(jobId, err.message, retry);
167
+ maybeJob = await this.broker.reportProvingJobError(jobId, err.message, retry, { allowList: this.proofAllowList });
156
168
  } else if (result) {
157
169
  const outputUri = await this.proofStore.saveProofOutput(jobId, type, result);
158
170
  this.log.info(`Job id=${jobId} type=${ProvingRequestType[type]} completed outputUri=${truncate(outputUri)}`);
159
- return this.broker.reportProvingJobSuccess(jobId, outputUri);
171
+ maybeJob = await this.broker.reportProvingJobSuccess(jobId, outputUri, { allowList: this.proofAllowList });
172
+ }
173
+
174
+ if (maybeJob) {
175
+ const { job, time } = maybeJob;
176
+ await this.startJob(job, time);
177
+ } else {
178
+ this.idleTimer = new Timer();
160
179
  }
161
180
  };
162
181
  }
@@ -1,4 +1,5 @@
1
1
  import {
2
+ type GetProvingJobResponse,
2
3
  type ProofUri,
3
4
  type ProvingJob,
4
5
  type ProvingJobConsumer,
@@ -205,16 +206,25 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
205
206
  return this.requestQueue.put(() => this.#getCompletedJobs(ids));
206
207
  }
207
208
 
208
- public getProvingJob(filter?: ProvingJobFilter): Promise<{ job: ProvingJob; time: number } | undefined> {
209
+ public getProvingJob(filter?: ProvingJobFilter): Promise<GetProvingJobResponse | undefined> {
209
210
  return this.requestQueue.put(() => this.#getProvingJob(filter));
210
211
  }
211
212
 
212
- public reportProvingJobSuccess(id: ProvingJobId, value: ProofUri): Promise<void> {
213
- return this.requestQueue.put(() => this.#reportProvingJobSuccess(id, value));
213
+ public reportProvingJobSuccess(
214
+ id: ProvingJobId,
215
+ value: ProofUri,
216
+ filter?: ProvingJobFilter,
217
+ ): Promise<GetProvingJobResponse | undefined> {
218
+ return this.requestQueue.put(() => this.#reportProvingJobSuccess(id, value, filter));
214
219
  }
215
220
 
216
- public reportProvingJobError(id: ProvingJobId, err: string, retry = false): Promise<void> {
217
- return this.requestQueue.put(() => this.#reportProvingJobError(id, err, retry));
221
+ public reportProvingJobError(
222
+ id: ProvingJobId,
223
+ err: string,
224
+ retry = false,
225
+ filter?: ProvingJobFilter,
226
+ ): Promise<GetProvingJobResponse | undefined> {
227
+ return this.requestQueue.put(() => this.#reportProvingJobError(id, err, retry, filter));
218
228
  }
219
229
 
220
230
  public reportProvingJobProgress(
@@ -305,9 +315,7 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
305
315
  }
306
316
 
307
317
  // eslint-disable-next-line require-await
308
- async #getProvingJob(
309
- filter: ProvingJobFilter = { allowList: [] },
310
- ): Promise<{ job: ProvingJob; time: number } | undefined> {
318
+ #getProvingJob(filter: ProvingJobFilter = { allowList: [] }): { job: ProvingJob; time: number } | undefined {
311
319
  const allowedProofs: ProvingRequestType[] =
312
320
  Array.isArray(filter.allowList) && filter.allowList.length > 0
313
321
  ? [...filter.allowList]
@@ -343,7 +351,12 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
343
351
  return undefined;
344
352
  }
345
353
 
346
- async #reportProvingJobError(id: ProvingJobId, err: string, retry = false): Promise<void> {
354
+ async #reportProvingJobError(
355
+ id: ProvingJobId,
356
+ err: string,
357
+ retry = false,
358
+ filter?: ProvingJobFilter,
359
+ ): Promise<GetProvingJobResponse | undefined> {
347
360
  const info = this.inProgress.get(id);
348
361
  const item = this.jobsCache.get(id);
349
362
  const retries = this.retries.get(id) ?? 0;
@@ -365,7 +378,7 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
365
378
  this.logger.warn(`Proving job id=${id} is already settled, ignoring err=${err}`, {
366
379
  provingJobId: id,
367
380
  });
368
- return;
381
+ return this.#getProvingJob(filter);
369
382
  }
370
383
 
371
384
  if (retry && retries + 1 < this.maxRetries && !this.isJobStale(item)) {
@@ -375,10 +388,16 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
375
388
  provingJobId: id,
376
389
  },
377
390
  );
391
+
392
+ // assign another job to this agent
393
+ // do this first, before we put the failed job back in the queue
394
+ const maybeAnotherJob = this.#getProvingJob(filter);
395
+
378
396
  this.retries.set(id, retries + 1);
379
397
  this.enqueueJobInternal(item);
380
398
  this.instrumentation.incRetriedJobs(item.type);
381
- return;
399
+
400
+ return maybeAnotherJob;
382
401
  }
383
402
 
384
403
  this.logger.info(
@@ -412,22 +431,24 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
412
431
 
413
432
  throw saveErr;
414
433
  }
434
+
435
+ return this.#getProvingJob(filter);
415
436
  }
416
437
 
417
438
  #reportProvingJobProgress(
418
439
  id: ProvingJobId,
419
440
  startedAt: number,
420
441
  filter?: ProvingJobFilter,
421
- ): Promise<{ job: ProvingJob; time: number } | undefined> {
442
+ ): { job: ProvingJob; time: number } | undefined {
422
443
  const job = this.jobsCache.get(id);
423
444
  if (!job) {
424
445
  this.logger.warn(`Proving job id=${id} does not exist`, { provingJobId: id });
425
- return filter ? this.#getProvingJob(filter) : Promise.resolve(undefined);
446
+ return this.#getProvingJob(filter);
426
447
  }
427
448
 
428
449
  if (this.resultsCache.has(id)) {
429
450
  this.logger.warn(`Proving job id=${id} has already been completed`, { provingJobId: id });
430
- return filter ? this.#getProvingJob(filter) : Promise.resolve(undefined);
451
+ return this.#getProvingJob(filter);
431
452
  }
432
453
 
433
454
  const metadata = this.inProgress.get(id);
@@ -445,7 +466,7 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
445
466
  startedAt,
446
467
  lastUpdatedAt: this.msTimeSource(),
447
468
  });
448
- return Promise.resolve(undefined);
469
+ return undefined;
449
470
  } else if (startedAt <= metadata.startedAt) {
450
471
  if (startedAt < metadata.startedAt) {
451
472
  this.logger.info(
@@ -457,21 +478,24 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
457
478
  }
458
479
  metadata.startedAt = startedAt;
459
480
  metadata.lastUpdatedAt = now;
460
- return Promise.resolve(undefined);
461
- } else if (filter) {
462
- this.logger.warn(
463
- `Proving job id=${id} type=${
464
- ProvingRequestType[job.type]
465
- } already being worked on by another agent. Sending new one`,
466
- { provingJobId: id },
467
- );
468
- return this.#getProvingJob(filter);
469
- } else {
470
- return Promise.resolve(undefined);
481
+ return undefined;
471
482
  }
483
+
484
+ this.logger.warn(
485
+ `Proving job id=${id} type=${
486
+ ProvingRequestType[job.type]
487
+ } already being worked on by another agent. Sending new one`,
488
+ { provingJobId: id },
489
+ );
490
+
491
+ return this.#getProvingJob(filter);
472
492
  }
473
493
 
474
- async #reportProvingJobSuccess(id: ProvingJobId, value: ProofUri): Promise<void> {
494
+ async #reportProvingJobSuccess(
495
+ id: ProvingJobId,
496
+ value: ProofUri,
497
+ filter?: ProvingJobFilter,
498
+ ): Promise<GetProvingJobResponse | undefined> {
475
499
  const info = this.inProgress.get(id);
476
500
  const item = this.jobsCache.get(id);
477
501
  const retries = this.retries.get(id) ?? 0;
@@ -521,6 +545,8 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
521
545
 
522
546
  throw saveErr;
523
547
  }
548
+
549
+ return this.#getProvingJob(filter);
524
550
  }
525
551
 
526
552
  @trackSpan('ProvingBroker.cleanupPass')
@@ -34,12 +34,18 @@ export const ProvingJobProducerSchema: ApiSchemaFor<ProvingJobProducer> = {
34
34
 
35
35
  export const ProvingJobConsumerSchema: ApiSchemaFor<ProvingJobConsumer> = {
36
36
  getProvingJob: z.function().args(optional(ProvingJobFilterSchema)).returns(GetProvingJobResponse.optional()),
37
- reportProvingJobError: z.function().args(ProvingJobId, z.string(), optional(z.boolean())).returns(z.void()),
37
+ reportProvingJobError: z
38
+ .function()
39
+ .args(ProvingJobId, z.string(), optional(z.boolean()), optional(ProvingJobFilterSchema))
40
+ .returns(GetProvingJobResponse.optional()),
38
41
  reportProvingJobProgress: z
39
42
  .function()
40
43
  .args(ProvingJobId, z.number(), optional(ProvingJobFilterSchema))
41
44
  .returns(GetProvingJobResponse.optional()),
42
- reportProvingJobSuccess: z.function().args(ProvingJobId, ProofUri).returns(z.void()),
45
+ reportProvingJobSuccess: z
46
+ .function()
47
+ .args(ProvingJobId, ProofUri, optional(ProvingJobFilterSchema))
48
+ .returns(GetProvingJobResponse.optional()),
43
49
  };
44
50
 
45
51
  export const ProvingJobBrokerSchema: ApiSchemaFor<ProvingJobBroker> = {
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=get-proof-inputs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-proof-inputs.d.ts","sourceRoot":"","sources":["../../src/bin/get-proof-inputs.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- import { type BlockBuilder, type MerkleTreeReadOperations } from '@aztec/circuit-types';
2
- export * from './light.js';
3
- export interface BlockBuilderFactory {
4
- create(db: MerkleTreeReadOperations): BlockBuilder;
5
- }
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/block_builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAExF,cAAc,YAAY,CAAC;AAC3B,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,EAAE,wBAAwB,GAAG,YAAY,CAAC;CACpD"}
@@ -1,31 +0,0 @@
1
- import { type BlockBuilder, L2Block, type MerkleTreeWriteOperations, type ProcessedTx } from '@aztec/circuit-types';
2
- import { Fr, type GlobalVariables } from '@aztec/circuits.js';
3
- import { type TelemetryClient } from '@aztec/telemetry-client';
4
- /**
5
- * Builds a block and its header from a set of processed tx without running any circuits.
6
- */
7
- export declare class LightweightBlockBuilder implements BlockBuilder {
8
- private db;
9
- private telemetry;
10
- private spongeBlobState?;
11
- private globalVariables?;
12
- private l1ToL2Messages?;
13
- private txs;
14
- private readonly logger;
15
- constructor(db: MerkleTreeWriteOperations, telemetry?: TelemetryClient);
16
- startNewBlock(globalVariables: GlobalVariables, l1ToL2Messages: Fr[]): Promise<void>;
17
- addTxs(txs: ProcessedTx[]): Promise<void>;
18
- setBlockCompleted(): Promise<L2Block>;
19
- private buildBlock;
20
- }
21
- export declare class LightweightBlockBuilderFactory {
22
- private telemetry;
23
- constructor(telemetry?: TelemetryClient);
24
- create(db: MerkleTreeWriteOperations): BlockBuilder;
25
- }
26
- /**
27
- * Creates a block builder under the hood with the given txs and messages and creates a block.
28
- * @param db - A db fork to use for block building.
29
- */
30
- export declare function buildBlock(txs: ProcessedTx[], globalVariables: GlobalVariables, l1ToL2Messages: Fr[], db: MerkleTreeWriteOperations, telemetry?: TelemetryClient): Promise<L2Block>;
31
- //# sourceMappingURL=light.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../../src/block_builder/light.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,OAAO,EAEP,KAAK,yBAAyB,EAC9B,KAAK,WAAW,EAEjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,EAAE,EAAE,KAAK,eAAe,EAAuC,MAAM,oBAAoB,CAAC;AAInG,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAQnF;;GAEG;AACH,qBAAa,uBAAwB,YAAW,YAAY;IAS9C,OAAO,CAAC,EAAE;IAA6B,OAAO,CAAC,SAAS;IARpE,OAAO,CAAC,eAAe,CAAC,CAAa;IACrC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,cAAc,CAAC,CAAO;IAE9B,OAAO,CAAC,GAAG,CAAqB;IAEhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;gBAElD,EAAE,EAAE,yBAAyB,EAAU,SAAS,GAAE,eAAsC;IAEtG,aAAa,CAAC,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpF,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/C,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;YAIvB,UAAU;CAoBzB;AAED,qBAAa,8BAA8B;IAC7B,OAAO,CAAC,SAAS;gBAAT,SAAS,GAAE,eAAsC;IAErE,MAAM,CAAC,EAAE,EAAE,yBAAyB,GAAG,YAAY;CAGpD;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,WAAW,EAAE,EAClB,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,EAAE,EAAE,EACpB,EAAE,EAAE,yBAAyB,EAC7B,SAAS,GAAE,eAAsC,oBAMlD"}
package/dest/config.d.ts DELETED
@@ -1,17 +0,0 @@
1
- import { type ACVMConfig, type BBConfig } from '@aztec/bb-prover';
2
- import { type ProverConfig } from '@aztec/circuit-types';
3
- import { type ConfigMappingsType } from '@aztec/foundation/config';
4
- import { type ProverAgentConfig, type ProverBrokerConfig } from './proving_broker/config.js';
5
- /**
6
- * The prover configuration.
7
- */
8
- export type ProverClientConfig = ProverConfig & ProverAgentConfig & ProverBrokerConfig & BBConfig & ACVMConfig;
9
- export declare const bbConfigMappings: ConfigMappingsType<BBConfig & ACVMConfig>;
10
- export declare const proverClientConfigMappings: ConfigMappingsType<ProverClientConfig>;
11
- /**
12
- * Returns the prover configuration from the environment variables.
13
- * Note: If an environment variable is not set, the default value is used.
14
- * @returns The prover configuration.
15
- */
16
- export declare function getProverEnvVars(): ProverClientConfig;
17
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,KAAK,YAAY,EAAwB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,KAAK,kBAAkB,EAA8C,MAAM,0BAA0B,CAAC;AAE/G,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAGxB,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE/G,eAAO,MAAM,gBAAgB,EAAE,kBAAkB,CAAC,QAAQ,GAAG,UAAU,CAsBtE,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,kBAAkB,CAK7E,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,kBAAkB,CAErD"}
package/dest/index.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export { EpochProverManager } from '@aztec/circuit-types';
2
- export * from './prover-client/index.js';
3
- export * from './config.js';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC"}
@@ -1,19 +0,0 @@
1
- import { type MerkleTreeWriteOperations, type ProcessedTx } from '@aztec/circuit-types';
2
- import { GlobalVariables } from '@aztec/circuits.js';
3
- import { type Logger } from '@aztec/foundation/log';
4
- import { type SimulationProvider } from '@aztec/simulator/server';
5
- export declare const getEnvironmentConfig: (logger: Logger) => Promise<{
6
- acvmWorkingDirectory: string;
7
- bbWorkingDirectory: string;
8
- expectedAcvmPath: string;
9
- expectedBBPath: string;
10
- directoryToCleanup: string | undefined;
11
- bbSkipCleanup: boolean;
12
- } | undefined>;
13
- export declare function getSimulationProvider(config: {
14
- acvmWorkingDirectory: string | undefined;
15
- acvmBinaryPath: string | undefined;
16
- }, logger?: Logger): Promise<SimulationProvider>;
17
- export declare const updateExpectedTreesFromTxs: (db: MerkleTreeWriteOperations, txs: ProcessedTx[]) => Promise<void>;
18
- export declare const makeGlobals: (blockNumber: number) => GlobalVariables;
19
- //# sourceMappingURL=fixtures.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/mocks/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,yBAAyB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAKL,eAAe,EAIhB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAuB,KAAK,kBAAkB,EAA0B,MAAM,yBAAyB,CAAC;AAiB/G,eAAO,MAAM,oBAAoB,WAAkB,MAAM;;;;;;;cAkCxD,CAAC;AAEF,wBAAsB,qBAAqB,CACzC,MAAM,EAAE;IAAE,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EACxF,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,CAe7B;AAGD,eAAO,MAAM,0BAA0B,OAAc,yBAAyB,OAAO,WAAW,EAAE,kBAgBjG,CAAC;AAEF,eAAO,MAAM,WAAW,gBAAiB,MAAM,oBAW9C,CAAC"}
@@ -1,49 +0,0 @@
1
- import { type BBProverConfig } from '@aztec/bb-prover';
2
- import { type L2Block, type ProcessedTx, type ServerCircuitProver, type Tx } from '@aztec/circuit-types';
3
- import { makeBloatedProcessedTx } from '@aztec/circuit-types/test';
4
- import { type AppendOnlyTreeSnapshot, type BlockHeader, type GlobalVariables } from '@aztec/circuits.js';
5
- import { Fr } from '@aztec/foundation/fields';
6
- import { type Logger } from '@aztec/foundation/log';
7
- import { PublicProcessor, PublicTxSimulator, type SimulationProvider } from '@aztec/simulator/server';
8
- import { type MerkleTreeAdminDatabase } from '@aztec/world-state';
9
- import { ProvingOrchestrator } from '../orchestrator/index.js';
10
- import { ProverAgent } from '../prover-agent/prover-agent.js';
11
- export declare class TestContext {
12
- publicTxSimulator: PublicTxSimulator;
13
- worldState: MerkleTreeAdminDatabase;
14
- publicProcessor: PublicProcessor;
15
- simulationProvider: SimulationProvider;
16
- globalVariables: GlobalVariables;
17
- prover: ServerCircuitProver;
18
- proverAgent: ProverAgent;
19
- orchestrator: TestProvingOrchestrator;
20
- blockNumber: number;
21
- directoriesToCleanup: string[];
22
- logger: Logger;
23
- private headers;
24
- constructor(publicTxSimulator: PublicTxSimulator, worldState: MerkleTreeAdminDatabase, publicProcessor: PublicProcessor, simulationProvider: SimulationProvider, globalVariables: GlobalVariables, prover: ServerCircuitProver, proverAgent: ProverAgent, orchestrator: TestProvingOrchestrator, blockNumber: number, directoriesToCleanup: string[], logger: Logger);
25
- get epochProver(): TestProvingOrchestrator;
26
- static new(logger: Logger, proverCount?: number, createProver?: (bbConfig: BBProverConfig) => Promise<ServerCircuitProver>, blockNumber?: number): Promise<TestContext>;
27
- getFork(): Promise<import("@aztec/circuit-types").MerkleTreeWriteOperations>;
28
- getBlockHeader(blockNumber: 0): BlockHeader;
29
- getBlockHeader(blockNumber: number): BlockHeader | undefined;
30
- getPreviousBlockHeader(currentBlockNumber?: number): BlockHeader;
31
- cleanup(): Promise<void>;
32
- makeProcessedTx(opts?: Parameters<typeof makeBloatedProcessedTx>[0]): Promise<ProcessedTx>;
33
- makeProcessedTx(seed?: number): Promise<ProcessedTx>;
34
- /** Creates a block with the given number of txs and adds it to world-state */
35
- makePendingBlock(numTxs: number, numMsgs?: number, blockNumOrGlobals?: GlobalVariables | number, makeProcessedTxOpts?: (index: number) => Partial<Parameters<typeof makeBloatedProcessedTx>[0]>): Promise<{
36
- block: L2Block;
37
- txs: ProcessedTx[];
38
- msgs: Fr[];
39
- }>;
40
- processPublicFunctions(txs: Tx[], maxTransactions: number): Promise<[ProcessedTx[], import("@aztec/circuit-types").FailedTx[], import("@aztec/circuit-types").NestedProcessReturnValues[]]>;
41
- setEndTreeRoots(txs: ProcessedTx[]): Promise<void>;
42
- private processPublicFunctionsWithMockExecutorImplementation;
43
- }
44
- declare class TestProvingOrchestrator extends ProvingOrchestrator {
45
- isVerifyBuiltBlockAgainstSyncedStateEnabled: boolean;
46
- protected verifyBuiltBlockAgainstSyncedState(l2Block: L2Block, newArchive: AppendOnlyTreeSnapshot): Promise<void>;
47
- }
48
- export {};
49
- //# sourceMappingURL=test_context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test_context.d.ts","sourceRoot":"","sources":["../../src/mocks/test_context.ts"],"names":[],"mappings":"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"}
@@ -1,50 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- import { Body, MerkleTreeId, type MerkleTreeWriteOperations, type ProcessedTx, TxEffect } from '@aztec/circuit-types';
4
- import { AppendOnlyTreeSnapshot, BlockHeader, Fr, type GlobalVariables, MembershipWitness, type ParityPublicInputs, PartialStateReference, PublicDataHint, StateReference } from '@aztec/circuits.js';
5
- import { type SpongeBlob } from '@aztec/circuits.js/blobs';
6
- import { type BaseOrMergeRollupPublicInputs, type BlockRootOrBlockMergePublicInputs, ConstantRollupData, PrivateBaseRollupHints, PublicBaseRollupHints } from '@aztec/circuits.js/rollup';
7
- import { Blob } from '@aztec/foundation/blob';
8
- import { type Logger } from '@aztec/foundation/log';
9
- import { type Tuple } from '@aztec/foundation/serialize';
10
- import { type MerkleTreeReadOperations } from '@aztec/world-state';
11
- /**
12
- * Type representing the names of the trees for the base rollup.
13
- */
14
- type BaseTreeNames = 'NoteHashTree' | 'ContractTree' | 'NullifierTree' | 'PublicDataTree';
15
- /**
16
- * Type representing the names of the trees.
17
- */
18
- export type TreeNames = BaseTreeNames | 'L1ToL2MessageTree' | 'Archive';
19
- export declare const buildBaseRollupHints: (tx: ProcessedTx, globalVariables: GlobalVariables, db: MerkleTreeWriteOperations, startSpongeBlob: SpongeBlob) => Promise<PublicBaseRollupHints | PrivateBaseRollupHints>;
20
- export declare function getPublicDataHint(db: MerkleTreeWriteOperations, leafSlot: bigint): Promise<PublicDataHint>;
21
- export declare const buildBlobHints: (txEffects: TxEffect[]) => Promise<{
22
- blobFields: Fr[];
23
- blobCommitments: [Fr, Fr][];
24
- blobs: Blob[];
25
- blobsHash: Fr;
26
- }>;
27
- export declare const buildHeaderFromCircuitOutputs: (previousRollupData: BaseOrMergeRollupPublicInputs[], parityPublicInputs: ParityPublicInputs, rootRollupOutputs: BlockRootOrBlockMergePublicInputs, endState: StateReference, logger?: Logger | undefined) => Promise<BlockHeader>;
28
- export declare const buildHeaderAndBodyFromTxs: (txs: ProcessedTx[], globalVariables: GlobalVariables, l1ToL2Messages: Fr[], db: MerkleTreeReadOperations) => Promise<{
29
- header: BlockHeader;
30
- body: Body;
31
- }>;
32
- export declare function getBlobsHashFromBlobs(inputs: Blob[]): Buffer;
33
- export declare function validateBlockRootOutput(blockRootOutput: BlockRootOrBlockMergePublicInputs, blockHeader: BlockHeader, db: MerkleTreeReadOperations): Promise<void>;
34
- export declare const validateState: (state: StateReference, db: MerkleTreeReadOperations) => Promise<void>;
35
- export declare function getRootTreeSiblingPath<TID extends MerkleTreeId>(treeId: TID, db: MerkleTreeReadOperations): Promise<Tuple<Fr, {
36
- readonly 1: 40;
37
- readonly 4: 29;
38
- readonly 3: 39;
39
- readonly 0: 40;
40
- readonly 2: 40;
41
- }[TID]>>;
42
- export declare const getConstantRollupData: (globalVariables: GlobalVariables, db: MerkleTreeReadOperations) => Promise<ConstantRollupData>;
43
- export declare function getTreeSnapshot(id: MerkleTreeId, db: MerkleTreeReadOperations): Promise<AppendOnlyTreeSnapshot>;
44
- export declare function makeEmptyMembershipWitness<N extends number>(height: N): MembershipWitness<N>;
45
- export declare function getSubtreeSiblingPath(treeId: MerkleTreeId, subtreeHeight: number, db: MerkleTreeReadOperations): Promise<Fr[]>;
46
- export declare function getMembershipWitnessFor<N extends number>(value: Fr, treeId: MerkleTreeId, height: N, db: MerkleTreeReadOperations): Promise<MembershipWitness<N>>;
47
- export declare function validatePartialState(partialState: PartialStateReference, treeSnapshots: Map<MerkleTreeId, AppendOnlyTreeSnapshot>): void;
48
- export declare function validateTx(tx: ProcessedTx): void;
49
- export {};
50
- //# sourceMappingURL=block-building-helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"block-building-helpers.d.ts","sourceRoot":"","sources":["../../src/orchestrator/block-building-helpers.ts"],"names":[],"mappings":";;AAAA,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,KAAK,yBAAyB,EAC9B,KAAK,WAAW,EAChB,QAAQ,EAET,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,sBAAsB,EACtB,WAAW,EAEX,EAAE,EACF,KAAK,eAAe,EAIpB,iBAAiB,EAUjB,KAAK,kBAAkB,EACvB,qBAAqB,EACrB,cAAc,EAGd,cAAc,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,iCAAiC,EACtC,kBAAkB,EAClB,sBAAsB,EAEtB,qBAAqB,EAEtB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAG9C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,KAAK,KAAK,EAAmD,MAAM,6BAA6B,CAAC;AAM1G,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAInE;;GAEG;AACH,KAAK,aAAa,GAAG,cAAc,GAAG,cAAc,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAC1F;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,mBAAmB,GAAG,SAAS,CAAC;AAGxE,eAAO,MAAM,oBAAoB,4KAsLhC,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,yBAAyB,EAAE,QAAQ,EAAE,MAAM,2BAkBtF;AAED,eAAO,MAAM,cAAc;;;;;EAU1B,CAAC;AAEF,eAAO,MAAM,6BAA6B,oOAoDzC,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;EAoDrC,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAG5D;AAGD,wBAAsB,uBAAuB,CAC3C,eAAe,EAAE,iCAAiC,EAClD,WAAW,EAAE,WAAW,EACxB,EAAE,EAAE,wBAAwB,iBAM7B;AAED,eAAO,MAAM,aAAa,wEAmBzB,CAAC;AAEF,wBAAsB,sBAAsB,CAAC,GAAG,SAAS,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,wBAAwB;;;;;;SAI/G;AAED,eAAO,MAAM,qBAAqB,iGAWjC,CAAC;AAEF,wBAAsB,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,wBAAwB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAGrH;AAED,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,wBAMrE;AA4CD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,YAAY,EACpB,aAAa,EAAE,MAAM,EACrB,EAAE,EAAE,wBAAwB,GAC3B,OAAO,CAAC,EAAE,EAAE,CAAC,CAMf;AAGD,wBAAsB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EAC5D,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,CAAC,EACT,EAAE,EAAE,wBAAwB,GAC3B,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAY/B;AAED,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,qBAAqB,EACnC,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC,QASzD;AAqBD,wBAAgB,UAAU,CAAC,EAAE,EAAE,WAAW,QAczC"}