@aztec/prover-client 0.0.0-test.1 → 0.0.1-commit.5476d83
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/block-factory/index.d.ts +2 -0
- package/dest/block-factory/index.d.ts.map +1 -0
- package/dest/block-factory/light.d.ts +38 -0
- package/dest/block-factory/light.d.ts.map +1 -0
- package/dest/block-factory/light.js +108 -0
- package/dest/config.d.ts +7 -7
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +11 -1
- package/dest/index.d.ts +1 -1
- package/dest/light/lightweight_checkpoint_builder.d.ts +28 -0
- package/dest/light/lightweight_checkpoint_builder.d.ts.map +1 -0
- package/dest/light/lightweight_checkpoint_builder.js +107 -0
- package/dest/mocks/fixtures.d.ts +8 -8
- package/dest/mocks/fixtures.d.ts.map +1 -1
- package/dest/mocks/fixtures.js +32 -14
- package/dest/mocks/test_context.d.ts +40 -31
- package/dest/mocks/test_context.d.ts.map +1 -1
- package/dest/mocks/test_context.js +134 -86
- package/dest/orchestrator/block-building-helpers.d.ts +36 -29
- package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
- package/dest/orchestrator/block-building-helpers.js +168 -188
- package/dest/orchestrator/block-proving-state.d.ts +68 -47
- package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/block-proving-state.js +281 -176
- package/dest/orchestrator/checkpoint-proving-state.d.ts +62 -0
- package/dest/orchestrator/checkpoint-proving-state.d.ts.map +1 -0
- package/dest/orchestrator/checkpoint-proving-state.js +208 -0
- package/dest/orchestrator/epoch-proving-state.d.ts +40 -26
- package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/epoch-proving-state.js +143 -73
- package/dest/orchestrator/index.d.ts +1 -1
- package/dest/orchestrator/orchestrator.d.ts +35 -32
- package/dest/orchestrator/orchestrator.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator.js +389 -239
- package/dest/orchestrator/orchestrator_metrics.d.ts +3 -1
- package/dest/orchestrator/orchestrator_metrics.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator_metrics.js +9 -0
- package/dest/orchestrator/tx-proving-state.d.ts +13 -11
- package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/tx-proving-state.js +23 -40
- package/dest/prover-client/factory.d.ts +1 -1
- package/dest/prover-client/index.d.ts +1 -1
- package/dest/prover-client/prover-client.d.ts +4 -4
- package/dest/prover-client/prover-client.d.ts.map +1 -1
- package/dest/prover-client/prover-client.js +5 -4
- package/dest/prover-client/server-epoch-prover.d.ts +15 -11
- package/dest/prover-client/server-epoch-prover.d.ts.map +1 -1
- package/dest/prover-client/server-epoch-prover.js +11 -11
- package/dest/proving_broker/broker_prover_facade.d.ts +23 -16
- package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
- package/dest/proving_broker/broker_prover_facade.js +67 -41
- package/dest/proving_broker/config.d.ts +18 -9
- package/dest/proving_broker/config.d.ts.map +1 -1
- package/dest/proving_broker/config.js +22 -5
- package/dest/proving_broker/factory.d.ts +2 -2
- package/dest/proving_broker/factory.d.ts.map +1 -1
- package/dest/proving_broker/factory.js +5 -1
- package/dest/proving_broker/fixtures.d.ts +3 -2
- package/dest/proving_broker/fixtures.d.ts.map +1 -1
- package/dest/proving_broker/fixtures.js +2 -1
- package/dest/proving_broker/index.d.ts +1 -1
- package/dest/proving_broker/proof_store/factory.d.ts +2 -2
- package/dest/proving_broker/proof_store/factory.js +1 -1
- package/dest/proving_broker/proof_store/gcs_proof_store.d.ts +1 -1
- package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +1 -1
- package/dest/proving_broker/proof_store/gcs_proof_store.js +1 -0
- package/dest/proving_broker/proof_store/index.d.ts +2 -1
- package/dest/proving_broker/proof_store/index.d.ts.map +1 -1
- package/dest/proving_broker/proof_store/index.js +1 -0
- package/dest/proving_broker/proof_store/inline_proof_store.d.ts +1 -1
- package/dest/proving_broker/proof_store/inline_proof_store.d.ts.map +1 -1
- package/dest/proving_broker/proof_store/proof_store.d.ts +1 -1
- 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 +83 -47
- package/dest/proving_broker/proving_agent_instrumentation.d.ts +1 -1
- package/dest/proving_broker/proving_agent_instrumentation.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker.d.ts +13 -4
- package/dest/proving_broker/proving_broker.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker.js +36 -23
- package/dest/proving_broker/proving_broker_database/memory.d.ts +3 -2
- package/dest/proving_broker/proving_broker_database/memory.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker_database/memory.js +1 -1
- package/dest/proving_broker/proving_broker_database/persisted.d.ts +3 -2
- package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker_database/persisted.js +12 -10
- package/dest/proving_broker/proving_broker_database.d.ts +3 -2
- package/dest/proving_broker/proving_broker_database.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker_instrumentation.d.ts +1 -1
- package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +1 -1
- package/dest/proving_broker/proving_job_controller.d.ts +9 -9
- package/dest/proving_broker/proving_job_controller.d.ts.map +1 -1
- package/dest/proving_broker/proving_job_controller.js +89 -61
- package/dest/proving_broker/rpc.d.ts +4 -6
- package/dest/proving_broker/rpc.d.ts.map +1 -1
- package/dest/proving_broker/rpc.js +1 -4
- package/dest/test/mock_proof_store.d.ts +9 -0
- package/dest/test/mock_proof_store.d.ts.map +1 -0
- package/dest/test/mock_proof_store.js +10 -0
- package/dest/test/mock_prover.d.ts +23 -17
- package/dest/test/mock_prover.d.ts.map +1 -1
- package/dest/test/mock_prover.js +38 -20
- package/package.json +32 -31
- package/src/block-factory/index.ts +1 -0
- package/src/block-factory/light.ts +137 -0
- package/src/config.ts +24 -8
- package/src/light/lightweight_checkpoint_builder.ts +142 -0
- package/src/mocks/fixtures.ts +42 -37
- package/src/mocks/test_context.ts +207 -115
- package/src/orchestrator/block-building-helpers.ts +256 -333
- package/src/orchestrator/block-proving-state.ts +323 -230
- package/src/orchestrator/checkpoint-proving-state.ts +301 -0
- package/src/orchestrator/epoch-proving-state.ts +187 -112
- package/src/orchestrator/orchestrator.ts +592 -299
- package/src/orchestrator/orchestrator_metrics.ts +20 -1
- package/src/orchestrator/tx-proving-state.ts +50 -64
- package/src/prover-client/prover-client.ts +16 -14
- package/src/prover-client/server-epoch-prover.ts +39 -21
- package/src/proving_broker/broker_prover_facade.ts +214 -126
- package/src/proving_broker/config.ts +24 -6
- package/src/proving_broker/factory.ts +2 -1
- package/src/proving_broker/fixtures.ts +7 -2
- package/src/proving_broker/proof_store/factory.ts +1 -1
- package/src/proving_broker/proof_store/gcs_proof_store.ts +5 -1
- package/src/proving_broker/proof_store/index.ts +1 -0
- package/src/proving_broker/proof_store/inline_proof_store.ts +1 -1
- package/src/proving_broker/proving_agent.ts +89 -47
- package/src/proving_broker/proving_broker.ts +53 -33
- package/src/proving_broker/proving_broker_database/memory.ts +3 -2
- package/src/proving_broker/proving_broker_database/persisted.ts +14 -12
- package/src/proving_broker/proving_broker_database.ts +2 -1
- package/src/proving_broker/proving_job_controller.ts +94 -82
- package/src/proving_broker/rpc.ts +1 -6
- package/src/test/mock_proof_store.ts +14 -0
- package/src/test/mock_prover.ts +164 -60
- package/dest/bin/get-proof-inputs.d.ts +0 -2
- package/dest/bin/get-proof-inputs.d.ts.map +0 -1
- package/dest/bin/get-proof-inputs.js +0 -51
- package/dest/block_builder/index.d.ts +0 -6
- package/dest/block_builder/index.d.ts.map +0 -1
- package/dest/block_builder/light.d.ts +0 -33
- package/dest/block_builder/light.d.ts.map +0 -1
- package/dest/block_builder/light.js +0 -82
- package/src/bin/get-proof-inputs.ts +0 -59
- package/src/block_builder/index.ts +0 -6
- package/src/block_builder/light.ts +0 -101
- /package/dest/{block_builder → block-factory}/index.js +0 -0
|
@@ -1,252 +1,342 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
1
|
+
import { encodeBlockEndBlobData } from '@aztec/blob-lib';
|
|
2
|
+
import { NUM_BASE_PARITY_PER_ROOT_PARITY } from '@aztec/constants';
|
|
4
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { buildBlobHints, buildHeaderFromCircuitOutputs } from './block-building-helpers.js';
|
|
4
|
+
import { assertLength } from '@aztec/foundation/serialize';
|
|
5
|
+
import { UnbalancedTreeStore } from '@aztec/foundation/trees';
|
|
6
|
+
import { ParityRootPrivateInputs } from '@aztec/stdlib/parity';
|
|
7
|
+
import { BlockRootEmptyTxFirstRollupPrivateInputs, BlockRootFirstRollupPrivateInputs, BlockRootRollupPrivateInputs, BlockRootSingleTxFirstRollupPrivateInputs, BlockRootSingleTxRollupPrivateInputs, TxMergeRollupPrivateInputs } from '@aztec/stdlib/rollup';
|
|
8
|
+
import { BlockHeader, GlobalVariables } from '@aztec/stdlib/tx';
|
|
9
|
+
import { buildHeaderFromCircuitOutputs, toProofData } from './block-building-helpers.js';
|
|
12
10
|
/**
|
|
13
11
|
* The current state of the proving schedule for a given block. Managed by ProvingState.
|
|
14
12
|
* Contains the raw inputs and intermediate state to generate every constituent proof in the tree.
|
|
15
13
|
*/ export class BlockProvingState {
|
|
16
14
|
index;
|
|
17
|
-
|
|
18
|
-
newL1ToL2Messages;
|
|
19
|
-
l1ToL2MessageSubtreeSiblingPath;
|
|
20
|
-
l1ToL2MessageTreeSnapshotAfterInsertion;
|
|
21
|
-
lastArchiveSnapshot;
|
|
22
|
-
newArchiveSiblingPath;
|
|
23
|
-
previousBlockHeader;
|
|
24
|
-
parentEpoch;
|
|
25
|
-
baseOrMergeProvingOutputs;
|
|
26
|
-
baseParityProvingOutputs;
|
|
27
|
-
rootParityProvingOutput;
|
|
28
|
-
blockRootProvingOutput;
|
|
29
|
-
blockRootRollupStarted;
|
|
30
|
-
block;
|
|
31
|
-
spongeBlobState;
|
|
15
|
+
blockNumber;
|
|
32
16
|
totalNumTxs;
|
|
17
|
+
constants;
|
|
18
|
+
timestamp;
|
|
19
|
+
lastArchiveTreeSnapshot;
|
|
20
|
+
lastArchiveSiblingPath;
|
|
21
|
+
lastL1ToL2MessageTreeSnapshot;
|
|
22
|
+
lastL1ToL2MessageSubtreeRootSiblingPath;
|
|
23
|
+
newL1ToL2MessageTreeSnapshot;
|
|
24
|
+
headerOfLastBlockInPreviousCheckpoint;
|
|
25
|
+
startSpongeBlob;
|
|
26
|
+
parentCheckpoint;
|
|
27
|
+
baseOrMergeProofs;
|
|
28
|
+
baseParityProofs;
|
|
29
|
+
rootParityProof;
|
|
30
|
+
blockRootProof;
|
|
31
|
+
builtBlockHeader;
|
|
32
|
+
endState;
|
|
33
|
+
endSpongeBlob;
|
|
33
34
|
txs;
|
|
35
|
+
isFirstBlock;
|
|
34
36
|
error;
|
|
35
|
-
constructor(index,
|
|
37
|
+
constructor(index, blockNumber, totalNumTxs, constants, timestamp, lastArchiveTreeSnapshot, lastArchiveSiblingPath, lastL1ToL2MessageTreeSnapshot, lastL1ToL2MessageSubtreeRootSiblingPath, newL1ToL2MessageTreeSnapshot, headerOfLastBlockInPreviousCheckpoint, startSpongeBlob, parentCheckpoint){
|
|
36
38
|
this.index = index;
|
|
37
|
-
this.
|
|
38
|
-
this.
|
|
39
|
-
this.
|
|
40
|
-
this.
|
|
41
|
-
this.
|
|
42
|
-
this.
|
|
43
|
-
this.
|
|
44
|
-
this.
|
|
45
|
-
this.
|
|
46
|
-
this.
|
|
47
|
-
this.
|
|
48
|
-
this.
|
|
39
|
+
this.blockNumber = blockNumber;
|
|
40
|
+
this.totalNumTxs = totalNumTxs;
|
|
41
|
+
this.constants = constants;
|
|
42
|
+
this.timestamp = timestamp;
|
|
43
|
+
this.lastArchiveTreeSnapshot = lastArchiveTreeSnapshot;
|
|
44
|
+
this.lastArchiveSiblingPath = lastArchiveSiblingPath;
|
|
45
|
+
this.lastL1ToL2MessageTreeSnapshot = lastL1ToL2MessageTreeSnapshot;
|
|
46
|
+
this.lastL1ToL2MessageSubtreeRootSiblingPath = lastL1ToL2MessageSubtreeRootSiblingPath;
|
|
47
|
+
this.newL1ToL2MessageTreeSnapshot = newL1ToL2MessageTreeSnapshot;
|
|
48
|
+
this.headerOfLastBlockInPreviousCheckpoint = headerOfLastBlockInPreviousCheckpoint;
|
|
49
|
+
this.startSpongeBlob = startSpongeBlob;
|
|
50
|
+
this.parentCheckpoint = parentCheckpoint;
|
|
51
|
+
this.baseOrMergeProofs = new UnbalancedTreeStore(0);
|
|
52
|
+
this.baseParityProofs = Array.from({
|
|
49
53
|
length: NUM_BASE_PARITY_PER_ROOT_PARITY
|
|
50
54
|
}).map((_)=>undefined);
|
|
51
|
-
this.
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
startNewBlock(numTxs, numBlobFields) {
|
|
57
|
-
if (this.spongeBlobState) {
|
|
58
|
-
throw new Error(`Block ${this.blockNumber} already initalised.`);
|
|
55
|
+
this.txs = [];
|
|
56
|
+
this.isFirstBlock = index === 0;
|
|
57
|
+
if (!totalNumTxs && !this.isFirstBlock) {
|
|
58
|
+
throw new Error(`Cannot create a block with 0 txs, unless it's the first block.`);
|
|
59
59
|
}
|
|
60
|
-
this.
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
this.
|
|
64
|
-
this.totalNumTxs = numTxs;
|
|
60
|
+
this.baseOrMergeProofs = new UnbalancedTreeStore(totalNumTxs);
|
|
61
|
+
}
|
|
62
|
+
get epochNumber() {
|
|
63
|
+
return this.parentCheckpoint.epochNumber;
|
|
65
64
|
}
|
|
66
65
|
// Adds a transaction to the proving state, returns it's index
|
|
67
66
|
addNewTx(tx) {
|
|
68
|
-
if (!this.
|
|
69
|
-
throw new Error(`
|
|
67
|
+
if (!this.isAcceptingTxs()) {
|
|
68
|
+
throw new Error(`Cannot add more txs to block ${this.blockNumber}.`);
|
|
70
69
|
}
|
|
71
70
|
const txIndex = this.txs.length;
|
|
72
71
|
this.txs[txIndex] = tx;
|
|
73
72
|
return txIndex;
|
|
74
73
|
}
|
|
74
|
+
isAcceptingTxs() {
|
|
75
|
+
return this.txs.length < this.totalNumTxs;
|
|
76
|
+
}
|
|
77
|
+
getProcessedTxs() {
|
|
78
|
+
return this.txs.map((t)=>t.processedTx);
|
|
79
|
+
}
|
|
80
|
+
tryStartProvingBase(txIndex) {
|
|
81
|
+
if (this.baseOrMergeProofs.getLeaf(txIndex)?.isProving) {
|
|
82
|
+
return false;
|
|
83
|
+
} else {
|
|
84
|
+
this.baseOrMergeProofs.setLeaf(txIndex, {
|
|
85
|
+
isProving: true
|
|
86
|
+
});
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
75
90
|
setBaseRollupProof(txIndex, provingOutput) {
|
|
76
|
-
return this.
|
|
91
|
+
return this.baseOrMergeProofs.setLeaf(txIndex, {
|
|
92
|
+
provingOutput
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
tryStartProvingMerge(location) {
|
|
96
|
+
if (this.baseOrMergeProofs.getNode(location)?.isProving) {
|
|
97
|
+
return false;
|
|
98
|
+
} else {
|
|
99
|
+
this.baseOrMergeProofs.setNode(location, {
|
|
100
|
+
isProving: true
|
|
101
|
+
});
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
77
104
|
}
|
|
78
105
|
setMergeRollupProof(location, provingOutput) {
|
|
79
|
-
this.
|
|
106
|
+
this.baseOrMergeProofs.setNode(location, {
|
|
107
|
+
provingOutput
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
tryStartProvingBaseParity(index) {
|
|
111
|
+
if (this.baseParityProofs[index]?.isProving) {
|
|
112
|
+
return false;
|
|
113
|
+
} else {
|
|
114
|
+
this.baseParityProofs[index] = {
|
|
115
|
+
isProving: true
|
|
116
|
+
};
|
|
117
|
+
return true;
|
|
118
|
+
}
|
|
80
119
|
}
|
|
81
120
|
// Stores a set of root parity inputs at the given index
|
|
82
121
|
setBaseParityProof(index, provingOutput) {
|
|
83
122
|
if (index >= NUM_BASE_PARITY_PER_ROOT_PARITY) {
|
|
84
123
|
throw new Error(`Unable to set a base parity proofs at index ${index}. Expected at most ${NUM_BASE_PARITY_PER_ROOT_PARITY} proofs.`);
|
|
85
124
|
}
|
|
86
|
-
this.
|
|
125
|
+
this.baseParityProofs[index] = {
|
|
126
|
+
provingOutput
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
tryStartProvingRootParity() {
|
|
130
|
+
if (this.rootParityProof?.isProving) {
|
|
131
|
+
return false;
|
|
132
|
+
} else {
|
|
133
|
+
this.rootParityProof = {
|
|
134
|
+
isProving: true
|
|
135
|
+
};
|
|
136
|
+
return true;
|
|
137
|
+
}
|
|
87
138
|
}
|
|
88
139
|
setRootParityProof(provingOutput) {
|
|
89
|
-
this.
|
|
140
|
+
this.rootParityProof = {
|
|
141
|
+
provingOutput
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
tryStartProvingBlockRoot() {
|
|
145
|
+
if (this.blockRootProof?.isProving) {
|
|
146
|
+
return false;
|
|
147
|
+
} else {
|
|
148
|
+
this.blockRootProof = {
|
|
149
|
+
isProving: true
|
|
150
|
+
};
|
|
151
|
+
return true;
|
|
152
|
+
}
|
|
90
153
|
}
|
|
91
154
|
setBlockRootRollupProof(provingOutput) {
|
|
92
|
-
this.
|
|
155
|
+
this.blockRootProof = {
|
|
156
|
+
provingOutput
|
|
157
|
+
};
|
|
158
|
+
return this.parentCheckpoint.setBlockRootRollupProof(this.index, provingOutput);
|
|
159
|
+
}
|
|
160
|
+
getBlockRootRollupOutput() {
|
|
161
|
+
return this.blockRootProof?.provingOutput?.inputs;
|
|
162
|
+
}
|
|
163
|
+
async buildBlockHeader() {
|
|
164
|
+
if (this.isAcceptingTxs()) {
|
|
165
|
+
throw new Error('All txs must be added to the block before building the header.');
|
|
166
|
+
}
|
|
167
|
+
if (!this.endState) {
|
|
168
|
+
throw new Error('Call `setEndState` first.');
|
|
169
|
+
}
|
|
170
|
+
if (!this.endSpongeBlob) {
|
|
171
|
+
throw new Error('Call `setEndSpongeBlob` first.');
|
|
172
|
+
}
|
|
173
|
+
const endSpongeBlob = this.endSpongeBlob.clone();
|
|
174
|
+
const endSpongeBlobHash = await endSpongeBlob.squeeze();
|
|
175
|
+
this.builtBlockHeader = new BlockHeader(this.lastArchiveTreeSnapshot, this.endState, endSpongeBlobHash, this.#getGlobalVariables(), this.#getTotalFees(), new Fr(this.#getTotalManaUsed()));
|
|
176
|
+
return this.builtBlockHeader;
|
|
177
|
+
}
|
|
178
|
+
getBuiltBlockHeader() {
|
|
179
|
+
return this.builtBlockHeader;
|
|
180
|
+
}
|
|
181
|
+
getStartSpongeBlob() {
|
|
182
|
+
return this.startSpongeBlob;
|
|
183
|
+
}
|
|
184
|
+
setEndSpongeBlob(endSpongeBlob) {
|
|
185
|
+
this.endSpongeBlob = endSpongeBlob;
|
|
186
|
+
}
|
|
187
|
+
getEndSpongeBlob() {
|
|
188
|
+
return this.endSpongeBlob;
|
|
189
|
+
}
|
|
190
|
+
setEndState(endState) {
|
|
191
|
+
this.endState = endState;
|
|
192
|
+
}
|
|
193
|
+
hasEndState() {
|
|
194
|
+
return !!this.endState;
|
|
195
|
+
}
|
|
196
|
+
getBlockEndBlobFields() {
|
|
197
|
+
return encodeBlockEndBlobData(this.getBlockEndBlobData());
|
|
198
|
+
}
|
|
199
|
+
getBlockEndBlobData() {
|
|
200
|
+
if (!this.endState) {
|
|
201
|
+
throw new Error('Call `setEndState` first.');
|
|
202
|
+
}
|
|
203
|
+
const partial = this.endState.partial;
|
|
204
|
+
return {
|
|
205
|
+
blockEndMarker: {
|
|
206
|
+
numTxs: this.totalNumTxs,
|
|
207
|
+
timestamp: this.timestamp,
|
|
208
|
+
blockNumber: this.blockNumber
|
|
209
|
+
},
|
|
210
|
+
blockEndStateField: {
|
|
211
|
+
l1ToL2MessageNextAvailableLeafIndex: this.newL1ToL2MessageTreeSnapshot.nextAvailableLeafIndex,
|
|
212
|
+
noteHashNextAvailableLeafIndex: partial.noteHashTree.nextAvailableLeafIndex,
|
|
213
|
+
nullifierNextAvailableLeafIndex: partial.nullifierTree.nextAvailableLeafIndex,
|
|
214
|
+
publicDataNextAvailableLeafIndex: partial.publicDataTree.nextAvailableLeafIndex,
|
|
215
|
+
totalManaUsed: this.#getTotalManaUsed()
|
|
216
|
+
},
|
|
217
|
+
lastArchiveRoot: this.lastArchiveTreeSnapshot.root,
|
|
218
|
+
noteHashRoot: partial.noteHashTree.root,
|
|
219
|
+
nullifierRoot: partial.nullifierTree.root,
|
|
220
|
+
publicDataRoot: partial.publicDataTree.root,
|
|
221
|
+
l1ToL2MessageRoot: this.isFirstBlock ? this.newL1ToL2MessageTreeSnapshot.root : undefined
|
|
222
|
+
};
|
|
93
223
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
224
|
+
getBlockBlobData() {
|
|
225
|
+
return {
|
|
226
|
+
...this.getBlockEndBlobData(),
|
|
227
|
+
txs: this.getTxEffects().map((t)=>t.toTxBlobData())
|
|
228
|
+
};
|
|
97
229
|
}
|
|
98
|
-
|
|
99
|
-
return this.
|
|
230
|
+
getTxEffects() {
|
|
231
|
+
return this.txs.map((t)=>t.processedTx.txEffect);
|
|
100
232
|
}
|
|
101
233
|
getParentLocation(location) {
|
|
102
|
-
return this.
|
|
234
|
+
return this.baseOrMergeProofs.getParentLocation(location);
|
|
103
235
|
}
|
|
104
236
|
getMergeRollupInputs(mergeLocation) {
|
|
105
|
-
const [left, right] = this.
|
|
237
|
+
const [left, right] = this.baseOrMergeProofs.getChildren(mergeLocation).map((c)=>c?.provingOutput);
|
|
106
238
|
if (!left || !right) {
|
|
107
|
-
throw new Error('At
|
|
239
|
+
throw new Error('At least one child is not ready for the merge rollup.');
|
|
108
240
|
}
|
|
109
|
-
return new
|
|
110
|
-
|
|
111
|
-
|
|
241
|
+
return new TxMergeRollupPrivateInputs([
|
|
242
|
+
toProofData(left),
|
|
243
|
+
toProofData(right)
|
|
112
244
|
]);
|
|
113
245
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
const proofs = this.#getChildProofsForBlockRoot();
|
|
119
|
-
const nonEmptyProofs = proofs.filter((p)=>!!p);
|
|
120
|
-
if (proofs.length !== nonEmptyProofs.length) {
|
|
121
|
-
throw new Error('At lease one child is not ready for the block root.');
|
|
246
|
+
getBlockRootRollupTypeAndInputs() {
|
|
247
|
+
const provingOutputs = this.#getChildProvingOutputsForBlockRoot();
|
|
248
|
+
if (!provingOutputs.every((p)=>!!p)) {
|
|
249
|
+
throw new Error('At least one child is not ready for the block root rollup.');
|
|
122
250
|
}
|
|
123
|
-
const
|
|
124
|
-
if (this.
|
|
125
|
-
|
|
126
|
-
lastArchive: this.lastArchiveSnapshot,
|
|
127
|
-
globalVariables: this.globalVariables,
|
|
128
|
-
vkTreeRoot: getVKTreeRoot(),
|
|
129
|
-
protocolContractTreeRoot
|
|
130
|
-
});
|
|
131
|
-
return {
|
|
132
|
-
rollupType: 'empty-block-root-rollup',
|
|
133
|
-
inputs: EmptyBlockRootRollupInputs.from({
|
|
134
|
-
data,
|
|
135
|
-
constants,
|
|
136
|
-
isPadding: false
|
|
137
|
-
})
|
|
138
|
-
};
|
|
251
|
+
const previousRollups = provingOutputs.map((p)=>toProofData(p));
|
|
252
|
+
if (this.isFirstBlock) {
|
|
253
|
+
return this.#getFirstBlockRootRollupTypeAndInputs(previousRollups);
|
|
139
254
|
}
|
|
140
|
-
const
|
|
141
|
-
|
|
142
|
-
if (previousRollupData.length === 1) {
|
|
255
|
+
const [leftRollup, rightRollup] = previousRollups;
|
|
256
|
+
if (!rightRollup) {
|
|
143
257
|
return {
|
|
144
|
-
rollupType: '
|
|
145
|
-
inputs: new
|
|
258
|
+
rollupType: 'rollup-block-root-single-tx',
|
|
259
|
+
inputs: new BlockRootSingleTxRollupPrivateInputs(leftRollup, this.lastArchiveSiblingPath)
|
|
146
260
|
};
|
|
147
261
|
} else {
|
|
148
262
|
return {
|
|
149
|
-
rollupType: 'block-root
|
|
150
|
-
inputs: new
|
|
263
|
+
rollupType: 'rollup-block-root',
|
|
264
|
+
inputs: new BlockRootRollupPrivateInputs([
|
|
265
|
+
leftRollup,
|
|
266
|
+
rightRollup
|
|
267
|
+
], this.lastArchiveSiblingPath)
|
|
151
268
|
};
|
|
152
269
|
}
|
|
153
270
|
}
|
|
154
|
-
|
|
155
|
-
if (!this.
|
|
271
|
+
#getFirstBlockRootRollupTypeAndInputs([leftRollup, rightRollup]) {
|
|
272
|
+
if (!this.rootParityProof?.provingOutput) {
|
|
156
273
|
throw new Error('Root parity is not ready.');
|
|
157
274
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
});
|
|
275
|
+
const l1ToL2Roots = toProofData(this.rootParityProof.provingOutput);
|
|
276
|
+
if (!leftRollup) {
|
|
277
|
+
return {
|
|
278
|
+
rollupType: 'rollup-block-root-first-empty-tx',
|
|
279
|
+
inputs: new BlockRootEmptyTxFirstRollupPrivateInputs(l1ToL2Roots, this.lastArchiveTreeSnapshot, this.headerOfLastBlockInPreviousCheckpoint.state, this.constants, this.timestamp, this.lastL1ToL2MessageSubtreeRootSiblingPath, this.lastArchiveSiblingPath)
|
|
280
|
+
};
|
|
281
|
+
} else if (!rightRollup) {
|
|
282
|
+
return {
|
|
283
|
+
rollupType: 'rollup-block-root-first-single-tx',
|
|
284
|
+
inputs: new BlockRootSingleTxFirstRollupPrivateInputs(l1ToL2Roots, leftRollup, this.lastL1ToL2MessageTreeSnapshot, this.lastL1ToL2MessageSubtreeRootSiblingPath, this.lastArchiveSiblingPath)
|
|
285
|
+
};
|
|
286
|
+
} else {
|
|
287
|
+
return {
|
|
288
|
+
rollupType: 'rollup-block-root-first',
|
|
289
|
+
inputs: new BlockRootFirstRollupPrivateInputs(l1ToL2Roots, [
|
|
290
|
+
leftRollup,
|
|
291
|
+
rightRollup
|
|
292
|
+
], this.lastL1ToL2MessageTreeSnapshot, this.lastL1ToL2MessageSubtreeRootSiblingPath, this.lastArchiveSiblingPath)
|
|
293
|
+
};
|
|
294
|
+
}
|
|
179
295
|
}
|
|
180
|
-
|
|
181
|
-
|
|
296
|
+
getParityRootInputs() {
|
|
297
|
+
const baseParityProvingOutputs = this.baseParityProofs.filter((p)=>!!p?.provingOutput).map((p)=>p.provingOutput);
|
|
298
|
+
if (baseParityProvingOutputs.length !== this.baseParityProofs.length) {
|
|
182
299
|
throw new Error('At lease one base parity is not ready.');
|
|
183
300
|
}
|
|
184
|
-
const children =
|
|
185
|
-
return new
|
|
301
|
+
const children = baseParityProvingOutputs.map((p)=>toProofData(p));
|
|
302
|
+
return new ParityRootPrivateInputs(assertLength(children, NUM_BASE_PARITY_PER_ROOT_PARITY));
|
|
186
303
|
}
|
|
187
304
|
// Returns a specific transaction proving state
|
|
188
305
|
getTxProvingState(txIndex) {
|
|
189
306
|
return this.txs[txIndex];
|
|
190
307
|
}
|
|
191
|
-
async buildHeaderFromProvingOutputs(
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
if (this.totalNumTxs !== 0) {
|
|
195
|
-
const previousRollupData = this.#getChildProofsForBlockRoot();
|
|
196
|
-
const lastRollup = previousRollupData[previousRollupData.length - 1];
|
|
197
|
-
if (!lastRollup) {
|
|
198
|
-
throw new Error('End state of the block is not available. Last rollup is not ready yet.');
|
|
199
|
-
}
|
|
200
|
-
endPartialState = lastRollup.inputs.end;
|
|
308
|
+
async buildHeaderFromProvingOutputs() {
|
|
309
|
+
if (!this.blockRootProof?.provingOutput) {
|
|
310
|
+
throw new Error('Block root rollup is not ready.');
|
|
201
311
|
}
|
|
202
|
-
|
|
203
|
-
return buildHeaderFromCircuitOutputs(previousRollupData.map((d)=>d.baseOrMergeRollupPublicInputs), this.rootParityProvingOutput.inputs, this.blockRootProvingOutput.inputs, endState, logger);
|
|
312
|
+
return await buildHeaderFromCircuitOutputs(this.blockRootProof.provingOutput.inputs);
|
|
204
313
|
}
|
|
205
314
|
isReadyForMergeRollup(location) {
|
|
206
|
-
return this.
|
|
315
|
+
return !!this.baseOrMergeProofs.getSibling(location)?.provingOutput;
|
|
207
316
|
}
|
|
208
317
|
// Returns true if we have sufficient inputs to execute the block root rollup
|
|
209
318
|
isReadyForBlockRootRollup() {
|
|
210
|
-
const childProofs = this.#
|
|
211
|
-
return this.
|
|
319
|
+
const childProofs = this.#getChildProvingOutputsForBlockRoot();
|
|
320
|
+
return (!this.isFirstBlock || !!this.rootParityProof?.provingOutput) && childProofs.every((p)=>!!p);
|
|
212
321
|
}
|
|
213
322
|
// Returns true if we have sufficient root parity inputs to execute the root parity circuit
|
|
214
323
|
isReadyForRootParity() {
|
|
215
|
-
return this.
|
|
324
|
+
return this.baseParityProofs.every((p)=>!!p?.provingOutput);
|
|
216
325
|
}
|
|
217
326
|
isComplete() {
|
|
218
|
-
return !!this.
|
|
327
|
+
return !!this.blockRootProof;
|
|
219
328
|
}
|
|
220
|
-
// Returns whether the proving state is still valid
|
|
221
329
|
verifyState() {
|
|
222
|
-
return this.
|
|
330
|
+
return this.parentCheckpoint.verifyState();
|
|
331
|
+
}
|
|
332
|
+
getError() {
|
|
333
|
+
return this.error;
|
|
223
334
|
}
|
|
224
335
|
reject(reason) {
|
|
225
336
|
this.error = reason;
|
|
226
|
-
this.
|
|
227
|
-
}
|
|
228
|
-
#getBlockRootRollupData(proverId) {
|
|
229
|
-
return BlockRootRollupData.from({
|
|
230
|
-
l1ToL2Roots: this.#getRootParityData(this.rootParityProvingOutput),
|
|
231
|
-
l1ToL2MessageSubtreeSiblingPath: this.l1ToL2MessageSubtreeSiblingPath,
|
|
232
|
-
newArchiveSiblingPath: this.newArchiveSiblingPath,
|
|
233
|
-
previousBlockHeader: this.previousBlockHeader,
|
|
234
|
-
proverId
|
|
235
|
-
});
|
|
337
|
+
this.parentCheckpoint.reject(reason);
|
|
236
338
|
}
|
|
237
|
-
|
|
238
|
-
const txEffects = this.txs.map((txProvingState)=>txProvingState.processedTx.txEffect);
|
|
239
|
-
const { blobFields, blobCommitments, blobsHash } = await buildBlobHints(txEffects);
|
|
240
|
-
return BlockRootRollupBlobData.from({
|
|
241
|
-
blobFields: padArrayEnd(blobFields, Fr.ZERO, FIELDS_PER_BLOB * BLOBS_PER_BLOCK),
|
|
242
|
-
blobCommitments: padArrayEnd(blobCommitments, [
|
|
243
|
-
Fr.ZERO,
|
|
244
|
-
Fr.ZERO
|
|
245
|
-
], BLOBS_PER_BLOCK),
|
|
246
|
-
blobsHash
|
|
247
|
-
});
|
|
248
|
-
}
|
|
249
|
-
#getChildProofsForBlockRoot() {
|
|
339
|
+
#getChildProvingOutputsForBlockRoot() {
|
|
250
340
|
if (this.totalNumTxs === 0) {
|
|
251
341
|
return [];
|
|
252
342
|
}
|
|
@@ -256,14 +346,29 @@ import { buildBlobHints, buildHeaderFromCircuitOutputs } from './block-building-
|
|
|
256
346
|
};
|
|
257
347
|
// If there's only 1 tx, its base rollup proof will be stored at the root.
|
|
258
348
|
return this.totalNumTxs === 1 ? [
|
|
259
|
-
this.
|
|
260
|
-
] : this.
|
|
349
|
+
this.baseOrMergeProofs.getNode(rootLocation)?.provingOutput
|
|
350
|
+
] : this.baseOrMergeProofs.getChildren(rootLocation).map((c)=>c?.provingOutput);
|
|
351
|
+
}
|
|
352
|
+
#getGlobalVariables() {
|
|
353
|
+
if (this.txs.length) {
|
|
354
|
+
return this.txs[0].processedTx.globalVariables;
|
|
355
|
+
}
|
|
356
|
+
const constants = this.constants;
|
|
357
|
+
return GlobalVariables.from({
|
|
358
|
+
chainId: constants.chainId,
|
|
359
|
+
version: constants.version,
|
|
360
|
+
blockNumber: this.blockNumber,
|
|
361
|
+
slotNumber: constants.slotNumber,
|
|
362
|
+
timestamp: this.timestamp,
|
|
363
|
+
coinbase: constants.coinbase,
|
|
364
|
+
feeRecipient: constants.feeRecipient,
|
|
365
|
+
gasFees: constants.gasFees
|
|
366
|
+
});
|
|
261
367
|
}
|
|
262
|
-
#
|
|
263
|
-
|
|
264
|
-
return new PreviousRollupData(inputs, proof, verificationKey.keyAsFields, new MembershipWitness(VK_TREE_HEIGHT, BigInt(leafIndex), getVKSiblingPath(leafIndex)));
|
|
368
|
+
#getTotalFees() {
|
|
369
|
+
return this.txs.reduce((acc, tx)=>acc.add(tx.processedTx.txEffect.transactionFee), Fr.ZERO);
|
|
265
370
|
}
|
|
266
|
-
#
|
|
267
|
-
return
|
|
371
|
+
#getTotalManaUsed() {
|
|
372
|
+
return this.txs.reduce((acc, tx)=>acc + BigInt(tx.processedTx.gasUsed.billedGas.l2Gas), 0n);
|
|
268
373
|
}
|
|
269
374
|
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { BatchedBlobAccumulator, type FinalBlobBatchingChallenges } from '@aztec/blob-lib';
|
|
2
|
+
import { type ARCHIVE_HEIGHT, type L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, type NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
|
|
3
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import type { Tuple } from '@aztec/foundation/serialize';
|
|
5
|
+
import { type TreeNodeLocation } from '@aztec/foundation/trees';
|
|
6
|
+
import type { PublicInputsAndRecursiveProof } from '@aztec/stdlib/interfaces/server';
|
|
7
|
+
import { ParityBasePrivateInputs } from '@aztec/stdlib/parity';
|
|
8
|
+
import { BlockMergeRollupPrivateInputs, BlockRollupPublicInputs, CheckpointConstantData, CheckpointRollupPublicInputs, CheckpointRootRollupPrivateInputs, CheckpointRootSingleBlockRollupPrivateInputs } from '@aztec/stdlib/rollup';
|
|
9
|
+
import type { CircuitName } from '@aztec/stdlib/stats';
|
|
10
|
+
import type { AppendOnlyTreeSnapshot } from '@aztec/stdlib/trees';
|
|
11
|
+
import type { BlockHeader } from '@aztec/stdlib/tx';
|
|
12
|
+
import type { UInt64 } from '@aztec/stdlib/types';
|
|
13
|
+
import { BlockProvingState } from './block-proving-state.js';
|
|
14
|
+
import type { EpochProvingState } from './epoch-proving-state.js';
|
|
15
|
+
export declare class CheckpointProvingState {
|
|
16
|
+
#private;
|
|
17
|
+
readonly index: number;
|
|
18
|
+
readonly constants: CheckpointConstantData;
|
|
19
|
+
readonly totalNumBlocks: number;
|
|
20
|
+
private readonly finalBlobBatchingChallenges;
|
|
21
|
+
private readonly headerOfLastBlockInPreviousCheckpoint;
|
|
22
|
+
private readonly lastArchiveSiblingPath;
|
|
23
|
+
private readonly l1ToL2Messages;
|
|
24
|
+
private readonly lastL1ToL2MessageTreeSnapshot;
|
|
25
|
+
private readonly lastL1ToL2MessageSubtreeRootSiblingPath;
|
|
26
|
+
private readonly newL1ToL2MessageTreeSnapshot;
|
|
27
|
+
private readonly newL1ToL2MessageSubtreeRootSiblingPath;
|
|
28
|
+
parentEpoch: EpochProvingState;
|
|
29
|
+
private onBlobAccumulatorSet;
|
|
30
|
+
private blockProofs;
|
|
31
|
+
private checkpointRootProof;
|
|
32
|
+
private blocks;
|
|
33
|
+
private startBlobAccumulator;
|
|
34
|
+
private endBlobAccumulator;
|
|
35
|
+
private blobFields;
|
|
36
|
+
private error;
|
|
37
|
+
readonly firstBlockNumber: number;
|
|
38
|
+
constructor(index: number, constants: CheckpointConstantData, totalNumBlocks: number, finalBlobBatchingChallenges: FinalBlobBatchingChallenges, headerOfLastBlockInPreviousCheckpoint: BlockHeader, lastArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>, l1ToL2Messages: Fr[], lastL1ToL2MessageTreeSnapshot: AppendOnlyTreeSnapshot, lastL1ToL2MessageSubtreeRootSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH>, newL1ToL2MessageTreeSnapshot: AppendOnlyTreeSnapshot, newL1ToL2MessageSubtreeRootSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH>, parentEpoch: EpochProvingState, onBlobAccumulatorSet: (checkpoint: CheckpointProvingState) => void);
|
|
39
|
+
get epochNumber(): number;
|
|
40
|
+
startNewBlock(blockNumber: number, timestamp: UInt64, totalNumTxs: number, lastArchiveTreeSnapshot: AppendOnlyTreeSnapshot, lastArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>): BlockProvingState;
|
|
41
|
+
isAcceptingBlocks(): boolean;
|
|
42
|
+
setBlockRootRollupProof(blockIndex: number, provingOutput: PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>): TreeNodeLocation;
|
|
43
|
+
tryStartProvingBlockMerge(location: TreeNodeLocation): boolean;
|
|
44
|
+
setBlockMergeRollupProof(location: TreeNodeLocation, provingOutput: PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>): void;
|
|
45
|
+
tryStartProvingCheckpointRoot(): boolean;
|
|
46
|
+
setCheckpointRootRollupProof(provingOutput: PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>): TreeNodeLocation;
|
|
47
|
+
getBaseParityInputs(baseParityIndex: number): ParityBasePrivateInputs;
|
|
48
|
+
accumulateBlobs(startBlobAccumulator: BatchedBlobAccumulator): Promise<BatchedBlobAccumulator | undefined>;
|
|
49
|
+
getEndBlobAccumulator(): BatchedBlobAccumulator | undefined;
|
|
50
|
+
getParentLocation(location: TreeNodeLocation): TreeNodeLocation;
|
|
51
|
+
getBlockMergeRollupInputs(mergeLocation: TreeNodeLocation): BlockMergeRollupPrivateInputs;
|
|
52
|
+
getCheckpointRootRollupType(): CircuitName;
|
|
53
|
+
getCheckpointRootRollupInputs(): CheckpointRootRollupPrivateInputs | CheckpointRootSingleBlockRollupPrivateInputs;
|
|
54
|
+
getBlockProvingStateByBlockNumber(blockNumber: number): BlockProvingState | undefined;
|
|
55
|
+
isReadyForBlockMerge(location: TreeNodeLocation): boolean;
|
|
56
|
+
isReadyForCheckpointRoot(): boolean;
|
|
57
|
+
verifyState(): boolean;
|
|
58
|
+
getError(): string | undefined;
|
|
59
|
+
cancel(): void;
|
|
60
|
+
reject(reason: string): void;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC1wcm92aW5nLXN0YXRlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3JjaGVzdHJhdG9yL2NoZWNrcG9pbnQtcHJvdmluZy1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLEtBQUssMkJBQTJCLEVBR2pDLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNMLEtBQUssY0FBYyxFQUduQixLQUFLLDZDQUE2QyxFQUNsRCxLQUFLLHlDQUF5QyxFQUUvQyxNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBdUIsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRixPQUFPLEtBQUssRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0Qiw0QkFBNEIsRUFFNUIsaUNBQWlDLEVBQ2pDLDRDQUE0QyxFQUM3QyxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFtQixNQUFNLDBCQUEwQixDQUFDO0FBQzlFLE9B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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint-proving-state.d.ts","sourceRoot":"","sources":["../../src/orchestrator/checkpoint-proving-state.ts"],"names":[],"mappings":"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"}
|