@aztec/prover-client 3.0.0-canary.a9708bd → 3.0.0-devnet.3
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/light.d.ts +5 -3
- package/dest/block-factory/light.d.ts.map +1 -1
- package/dest/block-factory/light.js +16 -9
- package/dest/mocks/fixtures.d.ts +4 -1
- package/dest/mocks/fixtures.d.ts.map +1 -1
- package/dest/mocks/fixtures.js +31 -3
- package/dest/mocks/test_context.d.ts +32 -9
- package/dest/mocks/test_context.d.ts.map +1 -1
- package/dest/mocks/test_context.js +78 -22
- package/dest/orchestrator/block-building-helpers.d.ts +33 -31
- package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
- package/dest/orchestrator/block-building-helpers.js +126 -137
- package/dest/orchestrator/block-proving-state.d.ts +60 -53
- package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/block-proving-state.js +214 -187
- package/dest/orchestrator/checkpoint-proving-state.d.ts +63 -0
- package/dest/orchestrator/checkpoint-proving-state.d.ts.map +1 -0
- package/dest/orchestrator/checkpoint-proving-state.js +211 -0
- package/dest/orchestrator/epoch-proving-state.d.ts +34 -28
- package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/epoch-proving-state.js +125 -81
- package/dest/orchestrator/orchestrator.d.ts +26 -25
- package/dest/orchestrator/orchestrator.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator.js +350 -218
- package/dest/orchestrator/tx-proving-state.d.ts +11 -9
- package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/tx-proving-state.js +26 -23
- package/dest/prover-client/server-epoch-prover.d.ts +8 -7
- package/dest/prover-client/server-epoch-prover.d.ts.map +1 -1
- package/dest/prover-client/server-epoch-prover.js +7 -7
- package/dest/proving_broker/broker_prover_facade.d.ts +20 -15
- package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
- package/dest/proving_broker/broker_prover_facade.js +36 -21
- package/dest/proving_broker/config.d.ts +8 -8
- package/dest/proving_broker/config.js +5 -5
- package/dest/proving_broker/factory.js +1 -1
- package/dest/proving_broker/fixtures.js +1 -1
- package/dest/proving_broker/proof_store/index.d.ts +1 -0
- 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/proving_broker.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker.js +29 -18
- package/dest/proving_broker/proving_broker_database/persisted.js +5 -5
- package/dest/proving_broker/proving_job_controller.d.ts.map +1 -1
- package/dest/proving_broker/proving_job_controller.js +38 -18
- package/dest/test/mock_prover.d.ts +22 -17
- package/dest/test/mock_prover.d.ts.map +1 -1
- package/dest/test/mock_prover.js +35 -20
- package/package.json +16 -17
- package/src/block-factory/light.ts +35 -9
- package/src/mocks/fixtures.ts +39 -11
- package/src/mocks/test_context.ts +137 -31
- package/src/orchestrator/block-building-helpers.ts +213 -211
- package/src/orchestrator/block-proving-state.ts +235 -245
- package/src/orchestrator/checkpoint-proving-state.ts +299 -0
- package/src/orchestrator/epoch-proving-state.ts +169 -126
- package/src/orchestrator/orchestrator.ts +519 -286
- package/src/orchestrator/tx-proving-state.ts +45 -43
- package/src/prover-client/server-epoch-prover.ts +26 -16
- package/src/proving_broker/broker_prover_facade.ts +157 -88
- package/src/proving_broker/config.ts +7 -7
- package/src/proving_broker/factory.ts +1 -1
- package/src/proving_broker/fixtures.ts +1 -1
- package/src/proving_broker/proof_store/index.ts +1 -0
- package/src/proving_broker/proving_broker.ts +36 -18
- package/src/proving_broker/proving_broker_database/persisted.ts +5 -5
- package/src/proving_broker/proving_job_controller.ts +38 -18
- package/src/test/mock_prover.ts +142 -62
- 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/src/bin/get-proof-inputs.ts +0 -59
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED,
|
|
1
|
+
import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
|
|
2
|
+
import type { Fr } from '@aztec/foundation/fields';
|
|
2
3
|
import type { AvmCircuitInputs } from '@aztec/stdlib/avm';
|
|
3
|
-
import type { ProofAndVerificationKey } from '@aztec/stdlib/interfaces/server';
|
|
4
|
-
import { type BaseRollupHints,
|
|
4
|
+
import type { ProofAndVerificationKey, PublicInputsAndRecursiveProof } from '@aztec/stdlib/interfaces/server';
|
|
5
|
+
import { type BaseRollupHints, PrivateTxBaseRollupPrivateInputs, PublicTubePublicInputs, PublicTxBaseRollupPrivateInputs } from '@aztec/stdlib/rollup';
|
|
5
6
|
import type { AppendOnlyTreeSnapshot, MerkleTreeId } from '@aztec/stdlib/trees';
|
|
6
7
|
import type { ProcessedTx } from '@aztec/stdlib/tx';
|
|
7
8
|
/**
|
|
@@ -14,21 +15,22 @@ export declare class TxProvingState {
|
|
|
14
15
|
readonly processedTx: ProcessedTx;
|
|
15
16
|
private readonly baseRollupHints;
|
|
16
17
|
readonly treeSnapshots: Map<MerkleTreeId, AppendOnlyTreeSnapshot>;
|
|
17
|
-
private
|
|
18
|
+
private readonly proverId;
|
|
19
|
+
private publicTube?;
|
|
18
20
|
private avm?;
|
|
19
|
-
constructor(processedTx: ProcessedTx, baseRollupHints: BaseRollupHints, treeSnapshots: Map<MerkleTreeId, AppendOnlyTreeSnapshot
|
|
21
|
+
constructor(processedTx: ProcessedTx, baseRollupHints: BaseRollupHints, treeSnapshots: Map<MerkleTreeId, AppendOnlyTreeSnapshot>, proverId: Fr);
|
|
20
22
|
get requireAvmProof(): boolean;
|
|
21
23
|
ready(): boolean;
|
|
22
|
-
getTubeInputs(): TubeInputs;
|
|
23
24
|
getAvmInputs(): AvmCircuitInputs;
|
|
25
|
+
getPublicTubePrivateInputs(): import("@aztec/stdlib/rollup").PublicTubePrivateInputs;
|
|
24
26
|
getBaseRollupTypeAndInputs(): {
|
|
25
27
|
rollupType: string;
|
|
26
|
-
inputs:
|
|
28
|
+
inputs: PublicTxBaseRollupPrivateInputs;
|
|
27
29
|
} | {
|
|
28
30
|
rollupType: string;
|
|
29
|
-
inputs:
|
|
31
|
+
inputs: PrivateTxBaseRollupPrivateInputs;
|
|
30
32
|
};
|
|
31
|
-
|
|
33
|
+
setPublicTubeProof(publicTubeProofAndVk: PublicInputsAndRecursiveProof<PublicTubePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>): void;
|
|
32
34
|
setAvmProof(avmProofAndVk: ProofAndVerificationKey<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>): void;
|
|
33
35
|
}
|
|
34
36
|
//# sourceMappingURL=tx-proving-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx-proving-state.d.ts","sourceRoot":"","sources":["../../src/orchestrator/tx-proving-state.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oCAAoC,
|
|
1
|
+
{"version":3,"file":"tx-proving-state.d.ts","sourceRoot":"","sources":["../../src/orchestrator/tx-proving-state.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oCAAoC,EAEpC,yCAAyC,EAC1C,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAGnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAE9G,OAAO,EACL,KAAK,eAAe,EAEpB,gCAAgC,EAEhC,sBAAsB,EACtB,+BAA+B,EAChC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKpD;;;;GAIG;AACH,qBAAa,cAAc;;aAQP,WAAW,EAAE,WAAW;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe;aAChB,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC;IACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAV3B,OAAO,CAAC,UAAU,CAAC,CAGjB;IACF,OAAO,CAAC,GAAG,CAAC,CAAuE;gBAGjE,WAAW,EAAE,WAAW,EACvB,eAAe,EAAE,eAAe,EACjC,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC,EACvD,QAAQ,EAAE,EAAE;IAG/B,IAAI,eAAe,YAElB;IAEM,KAAK;IAIL,YAAY,IAAI,gBAAgB;IAIhC,0BAA0B;IAI1B,0BAA0B;;;;;;;IAc1B,kBAAkB,CACvB,oBAAoB,EAAE,6BAA6B,CACjD,sBAAsB,EACtB,OAAO,yCAAyC,CACjD;IAKI,WAAW,CAAC,aAAa,EAAE,uBAAuB,CAAC,OAAO,oCAAoC,CAAC;CAiDvG"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import { AVM_VK_INDEX
|
|
1
|
+
import { AVM_VK_INDEX } from '@aztec/constants';
|
|
2
|
+
import { getVkData } from '@aztec/noir-protocol-circuits-types/server/vks';
|
|
2
3
|
import { getVKSiblingPath } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
3
|
-
import {
|
|
4
|
+
import { ProofData } from '@aztec/stdlib/proofs';
|
|
5
|
+
import { PrivateBaseRollupHints, PrivateTxBaseRollupPrivateInputs, PublicBaseRollupHints, PublicTxBaseRollupPrivateInputs } from '@aztec/stdlib/rollup';
|
|
4
6
|
import { VkData } from '@aztec/stdlib/vks';
|
|
7
|
+
import { getCivcProofFromTx, getPublicTubePrivateInputsFromTx, toProofData } from './block-building-helpers.js';
|
|
5
8
|
/**
|
|
6
9
|
* Helper class to manage the proving cycle of a transaction
|
|
7
10
|
* This includes the public VMs and the public kernels
|
|
@@ -10,73 +13,73 @@ import { VkData } from '@aztec/stdlib/vks';
|
|
|
10
13
|
processedTx;
|
|
11
14
|
baseRollupHints;
|
|
12
15
|
treeSnapshots;
|
|
13
|
-
|
|
16
|
+
proverId;
|
|
17
|
+
publicTube;
|
|
14
18
|
avm;
|
|
15
|
-
constructor(processedTx, baseRollupHints, treeSnapshots){
|
|
19
|
+
constructor(processedTx, baseRollupHints, treeSnapshots, proverId){
|
|
16
20
|
this.processedTx = processedTx;
|
|
17
21
|
this.baseRollupHints = baseRollupHints;
|
|
18
22
|
this.treeSnapshots = treeSnapshots;
|
|
23
|
+
this.proverId = proverId;
|
|
19
24
|
}
|
|
20
25
|
get requireAvmProof() {
|
|
21
26
|
return !!this.processedTx.avmProvingRequest;
|
|
22
27
|
}
|
|
23
28
|
ready() {
|
|
24
|
-
return
|
|
25
|
-
}
|
|
26
|
-
getTubeInputs() {
|
|
27
|
-
return new TubeInputs(!!this.processedTx.data.forPublic, this.processedTx.clientIvcProof);
|
|
29
|
+
return !this.requireAvmProof || !!this.avm && !!this.publicTube;
|
|
28
30
|
}
|
|
29
31
|
getAvmInputs() {
|
|
30
32
|
return this.processedTx.avmProvingRequest.inputs;
|
|
31
33
|
}
|
|
34
|
+
getPublicTubePrivateInputs() {
|
|
35
|
+
return getPublicTubePrivateInputsFromTx(this.processedTx, this.proverId);
|
|
36
|
+
}
|
|
32
37
|
getBaseRollupTypeAndInputs() {
|
|
33
38
|
if (this.requireAvmProof) {
|
|
34
39
|
return {
|
|
35
|
-
rollupType: '
|
|
40
|
+
rollupType: 'rollup-tx-base-public',
|
|
36
41
|
inputs: this.#getPublicBaseInputs()
|
|
37
42
|
};
|
|
38
43
|
} else {
|
|
39
44
|
return {
|
|
40
|
-
rollupType: '
|
|
45
|
+
rollupType: 'rollup-tx-base-private',
|
|
41
46
|
inputs: this.#getPrivateBaseInputs()
|
|
42
47
|
};
|
|
43
48
|
}
|
|
44
49
|
}
|
|
45
|
-
|
|
46
|
-
this.
|
|
50
|
+
setPublicTubeProof(publicTubeProofAndVk) {
|
|
51
|
+
this.publicTube = publicTubeProofAndVk;
|
|
47
52
|
}
|
|
48
53
|
setAvmProof(avmProofAndVk) {
|
|
49
54
|
this.avm = avmProofAndVk;
|
|
50
55
|
}
|
|
51
56
|
#getPrivateBaseInputs() {
|
|
52
|
-
if (!this.tube) {
|
|
53
|
-
throw new Error('Tx not ready for proving base rollup.');
|
|
54
|
-
}
|
|
55
|
-
const vkData = this.#getVkData(this.tube.verificationKey, PRIVATE_TUBE_VK_INDEX);
|
|
56
|
-
const tubeData = new PrivateTubeData(this.processedTx.data.toPrivateToRollupKernelCircuitPublicInputs(), this.tube.proof, vkData);
|
|
57
57
|
if (!(this.baseRollupHints instanceof PrivateBaseRollupHints)) {
|
|
58
58
|
throw new Error('Mismatched base rollup hints, expected private base rollup hints');
|
|
59
59
|
}
|
|
60
|
-
|
|
60
|
+
const privateTailProofData = new ProofData(this.processedTx.data.toPrivateToRollupKernelCircuitPublicInputs(), getCivcProofFromTx(this.processedTx), getVkData('HidingKernelToRollup'));
|
|
61
|
+
return new PrivateTxBaseRollupPrivateInputs(privateTailProofData, this.baseRollupHints);
|
|
61
62
|
}
|
|
62
63
|
#getPublicBaseInputs() {
|
|
63
64
|
if (!this.processedTx.avmProvingRequest) {
|
|
64
65
|
throw new Error('Should create private base rollup for a tx not requiring avm proof.');
|
|
65
66
|
}
|
|
66
|
-
if (!this.
|
|
67
|
-
throw new Error('Tx not ready for proving base rollup: tube proof undefined');
|
|
67
|
+
if (!this.publicTube) {
|
|
68
|
+
throw new Error('Tx not ready for proving base rollup: public tube proof undefined');
|
|
68
69
|
}
|
|
69
70
|
if (!this.avm) {
|
|
70
71
|
throw new Error('Tx not ready for proving base rollup: avm proof undefined');
|
|
71
72
|
}
|
|
72
|
-
const tubeData = new PublicTubeData(this.processedTx.data.toPrivateToPublicKernelCircuitPublicInputs(), this.tube.proof, this.#getVkData(this.tube.verificationKey, PUBLIC_TUBE_VK_INDEX));
|
|
73
|
-
const avmProofData = new AvmProofData(this.processedTx.avmProvingRequest.inputs.publicInputs, this.avm.proof, this.#getVkData(this.avm.verificationKey, AVM_VK_INDEX));
|
|
74
73
|
if (!(this.baseRollupHints instanceof PublicBaseRollupHints)) {
|
|
75
74
|
throw new Error('Mismatched base rollup hints, expected public base rollup hints');
|
|
76
75
|
}
|
|
77
|
-
|
|
76
|
+
const publicTubeProofData = toProofData(this.publicTube);
|
|
77
|
+
const avmProofData = new ProofData(this.processedTx.avmProvingRequest.inputs.publicInputs, this.avm.proof, this.#getVkData(this.avm.verificationKey, AVM_VK_INDEX));
|
|
78
|
+
return new PublicTxBaseRollupPrivateInputs(publicTubeProofData, avmProofData, this.baseRollupHints);
|
|
78
79
|
}
|
|
79
80
|
#getVkData(verificationKey, vkIndex) {
|
|
81
|
+
// TODO(#17162): Add avm vk hash to the tree and call `getVkData('AVM')` instead.
|
|
82
|
+
// Below will return a path to an empty leaf.
|
|
80
83
|
const vkPath = getVKSiblingPath(vkIndex);
|
|
81
84
|
return new VkData(verificationKey, vkIndex, vkPath);
|
|
82
85
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { BatchedBlob, FinalBlobBatchingChallenges } from '@aztec/blob-lib';
|
|
2
2
|
import type { Fr } from '@aztec/foundation/fields';
|
|
3
|
-
import type { EthAddress
|
|
3
|
+
import type { EthAddress } from '@aztec/stdlib/block';
|
|
4
4
|
import type { EpochProver } from '@aztec/stdlib/interfaces/server';
|
|
5
5
|
import type { Proof } from '@aztec/stdlib/proofs';
|
|
6
|
-
import type { RootRollupPublicInputs } from '@aztec/stdlib/rollup';
|
|
7
|
-
import type { BlockHeader,
|
|
6
|
+
import type { CheckpointConstantData, RootRollupPublicInputs } from '@aztec/stdlib/rollup';
|
|
7
|
+
import type { BlockHeader, ProcessedTx, Tx } from '@aztec/stdlib/tx';
|
|
8
|
+
import type { UInt64 } from '@aztec/stdlib/types';
|
|
8
9
|
import type { ProvingOrchestrator } from '../orchestrator/orchestrator.js';
|
|
9
10
|
import type { BrokerCircuitProverFacade } from '../proving_broker/broker_prover_facade.js';
|
|
10
11
|
/** Encapsulates the proving orchestrator and the broker facade */
|
|
@@ -12,9 +13,10 @@ export declare class ServerEpochProver implements EpochProver {
|
|
|
12
13
|
private facade;
|
|
13
14
|
private orchestrator;
|
|
14
15
|
constructor(facade: BrokerCircuitProverFacade, orchestrator: ProvingOrchestrator);
|
|
15
|
-
startNewEpoch(epochNumber: number,
|
|
16
|
+
startNewEpoch(epochNumber: number, totalNumCheckpoints: number, finalBlobBatchingChallenges: FinalBlobBatchingChallenges): void;
|
|
17
|
+
startNewCheckpoint(checkpointIndex: number, constants: CheckpointConstantData, l1ToL2Messages: Fr[], totalNumBlocks: number, totalNumBlobFields: number, headerOfLastBlockInPreviousCheckpoint: BlockHeader): Promise<void>;
|
|
16
18
|
startTubeCircuits(txs: Tx[]): Promise<void>;
|
|
17
|
-
setBlockCompleted(blockNumber: number, expectedBlockHeader?: BlockHeader): Promise<
|
|
19
|
+
setBlockCompleted(blockNumber: number, expectedBlockHeader?: BlockHeader): Promise<BlockHeader>;
|
|
18
20
|
finalizeEpoch(): Promise<{
|
|
19
21
|
publicInputs: RootRollupPublicInputs;
|
|
20
22
|
proof: Proof;
|
|
@@ -22,9 +24,8 @@ export declare class ServerEpochProver implements EpochProver {
|
|
|
22
24
|
}>;
|
|
23
25
|
cancel(): void;
|
|
24
26
|
getProverId(): EthAddress;
|
|
25
|
-
getBlock(index: number): L2Block;
|
|
26
27
|
stop(): Promise<void>;
|
|
27
|
-
startNewBlock(
|
|
28
|
+
startNewBlock(blockNumber: number, timestamp: UInt64, totalNumTxs: number): Promise<void>;
|
|
28
29
|
addTxs(txs: ProcessedTx[]): Promise<void>;
|
|
29
30
|
}
|
|
30
31
|
//# sourceMappingURL=server-epoch-prover.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-epoch-prover.d.ts","sourceRoot":"","sources":["../../src/prover-client/server-epoch-prover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"server-epoch-prover.d.ts","sourceRoot":"","sources":["../../src/prover-client/server-epoch-prover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAE3F,kEAAkE;AAClE,qBAAa,iBAAkB,YAAW,WAAW;IAEjD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;gBADZ,MAAM,EAAE,yBAAyB,EACjC,YAAY,EAAE,mBAAmB;IAG3C,aAAa,CACX,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,MAAM,EAC3B,2BAA2B,EAAE,2BAA2B,GACvD,IAAI;IAIP,kBAAkB,CAChB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,sBAAsB,EACjC,cAAc,EAAE,EAAE,EAAE,EACpB,cAAc,EAAE,MAAM,EACtB,kBAAkB,EAAE,MAAM,EAC1B,qCAAqC,EAAE,WAAW,GACjD,OAAO,CAAC,IAAI,CAAC;IAUhB,iBAAiB,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAG3C,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAG/F,aAAa,IAAI,OAAO,CAAC;QAAE,YAAY,EAAE,sBAAsB,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,iBAAiB,EAAE,WAAW,CAAA;KAAE,CAAC;IAGhH,MAAM,IAAI,IAAI;IAGd,WAAW,IAAI,UAAU;IAGnB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAGzF,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1C"}
|
|
@@ -5,10 +5,13 @@
|
|
|
5
5
|
this.facade = facade;
|
|
6
6
|
this.orchestrator = orchestrator;
|
|
7
7
|
}
|
|
8
|
-
startNewEpoch(epochNumber,
|
|
9
|
-
this.orchestrator.startNewEpoch(epochNumber,
|
|
8
|
+
startNewEpoch(epochNumber, totalNumCheckpoints, finalBlobBatchingChallenges) {
|
|
9
|
+
this.orchestrator.startNewEpoch(epochNumber, totalNumCheckpoints, finalBlobBatchingChallenges);
|
|
10
10
|
this.facade.start();
|
|
11
11
|
}
|
|
12
|
+
startNewCheckpoint(checkpointIndex, constants, l1ToL2Messages, totalNumBlocks, totalNumBlobFields, headerOfLastBlockInPreviousCheckpoint) {
|
|
13
|
+
return this.orchestrator.startNewCheckpoint(checkpointIndex, constants, l1ToL2Messages, totalNumBlocks, totalNumBlobFields, headerOfLastBlockInPreviousCheckpoint);
|
|
14
|
+
}
|
|
12
15
|
startTubeCircuits(txs) {
|
|
13
16
|
return this.orchestrator.startTubeCircuits(txs);
|
|
14
17
|
}
|
|
@@ -24,15 +27,12 @@
|
|
|
24
27
|
getProverId() {
|
|
25
28
|
return this.orchestrator.getProverId();
|
|
26
29
|
}
|
|
27
|
-
getBlock(index) {
|
|
28
|
-
return this.orchestrator.getBlock(index);
|
|
29
|
-
}
|
|
30
30
|
async stop() {
|
|
31
31
|
await this.facade.stop();
|
|
32
32
|
await this.orchestrator.stop();
|
|
33
33
|
}
|
|
34
|
-
startNewBlock(
|
|
35
|
-
return this.orchestrator.startNewBlock(
|
|
34
|
+
startNewBlock(blockNumber, timestamp, totalNumTxs) {
|
|
35
|
+
return this.orchestrator.startNewBlock(blockNumber, timestamp, totalNumTxs);
|
|
36
36
|
}
|
|
37
37
|
addTxs(txs) {
|
|
38
38
|
return this.orchestrator.addTxs(txs);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH
|
|
1
|
+
import type { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH } from '@aztec/constants';
|
|
2
2
|
import type { AvmCircuitInputs } from '@aztec/stdlib/avm';
|
|
3
3
|
import { type ProofAndVerificationKey, type ProvingJobProducer, type PublicInputsAndRecursiveProof, type ServerCircuitProver } from '@aztec/stdlib/interfaces/server';
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
4
|
+
import type { ParityBasePrivateInputs, ParityPublicInputs, ParityRootPrivateInputs } from '@aztec/stdlib/parity';
|
|
5
|
+
import type { BlockMergeRollupPrivateInputs, BlockRollupPublicInputs, BlockRootEmptyTxFirstRollupPrivateInputs, BlockRootFirstRollupPrivateInputs, BlockRootRollupPrivateInputs, BlockRootSingleTxFirstRollupPrivateInputs, BlockRootSingleTxRollupPrivateInputs, CheckpointMergeRollupPrivateInputs, CheckpointPaddingRollupPrivateInputs, CheckpointRollupPublicInputs, CheckpointRootRollupPrivateInputs, CheckpointRootSingleBlockRollupPrivateInputs, PrivateTxBaseRollupPrivateInputs, PublicTubePrivateInputs, PublicTubePublicInputs, PublicTxBaseRollupPrivateInputs, RootRollupPrivateInputs, RootRollupPublicInputs, TxMergeRollupPrivateInputs, TxRollupPublicInputs } from '@aztec/stdlib/rollup';
|
|
6
6
|
import { type ProofStore } from './proof_store/index.js';
|
|
7
7
|
export declare class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
8
8
|
private broker;
|
|
@@ -31,18 +31,23 @@ export declare class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
31
31
|
private monitorForCompletedJobs;
|
|
32
32
|
getAvmProof(inputs: AvmCircuitInputs, skipPublicInputsValidation?: boolean, // TODO(#14234)[Unconditional PIs validation]: remove this argument
|
|
33
33
|
signal?: AbortSignal, epochNumber?: number): Promise<ProofAndVerificationKey<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>>;
|
|
34
|
-
getBaseParityProof(inputs:
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
34
|
+
getBaseParityProof(inputs: ParityBasePrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof RECURSIVE_PROOF_LENGTH>>;
|
|
35
|
+
getTxMergeRollupProof(input: TxMergeRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
36
|
+
getPublicTubeProof(inputs: PublicTubePrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<PublicTubePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
37
|
+
getPrivateTxBaseRollupProof(baseRollupInput: PrivateTxBaseRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
38
|
+
getPublicTxBaseRollupProof(inputs: PublicTxBaseRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
39
|
+
getRootParityProof(inputs: ParityRootPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof NESTED_RECURSIVE_PROOF_LENGTH>>;
|
|
40
|
+
getBlockRootFirstRollupProof(input: BlockRootFirstRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
41
|
+
getBlockRootSingleTxFirstRollupProof(input: BlockRootSingleTxFirstRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
42
|
+
getBlockRootEmptyTxFirstRollupProof(input: BlockRootEmptyTxFirstRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
43
|
+
getBlockRootRollupProof(input: BlockRootRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
44
|
+
getBlockRootSingleTxRollupProof(input: BlockRootSingleTxRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
45
|
+
getBlockMergeRollupProof(input: BlockMergeRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
46
|
+
getCheckpointRootRollupProof(input: CheckpointRootRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
47
|
+
getCheckpointRootSingleBlockRollupProof(input: CheckpointRootSingleBlockRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
48
|
+
getCheckpointPaddingRollupProof(input: CheckpointPaddingRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
49
|
+
getCheckpointMergeRollupProof(input: CheckpointMergeRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
50
|
+
getRootRollupProof(input: RootRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs, typeof RECURSIVE_PROOF_LENGTH>>;
|
|
46
51
|
private generateId;
|
|
47
52
|
}
|
|
48
53
|
//# sourceMappingURL=broker_prover_facade.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broker_prover_facade.d.ts","sourceRoot":"","sources":["../../src/proving_broker/broker_prover_facade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oCAAoC,EACpC,6BAA6B,EAC7B,yCAAyC,EACzC,sBAAsB,
|
|
1
|
+
{"version":3,"file":"broker_prover_facade.d.ts","sourceRoot":"","sources":["../../src/proving_broker/broker_prover_facade.ts"],"names":[],"mappings":"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"}
|
|
@@ -312,41 +312,56 @@ export class BrokerCircuitProverFacade {
|
|
|
312
312
|
});
|
|
313
313
|
}
|
|
314
314
|
getBaseParityProof(inputs, signal, epochNumber) {
|
|
315
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.
|
|
315
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.PARITY_BASE, inputs, epochNumber), ProvingRequestType.PARITY_BASE, inputs, epochNumber, signal);
|
|
316
316
|
}
|
|
317
|
-
|
|
318
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.
|
|
317
|
+
getTxMergeRollupProof(input, signal, epochNumber) {
|
|
318
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.TX_MERGE_ROLLUP, input, epochNumber), ProvingRequestType.TX_MERGE_ROLLUP, input, epochNumber, signal);
|
|
319
|
+
}
|
|
320
|
+
getPublicTubeProof(inputs, signal, epochNumber) {
|
|
321
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.PUBLIC_TUBE, inputs, epochNumber), ProvingRequestType.PUBLIC_TUBE, inputs, epochNumber, signal);
|
|
322
|
+
}
|
|
323
|
+
getPrivateTxBaseRollupProof(baseRollupInput, signal, epochNumber) {
|
|
324
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.PRIVATE_TX_BASE_ROLLUP, baseRollupInput, epochNumber), ProvingRequestType.PRIVATE_TX_BASE_ROLLUP, baseRollupInput, epochNumber, signal);
|
|
325
|
+
}
|
|
326
|
+
getPublicTxBaseRollupProof(inputs, signal, epochNumber) {
|
|
327
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.PUBLIC_TX_BASE_ROLLUP, inputs, epochNumber), ProvingRequestType.PUBLIC_TX_BASE_ROLLUP, inputs, epochNumber, signal);
|
|
328
|
+
}
|
|
329
|
+
getRootParityProof(inputs, signal, epochNumber) {
|
|
330
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.PARITY_ROOT, inputs, epochNumber), ProvingRequestType.PARITY_ROOT, inputs, epochNumber, signal);
|
|
331
|
+
}
|
|
332
|
+
getBlockRootFirstRollupProof(input, signal, epochNumber) {
|
|
333
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP, input, epochNumber), ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP, input, epochNumber, signal);
|
|
334
|
+
}
|
|
335
|
+
getBlockRootSingleTxFirstRollupProof(input, signal, epochNumber) {
|
|
336
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP, input, epochNumber), ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP, input, epochNumber, signal);
|
|
337
|
+
}
|
|
338
|
+
getBlockRootEmptyTxFirstRollupProof(input, signal, epochNumber) {
|
|
339
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP, input, epochNumber), ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP, input, epochNumber, signal);
|
|
319
340
|
}
|
|
320
341
|
getBlockRootRollupProof(input, signal, epochNumber) {
|
|
321
342
|
return this.enqueueJob(this.generateId(ProvingRequestType.BLOCK_ROOT_ROLLUP, input, epochNumber), ProvingRequestType.BLOCK_ROOT_ROLLUP, input, epochNumber, signal);
|
|
322
343
|
}
|
|
323
|
-
|
|
324
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.
|
|
344
|
+
getBlockRootSingleTxRollupProof(input, signal, epochNumber) {
|
|
345
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP, input, epochNumber), ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP, input, epochNumber, signal);
|
|
325
346
|
}
|
|
326
|
-
|
|
327
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.
|
|
328
|
-
}
|
|
329
|
-
getPaddingBlockRootRollupProof(input, signal, epochNumber) {
|
|
330
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.PADDING_BLOCK_ROOT_ROLLUP, input, epochNumber), ProvingRequestType.PADDING_BLOCK_ROOT_ROLLUP, input, epochNumber, signal);
|
|
347
|
+
getBlockMergeRollupProof(input, signal, epochNumber) {
|
|
348
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.BLOCK_MERGE_ROLLUP, input, epochNumber), ProvingRequestType.BLOCK_MERGE_ROLLUP, input, epochNumber, signal);
|
|
331
349
|
}
|
|
332
|
-
|
|
333
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.
|
|
350
|
+
getCheckpointRootRollupProof(input, signal, epochNumber) {
|
|
351
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.CHECKPOINT_ROOT_ROLLUP, input, epochNumber), ProvingRequestType.CHECKPOINT_ROOT_ROLLUP, input, epochNumber, signal);
|
|
334
352
|
}
|
|
335
|
-
|
|
336
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.
|
|
353
|
+
getCheckpointRootSingleBlockRollupProof(input, signal, epochNumber) {
|
|
354
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP, input, epochNumber), ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP, input, epochNumber, signal);
|
|
337
355
|
}
|
|
338
|
-
|
|
339
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.
|
|
356
|
+
getCheckpointPaddingRollupProof(input, signal, epochNumber) {
|
|
357
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.CHECKPOINT_PADDING_ROLLUP, input, epochNumber), ProvingRequestType.CHECKPOINT_PADDING_ROLLUP, input, epochNumber, signal);
|
|
340
358
|
}
|
|
341
|
-
|
|
342
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.
|
|
359
|
+
getCheckpointMergeRollupProof(input, signal, epochNumber) {
|
|
360
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.CHECKPOINT_MERGE_ROLLUP, input, epochNumber), ProvingRequestType.CHECKPOINT_MERGE_ROLLUP, input, epochNumber, signal);
|
|
343
361
|
}
|
|
344
362
|
getRootRollupProof(input, signal, epochNumber) {
|
|
345
363
|
return this.enqueueJob(this.generateId(ProvingRequestType.ROOT_ROLLUP, input, epochNumber), ProvingRequestType.ROOT_ROLLUP, input, epochNumber, signal);
|
|
346
364
|
}
|
|
347
|
-
getTubeProof(tubeInput, signal, epochNumber) {
|
|
348
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.TUBE_PROOF, tubeInput, epochNumber), ProvingRequestType.TUBE_PROOF, tubeInput, epochNumber, signal);
|
|
349
|
-
}
|
|
350
365
|
generateId(type, inputs, epochNumber = 0) {
|
|
351
366
|
const inputsHash = sha256(inputs.toBuffer());
|
|
352
367
|
return makeProvingJobId(epochNumber, type, inputsHash.toString('hex'));
|
|
@@ -14,9 +14,9 @@ export declare const ProverBrokerConfig: z.ZodObject<{
|
|
|
14
14
|
/** If starting a prover broker locally, the directory to store broker data */
|
|
15
15
|
dataDirectory: z.ZodOptional<z.ZodString>;
|
|
16
16
|
/** The size of the data store map */
|
|
17
|
-
|
|
18
|
-
/** The size of the prover broker's database. Will override the
|
|
19
|
-
|
|
17
|
+
dataStoreMapSizeKb: z.ZodNumber;
|
|
18
|
+
/** The size of the prover broker's database. Will override the dataStoreMapSizeKb if set. */
|
|
19
|
+
proverBrokerStoreMapSizeKb: z.ZodOptional<z.ZodNumber>;
|
|
20
20
|
/** The prover broker may batch jobs together before writing to the database */
|
|
21
21
|
proverBrokerBatchSize: z.ZodNumber;
|
|
22
22
|
/** How often the job batches get flushed */
|
|
@@ -27,24 +27,24 @@ export declare const ProverBrokerConfig: z.ZodObject<{
|
|
|
27
27
|
proverBrokerJobMaxRetries: number;
|
|
28
28
|
proverBrokerJobTimeoutMs: number;
|
|
29
29
|
proverBrokerPollIntervalMs: number;
|
|
30
|
-
|
|
30
|
+
dataStoreMapSizeKb: number;
|
|
31
31
|
proverBrokerBatchSize: number;
|
|
32
32
|
proverBrokerBatchIntervalMs: number;
|
|
33
33
|
proverBrokerMaxEpochsToKeepResultsFor: number;
|
|
34
34
|
dataDirectory?: string | undefined;
|
|
35
|
-
|
|
35
|
+
proverBrokerStoreMapSizeKb?: number | undefined;
|
|
36
36
|
}, {
|
|
37
37
|
proverBrokerJobMaxRetries: number;
|
|
38
38
|
proverBrokerJobTimeoutMs: number;
|
|
39
39
|
proverBrokerPollIntervalMs: number;
|
|
40
|
-
|
|
40
|
+
dataStoreMapSizeKb: number;
|
|
41
41
|
proverBrokerBatchSize: number;
|
|
42
42
|
proverBrokerBatchIntervalMs: number;
|
|
43
43
|
proverBrokerMaxEpochsToKeepResultsFor: number;
|
|
44
44
|
dataDirectory?: string | undefined;
|
|
45
|
-
|
|
45
|
+
proverBrokerStoreMapSizeKb?: number | undefined;
|
|
46
46
|
}>;
|
|
47
|
-
export type ProverBrokerConfig = z.infer<typeof ProverBrokerConfig> & Pick<DataStoreConfig, '
|
|
47
|
+
export type ProverBrokerConfig = z.infer<typeof ProverBrokerConfig> & Pick<DataStoreConfig, 'dataStoreMapSizeKb' | 'dataDirectory'> & L1ReaderConfig & Pick<ChainConfig, 'rollupVersion'>;
|
|
48
48
|
export declare const proverBrokerConfigMappings: ConfigMappingsType<ProverBrokerConfig>;
|
|
49
49
|
export declare const defaultProverBrokerConfig: ProverBrokerConfig;
|
|
50
50
|
export declare const ProverAgentConfig: z.ZodObject<{
|
|
@@ -10,8 +10,8 @@ export const ProverBrokerConfig = z.object({
|
|
|
10
10
|
/** If starting a prover broker locally, the time after which a job times out and gets assigned to a different agent */ proverBrokerJobTimeoutMs: z.number().int().nonnegative(),
|
|
11
11
|
/** If starting a prover broker locally, the interval the broker checks for timed out jobs */ proverBrokerPollIntervalMs: z.number().int().nonnegative(),
|
|
12
12
|
/** If starting a prover broker locally, the directory to store broker data */ dataDirectory: z.string().optional(),
|
|
13
|
-
/** The size of the data store map */
|
|
14
|
-
/** The size of the prover broker's database. Will override the
|
|
13
|
+
/** The size of the data store map */ dataStoreMapSizeKb: z.number().int().nonnegative(),
|
|
14
|
+
/** The size of the prover broker's database. Will override the dataStoreMapSizeKb if set. */ proverBrokerStoreMapSizeKb: z.number().int().nonnegative().optional(),
|
|
15
15
|
/** The prover broker may batch jobs together before writing to the database */ proverBrokerBatchSize: z.number().int().nonnegative(),
|
|
16
16
|
/** How often the job batches get flushed */ proverBrokerBatchIntervalMs: z.number().int().nonnegative(),
|
|
17
17
|
/** The maximum number of epochs to keep results for */ proverBrokerMaxEpochsToKeepResultsFor: z.number().int().nonnegative()
|
|
@@ -47,10 +47,10 @@ export const proverBrokerConfigMappings = {
|
|
|
47
47
|
description: 'The maximum number of epochs to keep results for',
|
|
48
48
|
...numberConfigHelper(1)
|
|
49
49
|
},
|
|
50
|
-
|
|
50
|
+
proverBrokerStoreMapSizeKb: {
|
|
51
51
|
env: 'PROVER_BROKER_STORE_MAP_SIZE_KB',
|
|
52
52
|
parseEnv: (val)=>val ? +val : undefined,
|
|
53
|
-
description: "The size of the prover broker's database. Will override the
|
|
53
|
+
description: "The size of the prover broker's database. Will override the dataStoreMapSizeKb if set."
|
|
54
54
|
},
|
|
55
55
|
...dataConfigMappings,
|
|
56
56
|
...l1ReaderConfigMappings,
|
|
@@ -81,7 +81,7 @@ export const proverAgentConfigMappings = {
|
|
|
81
81
|
proverAgentPollIntervalMs: {
|
|
82
82
|
env: 'PROVER_AGENT_POLL_INTERVAL_MS',
|
|
83
83
|
description: 'The interval agents poll for jobs at',
|
|
84
|
-
...numberConfigHelper(
|
|
84
|
+
...numberConfigHelper(1000)
|
|
85
85
|
},
|
|
86
86
|
proverAgentProofTypes: {
|
|
87
87
|
env: 'PROVER_AGENT_PROOF_TYPES',
|
|
@@ -4,7 +4,7 @@ import { KVBrokerDatabase } from './proving_broker_database/persisted.js';
|
|
|
4
4
|
export async function createAndStartProvingBroker(_config, client) {
|
|
5
5
|
const config = {
|
|
6
6
|
..._config,
|
|
7
|
-
|
|
7
|
+
dataStoreMapSizeKb: _config.proverBrokerStoreMapSizeKb ?? _config.dataStoreMapSizeKb
|
|
8
8
|
};
|
|
9
9
|
const database = config.dataDirectory ? await KVBrokerDatabase.new(config, client) : new InMemoryBrokerDatabase();
|
|
10
10
|
const broker = new ProvingBroker(database, config, client);
|
|
@@ -2,7 +2,7 @@ import { randomBytes } from '@aztec/foundation/crypto';
|
|
|
2
2
|
import { makeProvingJobId } from '@aztec/stdlib/interfaces/server';
|
|
3
3
|
import { ProvingRequestType } from '@aztec/stdlib/proofs';
|
|
4
4
|
export function makeRandomProvingJobId(epochNumber) {
|
|
5
|
-
return makeProvingJobId(epochNumber ?? 1, ProvingRequestType.
|
|
5
|
+
return makeProvingJobId(epochNumber ?? 1, ProvingRequestType.PARITY_BASE, randomBytes(8).toString('hex'));
|
|
6
6
|
}
|
|
7
7
|
export function makeInputsUri() {
|
|
8
8
|
return randomBytes(8).toString('hex');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/proving_broker/proof_store/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/proving_broker/proof_store/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proving_broker.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_broker.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EAEvB,KAAK,gBAAgB,EAEtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,KAAK,kBAAkB,EAA6B,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAW1E;;;GAGG;AACH,qBAAa,aAAc,YAAW,kBAAkB,EAAE,kBAAkB,EAAE,SAAS;;
|
|
1
|
+
{"version":3,"file":"proving_broker.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_broker.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,18 +61,23 @@ import { ProvingBrokerInstrumentation } from './proving_broker_instrumentation.j
|
|
|
61
61
|
this.logger = logger;
|
|
62
62
|
this.queues = {
|
|
63
63
|
[ProvingRequestType.PUBLIC_VM]: new PriorityMemoryQueue(provingJobComparator),
|
|
64
|
-
[ProvingRequestType.
|
|
65
|
-
[ProvingRequestType.
|
|
66
|
-
[ProvingRequestType.
|
|
67
|
-
[ProvingRequestType.
|
|
64
|
+
[ProvingRequestType.PUBLIC_TUBE]: new PriorityMemoryQueue(provingJobComparator),
|
|
65
|
+
[ProvingRequestType.PRIVATE_TX_BASE_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
66
|
+
[ProvingRequestType.PUBLIC_TX_BASE_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
67
|
+
[ProvingRequestType.TX_MERGE_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
68
68
|
[ProvingRequestType.ROOT_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
69
69
|
[ProvingRequestType.BLOCK_MERGE_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
70
|
+
[ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
71
|
+
[ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
72
|
+
[ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
70
73
|
[ProvingRequestType.BLOCK_ROOT_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
71
|
-
[ProvingRequestType.
|
|
72
|
-
[ProvingRequestType.
|
|
73
|
-
[ProvingRequestType.
|
|
74
|
-
[ProvingRequestType.
|
|
75
|
-
[ProvingRequestType.
|
|
74
|
+
[ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
75
|
+
[ProvingRequestType.CHECKPOINT_ROOT_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
76
|
+
[ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
77
|
+
[ProvingRequestType.CHECKPOINT_MERGE_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
78
|
+
[ProvingRequestType.CHECKPOINT_PADDING_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
79
|
+
[ProvingRequestType.PARITY_BASE]: new PriorityMemoryQueue(provingJobComparator),
|
|
80
|
+
[ProvingRequestType.PARITY_ROOT]: new PriorityMemoryQueue(provingJobComparator)
|
|
76
81
|
};
|
|
77
82
|
this.jobsCache = new Map();
|
|
78
83
|
this.resultsCache = new Map();
|
|
@@ -556,16 +561,22 @@ _ts_decorate([
|
|
|
556
561
|
* The aim is that this will speed up block proving as the closer we get to a block's root proof the more likely it
|
|
557
562
|
* is to get picked up by agents
|
|
558
563
|
*/ export const PROOF_TYPES_IN_PRIORITY_ORDER = [
|
|
564
|
+
ProvingRequestType.ROOT_ROLLUP,
|
|
565
|
+
ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP,
|
|
566
|
+
ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP,
|
|
567
|
+
ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP,
|
|
559
568
|
ProvingRequestType.BLOCK_ROOT_ROLLUP,
|
|
560
|
-
ProvingRequestType.
|
|
569
|
+
ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP,
|
|
561
570
|
ProvingRequestType.BLOCK_MERGE_ROLLUP,
|
|
562
|
-
ProvingRequestType.
|
|
563
|
-
ProvingRequestType.
|
|
564
|
-
ProvingRequestType.
|
|
565
|
-
ProvingRequestType.
|
|
571
|
+
ProvingRequestType.CHECKPOINT_ROOT_ROLLUP,
|
|
572
|
+
ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP,
|
|
573
|
+
ProvingRequestType.CHECKPOINT_MERGE_ROLLUP,
|
|
574
|
+
ProvingRequestType.CHECKPOINT_PADDING_ROLLUP,
|
|
575
|
+
ProvingRequestType.TX_MERGE_ROLLUP,
|
|
576
|
+
ProvingRequestType.PUBLIC_TX_BASE_ROLLUP,
|
|
577
|
+
ProvingRequestType.PRIVATE_TX_BASE_ROLLUP,
|
|
566
578
|
ProvingRequestType.PUBLIC_VM,
|
|
567
|
-
ProvingRequestType.
|
|
568
|
-
ProvingRequestType.
|
|
569
|
-
ProvingRequestType.
|
|
570
|
-
ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP
|
|
579
|
+
ProvingRequestType.PUBLIC_TUBE,
|
|
580
|
+
ProvingRequestType.PARITY_ROOT,
|
|
581
|
+
ProvingRequestType.PARITY_BASE
|
|
571
582
|
];
|