@aztec/prover-client 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2 → 0.76.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/bin/get-proof-inputs.d.ts +2 -0
- package/dest/bin/get-proof-inputs.d.ts.map +1 -0
- package/dest/bin/get-proof-inputs.js +16 -18
- package/dest/block_builder/index.d.ts +6 -0
- package/dest/block_builder/index.d.ts.map +1 -0
- package/dest/block_builder/index.js +1 -0
- package/dest/block_builder/light.d.ts +31 -0
- package/dest/block_builder/light.d.ts.map +1 -0
- package/dest/block_builder/light.js +13 -23
- package/dest/config.d.ts +17 -0
- package/dest/config.d.ts.map +1 -0
- package/dest/config.js +11 -9
- package/dest/index.d.ts +4 -0
- package/dest/index.d.ts.map +1 -0
- package/dest/index.js +1 -0
- package/dest/mocks/fixtures.d.ts +19 -0
- package/dest/mocks/fixtures.d.ts.map +1 -0
- package/dest/mocks/fixtures.js +26 -28
- package/dest/mocks/test_context.d.ts +49 -0
- package/dest/mocks/test_context.d.ts.map +1 -0
- package/dest/mocks/test_context.js +46 -72
- package/dest/orchestrator/block-building-helpers.d.ts +50 -0
- package/dest/orchestrator/block-building-helpers.d.ts.map +1 -0
- package/dest/orchestrator/block-building-helpers.js +81 -99
- package/dest/orchestrator/block-proving-state.d.ts +71 -0
- package/dest/orchestrator/block-proving-state.d.ts.map +1 -0
- package/dest/orchestrator/block-proving-state.js +74 -99
- package/dest/orchestrator/epoch-proving-state.d.ts +56 -0
- package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -0
- package/dest/orchestrator/epoch-proving-state.js +41 -57
- package/dest/orchestrator/index.d.ts +2 -0
- package/dest/orchestrator/index.d.ts.map +1 -0
- package/dest/orchestrator/index.js +1 -0
- package/dest/orchestrator/orchestrator.d.ts +108 -0
- package/dest/orchestrator/orchestrator.d.ts.map +1 -0
- package/dest/orchestrator/orchestrator.js +654 -650
- package/dest/orchestrator/orchestrator_metrics.d.ts +8 -0
- package/dest/orchestrator/orchestrator_metrics.d.ts.map +1 -0
- package/dest/orchestrator/orchestrator_metrics.js +3 -4
- package/dest/orchestrator/tx-proving-state.d.ts +31 -0
- package/dest/orchestrator/tx-proving-state.d.ts.map +1 -0
- package/dest/orchestrator/tx-proving-state.js +52 -53
- package/dest/prover-client/factory.d.ts +6 -0
- package/dest/prover-client/factory.d.ts.map +1 -0
- package/dest/prover-client/factory.js +1 -0
- package/dest/prover-client/index.d.ts +3 -0
- package/dest/prover-client/index.d.ts.map +1 -0
- package/dest/prover-client/index.js +1 -0
- package/dest/prover-client/prover-client.d.ts +42 -0
- package/dest/prover-client/prover-client.d.ts.map +1 -0
- package/dest/prover-client/prover-client.js +25 -30
- package/dest/prover-client/server-epoch-prover.d.ts +25 -0
- package/dest/prover-client/server-epoch-prover.d.ts.map +1 -0
- package/dest/prover-client/server-epoch-prover.js +4 -4
- package/dest/proving_broker/broker_prover_facade.d.ts +39 -0
- package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -0
- package/dest/proving_broker/broker_prover_facade.js +59 -70
- package/dest/proving_broker/config.d.ts +61 -0
- package/dest/proving_broker/config.d.ts.map +1 -0
- package/dest/proving_broker/config.js +37 -22
- package/dest/proving_broker/factory.d.ts +5 -0
- package/dest/proving_broker/factory.d.ts.map +1 -0
- package/dest/proving_broker/factory.js +2 -1
- package/dest/proving_broker/fixtures.d.ts +5 -0
- package/dest/proving_broker/fixtures.d.ts.map +1 -0
- package/dest/proving_broker/fixtures.js +1 -0
- package/dest/proving_broker/index.d.ts +10 -0
- package/dest/proving_broker/index.d.ts.map +1 -0
- package/dest/proving_broker/index.js +1 -0
- package/dest/proving_broker/proof_store/factory.d.ts +6 -0
- package/dest/proving_broker/proof_store/factory.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/factory.js +12 -9
- package/dest/proving_broker/proof_store/gcs_proof_store.d.ts +13 -0
- package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/gcs_proof_store.js +7 -11
- package/dest/proving_broker/proof_store/index.d.ts +4 -0
- package/dest/proving_broker/proof_store/index.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/index.js +1 -0
- package/dest/proving_broker/proof_store/inline_proof_store.d.ts +14 -0
- package/dest/proving_broker/proof_store/inline_proof_store.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/inline_proof_store.js +7 -11
- package/dest/proving_broker/proof_store/proof_store.d.ts +35 -0
- package/dest/proving_broker/proof_store/proof_store.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/proof_store.js +2 -3
- package/dest/proving_broker/proving_agent.d.ts +45 -0
- package/dest/proving_broker/proving_agent.d.ts.map +1 -0
- package/dest/proving_broker/proving_agent.js +124 -120
- package/dest/proving_broker/proving_agent_instrumentation.d.ts +8 -0
- package/dest/proving_broker/proving_agent_instrumentation.d.ts.map +1 -0
- package/dest/proving_broker/proving_agent_instrumentation.js +3 -3
- package/dest/proving_broker/proving_broker.d.ts +72 -0
- package/dest/proving_broker/proving_broker.d.ts.map +1 -0
- package/dest/proving_broker/proving_broker.js +449 -491
- package/dest/proving_broker/proving_broker_database/memory.d.ts +16 -0
- package/dest/proving_broker/proving_broker_database/memory.d.ts.map +1 -0
- package/dest/proving_broker/proving_broker_database/memory.js +13 -19
- package/dest/proving_broker/proving_broker_database/persisted.d.ts +21 -0
- package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -0
- package/dest/proving_broker/proving_broker_database/persisted.js +21 -41
- package/dest/proving_broker/proving_broker_database.d.ts +39 -0
- package/dest/proving_broker/proving_broker_database.d.ts.map +1 -0
- package/dest/proving_broker/proving_broker_database.js +2 -3
- package/dest/proving_broker/proving_broker_instrumentation.d.ts +25 -0
- package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +1 -0
- package/dest/proving_broker/proving_broker_instrumentation.js +21 -28
- package/dest/proving_broker/proving_job_controller.d.ts +31 -0
- package/dest/proving_broker/proving_job_controller.d.ts.map +1 -0
- package/dest/proving_broker/proving_job_controller.js +62 -81
- package/dest/proving_broker/rpc.d.ts +26 -0
- package/dest/proving_broker/rpc.d.ts.map +1 -0
- package/dest/proving_broker/rpc.js +36 -26
- package/dest/test/mock_prover.d.ts +35 -0
- package/dest/test/mock_prover.d.ts.map +1 -0
- package/dest/test/mock_prover.js +13 -11
- package/package.json +12 -13
- package/src/index.ts +1 -1
- package/src/mocks/test_context.ts +23 -22
- package/src/orchestrator/block-building-helpers.ts +1 -38
- package/src/orchestrator/block-proving-state.ts +15 -15
- package/src/orchestrator/epoch-proving-state.ts +7 -10
- package/src/orchestrator/orchestrator.ts +36 -39
- package/src/orchestrator/tx-proving-state.ts +13 -13
- package/src/proving_broker/rpc.ts +24 -4
- package/src/test/mock_prover.ts +7 -1
- package/dest/prover-agent/index.js +0 -3
- package/dest/prover-agent/memory-proving-queue.js +0 -249
- package/dest/prover-agent/prover-agent.js +0 -201
- package/dest/prover-agent/proving-error.js +0 -8
- package/dest/prover-agent/queue_metrics.js +0 -24
- package/dest/prover-agent/rpc.js +0 -20
- package/src/prover-agent/index.ts +0 -3
- package/src/prover-agent/memory-proving-queue.ts +0 -416
- package/src/prover-agent/prover-agent.ts +0 -248
- package/src/prover-agent/proving-error.ts +0 -9
- package/src/prover-agent/queue_metrics.ts +0 -29
- package/src/prover-agent/rpc.ts +0 -22
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { L2Block, type ProcessedTx, type ServerCircuitProver, type Tx } from '@aztec/circuit-types';
|
|
2
|
+
import { type EpochProver, type ForkMerkleTreeOperations } from '@aztec/circuit-types/interfaces';
|
|
3
|
+
import { type AppendOnlyTreeSnapshot, type BlockHeader, Fr, type GlobalVariables } from '@aztec/circuits.js';
|
|
4
|
+
import { type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
|
|
5
|
+
/**
|
|
6
|
+
* Implements an event driven proving scheduler to build the recursive proof tree. The idea being:
|
|
7
|
+
* 1. Transactions are provided to the scheduler post simulation.
|
|
8
|
+
* 2. Tree insertions are performed as required to generate transaction specific proofs
|
|
9
|
+
* 3. Those transaction specific proofs are generated in the necessary order accounting for dependencies
|
|
10
|
+
* 4. Once a transaction is proven, it will be incorporated into a merge proof
|
|
11
|
+
* 5. Merge proofs are produced at each level of the tree until the root proof is produced
|
|
12
|
+
*
|
|
13
|
+
* The proving implementation is determined by the provided prover. This could be for example a local prover or a remote prover pool.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* The orchestrator, managing the flow of recursive proving operations required to build the rollup proof tree.
|
|
17
|
+
*/
|
|
18
|
+
export declare class ProvingOrchestrator implements EpochProver {
|
|
19
|
+
private dbProvider;
|
|
20
|
+
private prover;
|
|
21
|
+
private readonly proverId;
|
|
22
|
+
private provingState;
|
|
23
|
+
private pendingProvingJobs;
|
|
24
|
+
private provingPromise;
|
|
25
|
+
private metrics;
|
|
26
|
+
private dbs;
|
|
27
|
+
constructor(dbProvider: ForkMerkleTreeOperations, prover: ServerCircuitProver, proverId?: Fr, telemetryClient?: TelemetryClient);
|
|
28
|
+
get tracer(): Tracer;
|
|
29
|
+
getProverId(): Fr;
|
|
30
|
+
stop(): Promise<void>;
|
|
31
|
+
startNewEpoch(epochNumber: number, firstBlockNumber: number, totalNumBlocks: number): void;
|
|
32
|
+
/**
|
|
33
|
+
* Starts off a new block
|
|
34
|
+
* @param globalVariables - The global variables for the block
|
|
35
|
+
* @param l1ToL2Messages - The l1 to l2 messages for the block
|
|
36
|
+
* @returns A proving ticket, containing a promise notifying of proving completion
|
|
37
|
+
*/
|
|
38
|
+
startNewBlock(globalVariables: GlobalVariables, l1ToL2Messages: Fr[], previousBlockHeader: BlockHeader): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* The interface to add simulated transactions to the scheduler. This can only be called once per block.
|
|
41
|
+
* @param txs - The transactions to be proven
|
|
42
|
+
*/
|
|
43
|
+
addTxs(txs: ProcessedTx[]): Promise<void>;
|
|
44
|
+
/**
|
|
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[]): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Marks the block as completed.
|
|
51
|
+
* Computes the block header and updates the archive tree.
|
|
52
|
+
*/
|
|
53
|
+
setBlockCompleted(blockNumber: number, expectedHeader?: BlockHeader): Promise<L2Block>;
|
|
54
|
+
/** Returns the block as built for a given index. */
|
|
55
|
+
getBlock(index: number): L2Block;
|
|
56
|
+
private buildBlock;
|
|
57
|
+
protected verifyBuiltBlockAgainstSyncedState(l2Block: L2Block, newArchive: AppendOnlyTreeSnapshot): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Cancel any further proving
|
|
60
|
+
*/
|
|
61
|
+
cancel(): void;
|
|
62
|
+
/**
|
|
63
|
+
* Returns the proof for the current epoch.
|
|
64
|
+
*/
|
|
65
|
+
finaliseEpoch(): Promise<{
|
|
66
|
+
proof: import("@aztec/circuits.js").Proof;
|
|
67
|
+
publicInputs: import("@aztec/circuits.js/rollup").RootRollupPublicInputs;
|
|
68
|
+
}>;
|
|
69
|
+
/**
|
|
70
|
+
* Starts the proving process for the given transaction and adds it to our state
|
|
71
|
+
* @param tx - The transaction whose proving we wish to commence
|
|
72
|
+
* @param provingState - The proving state being worked on
|
|
73
|
+
*/
|
|
74
|
+
private prepareTransaction;
|
|
75
|
+
/**
|
|
76
|
+
* Enqueue a job to be scheduled
|
|
77
|
+
* @param provingState - The proving state object being operated on
|
|
78
|
+
* @param jobType - The type of job to be queued
|
|
79
|
+
* @param job - The actual job, returns a promise notifying of the job's completion
|
|
80
|
+
*/
|
|
81
|
+
private deferredProving;
|
|
82
|
+
private prepareBaseParityInputs;
|
|
83
|
+
private prepareBaseRollupInputs;
|
|
84
|
+
private enqueueBaseRollup;
|
|
85
|
+
private getOrEnqueueTube;
|
|
86
|
+
private doEnqueueTube;
|
|
87
|
+
private enqueueMergeRollup;
|
|
88
|
+
private enqueueBlockRootRollup;
|
|
89
|
+
private enqueueBaseParityCircuit;
|
|
90
|
+
private checkAndEnqueueRootParityCircuit;
|
|
91
|
+
private enqueueRootParityCircuit;
|
|
92
|
+
private enqueueBlockMergeRollup;
|
|
93
|
+
private enqueueEpochPadding;
|
|
94
|
+
private enqueueRootRollup;
|
|
95
|
+
private checkAndEnqueueNextMergeRollup;
|
|
96
|
+
private checkAndEnqueueBlockRootRollup;
|
|
97
|
+
private checkAndEnqueueNextBlockMergeRollup;
|
|
98
|
+
private checkAndEnqueueRootRollup;
|
|
99
|
+
/**
|
|
100
|
+
* Executes the VM circuit for a public function, will enqueue the corresponding kernel if the
|
|
101
|
+
* previous kernel is ready
|
|
102
|
+
* @param provingState - The proving state being operated on
|
|
103
|
+
* @param txIndex - The index of the transaction being proven
|
|
104
|
+
*/
|
|
105
|
+
private enqueueVM;
|
|
106
|
+
private checkAndEnqueueNextTxCircuit;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=orchestrator.d.ts.map
|
|
@@ -0,0 +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,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,KAAK,WAAW,EAChB,EAAE,EACF,KAAK,eAAe,EAQrB,MAAM,oBAAoB,CAAC;AAiB5B,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,EAAE,mBAAmB,EAAE,WAAW;IAyCnH;;;OAGG;IAIU,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDtD;;;OAGG;IAEU,iBAAiB,CAAC,GAAG,EAAE,EAAE,EAAE;IAcxC;;;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;cAqCR,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;YAwDT,uBAAuB;YA+BvB,uBAAuB;IAmCrC,OAAO,CAAC,iBAAiB;IA+CzB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,aAAa;IA6BrB,OAAO,CAAC,kBAAkB;YA2BZ,sBAAsB;IA2DpC,OAAO,CAAC,wBAAwB;IAwBhC,OAAO,CAAC,gCAAgC;IAUxC,OAAO,CAAC,wBAAwB;IA4BhC,OAAO,CAAC,uBAAuB;YA0BjB,mBAAmB;IA8BjC,OAAO,CAAC,iBAAiB;YA6BX,8BAA8B;YAa9B,8BAA8B;IAyB5C,OAAO,CAAC,mCAAmC;IAa3C,OAAO,CAAC,yBAAyB;IASjC;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IA8CjB,OAAO,CAAC,4BAA4B;CAWrC"}
|