@aztec/prover-client 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2 → 0.75.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 (138) hide show
  1. package/dest/bin/get-proof-inputs.d.ts +2 -0
  2. package/dest/bin/get-proof-inputs.d.ts.map +1 -0
  3. package/dest/bin/get-proof-inputs.js +16 -18
  4. package/dest/block_builder/index.d.ts +6 -0
  5. package/dest/block_builder/index.d.ts.map +1 -0
  6. package/dest/block_builder/index.js +1 -0
  7. package/dest/block_builder/light.d.ts +31 -0
  8. package/dest/block_builder/light.d.ts.map +1 -0
  9. package/dest/block_builder/light.js +13 -23
  10. package/dest/config.d.ts +17 -0
  11. package/dest/config.d.ts.map +1 -0
  12. package/dest/config.js +11 -9
  13. package/dest/index.d.ts +4 -0
  14. package/dest/index.d.ts.map +1 -0
  15. package/dest/index.js +1 -0
  16. package/dest/mocks/fixtures.d.ts +19 -0
  17. package/dest/mocks/fixtures.d.ts.map +1 -0
  18. package/dest/mocks/fixtures.js +26 -28
  19. package/dest/mocks/test_context.d.ts +49 -0
  20. package/dest/mocks/test_context.d.ts.map +1 -0
  21. package/dest/mocks/test_context.js +31 -55
  22. package/dest/orchestrator/block-building-helpers.d.ts +50 -0
  23. package/dest/orchestrator/block-building-helpers.d.ts.map +1 -0
  24. package/dest/orchestrator/block-building-helpers.js +90 -90
  25. package/dest/orchestrator/block-proving-state.d.ts +71 -0
  26. package/dest/orchestrator/block-proving-state.d.ts.map +1 -0
  27. package/dest/orchestrator/block-proving-state.js +70 -95
  28. package/dest/orchestrator/epoch-proving-state.d.ts +56 -0
  29. package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -0
  30. package/dest/orchestrator/epoch-proving-state.js +40 -53
  31. package/dest/orchestrator/index.d.ts +2 -0
  32. package/dest/orchestrator/index.d.ts.map +1 -0
  33. package/dest/orchestrator/index.js +1 -0
  34. package/dest/orchestrator/orchestrator.d.ts +108 -0
  35. package/dest/orchestrator/orchestrator.d.ts.map +1 -0
  36. package/dest/orchestrator/orchestrator.js +653 -649
  37. package/dest/orchestrator/orchestrator_metrics.d.ts +8 -0
  38. package/dest/orchestrator/orchestrator_metrics.d.ts.map +1 -0
  39. package/dest/orchestrator/orchestrator_metrics.js +3 -4
  40. package/dest/orchestrator/tx-proving-state.d.ts +31 -0
  41. package/dest/orchestrator/tx-proving-state.d.ts.map +1 -0
  42. package/dest/orchestrator/tx-proving-state.js +51 -52
  43. package/dest/prover-agent/index.d.ts +4 -0
  44. package/dest/prover-agent/index.d.ts.map +1 -0
  45. package/dest/prover-agent/index.js +1 -0
  46. package/dest/prover-agent/memory-proving-queue.d.ts +82 -0
  47. package/dest/prover-agent/memory-proving-queue.d.ts.map +1 -0
  48. package/dest/prover-agent/memory-proving-queue.js +248 -237
  49. package/dest/prover-agent/prover-agent.d.ts +43 -0
  50. package/dest/prover-agent/prover-agent.d.ts.map +1 -0
  51. package/dest/prover-agent/prover-agent.js +187 -184
  52. package/dest/prover-agent/proving-error.d.ts +5 -0
  53. package/dest/prover-agent/proving-error.d.ts.map +1 -0
  54. package/dest/prover-agent/proving-error.js +1 -0
  55. package/dest/prover-agent/queue_metrics.d.ts +10 -0
  56. package/dest/prover-agent/queue_metrics.d.ts.map +1 -0
  57. package/dest/prover-agent/queue_metrics.js +5 -6
  58. package/dest/prover-agent/rpc.d.ts +11 -0
  59. package/dest/prover-agent/rpc.d.ts.map +1 -0
  60. package/dest/prover-agent/rpc.js +4 -6
  61. package/dest/prover-client/factory.d.ts +6 -0
  62. package/dest/prover-client/factory.d.ts.map +1 -0
  63. package/dest/prover-client/factory.js +1 -0
  64. package/dest/prover-client/index.d.ts +3 -0
  65. package/dest/prover-client/index.d.ts.map +1 -0
  66. package/dest/prover-client/index.js +1 -0
  67. package/dest/prover-client/prover-client.d.ts +42 -0
  68. package/dest/prover-client/prover-client.d.ts.map +1 -0
  69. package/dest/prover-client/prover-client.js +25 -30
  70. package/dest/prover-client/server-epoch-prover.d.ts +25 -0
  71. package/dest/prover-client/server-epoch-prover.d.ts.map +1 -0
  72. package/dest/prover-client/server-epoch-prover.js +4 -4
  73. package/dest/proving_broker/broker_prover_facade.d.ts +39 -0
  74. package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -0
  75. package/dest/proving_broker/broker_prover_facade.js +59 -70
  76. package/dest/proving_broker/config.d.ts +61 -0
  77. package/dest/proving_broker/config.d.ts.map +1 -0
  78. package/dest/proving_broker/config.js +37 -22
  79. package/dest/proving_broker/factory.d.ts +5 -0
  80. package/dest/proving_broker/factory.d.ts.map +1 -0
  81. package/dest/proving_broker/factory.js +2 -1
  82. package/dest/proving_broker/fixtures.d.ts +5 -0
  83. package/dest/proving_broker/fixtures.d.ts.map +1 -0
  84. package/dest/proving_broker/fixtures.js +1 -0
  85. package/dest/proving_broker/index.d.ts +10 -0
  86. package/dest/proving_broker/index.d.ts.map +1 -0
  87. package/dest/proving_broker/index.js +1 -0
  88. package/dest/proving_broker/proof_store/factory.d.ts +6 -0
  89. package/dest/proving_broker/proof_store/factory.d.ts.map +1 -0
  90. package/dest/proving_broker/proof_store/factory.js +12 -9
  91. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts +13 -0
  92. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +1 -0
  93. package/dest/proving_broker/proof_store/gcs_proof_store.js +7 -11
  94. package/dest/proving_broker/proof_store/index.d.ts +4 -0
  95. package/dest/proving_broker/proof_store/index.d.ts.map +1 -0
  96. package/dest/proving_broker/proof_store/index.js +1 -0
  97. package/dest/proving_broker/proof_store/inline_proof_store.d.ts +14 -0
  98. package/dest/proving_broker/proof_store/inline_proof_store.d.ts.map +1 -0
  99. package/dest/proving_broker/proof_store/inline_proof_store.js +7 -11
  100. package/dest/proving_broker/proof_store/proof_store.d.ts +35 -0
  101. package/dest/proving_broker/proof_store/proof_store.d.ts.map +1 -0
  102. package/dest/proving_broker/proof_store/proof_store.js +2 -3
  103. package/dest/proving_broker/proving_agent.d.ts +44 -0
  104. package/dest/proving_broker/proving_agent.d.ts.map +1 -0
  105. package/dest/proving_broker/proving_agent.js +110 -121
  106. package/dest/proving_broker/proving_agent_instrumentation.d.ts +8 -0
  107. package/dest/proving_broker/proving_agent_instrumentation.d.ts.map +1 -0
  108. package/dest/proving_broker/proving_agent_instrumentation.js +3 -3
  109. package/dest/proving_broker/proving_broker.d.ts +75 -0
  110. package/dest/proving_broker/proving_broker.d.ts.map +1 -0
  111. package/dest/proving_broker/proving_broker.js +451 -491
  112. package/dest/proving_broker/proving_broker_database/memory.d.ts +16 -0
  113. package/dest/proving_broker/proving_broker_database/memory.d.ts.map +1 -0
  114. package/dest/proving_broker/proving_broker_database/memory.js +13 -19
  115. package/dest/proving_broker/proving_broker_database/persisted.d.ts +21 -0
  116. package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -0
  117. package/dest/proving_broker/proving_broker_database/persisted.js +21 -41
  118. package/dest/proving_broker/proving_broker_database.d.ts +39 -0
  119. package/dest/proving_broker/proving_broker_database.d.ts.map +1 -0
  120. package/dest/proving_broker/proving_broker_database.js +2 -3
  121. package/dest/proving_broker/proving_broker_instrumentation.d.ts +25 -0
  122. package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +1 -0
  123. package/dest/proving_broker/proving_broker_instrumentation.js +21 -28
  124. package/dest/proving_broker/proving_job_controller.d.ts +31 -0
  125. package/dest/proving_broker/proving_job_controller.d.ts.map +1 -0
  126. package/dest/proving_broker/proving_job_controller.js +62 -81
  127. package/dest/proving_broker/rpc.d.ts +11 -0
  128. package/dest/proving_broker/rpc.d.ts.map +1 -0
  129. package/dest/proving_broker/rpc.js +15 -23
  130. package/dest/test/mock_prover.d.ts +33 -0
  131. package/dest/test/mock_prover.d.ts.map +1 -0
  132. package/dest/test/mock_prover.js +9 -11
  133. package/package.json +11 -12
  134. package/src/index.ts +1 -1
  135. package/src/orchestrator/block-building-helpers.ts +1 -1
  136. package/src/proving_broker/proving_agent.ts +11 -30
  137. package/src/proving_broker/proving_broker.ts +27 -53
  138. package/src/proving_broker/rpc.ts +2 -8
@@ -1,6 +1,8 @@
1
- import { BLOBS_PER_BLOCK, FIELDS_PER_BLOB, Fr, MembershipWitness, NUM_BASE_PARITY_PER_ROOT_PARITY, RootParityInput, RootParityInputs, StateReference, VK_TREE_HEIGHT } from '@aztec/circuits.js';
1
+ var _BlockProvingState_instances, _BlockProvingState_getBlockRootRollupData, _BlockProvingState_getBlockRootRollupBlobData, _BlockProvingState_getChildProofsForBlockRoot, _BlockProvingState_getPreviousRollupData, _BlockProvingState_getRootParityData;
2
+ import { __classPrivateFieldGet } from "tslib";
3
+ import { BLOBS_PER_BLOCK, FIELDS_PER_BLOB, Fr, MembershipWitness, NUM_BASE_PARITY_PER_ROOT_PARITY, RootParityInput, RootParityInputs, StateReference, VK_TREE_HEIGHT, } from '@aztec/circuits.js';
2
4
  import { SpongeBlob } from '@aztec/circuits.js/blobs';
3
- import { BlockRootRollupBlobData, BlockRootRollupData, BlockRootRollupInputs, ConstantRollupData, EmptyBlockRootRollupInputs, MergeRollupInputs, PreviousRollupData, SingleTxBlockRootRollupInputs } from '@aztec/circuits.js/rollup';
5
+ import { BlockRootRollupBlobData, BlockRootRollupData, BlockRootRollupInputs, ConstantRollupData, EmptyBlockRootRollupInputs, MergeRollupInputs, PreviousRollupData, SingleTxBlockRootRollupInputs, } from '@aztec/circuits.js/rollup';
4
6
  import { padArrayEnd } from '@aztec/foundation/collection';
5
7
  import { UnbalancedTreeStore } from '@aztec/foundation/trees';
6
8
  import { getVKIndex, getVKSiblingPath, getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vks';
@@ -9,27 +11,10 @@ import { buildBlobHints, buildHeaderFromCircuitOutputs } from './block-building-
9
11
  /**
10
12
  * The current state of the proving schedule for a given block. Managed by ProvingState.
11
13
  * Contains the raw inputs and intermediate state to generate every constituent proof in the tree.
12
- */ export class BlockProvingState {
13
- index;
14
- globalVariables;
15
- newL1ToL2Messages;
16
- l1ToL2MessageSubtreeSiblingPath;
17
- l1ToL2MessageTreeSnapshotAfterInsertion;
18
- lastArchiveSnapshot;
19
- newArchiveSiblingPath;
20
- previousBlockHeader;
21
- parentEpoch;
22
- baseOrMergeProvingOutputs;
23
- baseParityProvingOutputs;
24
- rootParityProvingOutput;
25
- blockRootProvingOutput;
26
- blockRootRollupStarted;
27
- block;
28
- spongeBlobState;
29
- totalNumTxs;
30
- txs;
31
- error;
32
- constructor(index, globalVariables, newL1ToL2Messages, l1ToL2MessageSubtreeSiblingPath, l1ToL2MessageTreeSnapshotAfterInsertion, lastArchiveSnapshot, newArchiveSiblingPath, previousBlockHeader, parentEpoch){
14
+ */
15
+ export class BlockProvingState {
16
+ constructor(index, globalVariables, newL1ToL2Messages, l1ToL2MessageSubtreeSiblingPath, l1ToL2MessageTreeSnapshotAfterInsertion, lastArchiveSnapshot, newArchiveSiblingPath, previousBlockHeader, parentEpoch) {
17
+ _BlockProvingState_instances.add(this);
33
18
  this.index = index;
34
19
  this.globalVariables = globalVariables;
35
20
  this.newL1ToL2Messages = newL1ToL2Messages;
@@ -42,9 +27,7 @@ import { buildBlobHints, buildHeaderFromCircuitOutputs } from './block-building-
42
27
  this.baseOrMergeProvingOutputs = new UnbalancedTreeStore(0);
43
28
  this.blockRootRollupStarted = false;
44
29
  this.txs = [];
45
- this.baseParityProvingOutputs = Array.from({
46
- length: NUM_BASE_PARITY_PER_ROOT_PARITY
47
- }).map((_)=>undefined);
30
+ this.baseParityProvingOutputs = Array.from({ length: NUM_BASE_PARITY_PER_ROOT_PARITY }).map(_ => undefined);
48
31
  this.totalNumTxs = 0;
49
32
  }
50
33
  get blockNumber() {
@@ -92,7 +75,8 @@ import { buildBlobHints, buildHeaderFromCircuitOutputs } from './block-building-
92
75
  get allTxs() {
93
76
  return this.txs;
94
77
  }
95
- /** Returns the block number as an epoch number. Used for prioritizing proof requests. */ get epochNumber() {
78
+ /** Returns the block number as an epoch number. Used for prioritizing proof requests. */
79
+ get epochNumber() {
96
80
  return this.parentEpoch.epochNumber;
97
81
  }
98
82
  getParentLocation(location) {
@@ -103,48 +87,46 @@ import { buildBlobHints, buildHeaderFromCircuitOutputs } from './block-building-
103
87
  if (!left || !right) {
104
88
  throw new Error('At lease one child is not ready.');
105
89
  }
106
- return new MergeRollupInputs([
107
- await this.#getPreviousRollupData(left),
108
- await this.#getPreviousRollupData(right)
109
- ]);
90
+ return new MergeRollupInputs([await __classPrivateFieldGet(this, _BlockProvingState_instances, "m", _BlockProvingState_getPreviousRollupData).call(this, left), await __classPrivateFieldGet(this, _BlockProvingState_instances, "m", _BlockProvingState_getPreviousRollupData).call(this, right)]);
110
91
  }
111
92
  async getBlockRootRollupTypeAndInputs(proverId) {
112
93
  if (!this.rootParityProvingOutput) {
113
94
  throw new Error('Root parity is not ready.');
114
95
  }
115
- const proofs = this.#getChildProofsForBlockRoot();
116
- const nonEmptyProofs = proofs.filter((p)=>!!p);
96
+ const proofs = __classPrivateFieldGet(this, _BlockProvingState_instances, "m", _BlockProvingState_getChildProofsForBlockRoot).call(this);
97
+ const nonEmptyProofs = proofs.filter(p => !!p);
117
98
  if (proofs.length !== nonEmptyProofs.length) {
118
99
  throw new Error('At lease one child is not ready for the block root.');
119
100
  }
120
- const data = await this.#getBlockRootRollupData(proverId);
101
+ const data = await __classPrivateFieldGet(this, _BlockProvingState_instances, "m", _BlockProvingState_getBlockRootRollupData).call(this, proverId);
121
102
  if (this.totalNumTxs === 0) {
122
103
  const constants = ConstantRollupData.from({
123
104
  lastArchive: this.lastArchiveSnapshot,
124
105
  globalVariables: this.globalVariables,
125
106
  vkTreeRoot: await getVKTreeRoot(),
126
- protocolContractTreeRoot
107
+ protocolContractTreeRoot,
127
108
  });
128
109
  return {
129
110
  rollupType: 'empty-block-root-rollup',
130
111
  inputs: EmptyBlockRootRollupInputs.from({
131
112
  data,
132
113
  constants,
133
- isPadding: false
134
- })
114
+ isPadding: false,
115
+ }),
135
116
  };
136
117
  }
137
- const previousRollupData = await Promise.all(nonEmptyProofs.map((p)=>this.#getPreviousRollupData(p)));
138
- const blobData = await this.#getBlockRootRollupBlobData();
118
+ const previousRollupData = await Promise.all(nonEmptyProofs.map(p => __classPrivateFieldGet(this, _BlockProvingState_instances, "m", _BlockProvingState_getPreviousRollupData).call(this, p)));
119
+ const blobData = await __classPrivateFieldGet(this, _BlockProvingState_instances, "m", _BlockProvingState_getBlockRootRollupBlobData).call(this);
139
120
  if (previousRollupData.length === 1) {
140
121
  return {
141
122
  rollupType: 'single-tx-block-root-rollup',
142
- inputs: new SingleTxBlockRootRollupInputs(previousRollupData, data, blobData)
123
+ inputs: new SingleTxBlockRootRollupInputs(previousRollupData, data, blobData),
143
124
  };
144
- } else {
125
+ }
126
+ else {
145
127
  return {
146
128
  rollupType: 'block-root-rollup',
147
- inputs: new BlockRootRollupInputs(previousRollupData, data, blobData)
129
+ inputs: new BlockRootRollupInputs(previousRollupData, data, blobData),
148
130
  };
149
131
  }
150
132
  }
@@ -156,29 +138,29 @@ import { buildBlobHints, buildHeaderFromCircuitOutputs } from './block-building-
156
138
  const newBlockHeader = await this.buildHeaderFromProvingOutputs();
157
139
  const newArchive = this.blockRootProvingOutput.inputs.newArchive;
158
140
  const data = BlockRootRollupData.from({
159
- l1ToL2Roots: await this.#getRootParityData(this.rootParityProvingOutput),
141
+ l1ToL2Roots: await __classPrivateFieldGet(this, _BlockProvingState_instances, "m", _BlockProvingState_getRootParityData).call(this, this.rootParityProvingOutput),
160
142
  l1ToL2MessageSubtreeSiblingPath: this.l1ToL2MessageSubtreeSiblingPath,
161
143
  newArchiveSiblingPath: this.newArchiveSiblingPath,
162
144
  previousBlockHeader: newBlockHeader,
163
- proverId
145
+ proverId,
164
146
  });
165
147
  const constants = ConstantRollupData.from({
166
148
  lastArchive: newArchive,
167
149
  globalVariables: this.globalVariables,
168
150
  vkTreeRoot: await getVKTreeRoot(),
169
- protocolContractTreeRoot
151
+ protocolContractTreeRoot,
170
152
  });
171
153
  return EmptyBlockRootRollupInputs.from({
172
154
  data,
173
155
  constants,
174
- isPadding: true
156
+ isPadding: true,
175
157
  });
176
158
  }
177
159
  async getRootParityInputs() {
178
- if (!this.baseParityProvingOutputs.every((p)=>!!p)) {
160
+ if (!this.baseParityProvingOutputs.every(p => !!p)) {
179
161
  throw new Error('At lease one base parity is not ready.');
180
162
  }
181
- const children = await Promise.all(this.baseParityProvingOutputs.map((p)=>this.#getRootParityData(p)));
163
+ const children = await Promise.all(this.baseParityProvingOutputs.map(p => __classPrivateFieldGet(this, _BlockProvingState_instances, "m", _BlockProvingState_getRootParityData).call(this, p)));
182
164
  return new RootParityInputs(children);
183
165
  }
184
166
  // Returns a specific transaction proving state
@@ -186,10 +168,12 @@ import { buildBlobHints, buildHeaderFromCircuitOutputs } from './block-building-
186
168
  return this.txs[txIndex];
187
169
  }
188
170
  async buildHeaderFromProvingOutputs(logger) {
189
- const previousRollupData = this.totalNumTxs === 0 ? [] : await Promise.all(this.#getChildProofsForBlockRoot().map((p)=>this.#getPreviousRollupData(p)));
171
+ const previousRollupData = this.totalNumTxs === 0
172
+ ? []
173
+ : await Promise.all(__classPrivateFieldGet(this, _BlockProvingState_instances, "m", _BlockProvingState_getChildProofsForBlockRoot).call(this).map(p => __classPrivateFieldGet(this, _BlockProvingState_instances, "m", _BlockProvingState_getPreviousRollupData).call(this, p)));
190
174
  let endPartialState = this.previousBlockHeader.state.partial;
191
175
  if (this.totalNumTxs !== 0) {
192
- const previousRollupData = this.#getChildProofsForBlockRoot();
176
+ const previousRollupData = __classPrivateFieldGet(this, _BlockProvingState_instances, "m", _BlockProvingState_getChildProofsForBlockRoot).call(this);
193
177
  const lastRollup = previousRollupData[previousRollupData.length - 1];
194
178
  if (!lastRollup) {
195
179
  throw new Error('End state of the block is not available. Last rollup is not ready yet.');
@@ -197,19 +181,19 @@ import { buildBlobHints, buildHeaderFromCircuitOutputs } from './block-building-
197
181
  endPartialState = lastRollup.inputs.end;
198
182
  }
199
183
  const endState = new StateReference(this.l1ToL2MessageTreeSnapshotAfterInsertion, endPartialState);
200
- return buildHeaderFromCircuitOutputs(previousRollupData.map((d)=>d.baseOrMergeRollupPublicInputs), this.rootParityProvingOutput.inputs, this.blockRootProvingOutput.inputs, endState, logger);
184
+ return buildHeaderFromCircuitOutputs(previousRollupData.map(d => d.baseOrMergeRollupPublicInputs), this.rootParityProvingOutput.inputs, this.blockRootProvingOutput.inputs, endState, logger);
201
185
  }
202
186
  isReadyForMergeRollup(location) {
203
187
  return this.baseOrMergeProvingOutputs.getSibling(location) !== undefined;
204
188
  }
205
189
  // Returns true if we have sufficient inputs to execute the block root rollup
206
190
  isReadyForBlockRootRollup() {
207
- const childProofs = this.#getChildProofsForBlockRoot();
208
- return this.block !== undefined && this.rootParityProvingOutput !== undefined && childProofs.every((p)=>!!p);
191
+ const childProofs = __classPrivateFieldGet(this, _BlockProvingState_instances, "m", _BlockProvingState_getChildProofsForBlockRoot).call(this);
192
+ return this.block !== undefined && this.rootParityProvingOutput !== undefined && childProofs.every(p => !!p);
209
193
  }
210
194
  // Returns true if we have sufficient root parity inputs to execute the root parity circuit
211
195
  isReadyForRootParity() {
212
- return this.baseParityProvingOutputs.every((p)=>!!p);
196
+ return this.baseParityProvingOutputs.every(p => !!p);
213
197
  }
214
198
  isComplete() {
215
199
  return !!this.blockRootProvingOutput;
@@ -222,45 +206,36 @@ import { buildBlobHints, buildHeaderFromCircuitOutputs } from './block-building-
222
206
  this.error = reason;
223
207
  this.parentEpoch.reject(reason);
224
208
  }
225
- async #getBlockRootRollupData(proverId) {
226
- return BlockRootRollupData.from({
227
- l1ToL2Roots: await this.#getRootParityData(this.rootParityProvingOutput),
228
- l1ToL2MessageSubtreeSiblingPath: this.l1ToL2MessageSubtreeSiblingPath,
229
- newArchiveSiblingPath: this.newArchiveSiblingPath,
230
- previousBlockHeader: this.previousBlockHeader,
231
- proverId
232
- });
233
- }
234
- async #getBlockRootRollupBlobData() {
235
- const txEffects = this.txs.map((txProvingState)=>txProvingState.processedTx.txEffect);
236
- const { blobFields, blobCommitments, blobsHash } = await buildBlobHints(txEffects);
237
- return BlockRootRollupBlobData.from({
238
- blobFields: padArrayEnd(blobFields, Fr.ZERO, FIELDS_PER_BLOB * BLOBS_PER_BLOCK),
239
- blobCommitments: padArrayEnd(blobCommitments, [
240
- Fr.ZERO,
241
- Fr.ZERO
242
- ], BLOBS_PER_BLOCK),
243
- blobsHash
244
- });
245
- }
246
- #getChildProofsForBlockRoot() {
247
- if (this.totalNumTxs === 0) {
248
- return [];
249
- }
250
- const rootLocation = {
251
- level: 0,
252
- index: 0
253
- };
254
- // If there's only 1 tx, its base rollup proof will be stored at the root.
255
- return this.totalNumTxs === 1 ? [
256
- this.baseOrMergeProvingOutputs.getNode(rootLocation)
257
- ] : this.baseOrMergeProvingOutputs.getChildren(rootLocation);
258
- }
259
- async #getPreviousRollupData({ inputs, proof, verificationKey }) {
260
- const leafIndex = await getVKIndex(verificationKey.keyAsFields);
261
- return new PreviousRollupData(inputs, proof, verificationKey.keyAsFields, new MembershipWitness(VK_TREE_HEIGHT, BigInt(leafIndex), await getVKSiblingPath(leafIndex)));
262
- }
263
- async #getRootParityData({ inputs, proof, verificationKey }) {
264
- return new RootParityInput(proof, verificationKey.keyAsFields, await getVKSiblingPath(await getVKIndex(verificationKey)), inputs);
265
- }
266
209
  }
210
+ _BlockProvingState_instances = new WeakSet(), _BlockProvingState_getBlockRootRollupData = async function _BlockProvingState_getBlockRootRollupData(proverId) {
211
+ return BlockRootRollupData.from({
212
+ l1ToL2Roots: await __classPrivateFieldGet(this, _BlockProvingState_instances, "m", _BlockProvingState_getRootParityData).call(this, this.rootParityProvingOutput),
213
+ l1ToL2MessageSubtreeSiblingPath: this.l1ToL2MessageSubtreeSiblingPath,
214
+ newArchiveSiblingPath: this.newArchiveSiblingPath,
215
+ previousBlockHeader: this.previousBlockHeader,
216
+ proverId,
217
+ });
218
+ }, _BlockProvingState_getBlockRootRollupBlobData = async function _BlockProvingState_getBlockRootRollupBlobData() {
219
+ const txEffects = this.txs.map(txProvingState => txProvingState.processedTx.txEffect);
220
+ const { blobFields, blobCommitments, blobsHash } = await buildBlobHints(txEffects);
221
+ return BlockRootRollupBlobData.from({
222
+ blobFields: padArrayEnd(blobFields, Fr.ZERO, FIELDS_PER_BLOB * BLOBS_PER_BLOCK),
223
+ blobCommitments: padArrayEnd(blobCommitments, [Fr.ZERO, Fr.ZERO], BLOBS_PER_BLOCK),
224
+ blobsHash,
225
+ });
226
+ }, _BlockProvingState_getChildProofsForBlockRoot = function _BlockProvingState_getChildProofsForBlockRoot() {
227
+ if (this.totalNumTxs === 0) {
228
+ return [];
229
+ }
230
+ const rootLocation = { level: 0, index: 0 };
231
+ // If there's only 1 tx, its base rollup proof will be stored at the root.
232
+ return this.totalNumTxs === 1
233
+ ? [this.baseOrMergeProvingOutputs.getNode(rootLocation)]
234
+ : this.baseOrMergeProvingOutputs.getChildren(rootLocation);
235
+ }, _BlockProvingState_getPreviousRollupData = async function _BlockProvingState_getPreviousRollupData({ inputs, proof, verificationKey, }) {
236
+ const leafIndex = await getVKIndex(verificationKey.keyAsFields);
237
+ return new PreviousRollupData(inputs, proof, verificationKey.keyAsFields, new MembershipWitness(VK_TREE_HEIGHT, BigInt(leafIndex), await getVKSiblingPath(leafIndex)));
238
+ }, _BlockProvingState_getRootParityData = async function _BlockProvingState_getRootParityData({ inputs, proof, verificationKey }) {
239
+ return new RootParityInput(proof, verificationKey.keyAsFields, await getVKSiblingPath(await getVKIndex(verificationKey)), inputs);
240
+ };
241
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stcHJvdmluZy1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcmNoZXN0cmF0b3IvYmxvY2stcHJvdmluZy1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLE9BQU8sRUFHTCxlQUFlLEVBRWYsZUFBZSxFQUNmLEVBQUUsRUFHRixpQkFBaUIsRUFFakIsK0JBQStCLEVBRy9CLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLGNBQWMsR0FDZixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBR0wsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsa0JBQWtCLEVBQ2xCLDBCQUEwQixFQUMxQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLDZCQUE2QixHQUM5QixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUczRCxPQUFPLEVBQXlCLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckYsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFNNUY7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQWdCNUIsWUFDa0IsS0FBYSxFQUNiLGVBQWdDLEVBQ2hDLGlCQUF1QixFQUN0QiwrQkFBMkYsRUFDM0YsdUNBQStELEVBQy9ELG1CQUEyQyxFQUMzQyxxQkFBdUQsRUFDdkQsbUJBQWdDLEVBQ2hDLFdBQThCOztRQVIvQixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2Isb0JB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
@@ -0,0 +1,56 @@
1
+ import { type MerkleTreeId, type ProofAndVerificationKey, type PublicInputsAndRecursiveProof } from '@aztec/circuit-types';
2
+ import { type ARCHIVE_HEIGHT, type AppendOnlyTreeSnapshot, type BlockHeader, type Fr, type GlobalVariables, type L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH, type NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/circuits.js';
3
+ import { BlockMergeRollupInputs, type BlockRootOrBlockMergePublicInputs, RootRollupInputs, type RootRollupPublicInputs } from '@aztec/circuits.js/rollup';
4
+ import { type Tuple } from '@aztec/foundation/serialize';
5
+ import { type TreeNodeLocation } from '@aztec/foundation/trees';
6
+ import { BlockProvingState } from './block-proving-state.js';
7
+ export type TreeSnapshots = Map<MerkleTreeId, AppendOnlyTreeSnapshot>;
8
+ export type ProvingResult = {
9
+ status: 'success';
10
+ } | {
11
+ status: 'failure';
12
+ reason: string;
13
+ };
14
+ /**
15
+ * The current state of the proving schedule for an epoch.
16
+ * Contains the raw inputs and intermediate state to generate every constituent proof in the tree.
17
+ * Carries an identifier so we can identify if the proving state is discarded and a new one started.
18
+ * Captures resolve and reject callbacks to provide a promise base interface to the consumer of our proving.
19
+ */
20
+ export declare class EpochProvingState {
21
+ #private;
22
+ readonly epochNumber: number;
23
+ readonly firstBlockNumber: number;
24
+ readonly totalNumBlocks: number;
25
+ private completionCallback;
26
+ private rejectionCallback;
27
+ private blockRootOrMergeProvingOutputs;
28
+ private paddingBlockRootProvingOutput;
29
+ private rootRollupProvingOutput;
30
+ private provingStateLifecycle;
31
+ readonly cachedTubeProofs: Map<string, Promise<ProofAndVerificationKey<538>>>;
32
+ blocks: (BlockProvingState | undefined)[];
33
+ constructor(epochNumber: number, firstBlockNumber: number, totalNumBlocks: number, completionCallback: (result: ProvingResult) => void, rejectionCallback: (reason: string) => void);
34
+ startNewBlock(globalVariables: GlobalVariables, l1ToL2Messages: Fr[], l1ToL2MessageSubtreeSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH>, l1ToL2MessageTreeSnapshotAfterInsertion: AppendOnlyTreeSnapshot, lastArchiveSnapshot: AppendOnlyTreeSnapshot, newArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>, previousBlockHeader: BlockHeader): BlockProvingState;
35
+ verifyState(): boolean;
36
+ isAcceptingBlocks(): boolean;
37
+ setBlockRootRollupProof(blockIndex: number, proof: PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>): TreeNodeLocation;
38
+ setBlockMergeRollupProof(location: TreeNodeLocation, proof: PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>): void;
39
+ setRootRollupProof(proof: PublicInputsAndRecursiveProof<RootRollupPublicInputs>): void;
40
+ setPaddingBlockRootProof(proof: PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>): void;
41
+ getParentLocation(location: TreeNodeLocation): TreeNodeLocation;
42
+ getBlockMergeRollupInputs(mergeLocation: TreeNodeLocation): Promise<BlockMergeRollupInputs>;
43
+ getRootRollupInputs(proverId: Fr): Promise<RootRollupInputs>;
44
+ getPaddingBlockRootInputs(proverId: Fr): Promise<import("@aztec/circuits.js/rollup").EmptyBlockRootRollupInputs>;
45
+ getBlockProvingStateByBlockNumber(blockNumber: number): BlockProvingState | undefined;
46
+ getEpochProofResult(): {
47
+ proof: import("@aztec/circuits.js").Proof;
48
+ publicInputs: RootRollupPublicInputs;
49
+ };
50
+ isReadyForBlockMerge(location: TreeNodeLocation): boolean;
51
+ isReadyForRootRollup(): boolean;
52
+ cancel(): void;
53
+ reject(reason: string): void;
54
+ resolve(result: ProvingResult): void;
55
+ }
56
+ //# sourceMappingURL=epoch-proving-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"epoch-proving-state.d.ts","sourceRoot":"","sources":["../../src/orchestrator/epoch-proving-state.ts"],"names":[],"mappings":"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"}
@@ -1,40 +1,33 @@
1
- import { MembershipWitness, VK_TREE_HEIGHT } from '@aztec/circuits.js';
2
- import { BlockMergeRollupInputs, PreviousRollupBlockData, RootRollupInputs } from '@aztec/circuits.js/rollup';
1
+ var _EpochProvingState_instances, _EpochProvingState_getChildProofsForRoot, _EpochProvingState_getPreviousRollupData;
2
+ import { __classPrivateFieldGet } from "tslib";
3
+ import { MembershipWitness, VK_TREE_HEIGHT, } from '@aztec/circuits.js';
4
+ import { BlockMergeRollupInputs, PreviousRollupBlockData, RootRollupInputs, } from '@aztec/circuits.js/rollup';
3
5
  import { UnbalancedTreeStore } from '@aztec/foundation/trees';
4
6
  import { getVKIndex, getVKSiblingPath } from '@aztec/noir-protocol-circuits-types/vks';
5
7
  import { BlockProvingState } from './block-proving-state.js';
6
- var PROVING_STATE_LIFECYCLE = /*#__PURE__*/ function(PROVING_STATE_LIFECYCLE) {
8
+ var PROVING_STATE_LIFECYCLE;
9
+ (function (PROVING_STATE_LIFECYCLE) {
7
10
  PROVING_STATE_LIFECYCLE[PROVING_STATE_LIFECYCLE["PROVING_STATE_CREATED"] = 0] = "PROVING_STATE_CREATED";
8
11
  PROVING_STATE_LIFECYCLE[PROVING_STATE_LIFECYCLE["PROVING_STATE_FULL"] = 1] = "PROVING_STATE_FULL";
9
12
  PROVING_STATE_LIFECYCLE[PROVING_STATE_LIFECYCLE["PROVING_STATE_RESOLVED"] = 2] = "PROVING_STATE_RESOLVED";
10
13
  PROVING_STATE_LIFECYCLE[PROVING_STATE_LIFECYCLE["PROVING_STATE_REJECTED"] = 3] = "PROVING_STATE_REJECTED";
11
- return PROVING_STATE_LIFECYCLE;
12
- }(PROVING_STATE_LIFECYCLE || {});
14
+ })(PROVING_STATE_LIFECYCLE || (PROVING_STATE_LIFECYCLE = {}));
13
15
  /**
14
16
  * The current state of the proving schedule for an epoch.
15
17
  * Contains the raw inputs and intermediate state to generate every constituent proof in the tree.
16
18
  * Carries an identifier so we can identify if the proving state is discarded and a new one started.
17
19
  * Captures resolve and reject callbacks to provide a promise base interface to the consumer of our proving.
18
- */ export class EpochProvingState {
19
- epochNumber;
20
- firstBlockNumber;
21
- totalNumBlocks;
22
- completionCallback;
23
- rejectionCallback;
24
- blockRootOrMergeProvingOutputs;
25
- paddingBlockRootProvingOutput;
26
- rootRollupProvingOutput;
27
- provingStateLifecycle;
28
- // Map from tx hash to tube proof promise. Used when kickstarting tube proofs before tx processing.
29
- cachedTubeProofs;
30
- blocks;
31
- constructor(epochNumber, firstBlockNumber, totalNumBlocks, completionCallback, rejectionCallback){
20
+ */
21
+ export class EpochProvingState {
22
+ constructor(epochNumber, firstBlockNumber, totalNumBlocks, completionCallback, rejectionCallback) {
23
+ _EpochProvingState_instances.add(this);
32
24
  this.epochNumber = epochNumber;
33
25
  this.firstBlockNumber = firstBlockNumber;
34
26
  this.totalNumBlocks = totalNumBlocks;
35
27
  this.completionCallback = completionCallback;
36
28
  this.rejectionCallback = rejectionCallback;
37
- this.provingStateLifecycle = 0;
29
+ this.provingStateLifecycle = PROVING_STATE_LIFECYCLE.PROVING_STATE_CREATED;
30
+ // Map from tx hash to tube proof promise. Used when kickstarting tube proofs before tx processing.
38
31
  this.cachedTubeProofs = new Map();
39
32
  this.blocks = [];
40
33
  this.blockRootOrMergeProvingOutputs = new UnbalancedTreeStore(totalNumBlocks);
@@ -45,18 +38,19 @@ var PROVING_STATE_LIFECYCLE = /*#__PURE__*/ function(PROVING_STATE_LIFECYCLE) {
45
38
  const index = globalVariables.blockNumber.toNumber() - this.firstBlockNumber;
46
39
  const block = new BlockProvingState(index, globalVariables, l1ToL2Messages, l1ToL2MessageSubtreeSiblingPath, l1ToL2MessageTreeSnapshotAfterInsertion, lastArchiveSnapshot, newArchiveSiblingPath, previousBlockHeader, this);
47
40
  this.blocks[index] = block;
48
- if (this.blocks.filter((b)=>!!b).length === this.totalNumBlocks) {
49
- this.provingStateLifecycle = 1;
41
+ if (this.blocks.filter(b => !!b).length === this.totalNumBlocks) {
42
+ this.provingStateLifecycle = PROVING_STATE_LIFECYCLE.PROVING_STATE_FULL;
50
43
  }
51
44
  return block;
52
45
  }
53
46
  // Returns true if this proving state is still valid, false otherwise
54
47
  verifyState() {
55
- return this.provingStateLifecycle === 0 || this.provingStateLifecycle === 1;
48
+ return (this.provingStateLifecycle === PROVING_STATE_LIFECYCLE.PROVING_STATE_CREATED ||
49
+ this.provingStateLifecycle === PROVING_STATE_LIFECYCLE.PROVING_STATE_FULL);
56
50
  }
57
51
  // Returns true if we are still able to accept blocks, false otherwise
58
52
  isAcceptingBlocks() {
59
- return this.provingStateLifecycle === 0;
53
+ return this.provingStateLifecycle === PROVING_STATE_LIFECYCLE.PROVING_STATE_CREATED;
60
54
  }
61
55
  setBlockRootRollupProof(blockIndex, proof) {
62
56
  return this.blockRootOrMergeProvingOutputs.setLeaf(blockIndex, proof);
@@ -79,21 +73,18 @@ var PROVING_STATE_LIFECYCLE = /*#__PURE__*/ function(PROVING_STATE_LIFECYCLE) {
79
73
  throw new Error('At lease one child is not ready.');
80
74
  }
81
75
  return new BlockMergeRollupInputs([
82
- await this.#getPreviousRollupData(left),
83
- await this.#getPreviousRollupData(right)
76
+ await __classPrivateFieldGet(this, _EpochProvingState_instances, "m", _EpochProvingState_getPreviousRollupData).call(this, left),
77
+ await __classPrivateFieldGet(this, _EpochProvingState_instances, "m", _EpochProvingState_getPreviousRollupData).call(this, right),
84
78
  ]);
85
79
  }
86
80
  async getRootRollupInputs(proverId) {
87
- const [left, right] = this.#getChildProofsForRoot();
81
+ const [left, right] = __classPrivateFieldGet(this, _EpochProvingState_instances, "m", _EpochProvingState_getChildProofsForRoot).call(this);
88
82
  if (!left || !right) {
89
83
  throw new Error('At lease one child is not ready.');
90
84
  }
91
85
  return RootRollupInputs.from({
92
- previousRollupData: [
93
- await this.#getPreviousRollupData(left),
94
- await this.#getPreviousRollupData(right)
95
- ],
96
- proverId
86
+ previousRollupData: [await __classPrivateFieldGet(this, _EpochProvingState_instances, "m", _EpochProvingState_getPreviousRollupData).call(this, left), await __classPrivateFieldGet(this, _EpochProvingState_instances, "m", _EpochProvingState_getPreviousRollupData).call(this, right)],
87
+ proverId,
97
88
  });
98
89
  }
99
90
  getPaddingBlockRootInputs(proverId) {
@@ -104,7 +95,7 @@ var PROVING_STATE_LIFECYCLE = /*#__PURE__*/ function(PROVING_STATE_LIFECYCLE) {
104
95
  }
105
96
  // Returns a specific transaction proving state
106
97
  getBlockProvingStateByBlockNumber(blockNumber) {
107
- return this.blocks.find((block)=>block?.blockNumber === blockNumber);
98
+ return this.blocks.find(block => block?.blockNumber === blockNumber);
108
99
  }
109
100
  getEpochProofResult() {
110
101
  if (!this.rootRollupProvingOutput) {
@@ -112,7 +103,7 @@ var PROVING_STATE_LIFECYCLE = /*#__PURE__*/ function(PROVING_STATE_LIFECYCLE) {
112
103
  }
113
104
  return {
114
105
  proof: this.rootRollupProvingOutput.proof.binaryProof,
115
- publicInputs: this.rootRollupProvingOutput.inputs
106
+ publicInputs: this.rootRollupProvingOutput.inputs,
116
107
  };
117
108
  }
118
109
  isReadyForBlockMerge(location) {
@@ -120,8 +111,8 @@ var PROVING_STATE_LIFECYCLE = /*#__PURE__*/ function(PROVING_STATE_LIFECYCLE) {
120
111
  }
121
112
  // Returns true if we have sufficient inputs to execute the block root rollup
122
113
  isReadyForRootRollup() {
123
- const childProofs = this.#getChildProofsForRoot();
124
- return childProofs.every((p)=>!!p);
114
+ const childProofs = __classPrivateFieldGet(this, _EpochProvingState_instances, "m", _EpochProvingState_getChildProofsForRoot).call(this);
115
+ return childProofs.every(p => !!p);
125
116
  }
126
117
  // Attempts to reject the proving state promise with a reason of 'cancelled'
127
118
  cancel() {
@@ -133,7 +124,7 @@ var PROVING_STATE_LIFECYCLE = /*#__PURE__*/ function(PROVING_STATE_LIFECYCLE) {
133
124
  if (!this.verifyState()) {
134
125
  return;
135
126
  }
136
- this.provingStateLifecycle = 3;
127
+ this.provingStateLifecycle = PROVING_STATE_LIFECYCLE.PROVING_STATE_REJECTED;
137
128
  this.rejectionCallback(reason);
138
129
  }
139
130
  // Attempts to resolve the proving state promise with the given result
@@ -142,22 +133,18 @@ var PROVING_STATE_LIFECYCLE = /*#__PURE__*/ function(PROVING_STATE_LIFECYCLE) {
142
133
  if (!this.verifyState()) {
143
134
  return;
144
135
  }
145
- this.provingStateLifecycle = 2;
136
+ this.provingStateLifecycle = PROVING_STATE_LIFECYCLE.PROVING_STATE_RESOLVED;
146
137
  this.completionCallback(result);
147
138
  }
148
- #getChildProofsForRoot() {
149
- const rootLocation = {
150
- level: 0,
151
- index: 0
152
- };
153
- // If there's only 1 block, its block root proof will be stored at the root.
154
- return this.totalNumBlocks === 1 ? [
155
- this.blockRootOrMergeProvingOutputs.getNode(rootLocation),
156
- this.paddingBlockRootProvingOutput
157
- ] : this.blockRootOrMergeProvingOutputs.getChildren(rootLocation);
158
- }
159
- async #getPreviousRollupData({ inputs, proof, verificationKey }) {
160
- const leafIndex = await getVKIndex(verificationKey.keyAsFields);
161
- return new PreviousRollupBlockData(inputs, proof, verificationKey.keyAsFields, new MembershipWitness(VK_TREE_HEIGHT, BigInt(leafIndex), await getVKSiblingPath(leafIndex)));
162
- }
163
139
  }
140
+ _EpochProvingState_instances = new WeakSet(), _EpochProvingState_getChildProofsForRoot = function _EpochProvingState_getChildProofsForRoot() {
141
+ const rootLocation = { level: 0, index: 0 };
142
+ // If there's only 1 block, its block root proof will be stored at the root.
143
+ return this.totalNumBlocks === 1
144
+ ? [this.blockRootOrMergeProvingOutputs.getNode(rootLocation), this.paddingBlockRootProvingOutput]
145
+ : this.blockRootOrMergeProvingOutputs.getChildren(rootLocation);
146
+ }, _EpochProvingState_getPreviousRollupData = async function _EpochProvingState_getPreviousRollupData({ inputs, proof, verificationKey, }) {
147
+ const leafIndex = await getVKIndex(verificationKey.keyAsFields);
148
+ return new PreviousRollupBlockData(inputs, proof, verificationKey.keyAsFields, new MembershipWitness(VK_TREE_HEIGHT, BigInt(leafIndex), await getVKSiblingPath(leafIndex)));
149
+ };
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2gtcHJvdmluZy1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcmNoZXN0cmF0b3IvZXBvY2gtcHJvdmluZy1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtBLE9BQU8sRUFPTCxpQkFBaUIsRUFHakIsY0FBYyxHQUNmLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUNMLHNCQUFzQixFQUV0Qix1QkFBdUIsRUFDdkIsZ0JBQWdCLEdBRWpCLE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsT0FBTyxFQUF5QixtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUV2RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUk3RCxJQUFLLHVCQUtKO0FBTEQsV0FBSyx1QkFBdUI7SUFDMUIsdUdBQXFCLENBQUE7SUFDckIsaUdBQWtCLENBQUE7SUFDbEIseUdBQXNCLENBQUE7SUFDdEIseUdBQXNCLENBQUE7QUFDeEIsQ0FBQyxFQUxJLHVCQUF1QixLQUF2Qix1QkFBdUIsUUFLM0I7QUFJRDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxpQkFBaUI7SUFlNUIsWUFDa0IsV0FBbUIsRUFDbkIsZ0JBQXdCLEVBQ3hCLGNBQXNCLEVBQzlCLGtCQUFtRCxFQUNuRCxpQkFBMkM7O1FBSm5DLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQ25CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBUTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBUTtRQUM5Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWlDO1FBQ25ELHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBMEI7UUFaN0MsMEJBQXFCLEdBQUcsdUJBQXVCLENBQUMscUJBQXFCLENBQUM7UUFFOUUsbUdBQW1HO1FBQ25GLHFCQUFnQixHQUFHLElBQUks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
@@ -0,0 +1,2 @@
1
+ export { ProvingOrchestrator } from './orchestrator.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1 +1,2 @@
1
1
  export { ProvingOrchestrator } from './orchestrator.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3JjaGVzdHJhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDIn0=