@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.
- package/dest/bin/get-proof-inputs.d.ts +2 -0
- package/dest/bin/get-proof-inputs.d.ts.map +1 -0
- package/dest/bin/get-proof-inputs.js +16 -18
- package/dest/block_builder/index.d.ts +6 -0
- package/dest/block_builder/index.d.ts.map +1 -0
- package/dest/block_builder/index.js +1 -0
- package/dest/block_builder/light.d.ts +31 -0
- package/dest/block_builder/light.d.ts.map +1 -0
- package/dest/block_builder/light.js +13 -23
- package/dest/config.d.ts +17 -0
- package/dest/config.d.ts.map +1 -0
- package/dest/config.js +11 -9
- package/dest/index.d.ts +4 -0
- package/dest/index.d.ts.map +1 -0
- package/dest/index.js +1 -0
- package/dest/mocks/fixtures.d.ts +19 -0
- package/dest/mocks/fixtures.d.ts.map +1 -0
- package/dest/mocks/fixtures.js +26 -28
- package/dest/mocks/test_context.d.ts +49 -0
- package/dest/mocks/test_context.d.ts.map +1 -0
- package/dest/mocks/test_context.js +31 -55
- package/dest/orchestrator/block-building-helpers.d.ts +50 -0
- package/dest/orchestrator/block-building-helpers.d.ts.map +1 -0
- package/dest/orchestrator/block-building-helpers.js +90 -90
- package/dest/orchestrator/block-proving-state.d.ts +71 -0
- package/dest/orchestrator/block-proving-state.d.ts.map +1 -0
- package/dest/orchestrator/block-proving-state.js +70 -95
- package/dest/orchestrator/epoch-proving-state.d.ts +56 -0
- package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -0
- package/dest/orchestrator/epoch-proving-state.js +40 -53
- package/dest/orchestrator/index.d.ts +2 -0
- package/dest/orchestrator/index.d.ts.map +1 -0
- package/dest/orchestrator/index.js +1 -0
- package/dest/orchestrator/orchestrator.d.ts +108 -0
- package/dest/orchestrator/orchestrator.d.ts.map +1 -0
- package/dest/orchestrator/orchestrator.js +653 -649
- package/dest/orchestrator/orchestrator_metrics.d.ts +8 -0
- package/dest/orchestrator/orchestrator_metrics.d.ts.map +1 -0
- package/dest/orchestrator/orchestrator_metrics.js +3 -4
- package/dest/orchestrator/tx-proving-state.d.ts +31 -0
- package/dest/orchestrator/tx-proving-state.d.ts.map +1 -0
- package/dest/orchestrator/tx-proving-state.js +51 -52
- package/dest/prover-agent/index.d.ts +4 -0
- package/dest/prover-agent/index.d.ts.map +1 -0
- package/dest/prover-agent/index.js +1 -0
- package/dest/prover-agent/memory-proving-queue.d.ts +82 -0
- package/dest/prover-agent/memory-proving-queue.d.ts.map +1 -0
- package/dest/prover-agent/memory-proving-queue.js +248 -237
- package/dest/prover-agent/prover-agent.d.ts +43 -0
- package/dest/prover-agent/prover-agent.d.ts.map +1 -0
- package/dest/prover-agent/prover-agent.js +187 -184
- package/dest/prover-agent/proving-error.d.ts +5 -0
- package/dest/prover-agent/proving-error.d.ts.map +1 -0
- package/dest/prover-agent/proving-error.js +1 -0
- package/dest/prover-agent/queue_metrics.d.ts +10 -0
- package/dest/prover-agent/queue_metrics.d.ts.map +1 -0
- package/dest/prover-agent/queue_metrics.js +5 -6
- package/dest/prover-agent/rpc.d.ts +11 -0
- package/dest/prover-agent/rpc.d.ts.map +1 -0
- package/dest/prover-agent/rpc.js +4 -6
- package/dest/prover-client/factory.d.ts +6 -0
- package/dest/prover-client/factory.d.ts.map +1 -0
- package/dest/prover-client/factory.js +1 -0
- package/dest/prover-client/index.d.ts +3 -0
- package/dest/prover-client/index.d.ts.map +1 -0
- package/dest/prover-client/index.js +1 -0
- package/dest/prover-client/prover-client.d.ts +42 -0
- package/dest/prover-client/prover-client.d.ts.map +1 -0
- package/dest/prover-client/prover-client.js +25 -30
- package/dest/prover-client/server-epoch-prover.d.ts +25 -0
- package/dest/prover-client/server-epoch-prover.d.ts.map +1 -0
- package/dest/prover-client/server-epoch-prover.js +4 -4
- package/dest/proving_broker/broker_prover_facade.d.ts +39 -0
- package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -0
- package/dest/proving_broker/broker_prover_facade.js +59 -70
- package/dest/proving_broker/config.d.ts +61 -0
- package/dest/proving_broker/config.d.ts.map +1 -0
- package/dest/proving_broker/config.js +37 -22
- package/dest/proving_broker/factory.d.ts +5 -0
- package/dest/proving_broker/factory.d.ts.map +1 -0
- package/dest/proving_broker/factory.js +2 -1
- package/dest/proving_broker/fixtures.d.ts +5 -0
- package/dest/proving_broker/fixtures.d.ts.map +1 -0
- package/dest/proving_broker/fixtures.js +1 -0
- package/dest/proving_broker/index.d.ts +10 -0
- package/dest/proving_broker/index.d.ts.map +1 -0
- package/dest/proving_broker/index.js +1 -0
- package/dest/proving_broker/proof_store/factory.d.ts +6 -0
- package/dest/proving_broker/proof_store/factory.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/factory.js +12 -9
- package/dest/proving_broker/proof_store/gcs_proof_store.d.ts +13 -0
- package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/gcs_proof_store.js +7 -11
- package/dest/proving_broker/proof_store/index.d.ts +4 -0
- package/dest/proving_broker/proof_store/index.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/index.js +1 -0
- package/dest/proving_broker/proof_store/inline_proof_store.d.ts +14 -0
- package/dest/proving_broker/proof_store/inline_proof_store.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/inline_proof_store.js +7 -11
- package/dest/proving_broker/proof_store/proof_store.d.ts +35 -0
- package/dest/proving_broker/proof_store/proof_store.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/proof_store.js +2 -3
- package/dest/proving_broker/proving_agent.d.ts +44 -0
- package/dest/proving_broker/proving_agent.d.ts.map +1 -0
- package/dest/proving_broker/proving_agent.js +110 -121
- package/dest/proving_broker/proving_agent_instrumentation.d.ts +8 -0
- package/dest/proving_broker/proving_agent_instrumentation.d.ts.map +1 -0
- package/dest/proving_broker/proving_agent_instrumentation.js +3 -3
- package/dest/proving_broker/proving_broker.d.ts +75 -0
- package/dest/proving_broker/proving_broker.d.ts.map +1 -0
- package/dest/proving_broker/proving_broker.js +451 -491
- package/dest/proving_broker/proving_broker_database/memory.d.ts +16 -0
- package/dest/proving_broker/proving_broker_database/memory.d.ts.map +1 -0
- package/dest/proving_broker/proving_broker_database/memory.js +13 -19
- package/dest/proving_broker/proving_broker_database/persisted.d.ts +21 -0
- package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -0
- package/dest/proving_broker/proving_broker_database/persisted.js +21 -41
- package/dest/proving_broker/proving_broker_database.d.ts +39 -0
- package/dest/proving_broker/proving_broker_database.d.ts.map +1 -0
- package/dest/proving_broker/proving_broker_database.js +2 -3
- package/dest/proving_broker/proving_broker_instrumentation.d.ts +25 -0
- package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +1 -0
- package/dest/proving_broker/proving_broker_instrumentation.js +21 -28
- package/dest/proving_broker/proving_job_controller.d.ts +31 -0
- package/dest/proving_broker/proving_job_controller.d.ts.map +1 -0
- package/dest/proving_broker/proving_job_controller.js +62 -81
- package/dest/proving_broker/rpc.d.ts +11 -0
- package/dest/proving_broker/rpc.d.ts.map +1 -0
- package/dest/proving_broker/rpc.js +15 -23
- package/dest/test/mock_prover.d.ts +33 -0
- package/dest/test/mock_prover.d.ts.map +1 -0
- package/dest/test/mock_prover.js +9 -11
- package/package.json +11 -12
- package/src/index.ts +1 -1
- package/src/orchestrator/block-building-helpers.ts +1 -1
- package/src/proving_broker/proving_agent.ts +11 -30
- package/src/proving_broker/proving_broker.ts +27 -53
- package/src/proving_broker/rpc.ts +2 -8
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
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
|
-
*/
|
|
13
|
-
|
|
14
|
-
globalVariables
|
|
15
|
-
|
|
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. */
|
|
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
|
|
116
|
-
const nonEmptyProofs = proofs.filter(
|
|
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
|
|
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(
|
|
138
|
-
const blobData = await this
|
|
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
|
-
}
|
|
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
|
|
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(
|
|
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(
|
|
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
|
|
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
|
|
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(
|
|
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
|
|
208
|
-
return this.block !== undefined && this.rootParityProvingOutput !== undefined && childProofs.every(
|
|
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(
|
|
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
|
-
|
|
2
|
-
import {
|
|
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
|
|
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
|
-
|
|
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
|
-
*/
|
|
19
|
-
|
|
20
|
-
firstBlockNumber
|
|
21
|
-
|
|
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 =
|
|
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(
|
|
49
|
-
this.provingStateLifecycle =
|
|
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 ===
|
|
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 ===
|
|
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
|
|
83
|
-
await this
|
|
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
|
|
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
|
-
|
|
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(
|
|
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
|
|
124
|
-
return childProofs.every(
|
|
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 =
|
|
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 =
|
|
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 @@
|
|
|
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=
|