@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.
- 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 +46 -72
- 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 +81 -99
- 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 +74 -99
- 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 +41 -57
- 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 +654 -650
- 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 +52 -53
- 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 +45 -0
- package/dest/proving_broker/proving_agent.d.ts.map +1 -0
- package/dest/proving_broker/proving_agent.js +124 -120
- 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 +72 -0
- package/dest/proving_broker/proving_broker.d.ts.map +1 -0
- package/dest/proving_broker/proving_broker.js +449 -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 +26 -0
- package/dest/proving_broker/rpc.d.ts.map +1 -0
- package/dest/proving_broker/rpc.js +36 -26
- package/dest/test/mock_prover.d.ts +35 -0
- package/dest/test/mock_prover.d.ts.map +1 -0
- package/dest/test/mock_prover.js +13 -11
- package/package.json +12 -13
- package/src/index.ts +1 -1
- package/src/mocks/test_context.ts +23 -22
- package/src/orchestrator/block-building-helpers.ts +1 -38
- package/src/orchestrator/block-proving-state.ts +15 -15
- package/src/orchestrator/epoch-proving-state.ts +7 -10
- package/src/orchestrator/orchestrator.ts +36 -39
- package/src/orchestrator/tx-proving-state.ts +13 -13
- package/src/proving_broker/rpc.ts +24 -4
- package/src/test/mock_prover.ts +7 -1
- package/dest/prover-agent/index.js +0 -3
- package/dest/prover-agent/memory-proving-queue.js +0 -249
- package/dest/prover-agent/prover-agent.js +0 -201
- package/dest/prover-agent/proving-error.js +0 -8
- package/dest/prover-agent/queue_metrics.js +0 -24
- package/dest/prover-agent/rpc.js +0 -20
- package/src/prover-agent/index.ts +0 -3
- package/src/prover-agent/memory-proving-queue.ts +0 -416
- package/src/prover-agent/prover-agent.ts +0 -248
- package/src/prover-agent/proving-error.ts +0 -9
- package/src/prover-agent/queue_metrics.ts +0 -29
- package/src/prover-agent/rpc.ts +0 -22
|
@@ -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,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. */
|
|
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
|
-
|
|
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
|
|
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 =
|
|
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:
|
|
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(
|
|
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:
|
|
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:
|
|
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
|
-
|
|
178
|
-
if (!this.baseParityProvingOutputs.every(
|
|
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 =
|
|
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
|
|
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 = 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
|
-
|
|
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);
|
|
@@ -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
|
-
|
|
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
|
-
|
|
87
|
-
const [left, right] = this
|
|
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
|
-
|
|
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(
|
|
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
|
|
124
|
-
return childProofs.every(
|
|
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 =
|
|
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 =
|
|
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 @@
|
|
|
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=
|