@aztec/prover-client 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2 → 0.76.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 (136) 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 +46 -72
  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 +81 -99
  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 +74 -99
  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 +41 -57
  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 +654 -650
  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 +52 -53
  43. package/dest/prover-client/factory.d.ts +6 -0
  44. package/dest/prover-client/factory.d.ts.map +1 -0
  45. package/dest/prover-client/factory.js +1 -0
  46. package/dest/prover-client/index.d.ts +3 -0
  47. package/dest/prover-client/index.d.ts.map +1 -0
  48. package/dest/prover-client/index.js +1 -0
  49. package/dest/prover-client/prover-client.d.ts +42 -0
  50. package/dest/prover-client/prover-client.d.ts.map +1 -0
  51. package/dest/prover-client/prover-client.js +25 -30
  52. package/dest/prover-client/server-epoch-prover.d.ts +25 -0
  53. package/dest/prover-client/server-epoch-prover.d.ts.map +1 -0
  54. package/dest/prover-client/server-epoch-prover.js +4 -4
  55. package/dest/proving_broker/broker_prover_facade.d.ts +39 -0
  56. package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -0
  57. package/dest/proving_broker/broker_prover_facade.js +59 -70
  58. package/dest/proving_broker/config.d.ts +61 -0
  59. package/dest/proving_broker/config.d.ts.map +1 -0
  60. package/dest/proving_broker/config.js +37 -22
  61. package/dest/proving_broker/factory.d.ts +5 -0
  62. package/dest/proving_broker/factory.d.ts.map +1 -0
  63. package/dest/proving_broker/factory.js +2 -1
  64. package/dest/proving_broker/fixtures.d.ts +5 -0
  65. package/dest/proving_broker/fixtures.d.ts.map +1 -0
  66. package/dest/proving_broker/fixtures.js +1 -0
  67. package/dest/proving_broker/index.d.ts +10 -0
  68. package/dest/proving_broker/index.d.ts.map +1 -0
  69. package/dest/proving_broker/index.js +1 -0
  70. package/dest/proving_broker/proof_store/factory.d.ts +6 -0
  71. package/dest/proving_broker/proof_store/factory.d.ts.map +1 -0
  72. package/dest/proving_broker/proof_store/factory.js +12 -9
  73. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts +13 -0
  74. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +1 -0
  75. package/dest/proving_broker/proof_store/gcs_proof_store.js +7 -11
  76. package/dest/proving_broker/proof_store/index.d.ts +4 -0
  77. package/dest/proving_broker/proof_store/index.d.ts.map +1 -0
  78. package/dest/proving_broker/proof_store/index.js +1 -0
  79. package/dest/proving_broker/proof_store/inline_proof_store.d.ts +14 -0
  80. package/dest/proving_broker/proof_store/inline_proof_store.d.ts.map +1 -0
  81. package/dest/proving_broker/proof_store/inline_proof_store.js +7 -11
  82. package/dest/proving_broker/proof_store/proof_store.d.ts +35 -0
  83. package/dest/proving_broker/proof_store/proof_store.d.ts.map +1 -0
  84. package/dest/proving_broker/proof_store/proof_store.js +2 -3
  85. package/dest/proving_broker/proving_agent.d.ts +45 -0
  86. package/dest/proving_broker/proving_agent.d.ts.map +1 -0
  87. package/dest/proving_broker/proving_agent.js +124 -120
  88. package/dest/proving_broker/proving_agent_instrumentation.d.ts +8 -0
  89. package/dest/proving_broker/proving_agent_instrumentation.d.ts.map +1 -0
  90. package/dest/proving_broker/proving_agent_instrumentation.js +3 -3
  91. package/dest/proving_broker/proving_broker.d.ts +72 -0
  92. package/dest/proving_broker/proving_broker.d.ts.map +1 -0
  93. package/dest/proving_broker/proving_broker.js +449 -491
  94. package/dest/proving_broker/proving_broker_database/memory.d.ts +16 -0
  95. package/dest/proving_broker/proving_broker_database/memory.d.ts.map +1 -0
  96. package/dest/proving_broker/proving_broker_database/memory.js +13 -19
  97. package/dest/proving_broker/proving_broker_database/persisted.d.ts +21 -0
  98. package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -0
  99. package/dest/proving_broker/proving_broker_database/persisted.js +21 -41
  100. package/dest/proving_broker/proving_broker_database.d.ts +39 -0
  101. package/dest/proving_broker/proving_broker_database.d.ts.map +1 -0
  102. package/dest/proving_broker/proving_broker_database.js +2 -3
  103. package/dest/proving_broker/proving_broker_instrumentation.d.ts +25 -0
  104. package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +1 -0
  105. package/dest/proving_broker/proving_broker_instrumentation.js +21 -28
  106. package/dest/proving_broker/proving_job_controller.d.ts +31 -0
  107. package/dest/proving_broker/proving_job_controller.d.ts.map +1 -0
  108. package/dest/proving_broker/proving_job_controller.js +62 -81
  109. package/dest/proving_broker/rpc.d.ts +26 -0
  110. package/dest/proving_broker/rpc.d.ts.map +1 -0
  111. package/dest/proving_broker/rpc.js +36 -26
  112. package/dest/test/mock_prover.d.ts +35 -0
  113. package/dest/test/mock_prover.d.ts.map +1 -0
  114. package/dest/test/mock_prover.js +13 -11
  115. package/package.json +12 -13
  116. package/src/index.ts +1 -1
  117. package/src/mocks/test_context.ts +23 -22
  118. package/src/orchestrator/block-building-helpers.ts +1 -38
  119. package/src/orchestrator/block-proving-state.ts +15 -15
  120. package/src/orchestrator/epoch-proving-state.ts +7 -10
  121. package/src/orchestrator/orchestrator.ts +36 -39
  122. package/src/orchestrator/tx-proving-state.ts +13 -13
  123. package/src/proving_broker/rpc.ts +24 -4
  124. package/src/test/mock_prover.ts +7 -1
  125. package/dest/prover-agent/index.js +0 -3
  126. package/dest/prover-agent/memory-proving-queue.js +0 -249
  127. package/dest/prover-agent/prover-agent.js +0 -201
  128. package/dest/prover-agent/proving-error.js +0 -8
  129. package/dest/prover-agent/queue_metrics.js +0 -24
  130. package/dest/prover-agent/rpc.js +0 -20
  131. package/src/prover-agent/index.ts +0 -3
  132. package/src/prover-agent/memory-proving-queue.ts +0 -416
  133. package/src/prover-agent/prover-agent.ts +0 -248
  134. package/src/prover-agent/proving-error.ts +0 -9
  135. package/src/prover-agent/queue_metrics.ts +0 -29
  136. package/src/prover-agent/rpc.ts +0 -22
@@ -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,59 +75,58 @@ 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) {
99
83
  return this.baseOrMergeProvingOutputs.getParentLocation(location);
100
84
  }
101
- async getMergeRollupInputs(mergeLocation) {
85
+ getMergeRollupInputs(mergeLocation) {
102
86
  const [left, right] = this.baseOrMergeProvingOutputs.getChildren(mergeLocation);
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([__classPrivateFieldGet(this, _BlockProvingState_instances, "m", _BlockProvingState_getPreviousRollupData).call(this, left), __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 = __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
- vkTreeRoot: await getVKTreeRoot(),
126
- protocolContractTreeRoot
106
+ vkTreeRoot: getVKTreeRoot(),
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: __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
- vkTreeRoot: await getVKTreeRoot(),
169
- protocolContractTreeRoot
150
+ vkTreeRoot: getVKTreeRoot(),
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
- async getRootParityInputs() {
178
- if (!this.baseParityProvingOutputs.every((p)=>!!p)) {
159
+ getRootParityInputs() {
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 = 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 = function _BlockProvingState_getBlockRootRollupData(proverId) {
211
+ return BlockRootRollupData.from({
212
+ l1ToL2Roots: __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 = function _BlockProvingState_getPreviousRollupData({ inputs, proof, verificationKey, }) {
236
+ const leafIndex = getVKIndex(verificationKey.keyAsFields);
237
+ return new PreviousRollupData(inputs, proof, verificationKey.keyAsFields, new MembershipWitness(VK_TREE_HEIGHT, BigInt(leafIndex), getVKSiblingPath(leafIndex)));
238
+ }, _BlockProvingState_getRootParityData = function _BlockProvingState_getRootParityData({ inputs, proof, verificationKey }) {
239
+ return new RootParityInput(proof, verificationKey.keyAsFields, getVKSiblingPath(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): BlockMergeRollupInputs;
43
+ getRootRollupInputs(proverId: Fr): 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);
@@ -73,27 +67,21 @@ var PROVING_STATE_LIFECYCLE = /*#__PURE__*/ function(PROVING_STATE_LIFECYCLE) {
73
67
  getParentLocation(location) {
74
68
  return this.blockRootOrMergeProvingOutputs.getParentLocation(location);
75
69
  }
76
- async getBlockMergeRollupInputs(mergeLocation) {
70
+ getBlockMergeRollupInputs(mergeLocation) {
77
71
  const [left, right] = this.blockRootOrMergeProvingOutputs.getChildren(mergeLocation);
78
72
  if (!left || !right) {
79
73
  throw new Error('At lease one child is not ready.');
80
74
  }
81
- return new BlockMergeRollupInputs([
82
- await this.#getPreviousRollupData(left),
83
- await this.#getPreviousRollupData(right)
84
- ]);
75
+ return new BlockMergeRollupInputs([__classPrivateFieldGet(this, _EpochProvingState_instances, "m", _EpochProvingState_getPreviousRollupData).call(this, left), __classPrivateFieldGet(this, _EpochProvingState_instances, "m", _EpochProvingState_getPreviousRollupData).call(this, right)]);
85
76
  }
86
- async getRootRollupInputs(proverId) {
87
- const [left, right] = this.#getChildProofsForRoot();
77
+ getRootRollupInputs(proverId) {
78
+ const [left, right] = __classPrivateFieldGet(this, _EpochProvingState_instances, "m", _EpochProvingState_getChildProofsForRoot).call(this);
88
79
  if (!left || !right) {
89
80
  throw new Error('At lease one child is not ready.');
90
81
  }
91
82
  return RootRollupInputs.from({
92
- previousRollupData: [
93
- await this.#getPreviousRollupData(left),
94
- await this.#getPreviousRollupData(right)
95
- ],
96
- proverId
83
+ previousRollupData: [__classPrivateFieldGet(this, _EpochProvingState_instances, "m", _EpochProvingState_getPreviousRollupData).call(this, left), __classPrivateFieldGet(this, _EpochProvingState_instances, "m", _EpochProvingState_getPreviousRollupData).call(this, right)],
84
+ proverId,
97
85
  });
98
86
  }
99
87
  getPaddingBlockRootInputs(proverId) {
@@ -104,7 +92,7 @@ var PROVING_STATE_LIFECYCLE = /*#__PURE__*/ function(PROVING_STATE_LIFECYCLE) {
104
92
  }
105
93
  // Returns a specific transaction proving state
106
94
  getBlockProvingStateByBlockNumber(blockNumber) {
107
- return this.blocks.find((block)=>block?.blockNumber === blockNumber);
95
+ return this.blocks.find(block => block?.blockNumber === blockNumber);
108
96
  }
109
97
  getEpochProofResult() {
110
98
  if (!this.rootRollupProvingOutput) {
@@ -112,7 +100,7 @@ var PROVING_STATE_LIFECYCLE = /*#__PURE__*/ function(PROVING_STATE_LIFECYCLE) {
112
100
  }
113
101
  return {
114
102
  proof: this.rootRollupProvingOutput.proof.binaryProof,
115
- publicInputs: this.rootRollupProvingOutput.inputs
103
+ publicInputs: this.rootRollupProvingOutput.inputs,
116
104
  };
117
105
  }
118
106
  isReadyForBlockMerge(location) {
@@ -120,8 +108,8 @@ var PROVING_STATE_LIFECYCLE = /*#__PURE__*/ function(PROVING_STATE_LIFECYCLE) {
120
108
  }
121
109
  // Returns true if we have sufficient inputs to execute the block root rollup
122
110
  isReadyForRootRollup() {
123
- const childProofs = this.#getChildProofsForRoot();
124
- return childProofs.every((p)=>!!p);
111
+ const childProofs = __classPrivateFieldGet(this, _EpochProvingState_instances, "m", _EpochProvingState_getChildProofsForRoot).call(this);
112
+ return childProofs.every(p => !!p);
125
113
  }
126
114
  // Attempts to reject the proving state promise with a reason of 'cancelled'
127
115
  cancel() {
@@ -133,7 +121,7 @@ var PROVING_STATE_LIFECYCLE = /*#__PURE__*/ function(PROVING_STATE_LIFECYCLE) {
133
121
  if (!this.verifyState()) {
134
122
  return;
135
123
  }
136
- this.provingStateLifecycle = 3;
124
+ this.provingStateLifecycle = PROVING_STATE_LIFECYCLE.PROVING_STATE_REJECTED;
137
125
  this.rejectionCallback(reason);
138
126
  }
139
127
  // Attempts to resolve the proving state promise with the given result
@@ -142,22 +130,18 @@ var PROVING_STATE_LIFECYCLE = /*#__PURE__*/ function(PROVING_STATE_LIFECYCLE) {
142
130
  if (!this.verifyState()) {
143
131
  return;
144
132
  }
145
- this.provingStateLifecycle = 2;
133
+ this.provingStateLifecycle = PROVING_STATE_LIFECYCLE.PROVING_STATE_RESOLVED;
146
134
  this.completionCallback(result);
147
135
  }
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
136
  }
137
+ _EpochProvingState_instances = new WeakSet(), _EpochProvingState_getChildProofsForRoot = function _EpochProvingState_getChildProofsForRoot() {
138
+ const rootLocation = { level: 0, index: 0 };
139
+ // If there's only 1 block, its block root proof will be stored at the root.
140
+ return this.totalNumBlocks === 1
141
+ ? [this.blockRootOrMergeProvingOutputs.getNode(rootLocation), this.paddingBlockRootProvingOutput]
142
+ : this.blockRootOrMergeProvingOutputs.getChildren(rootLocation);
143
+ }, _EpochProvingState_getPreviousRollupData = function _EpochProvingState_getPreviousRollupData({ inputs, proof, verificationKey, }) {
144
+ const leafIndex = getVKIndex(verificationKey.keyAsFields);
145
+ return new PreviousRollupBlockData(inputs, proof, verificationKey.keyAsFields, new MembershipWitness(VK_TREE_HEIGHT, BigInt(leafIndex), getVKSiblingPath(leafIndex)));
146
+ };
147
+ //# 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=