@aztec/prover-client 0.69.1 → 0.71.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 +50 -0
- package/dest/block_builder/light.d.ts +3 -5
- package/dest/block_builder/light.d.ts.map +1 -1
- package/dest/block_builder/light.js +9 -22
- package/dest/config.d.ts +2 -1
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +3 -2
- package/dest/mocks/fixtures.d.ts +1 -1
- package/dest/mocks/fixtures.d.ts.map +1 -1
- package/dest/mocks/fixtures.js +2 -2
- package/dest/mocks/test_context.d.ts +1 -1
- package/dest/mocks/test_context.d.ts.map +1 -1
- package/dest/mocks/test_context.js +11 -12
- package/dest/orchestrator/block-building-helpers.d.ts +15 -29
- package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
- package/dest/orchestrator/block-building-helpers.js +51 -58
- package/dest/orchestrator/block-proving-state.d.ts +40 -44
- package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/block-proving-state.js +149 -85
- package/dest/orchestrator/epoch-proving-state.d.ts +23 -30
- package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/epoch-proving-state.js +92 -65
- package/dest/orchestrator/orchestrator.d.ts +17 -48
- package/dest/orchestrator/orchestrator.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator.js +208 -351
- package/dest/orchestrator/tx-proving-state.d.ts +10 -6
- package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/tx-proving-state.js +57 -46
- package/dest/prover-agent/memory-proving-queue.d.ts +4 -4
- package/dest/prover-agent/memory-proving-queue.d.ts.map +1 -1
- package/dest/prover-agent/memory-proving-queue.js +5 -5
- package/dest/prover-agent/prover-agent.d.ts +0 -2
- package/dest/prover-agent/prover-agent.d.ts.map +1 -1
- package/dest/prover-agent/prover-agent.js +7 -9
- package/dest/prover-client/factory.d.ts.map +1 -1
- package/dest/prover-client/factory.js +3 -3
- package/dest/prover-client/prover-client.d.ts +4 -2
- package/dest/prover-client/prover-client.d.ts.map +1 -1
- package/dest/prover-client/prover-client.js +16 -15
- 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 +40 -0
- package/dest/proving_broker/broker_prover_facade.d.ts +19 -7
- package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
- package/dest/proving_broker/broker_prover_facade.js +271 -49
- 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 +83 -0
- package/dest/proving_broker/factory.d.ts +1 -1
- package/dest/proving_broker/factory.d.ts.map +1 -1
- package/dest/proving_broker/factory.js +4 -7
- 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 +12 -0
- package/dest/proving_broker/index.d.ts +2 -1
- package/dest/proving_broker/index.d.ts.map +1 -1
- package/dest/proving_broker/index.js +3 -2
- 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 +39 -0
- 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 +46 -0
- 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 +4 -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 +37 -0
- package/dest/proving_broker/{proof_store.d.ts → proof_store/proof_store.d.ts} +1 -12
- package/dest/proving_broker/proof_store/proof_store.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/proof_store.js +2 -0
- package/dest/proving_broker/proving_agent.d.ts +4 -4
- package/dest/proving_broker/proving_agent.d.ts.map +1 -1
- package/dest/proving_broker/proving_agent.js +5 -5
- package/dest/proving_broker/proving_broker.d.ts +16 -12
- package/dest/proving_broker/proving_broker.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker.js +307 -274
- package/dest/proving_broker/proving_broker_database/memory.d.ts +4 -2
- package/dest/proving_broker/proving_broker_database/memory.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker_database/memory.js +17 -4
- package/dest/proving_broker/proving_broker_database/persisted.d.ts +10 -6
- package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker_database/persisted.js +106 -14
- package/dest/proving_broker/proving_broker_database.d.ts +7 -3
- package/dest/proving_broker/proving_broker_database.d.ts.map +1 -1
- package/dest/proving_broker/proving_job_controller.js +4 -4
- package/dest/proving_broker/rpc.d.ts.map +1 -1
- package/dest/proving_broker/rpc.js +4 -4
- package/dest/test/mock_prover.d.ts +8 -8
- package/dest/test/mock_prover.d.ts.map +1 -1
- package/dest/test/mock_prover.js +9 -10
- package/package.json +14 -12
- package/src/bin/get-proof-inputs.ts +60 -0
- package/src/block_builder/light.ts +7 -31
- package/src/config.ts +4 -4
- package/src/mocks/fixtures.ts +1 -1
- package/src/mocks/test_context.ts +9 -11
- package/src/orchestrator/block-building-helpers.ts +360 -402
- package/src/orchestrator/block-proving-state.ts +251 -121
- package/src/orchestrator/epoch-proving-state.ts +159 -88
- package/src/orchestrator/orchestrator.ts +262 -542
- package/src/orchestrator/tx-proving-state.ts +30 -18
- package/src/prover-agent/memory-proving-queue.ts +12 -16
- package/src/prover-agent/prover-agent.ts +14 -8
- package/src/prover-client/factory.ts +2 -3
- package/src/prover-client/prover-client.ts +17 -20
- package/src/prover-client/server-epoch-prover.ts +44 -0
- package/src/proving_broker/broker_prover_facade.ts +347 -67
- package/src/proving_broker/config.ts +93 -0
- package/src/proving_broker/factory.ts +11 -10
- package/src/proving_broker/fixtures.ts +14 -0
- package/src/proving_broker/index.ts +2 -1
- package/src/proving_broker/proof_store/factory.ts +42 -0
- package/src/proving_broker/proof_store/gcs_proof_store.ts +72 -0
- package/src/proving_broker/proof_store/index.ts +3 -0
- package/src/proving_broker/{proof_store.ts → proof_store/inline_proof_store.ts} +1 -44
- package/src/proving_broker/proof_store/proof_store.ts +54 -0
- package/src/proving_broker/proving_agent.ts +11 -5
- package/src/proving_broker/proving_broker.ts +122 -73
- package/src/proving_broker/proving_broker_database/memory.ts +24 -4
- package/src/proving_broker/proving_broker_database/persisted.ts +142 -20
- package/src/proving_broker/proving_broker_database.ts +8 -3
- package/src/proving_broker/proving_job_controller.ts +5 -5
- package/src/proving_broker/rpc.ts +2 -3
- package/src/test/mock_prover.ts +12 -18
- package/dest/proving_broker/proof_store.d.ts.map +0 -1
- package/dest/proving_broker/proof_store.js +0 -37
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
var _EpochProvingState_instances, _EpochProvingState_getChildProofsForRoot, _EpochProvingState_getPreviousRollupData;
|
|
2
|
+
import { __classPrivateFieldGet } from "tslib";
|
|
3
|
+
import { ARCHIVE_HEIGHT, AppendOnlyTreeSnapshot, Fr, L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH, MembershipWitness, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, VK_TREE_HEIGHT, } from '@aztec/circuits.js';
|
|
4
|
+
import { BlockMergeRollupInputs, ConstantRollupData, EmptyBlockRootRollupInputs, PreviousRollupBlockData, RootRollupInputs, } from '@aztec/circuits.js/rollup';
|
|
5
|
+
import { makeTuple } from '@aztec/foundation/array';
|
|
2
6
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
7
|
+
import { UnbalancedTreeStore } from '@aztec/foundation/trees';
|
|
8
|
+
import { getVKIndex, getVKSiblingPath, getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vks';
|
|
9
|
+
import { protocolContractTreeRoot } from '@aztec/protocol-contracts';
|
|
3
10
|
import { BlockProvingState } from './block-proving-state.js';
|
|
4
11
|
var PROVING_STATE_LIFECYCLE;
|
|
5
12
|
(function (PROVING_STATE_LIFECYCLE) {
|
|
@@ -16,52 +23,23 @@ var PROVING_STATE_LIFECYCLE;
|
|
|
16
23
|
*/
|
|
17
24
|
export class EpochProvingState {
|
|
18
25
|
constructor(epochNumber, firstBlockNumber, totalNumBlocks, completionCallback, rejectionCallback) {
|
|
26
|
+
_EpochProvingState_instances.add(this);
|
|
19
27
|
this.epochNumber = epochNumber;
|
|
20
28
|
this.firstBlockNumber = firstBlockNumber;
|
|
21
29
|
this.totalNumBlocks = totalNumBlocks;
|
|
22
30
|
this.completionCallback = completionCallback;
|
|
23
31
|
this.rejectionCallback = rejectionCallback;
|
|
24
32
|
this.provingStateLifecycle = PROVING_STATE_LIFECYCLE.PROVING_STATE_CREATED;
|
|
25
|
-
|
|
33
|
+
// Map from tx hash to tube proof promise. Used when kickstarting tube proofs before tx processing.
|
|
34
|
+
this.cachedTubeProofs = new Map();
|
|
26
35
|
this.blocks = [];
|
|
27
|
-
|
|
28
|
-
// Returns the number of levels of merge rollups
|
|
29
|
-
get numMergeLevels() {
|
|
30
|
-
const totalLeaves = Math.max(2, this.totalNumBlocks);
|
|
31
|
-
return BigInt(Math.ceil(Math.log2(totalLeaves)) - 1);
|
|
32
|
-
}
|
|
33
|
-
// Calculates the index and level of the parent rollup circuit
|
|
34
|
-
// Based on tree implementation in unbalanced_tree.ts -> batchInsert()
|
|
35
|
-
// REFACTOR: This is repeated from the block orchestrator
|
|
36
|
-
findMergeLevel(currentLevel, currentIndex) {
|
|
37
|
-
const totalLeaves = Math.max(2, this.totalNumBlocks);
|
|
38
|
-
const moveUpMergeLevel = (levelSize, index, nodeToShift) => {
|
|
39
|
-
levelSize /= 2;
|
|
40
|
-
if (levelSize & 1) {
|
|
41
|
-
[levelSize, nodeToShift] = nodeToShift ? [levelSize + 1, false] : [levelSize - 1, true];
|
|
42
|
-
}
|
|
43
|
-
index >>= 1n;
|
|
44
|
-
return { thisLevelSize: levelSize, thisIndex: index, shiftUp: nodeToShift };
|
|
45
|
-
};
|
|
46
|
-
let [thisLevelSize, shiftUp] = totalLeaves & 1 ? [totalLeaves - 1, true] : [totalLeaves, false];
|
|
47
|
-
const maxLevel = this.numMergeLevels + 1n;
|
|
48
|
-
let placeholder = currentIndex;
|
|
49
|
-
for (let i = 0; i < maxLevel - currentLevel; i++) {
|
|
50
|
-
({ thisLevelSize, thisIndex: placeholder, shiftUp } = moveUpMergeLevel(thisLevelSize, placeholder, shiftUp));
|
|
51
|
-
}
|
|
52
|
-
let thisIndex = currentIndex;
|
|
53
|
-
let mergeLevel = currentLevel;
|
|
54
|
-
while (thisIndex >= thisLevelSize && mergeLevel != 0n) {
|
|
55
|
-
mergeLevel -= 1n;
|
|
56
|
-
({ thisLevelSize, thisIndex, shiftUp } = moveUpMergeLevel(thisLevelSize, thisIndex, shiftUp));
|
|
57
|
-
}
|
|
58
|
-
return [mergeLevel - 1n, thisIndex >> 1n, thisIndex & 1n];
|
|
36
|
+
this.blockRootOrMergeProvingOutputs = new UnbalancedTreeStore(totalNumBlocks);
|
|
59
37
|
}
|
|
60
38
|
// Adds a block to the proving state, returns its index
|
|
61
39
|
// Will update the proving life cycle if this is the last block
|
|
62
|
-
startNewBlock(globalVariables, l1ToL2Messages, messageTreeSnapshot, messageTreeRootSiblingPath, messageTreeSnapshotAfterInsertion, archiveTreeSnapshot, archiveTreeRootSiblingPath, previousBlockHash) {
|
|
40
|
+
startNewBlock(globalVariables, l1ToL2Messages, messageTreeSnapshot, messageTreeRootSiblingPath, messageTreeSnapshotAfterInsertion, archiveTreeSnapshot, archiveTreeRootSiblingPath, previousBlockHeader, previousBlockHash) {
|
|
63
41
|
const index = globalVariables.blockNumber.toNumber() - this.firstBlockNumber;
|
|
64
|
-
const block = new BlockProvingState(index, globalVariables, padArrayEnd(l1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP), messageTreeSnapshot, messageTreeRootSiblingPath, messageTreeSnapshotAfterInsertion, archiveTreeSnapshot, archiveTreeRootSiblingPath, previousBlockHash, this);
|
|
42
|
+
const block = new BlockProvingState(index, globalVariables, padArrayEnd(l1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP), messageTreeSnapshot, messageTreeRootSiblingPath, messageTreeSnapshotAfterInsertion, archiveTreeSnapshot, archiveTreeRootSiblingPath, previousBlockHeader, previousBlockHash, this);
|
|
65
43
|
this.blocks[index] = block;
|
|
66
44
|
if (this.blocks.filter(b => !!b).length === this.totalNumBlocks) {
|
|
67
45
|
this.provingStateLifecycle = PROVING_STATE_LIFECYCLE.PROVING_STATE_FULL;
|
|
@@ -77,43 +55,82 @@ export class EpochProvingState {
|
|
|
77
55
|
isAcceptingBlocks() {
|
|
78
56
|
return this.provingStateLifecycle === PROVING_STATE_LIFECYCLE.PROVING_STATE_CREATED;
|
|
79
57
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
58
|
+
setBlockRootRollupProof(blockIndex, proof) {
|
|
59
|
+
return this.blockRootOrMergeProvingOutputs.setLeaf(blockIndex, proof);
|
|
60
|
+
}
|
|
61
|
+
setBlockMergeRollupProof(location, proof) {
|
|
62
|
+
this.blockRootOrMergeProvingOutputs.setNode(location, proof);
|
|
63
|
+
}
|
|
64
|
+
setRootRollupProof(proof) {
|
|
65
|
+
this.rootRollupProvingOutput = proof;
|
|
66
|
+
}
|
|
67
|
+
setPaddingBlockRootProof(proof) {
|
|
68
|
+
this.paddingBlockRootProvingOutput = proof;
|
|
69
|
+
}
|
|
70
|
+
getParentLocation(location) {
|
|
71
|
+
return this.blockRootOrMergeProvingOutputs.getParentLocation(location);
|
|
72
|
+
}
|
|
73
|
+
getBlockMergeRollupInputs(mergeLocation) {
|
|
74
|
+
const [left, right] = this.blockRootOrMergeProvingOutputs.getChildren(mergeLocation);
|
|
75
|
+
if (!left || !right) {
|
|
76
|
+
throw new Error('At lease one child is not ready.');
|
|
77
|
+
}
|
|
78
|
+
return new BlockMergeRollupInputs([__classPrivateFieldGet(this, _EpochProvingState_instances, "m", _EpochProvingState_getPreviousRollupData).call(this, left), __classPrivateFieldGet(this, _EpochProvingState_instances, "m", _EpochProvingState_getPreviousRollupData).call(this, right)]);
|
|
79
|
+
}
|
|
80
|
+
getRootRollupInputs(proverId) {
|
|
81
|
+
const [left, right] = __classPrivateFieldGet(this, _EpochProvingState_instances, "m", _EpochProvingState_getChildProofsForRoot).call(this);
|
|
82
|
+
if (!left || !right) {
|
|
83
|
+
throw new Error('At lease one child is not ready.');
|
|
84
|
+
}
|
|
85
|
+
return RootRollupInputs.from({
|
|
86
|
+
previousRollupData: [__classPrivateFieldGet(this, _EpochProvingState_instances, "m", _EpochProvingState_getPreviousRollupData).call(this, left), __classPrivateFieldGet(this, _EpochProvingState_instances, "m", _EpochProvingState_getPreviousRollupData).call(this, right)],
|
|
87
|
+
proverId,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
getPaddingBlockRootInputs(proverId) {
|
|
91
|
+
const { block } = this.blocks[0] ?? {};
|
|
92
|
+
const l1ToL2Roots = this.blocks[0]?.getL1ToL2Roots();
|
|
93
|
+
if (!block || !l1ToL2Roots) {
|
|
94
|
+
throw new Error('Epoch needs one completed block in order to be padded.');
|
|
99
95
|
}
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
96
|
+
const constants = ConstantRollupData.from({
|
|
97
|
+
lastArchive: block.archive,
|
|
98
|
+
globalVariables: block.header.globalVariables,
|
|
99
|
+
vkTreeRoot: getVKTreeRoot(),
|
|
100
|
+
protocolContractTreeRoot,
|
|
101
|
+
});
|
|
102
|
+
return EmptyBlockRootRollupInputs.from({
|
|
103
|
+
l1ToL2Roots,
|
|
104
|
+
newL1ToL2MessageTreeRootSiblingPath: makeTuple(L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH, Fr.zero),
|
|
105
|
+
startL1ToL2MessageTreeSnapshot: AppendOnlyTreeSnapshot.zero(),
|
|
106
|
+
newArchiveSiblingPath: makeTuple(ARCHIVE_HEIGHT, Fr.zero),
|
|
107
|
+
previousBlockHash: block.header.hash(),
|
|
108
|
+
previousPartialState: block.header.state.partial,
|
|
109
|
+
constants,
|
|
110
|
+
proverId,
|
|
111
|
+
isPadding: true,
|
|
112
|
+
});
|
|
105
113
|
}
|
|
106
114
|
// Returns a specific transaction proving state
|
|
107
115
|
getBlockProvingStateByBlockNumber(blockNumber) {
|
|
108
116
|
return this.blocks.find(block => block?.blockNumber === blockNumber);
|
|
109
117
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
118
|
+
getEpochProofResult() {
|
|
119
|
+
if (!this.rootRollupProvingOutput) {
|
|
120
|
+
throw new Error('Unable to get epoch proof result. Root rollup is not ready.');
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
proof: this.rootRollupProvingOutput.proof.binaryProof,
|
|
124
|
+
publicInputs: this.rootRollupProvingOutput.inputs,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
isReadyForBlockMerge(location) {
|
|
128
|
+
return this.blockRootOrMergeProvingOutputs.getSibling(location) !== undefined;
|
|
113
129
|
}
|
|
114
130
|
// Returns true if we have sufficient inputs to execute the block root rollup
|
|
115
131
|
isReadyForRootRollup() {
|
|
116
|
-
|
|
132
|
+
const childProofs = __classPrivateFieldGet(this, _EpochProvingState_instances, "m", _EpochProvingState_getChildProofsForRoot).call(this);
|
|
133
|
+
return childProofs.every(p => !!p);
|
|
117
134
|
}
|
|
118
135
|
// Attempts to reject the proving state promise with a reason of 'cancelled'
|
|
119
136
|
cancel() {
|
|
@@ -138,4 +155,14 @@ export class EpochProvingState {
|
|
|
138
155
|
this.completionCallback(result);
|
|
139
156
|
}
|
|
140
157
|
}
|
|
141
|
-
|
|
158
|
+
_EpochProvingState_instances = new WeakSet(), _EpochProvingState_getChildProofsForRoot = function _EpochProvingState_getChildProofsForRoot() {
|
|
159
|
+
const rootLocation = { level: 0, index: 0 };
|
|
160
|
+
// If there's only 1 block, its block root proof will be stored at the root.
|
|
161
|
+
return this.totalNumBlocks === 1
|
|
162
|
+
? [this.blockRootOrMergeProvingOutputs.getNode(rootLocation), this.paddingBlockRootProvingOutput]
|
|
163
|
+
: this.blockRootOrMergeProvingOutputs.getChildren(rootLocation);
|
|
164
|
+
}, _EpochProvingState_getPreviousRollupData = function _EpochProvingState_getPreviousRollupData({ inputs, proof, verificationKey, }) {
|
|
165
|
+
const leafIndex = getVKIndex(verificationKey.keyAsFields);
|
|
166
|
+
return new PreviousRollupBlockData(inputs, proof, verificationKey.keyAsFields, new MembershipWitness(VK_TREE_HEIGHT, BigInt(leafIndex), getVKSiblingPath(leafIndex)));
|
|
167
|
+
};
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2gtcHJvdmluZy1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcmNoZXN0cmF0b3IvZXBvY2gtcHJvdmluZy1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtBLE9BQU8sRUFDTCxjQUFjLEVBQ2Qsc0JBQXNCLEVBRXRCLEVBQUUsRUFFRix3Q0FBd0MsRUFDeEMsaUJBQWlCLEVBRWpCLG1DQUFtQyxFQUVuQyxjQUFjLEdBQ2YsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQ0wsc0JBQXNCLEVBRXRCLGtCQUFrQixFQUNsQiwwQkFBMEIsRUFDMUIsdUJBQXVCLEVBQ3ZCLGdCQUFnQixHQUVqQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFM0QsT0FBTyxFQUF5QixtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJN0QsSUFBSyx1QkFLSjtBQUxELFdBQUssdUJBQXVCO0lBQzFCLHVHQUFxQixDQUFBO0lBQ3JCLGlHQUFrQixDQUFBO0lBQ2xCLHlHQUFzQixDQUFBO0lBQ3RCLHlHQUFzQixDQUFBO0FBQ3hCLENBQUMsRUFMSSx1QkFBdUIsS0FBdkIsdUJBQXVCLFFBSzNCO0FBSUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBZTVCLFlBQ2tCLFdBQW1CLEVBQ25CLGdCQUF3QixFQUN4QixjQUFzQixFQUM5QixrQkFBbUQsRUFDbkQsaUJBQTJDOztRQUpuQyxnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQVE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFDOUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFpQztRQUNuRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTBCO1FBWjdDLDBCQUFxQixHQUFHLHVCQUF1QixDQUFDLHFCQUFxQixDQUFDO1FBRTlFLG1HQUFtRztRQUNuRixxQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBc0UsQ0FBQztRQUUxRyxXQUFNLEdBQXNDLEVBQUUsQ0FBQztRQVNwRCxJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsdURBQXVEO0lBQ3ZELCtEQUErRDtJQUN4RCxhQUFhLENBQ2xCLGVBQWdDLEVBQ2hDLGNBQW9CLEVBQ3BCLG1CQUEyQyxFQUMzQywwQkFBc0YsRUFDdEYsaUNBQXlELEVBQ3pELG1CQUEyQyxFQUMzQywwQkFBNEQsRUFDNUQsbUJBQWdDLEVBQ2hDLGlCQUFxQjtRQUVyQixNQUFNLEtBQUssR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUM3RSxNQUFNLEtBQUssR0FBRyxJQUFJLGlCQUFpQixDQUNqQyxLQUFLLEVBQ0wsZUFBZSxFQUNmLFdBQVcsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxtQ0FBbUMsQ0FBQyxFQUN6RSxtQkFBbUIsRUFDbkIsMEJBQTBCLEVBQzFCLGlDQUFpQyxFQUNqQyxtQkFBbUIsRUFDbkIsMEJBQTBCLEVBQzFCLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsSUFBSSxDQUNMLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDaEUsSUFBSSxDQUFDLHFCQUFxQixHQUFHLHVCQUF1QixDQUFDLGtCQUFrQixDQUFDO1FBQzFFLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxxRUFBcUU7SUFDOUQsV0FBVztRQUNoQixPQUFPLENBQ0wsSUFBSSxDQUFDLHFCQUFxQixLQUFLLHVCQUF1QixDQUFDLHFCQUFxQjtZQUM1RSxJQUFJLENBQUMscUJBQXFCLEtBQUssdUJBQXVCLENBQUMsa0JBQWtCLENBQzFFLENBQUM7SUFDSixDQUFDO0lBRUQsc0VBQXNFO0lBQy9ELGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxxQkFBcUIsS0FBSyx1QkFBdUIsQ0FBQyxxQkFBcUIsQ0FBQztJQUN0RixDQUFDO0lBRU0sdUJBQXVCLENBQzVCLFVBQWtCLEVBQ2xCLEtBR0M7UUFFRCxPQUFPLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFTSx3QkFBd0IsQ0FDN0IsUUFBMEIsRUFDMUIsS0FHQztRQUVELElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxLQUE0RDtRQUNwRixJQUFJLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSx3QkFBd0IsQ0FDN0IsS0FHQztRQUVELElBQUksQ0FBQyw2QkFBNkIsR0FBRyxLQUFLLENBQUM7SUFDN0MsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFFBQTBCO1FBQ2pELE9BQU8sSUFBSSxDQUFDLDhCQUE4QixDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSx5QkFBeUIsQ0FBQyxhQUErQjtRQUM5RCxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBRUQsT0FBTyxJQUFJLHNCQUFzQixDQUFDLENBQUMsdUJBQUEsSUFBSSw4RUFBdUIsTUFBM0IsSUFBSSxFQUF3QixJQUFJLENBQUMsRUFBRSx1QkFBQSxJQUFJLDhFQUF1QixNQUEzQixJQUFJLEVBQXdCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRU0sbUJBQW1CLENBQUMsUUFBWTtRQUNyQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLHVCQUFBLElBQUksOEVBQXVCLE1BQTNCLElBQUksQ0FBeUIsQ0FBQztRQUNwRCxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFFRCxPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQztZQUMzQixrQkFBa0IsRUFBRSxDQUFDLHVCQUFBLElBQUksOEVBQXVCLE1BQTNCLElBQUksRUFBd0IsSUFBSSxDQUFDLEVBQUUsdUJBQUEsSUFBSSw4RUFBdUIsTUFBM0IsSUFBSSxFQUF3QixLQUFLLENBQUMsQ0FBQztZQUMzRixRQUFRO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLHlCQUF5QixDQUFDLFFBQVk7UUFDM0MsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUM7UUFDckQsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQztRQUM1RSxDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDO1lBQ3hDLFdBQVcsRUFBRSxLQUFLLENBQUMsT0FBTztZQUMxQixlQUFlLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxlQUFlO1lBQzdDLFVBQVUsRUFBRSxhQUFhLEVBQUU7WUFDM0Isd0JBQXdCO1NBQ3pCLENBQUMsQ0FBQztRQUVILE9BQU8sMEJBQTBCLENBQUMsSUFBSSxDQUFDO1lBQ3JDLFdBQVc7WUFDWCxtQ0FBbUMsRUFBRSxTQUFTLENBQUMsd0NBQXdDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQztZQUNqRyw4QkFBOEIsRUFBRSxzQkFBc0IsQ0FBQyxJQUFJLEVBQUU7WUFDN0QscUJBQXFCLEVBQUUsU0FBUyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ3pELGlCQUFpQixFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ3RDLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU87WUFDaEQsU0FBUztZQUNULFFBQVE7WUFDUixTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsK0NBQStDO0lBQ3hDLGlDQUFpQyxDQUFDLFdBQW1CO1FBQzFELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsV0FBVyxLQUFLLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsNkRBQTZELENBQUMsQ0FBQztRQUNqRixDQUFDO1FBRUQsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLFdBQVc7WUFDckQsWUFBWSxFQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNO1NBQ2xELENBQUM7SUFDSixDQUFDO0lBRU0sb0JBQW9CLENBQUMsUUFBMEI7UUFDcEQsT0FBTyxJQUFJLENBQUMsOEJBQThCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLFNBQVMsQ0FBQztJQUNoRixDQUFDO0lBRUQsNkVBQTZFO0lBQ3RFLG9CQUFvQjtRQUN6QixNQUFNLFdBQVcsR0FBRyx1QkFBQSxJQUFJLDhFQUF1QixNQUEzQixJQUFJLENBQXlCLENBQUM7UUFDbEQsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCw0RUFBNEU7SUFDckUsTUFBTTtRQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQscUVBQXFFO0lBQ3JFLHVDQUF1QztJQUNoQyxNQUFNLENBQUMsTUFBYztRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDeEIsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsdUJBQXVCLENBQUMsc0JBQXNCLENBQUM7UUFDNUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxzRUFBc0U7SUFDdEUsdUNBQXVDO0lBQ2hDLE9BQU8sQ0FBQyxNQUFxQjtRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDeEIsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsdUJBQXVCLENBQUMsc0JBQXNCLENBQUM7UUFDNUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0EwQkY7O0lBdkJHLE1BQU0sWUFBWSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDNUMsNEVBQTRFO0lBQzVFLE9BQU8sSUFBSSxDQUFDLGNBQWMsS0FBSyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsSUFBSSxDQUFDLDZCQUE2QixDQUFDO1FBQ2pHLENBQUMsQ0FBQyxJQUFJLENBQUMsOEJBQThCLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3BFLENBQUMsK0ZBRXNCLEVBQ3JCLE1BQU0sRUFDTixLQUFLLEVBQ0wsZUFBZSxHQUloQjtJQUNDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUQsT0FBTyxJQUFJLHVCQUF1QixDQUNoQyxNQUFNLEVBQ04sS0FBSyxFQUNMLGVBQWUsQ0FBQyxXQUFXLEVBQzNCLElBQUksaUJBQWlCLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUN0RixDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { L2Block, type ProcessedTx, type ServerCircuitProver } from '@aztec/circuit-types';
|
|
1
|
+
import { L2Block, type ProcessedTx, type ServerCircuitProver, type Tx } from '@aztec/circuit-types';
|
|
2
2
|
import { type EpochProver, type ForkMerkleTreeOperations } from '@aztec/circuit-types/interfaces';
|
|
3
|
-
import { type AppendOnlyTreeSnapshot,
|
|
3
|
+
import { type AppendOnlyTreeSnapshot, BlockHeader, Fr, GlobalVariables } from '@aztec/circuits.js';
|
|
4
4
|
import { type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
|
|
5
5
|
/**
|
|
6
6
|
* Implements an event driven proving scheduler to build the recursive proof tree. The idea being:
|
|
@@ -21,17 +21,13 @@ export declare class ProvingOrchestrator implements EpochProver {
|
|
|
21
21
|
private readonly proverId;
|
|
22
22
|
private provingState;
|
|
23
23
|
private pendingProvingJobs;
|
|
24
|
-
private paddingTxProof?;
|
|
25
24
|
private provingPromise;
|
|
26
25
|
private metrics;
|
|
27
26
|
private dbs;
|
|
28
|
-
constructor(dbProvider: ForkMerkleTreeOperations, prover: ServerCircuitProver,
|
|
27
|
+
constructor(dbProvider: ForkMerkleTreeOperations, prover: ServerCircuitProver, proverId?: Fr, telemetryClient?: TelemetryClient);
|
|
29
28
|
get tracer(): Tracer;
|
|
30
29
|
getProverId(): Fr;
|
|
31
|
-
|
|
32
|
-
* Resets the orchestrator's cached padding tx.
|
|
33
|
-
*/
|
|
34
|
-
reset(): void;
|
|
30
|
+
stop(): Promise<void>;
|
|
35
31
|
startNewEpoch(epochNumber: number, firstBlockNumber: number, totalNumBlocks: number): void;
|
|
36
32
|
/**
|
|
37
33
|
* Starts off a new block
|
|
@@ -41,43 +37,28 @@ export declare class ProvingOrchestrator implements EpochProver {
|
|
|
41
37
|
*/
|
|
42
38
|
startNewBlock(globalVariables: GlobalVariables, l1ToL2Messages: Fr[]): Promise<void>;
|
|
43
39
|
/**
|
|
44
|
-
* The interface to add simulated transactions to the scheduler
|
|
40
|
+
* The interface to add simulated transactions to the scheduler. This can only be called once per block.
|
|
45
41
|
* @param txs - The transactions to be proven
|
|
46
42
|
*/
|
|
47
43
|
addTxs(txs: ProcessedTx[]): Promise<void>;
|
|
48
44
|
/**
|
|
49
|
-
*
|
|
45
|
+
* Kickstarts tube circuits for the specified txs. These will be used during epoch proving.
|
|
46
|
+
* Note that if the tube circuits are not started this way, they will be started nontheless after processing.
|
|
47
|
+
*/
|
|
48
|
+
startTubeCircuits(txs: Tx[]): void;
|
|
49
|
+
/**
|
|
50
|
+
* Marks the block as completed.
|
|
50
51
|
* Computes the block header and updates the archive tree.
|
|
51
52
|
*/
|
|
52
53
|
setBlockCompleted(blockNumber: number, expectedHeader?: BlockHeader): Promise<L2Block>;
|
|
53
54
|
/** Returns the block as built for a given index. */
|
|
54
55
|
getBlock(index: number): L2Block;
|
|
55
|
-
private padEpoch;
|
|
56
56
|
private buildBlock;
|
|
57
57
|
protected verifyBuiltBlockAgainstSyncedState(l2Block: L2Block, newArchive: AppendOnlyTreeSnapshot): Promise<void>;
|
|
58
|
-
private enqueuePaddingTxs;
|
|
59
|
-
/**
|
|
60
|
-
* Prepares the cached sets of base rollup inputs for padding transactions and proves them
|
|
61
|
-
* @param txInputs - The base rollup inputs, start and end hash paths etc
|
|
62
|
-
* @param paddingTx - The padding tx, contains the header and public inputs used in the proof
|
|
63
|
-
* @param proofAndVk - The proof and vk of the paddingTx.
|
|
64
|
-
* @param provingState - The block proving state
|
|
65
|
-
*/
|
|
66
|
-
private provePaddingTransactions;
|
|
67
58
|
/**
|
|
68
59
|
* Cancel any further proving
|
|
69
60
|
*/
|
|
70
61
|
cancel(): void;
|
|
71
|
-
/**
|
|
72
|
-
* Extract the block header from public inputs.
|
|
73
|
-
* @returns The header of this proving state's block.
|
|
74
|
-
*/
|
|
75
|
-
private extractBlockHeaderFromPublicInputs;
|
|
76
|
-
/**
|
|
77
|
-
* Collect all new nullifiers, commitments, and contracts from all txs in a block
|
|
78
|
-
* @returns The array of non empty tx effects.
|
|
79
|
-
*/
|
|
80
|
-
private extractTxEffects;
|
|
81
62
|
/**
|
|
82
63
|
* Returns the proof for the current epoch.
|
|
83
64
|
*/
|
|
@@ -91,7 +72,6 @@ export declare class ProvingOrchestrator implements EpochProver {
|
|
|
91
72
|
* @param provingState - The proving state being worked on
|
|
92
73
|
*/
|
|
93
74
|
private prepareTransaction;
|
|
94
|
-
private enqueueFirstProofs;
|
|
95
75
|
/**
|
|
96
76
|
* Enqueue a job to be scheduled
|
|
97
77
|
* @param provingState - The proving state object being operated on
|
|
@@ -101,31 +81,20 @@ export declare class ProvingOrchestrator implements EpochProver {
|
|
|
101
81
|
private deferredProving;
|
|
102
82
|
private prepareBaseRollupInputs;
|
|
103
83
|
private enqueueBaseRollup;
|
|
104
|
-
private
|
|
84
|
+
private getOrEnqueueTube;
|
|
85
|
+
private doEnqueueTube;
|
|
105
86
|
private enqueueMergeRollup;
|
|
106
87
|
private enqueueBlockRootRollup;
|
|
107
88
|
private enqueueBaseParityCircuit;
|
|
89
|
+
private checkAndEnqueueRootParityCircuit;
|
|
108
90
|
private enqueueRootParityCircuit;
|
|
109
91
|
private enqueueBlockMergeRollup;
|
|
92
|
+
private enqueueEpochPadding;
|
|
110
93
|
private enqueueRootRollup;
|
|
94
|
+
private checkAndEnqueueNextMergeRollup;
|
|
111
95
|
private checkAndEnqueueBlockRootRollup;
|
|
96
|
+
private checkAndEnqueueNextBlockMergeRollup;
|
|
112
97
|
private checkAndEnqueueRootRollup;
|
|
113
|
-
/**
|
|
114
|
-
* Stores the inputs to a merge/root circuit and enqueues the circuit if ready
|
|
115
|
-
* @param provingState - The proving state being operated on
|
|
116
|
-
* @param currentLevel - The level of the merge/root circuit
|
|
117
|
-
* @param currentIndex - The index of the merge/root circuit
|
|
118
|
-
* @param mergeInputData - The inputs to be stored
|
|
119
|
-
*/
|
|
120
|
-
private storeAndExecuteNextMergeLevel;
|
|
121
|
-
/**
|
|
122
|
-
* Stores the inputs to a block merge/root circuit and enqueues the circuit if ready
|
|
123
|
-
* @param provingState - The proving state being operated on
|
|
124
|
-
* @param currentLevel - The level of the merge/root circuit
|
|
125
|
-
* @param currentIndex - The index of the merge/root circuit
|
|
126
|
-
* @param mergeInputData - The inputs to be stored
|
|
127
|
-
*/
|
|
128
|
-
private storeAndExecuteNextBlockMergeLevel;
|
|
129
98
|
/**
|
|
130
99
|
* Executes the VM circuit for a public function, will enqueue the corresponding kernel if the
|
|
131
100
|
* previous kernel is ready
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAEP,KAAK,WAAW,EAChB,KAAK,mBAAmB,
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAEP,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,EAAE,EAER,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,wBAAwB,EAG9B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAGL,KAAK,sBAAsB,EAE3B,WAAW,EAEX,EAAE,EACF,eAAe,EAUhB,MAAM,oBAAoB,CAAC;AAkB5B,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,MAAM,EAIZ,MAAM,yBAAyB,CAAC;AAoBjC;;;;;;;;;GASG;AAEH;;GAEG;AACH,qBAAa,mBAAoB,YAAW,WAAW;IASnD,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAV3B,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,kBAAkB,CAAyB;IAEnD,OAAO,CAAC,cAAc,CAAiD;IACvE,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,GAAG,CAAqD;gBAGtD,UAAU,EAAE,wBAAwB,EACpC,MAAM,EAAE,mBAAmB,EAClB,QAAQ,GAAE,EAAY,EACvC,eAAe,GAAE,eAAsC;IAKzD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAEM,WAAW,IAAI,EAAE;IAIjB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAW1F;;;;;OAKG;IAIU,aAAa,CAAC,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,EAAE;IA0FjF;;;OAGG;IAIU,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDtD;;;OAGG;IAEI,iBAAiB,CAAC,GAAG,EAAE,EAAE,EAAE;IAclC;;;OAGG;IAIU,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBnG,oDAAoD;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;YAQzB,UAAU;cAmCR,kCAAkC,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,sBAAsB;IAWvG;;OAEG;IACI,MAAM;IAQb;;OAEG;IACU,aAAa;;;;IAoB1B;;;;OAIG;YACW,kBAAkB;IAShC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;YA4DT,uBAAuB;IAmCrC,OAAO,CAAC,iBAAiB;IA+CzB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,aAAa;IA6BrB,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,sBAAsB;IA2D9B,OAAO,CAAC,wBAAwB;IAwBhC,OAAO,CAAC,gCAAgC;IAUxC,OAAO,CAAC,wBAAwB;IA4BhC,OAAO,CAAC,uBAAuB;IA0B/B,OAAO,CAAC,mBAAmB;IA8B3B,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,8BAA8B;IAatC,OAAO,CAAC,8BAA8B;IAyBtC,OAAO,CAAC,mCAAmC;IAa3C,OAAO,CAAC,yBAAyB;IASjC;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IA8CjB,OAAO,CAAC,4BAA4B;CAWrC"}
|