@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 @@
|
|
|
1
|
+
{"version":3,"file":"get-proof-inputs.d.ts","sourceRoot":"","sources":["../../src/bin/get-proof-inputs.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
/* eslint-disable no-console */
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
import { AVM_HINTS_FILENAME, AVM_PUBLIC_INPUTS_FILENAME } from '@aztec/bb-prover';
|
|
2
3
|
import { ProvingJobInputs, ProvingRequestType } from '@aztec/circuit-types';
|
|
3
4
|
import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
|
|
4
5
|
import { createLogger } from '@aztec/foundation/log';
|
|
@@ -19,9 +20,7 @@ async function main() {
|
|
|
19
20
|
printUsage();
|
|
20
21
|
throw new Error('Missing proof URI');
|
|
21
22
|
}
|
|
22
|
-
mkdirSync(outDir, {
|
|
23
|
-
recursive: true
|
|
24
|
-
});
|
|
23
|
+
mkdirSync(outDir, { recursive: true });
|
|
25
24
|
const proofStore = createProofStoreForUri(uri);
|
|
26
25
|
logger.info(`Processing uri ${uri}`);
|
|
27
26
|
const input = await proofStore.getProofInput(uri);
|
|
@@ -31,22 +30,21 @@ async function main() {
|
|
|
31
30
|
}
|
|
32
31
|
// This mimics the behavior of bb-prover/src/bb/execute.ts
|
|
33
32
|
function writeProofInputs(input, outDir) {
|
|
34
|
-
switch(input.type){
|
|
35
|
-
case ProvingRequestType.PUBLIC_VM:
|
|
36
|
-
{
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
throw new Error(`Unimplemented proving request type: ${ProvingRequestType[input.type]}`);
|
|
46
|
-
}
|
|
33
|
+
switch (input.type) {
|
|
34
|
+
case ProvingRequestType.PUBLIC_VM: {
|
|
35
|
+
writeFileSync(`${outDir}/${AVM_PUBLIC_INPUTS_FILENAME}`, input.inputs.publicInputs.toBuffer());
|
|
36
|
+
logger.info(`Wrote AVM public inputs to ${AVM_PUBLIC_INPUTS_FILENAME}`);
|
|
37
|
+
writeFileSync(`${outDir}/${AVM_HINTS_FILENAME}`, input.inputs.avmHints.toBuffer());
|
|
38
|
+
logger.info(`Wrote AVM hints to ${AVM_HINTS_FILENAME}`);
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
default: {
|
|
42
|
+
throw new Error(`Unimplemented proving request type: ${ProvingRequestType[input.type]}`);
|
|
43
|
+
}
|
|
47
44
|
}
|
|
48
45
|
}
|
|
49
|
-
main().catch(
|
|
46
|
+
main().catch(err => {
|
|
50
47
|
console.error(err);
|
|
51
48
|
process.exit(1);
|
|
52
49
|
});
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXByb29mLWlucHV0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vZ2V0LXByb29mLWlucHV0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEYsT0FBTyxFQUFpQixnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFFOUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFcEUsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7QUFFOUQsU0FBUyxVQUFVO0lBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztBQUNuRSxDQUFDO0FBRUQsS0FBSyxVQUFVLElBQUk7SUFDakIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2pDLFVBQVUsRUFBRSxDQUFDO1FBQ2IsT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDO0lBQ3RDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNULFVBQVUsRUFBRSxDQUFDO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFdkMsTUFBTSxVQUFVLEdBQUcsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNyQyxNQUFNLEtBQUssR0FBRyxNQUFNLFVBQVUsQ0FBQyxhQUFhLENBQUMsR0FBZSxDQUFDLENBQUM7SUFDOUQsTUFBTSxDQUFDLElBQUksQ0FBQyxvQkFBb0Isa0JBQWtCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsRSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFaEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sbUJBQW1CLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMxRixDQUFDO0FBRUQsMERBQTBEO0FBQzFELFNBQVMsZ0JBQWdCLENBQUMsS0FBdUIsRUFBRSxNQUFjO0lBQy9ELFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25CLEtBQUssa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUNsQyxhQUFhLENBQUMsR0FBRyxNQUFNLElBQUksMEJBQTBCLEVBQUUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQy9GLE1BQU0sQ0FBQyxJQUFJLENBQUMsOEJBQThCLDBCQUEwQixFQUFFLENBQUMsQ0FBQztZQUN4RSxhQUFhLENBQUMsR0FBRyxNQUFNLElBQUksa0JBQWtCLEVBQUUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ25GLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLGtCQUFrQixFQUFFLENBQUMsQ0FBQztZQUN4RCxNQUFNO1FBQ1IsQ0FBQztRQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDUixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNGLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtJQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/block_builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAExF,cAAc,YAAY,CAAC;AAC3B,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,EAAE,wBAAwB,GAAG,YAAY,CAAC;CACpD"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type BlockBuilder, L2Block, type MerkleTreeWriteOperations, type ProcessedTx } from '@aztec/circuit-types';
|
|
2
|
+
import { Fr, type GlobalVariables } from '@aztec/circuits.js';
|
|
3
|
+
import { type TelemetryClient } from '@aztec/telemetry-client';
|
|
4
|
+
/**
|
|
5
|
+
* Builds a block and its header from a set of processed tx without running any circuits.
|
|
6
|
+
*/
|
|
7
|
+
export declare class LightweightBlockBuilder implements BlockBuilder {
|
|
8
|
+
private db;
|
|
9
|
+
private telemetry;
|
|
10
|
+
private spongeBlobState?;
|
|
11
|
+
private globalVariables?;
|
|
12
|
+
private l1ToL2Messages?;
|
|
13
|
+
private txs;
|
|
14
|
+
private readonly logger;
|
|
15
|
+
constructor(db: MerkleTreeWriteOperations, telemetry?: TelemetryClient);
|
|
16
|
+
startNewBlock(globalVariables: GlobalVariables, l1ToL2Messages: Fr[]): Promise<void>;
|
|
17
|
+
addTxs(txs: ProcessedTx[]): Promise<void>;
|
|
18
|
+
setBlockCompleted(): Promise<L2Block>;
|
|
19
|
+
private buildBlock;
|
|
20
|
+
}
|
|
21
|
+
export declare class LightweightBlockBuilderFactory {
|
|
22
|
+
private telemetry;
|
|
23
|
+
constructor(telemetry?: TelemetryClient);
|
|
24
|
+
create(db: MerkleTreeWriteOperations): BlockBuilder;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Creates a block builder under the hood with the given txs and messages and creates a block.
|
|
28
|
+
* @param db - A db fork to use for block building.
|
|
29
|
+
*/
|
|
30
|
+
export declare function buildBlock(txs: ProcessedTx[], globalVariables: GlobalVariables, l1ToL2Messages: Fr[], db: MerkleTreeWriteOperations, telemetry?: TelemetryClient): Promise<L2Block>;
|
|
31
|
+
//# sourceMappingURL=light.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../../src/block_builder/light.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,OAAO,EAEP,KAAK,yBAAyB,EAC9B,KAAK,WAAW,EAEjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,EAAE,EAAE,KAAK,eAAe,EAAuC,MAAM,oBAAoB,CAAC;AAInG,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAQnF;;GAEG;AACH,qBAAa,uBAAwB,YAAW,YAAY;IAS9C,OAAO,CAAC,EAAE;IAA6B,OAAO,CAAC,SAAS;IARpE,OAAO,CAAC,eAAe,CAAC,CAAa;IACrC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,cAAc,CAAC,CAAO;IAE9B,OAAO,CAAC,GAAG,CAAqB;IAEhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;gBAElD,EAAE,EAAE,yBAAyB,EAAU,SAAS,GAAE,eAAsC;IAEtG,aAAa,CAAC,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpF,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/C,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;YAIvB,UAAU;CAoBzB;AAED,qBAAa,8BAA8B;IAC7B,OAAO,CAAC,SAAS;gBAAT,SAAS,GAAE,eAAsC;IAErE,MAAM,CAAC,EAAE,EAAE,yBAAyB,GAAG,YAAY;CAGpD;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,WAAW,EAAE,EAClB,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,EAAE,EAAE,EACpB,EAAE,EAAE,yBAAyB,EAC7B,SAAS,GAAE,eAAsC,oBAMlD"}
|
|
@@ -1,31 +1,22 @@
|
|
|
1
|
-
import { L2Block, MerkleTreeId, toNumBlobFields } from '@aztec/circuit-types';
|
|
1
|
+
import { L2Block, MerkleTreeId, toNumBlobFields, } from '@aztec/circuit-types';
|
|
2
2
|
import { Fr, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP } from '@aztec/circuits.js';
|
|
3
3
|
import { SpongeBlob } from '@aztec/circuits.js/blobs';
|
|
4
4
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
5
5
|
import { createLogger } from '@aztec/foundation/log';
|
|
6
6
|
import { getTelemetryClient } from '@aztec/telemetry-client';
|
|
7
|
-
import { buildBaseRollupHints, buildHeaderAndBodyFromTxs, getTreeSnapshot } from '../orchestrator/block-building-helpers.js';
|
|
7
|
+
import { buildBaseRollupHints, buildHeaderAndBodyFromTxs, getTreeSnapshot, } from '../orchestrator/block-building-helpers.js';
|
|
8
8
|
/**
|
|
9
9
|
* Builds a block and its header from a set of processed tx without running any circuits.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
telemetry
|
|
13
|
-
spongeBlobState;
|
|
14
|
-
globalVariables;
|
|
15
|
-
l1ToL2Messages;
|
|
16
|
-
txs;
|
|
17
|
-
logger;
|
|
18
|
-
constructor(db, telemetry = getTelemetryClient()){
|
|
10
|
+
*/
|
|
11
|
+
export class LightweightBlockBuilder {
|
|
12
|
+
constructor(db, telemetry = getTelemetryClient()) {
|
|
19
13
|
this.db = db;
|
|
20
14
|
this.telemetry = telemetry;
|
|
21
15
|
this.txs = [];
|
|
22
16
|
this.logger = createLogger('prover-client:block_builder');
|
|
23
17
|
}
|
|
24
18
|
async startNewBlock(globalVariables, l1ToL2Messages) {
|
|
25
|
-
this.logger.debug('Starting new block', {
|
|
26
|
-
globalVariables: globalVariables.toInspect(),
|
|
27
|
-
l1ToL2Messages
|
|
28
|
-
});
|
|
19
|
+
this.logger.debug('Starting new block', { globalVariables: globalVariables.toInspect(), l1ToL2Messages });
|
|
29
20
|
this.globalVariables = globalVariables;
|
|
30
21
|
this.l1ToL2Messages = padArrayEnd(l1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP);
|
|
31
22
|
this.txs = [];
|
|
@@ -35,10 +26,8 @@ import { buildBaseRollupHints, buildHeaderAndBodyFromTxs, getTreeSnapshot } from
|
|
|
35
26
|
}
|
|
36
27
|
async addTxs(txs) {
|
|
37
28
|
this.spongeBlobState = SpongeBlob.init(toNumBlobFields(txs));
|
|
38
|
-
for (const tx of txs){
|
|
39
|
-
this.logger.debug('Adding new tx to block', {
|
|
40
|
-
txHash: tx.hash.toString()
|
|
41
|
-
});
|
|
29
|
+
for (const tx of txs) {
|
|
30
|
+
this.logger.debug('Adding new tx to block', { txHash: tx.hash.toString() });
|
|
42
31
|
this.txs.push(tx);
|
|
43
32
|
await buildBaseRollupHints(tx, this.globalVariables, this.db, this.spongeBlobState);
|
|
44
33
|
}
|
|
@@ -54,14 +43,13 @@ import { buildBaseRollupHints, buildHeaderAndBodyFromTxs, getTreeSnapshot } from
|
|
|
54
43
|
this.logger.debug(`Built block ${block.number}`, {
|
|
55
44
|
globalVariables: this.globalVariables?.toInspect(),
|
|
56
45
|
archiveRoot: newArchive.root.toString(),
|
|
57
|
-
blockHash: block.hash.toString()
|
|
46
|
+
blockHash: block.hash.toString(),
|
|
58
47
|
});
|
|
59
48
|
return block;
|
|
60
49
|
}
|
|
61
50
|
}
|
|
62
51
|
export class LightweightBlockBuilderFactory {
|
|
63
|
-
telemetry
|
|
64
|
-
constructor(telemetry = getTelemetryClient()){
|
|
52
|
+
constructor(telemetry = getTelemetryClient()) {
|
|
65
53
|
this.telemetry = telemetry;
|
|
66
54
|
}
|
|
67
55
|
create(db) {
|
|
@@ -71,9 +59,11 @@ export class LightweightBlockBuilderFactory {
|
|
|
71
59
|
/**
|
|
72
60
|
* Creates a block builder under the hood with the given txs and messages and creates a block.
|
|
73
61
|
* @param db - A db fork to use for block building.
|
|
74
|
-
*/
|
|
62
|
+
*/
|
|
63
|
+
export async function buildBlock(txs, globalVariables, l1ToL2Messages, db, telemetry = getTelemetryClient()) {
|
|
75
64
|
const builder = new LightweightBlockBuilder(db, telemetry);
|
|
76
65
|
await builder.startNewBlock(globalVariables, l1ToL2Messages);
|
|
77
66
|
await builder.addTxs(txs);
|
|
78
67
|
return await builder.setBlockCompleted();
|
|
79
68
|
}
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2tfYnVpbGRlci9saWdodC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUNQLFlBQVksRUFHWixlQUFlLEdBQ2hCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLEVBQUUsRUFBd0IsbUNBQW1DLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQXdCLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbkYsT0FBTyxFQUNMLG9CQUFvQixFQUNwQix5QkFBeUIsRUFDekIsZUFBZSxHQUNoQixNQUFNLDJDQUEyQyxDQUFDO0FBRW5EOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQVNsQyxZQUFvQixFQUE2QixFQUFVLFlBQTZCLGtCQUFrQixFQUFFO1FBQXhGLE9BQUUsR0FBRixFQUFFLENBQTJCO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBd0M7UUFKcEcsUUFBRyxHQUFrQixFQUFFLENBQUM7UUFFZixXQUFNLEdBQUcsWUFBWSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFFeUMsQ0FBQztJQUVoSCxLQUFLLENBQUMsYUFBYSxDQUFDLGVBQWdDLEVBQUUsY0FBb0I7UUFDeEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFDLFNBQVMsRUFBRSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDMUcsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7UUFDdkMsSUFBSSxDQUFDLGNBQWMsR0FB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
|
package/dest/config.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type ACVMConfig, type BBConfig } from '@aztec/bb-prover';
|
|
2
|
+
import { type ProverConfig } from '@aztec/circuit-types';
|
|
3
|
+
import { type ConfigMappingsType } from '@aztec/foundation/config';
|
|
4
|
+
import { type ProverAgentConfig, type ProverBrokerConfig } from './proving_broker/config.js';
|
|
5
|
+
/**
|
|
6
|
+
* The prover configuration.
|
|
7
|
+
*/
|
|
8
|
+
export type ProverClientConfig = ProverConfig & ProverAgentConfig & ProverBrokerConfig & BBConfig & ACVMConfig;
|
|
9
|
+
export declare const bbConfigMappings: ConfigMappingsType<BBConfig & ACVMConfig>;
|
|
10
|
+
export declare const proverClientConfigMappings: ConfigMappingsType<ProverClientConfig>;
|
|
11
|
+
/**
|
|
12
|
+
* Returns the prover configuration from the environment variables.
|
|
13
|
+
* Note: If an environment variable is not set, the default value is used.
|
|
14
|
+
* @returns The prover configuration.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getProverEnvVars(): ProverClientConfig;
|
|
17
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,KAAK,YAAY,EAAwB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,KAAK,kBAAkB,EAA8C,MAAM,0BAA0B,CAAC;AAE/G,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAGxB,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE/G,eAAO,MAAM,gBAAgB,EAAE,kBAAkB,CAAC,QAAQ,GAAG,UAAU,CAsBtE,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,kBAAkB,CAK7E,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,kBAAkB,CAErD"}
|
package/dest/config.js
CHANGED
|
@@ -1,39 +1,41 @@
|
|
|
1
1
|
import { proverConfigMappings } from '@aztec/circuit-types';
|
|
2
2
|
import { booleanConfigHelper, getConfigFromMappings } from '@aztec/foundation/config';
|
|
3
|
-
import { proverAgentConfigMappings, proverBrokerConfigMappings } from './proving_broker/config.js';
|
|
3
|
+
import { proverAgentConfigMappings, proverBrokerConfigMappings, } from './proving_broker/config.js';
|
|
4
4
|
export const bbConfigMappings = {
|
|
5
5
|
acvmWorkingDirectory: {
|
|
6
6
|
env: 'ACVM_WORKING_DIRECTORY',
|
|
7
|
-
description: 'The working directory to use for simulation/proving'
|
|
7
|
+
description: 'The working directory to use for simulation/proving',
|
|
8
8
|
},
|
|
9
9
|
acvmBinaryPath: {
|
|
10
10
|
env: 'ACVM_BINARY_PATH',
|
|
11
|
-
description: 'The path to the ACVM binary'
|
|
11
|
+
description: 'The path to the ACVM binary',
|
|
12
12
|
},
|
|
13
13
|
bbWorkingDirectory: {
|
|
14
14
|
env: 'BB_WORKING_DIRECTORY',
|
|
15
|
-
description: 'The working directory to use for proving'
|
|
15
|
+
description: 'The working directory to use for proving',
|
|
16
16
|
},
|
|
17
17
|
bbBinaryPath: {
|
|
18
18
|
env: 'BB_BINARY_PATH',
|
|
19
|
-
description: 'The path to the bb binary'
|
|
19
|
+
description: 'The path to the bb binary',
|
|
20
20
|
},
|
|
21
21
|
bbSkipCleanup: {
|
|
22
22
|
env: 'BB_SKIP_CLEANUP',
|
|
23
23
|
description: 'Whether to skip cleanup of bb temporary files',
|
|
24
|
-
...booleanConfigHelper(false)
|
|
25
|
-
}
|
|
24
|
+
...booleanConfigHelper(false),
|
|
25
|
+
},
|
|
26
26
|
};
|
|
27
27
|
export const proverClientConfigMappings = {
|
|
28
28
|
...bbConfigMappings,
|
|
29
29
|
...proverConfigMappings,
|
|
30
30
|
...proverAgentConfigMappings,
|
|
31
|
-
...proverBrokerConfigMappings
|
|
31
|
+
...proverBrokerConfigMappings,
|
|
32
32
|
};
|
|
33
33
|
/**
|
|
34
34
|
* Returns the prover configuration from the environment variables.
|
|
35
35
|
* Note: If an environment variable is not set, the default value is used.
|
|
36
36
|
* @returns The prover configuration.
|
|
37
|
-
*/
|
|
37
|
+
*/
|
|
38
|
+
export function getProverEnvVars() {
|
|
38
39
|
return getConfigFromMappings(proverClientConfigMappings);
|
|
39
40
|
}
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQXFCLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0UsT0FBTyxFQUEyQixtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRS9HLE9BQU8sRUFHTCx5QkFBeUIsRUFDekIsMEJBQTBCLEdBQzNCLE1BQU0sNEJBQTRCLENBQUM7QUFPcEMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQThDO0lBQ3pFLG9CQUFvQixFQUFFO1FBQ3BCLEdBQUcsRUFBRSx3QkFBd0I7UUFDN0IsV0FBVyxFQUFFLHFEQUFxRDtLQUNuRTtJQUNELGNBQWMsRUFBRTtRQUNkLEdBQUcsRUFBRSxrQkFBa0I7UUFDdkIsV0FBVyxFQUFFLDZCQUE2QjtLQUMzQztJQUNELGtCQUFrQixFQUFFO1FBQ2xCLEdBQUcsRUFBRSxzQkFBc0I7UUFDM0IsV0FBVyxFQUFFLDBDQUEwQztLQUN4RDtJQUNELFlBQVksRUFBRTtRQUNaLEdBQUcsRUFBRSxnQkFBZ0I7UUFDckIsV0FBVyxFQUFFLDJCQUEyQjtLQUN6QztJQUNELGFBQWEsRUFBRTtRQUNiLEdBQUcsRUFBRSxpQkFBaUI7UUFDdEIsV0FBVyxFQUFFLCtDQUErQztRQUM1RCxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQztLQUM5QjtDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBMkM7SUFDaEYsR0FBRyxnQkFBZ0I7SUFDbkIsR0FBRyxvQkFBb0I7SUFDdkIsR0FBRyx5QkFBeUI7SUFDNUIsR0FBRywwQkFBMEI7Q0FDOUIsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCO0lBQzlCLE9BQU8scUJBQXFCLENBQXFCLDBCQUEwQixDQUFDLENBQUM7QUFDL0UsQ0FBQyJ9
|
package/dest/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC"}
|
package/dest/index.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './prover-client/index.js';
|
|
2
2
|
export * from './config.js';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGFBQWEsQ0FBQyJ9
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type MerkleTreeWriteOperations, type ProcessedTx } from '@aztec/circuit-types';
|
|
2
|
+
import { GlobalVariables } from '@aztec/circuits.js';
|
|
3
|
+
import { type Logger } from '@aztec/foundation/log';
|
|
4
|
+
import { type SimulationProvider } from '@aztec/simulator/server';
|
|
5
|
+
export declare const getEnvironmentConfig: (logger: Logger) => Promise<{
|
|
6
|
+
acvmWorkingDirectory: string;
|
|
7
|
+
bbWorkingDirectory: string;
|
|
8
|
+
expectedAcvmPath: string;
|
|
9
|
+
expectedBBPath: string;
|
|
10
|
+
directoryToCleanup: string | undefined;
|
|
11
|
+
bbSkipCleanup: boolean;
|
|
12
|
+
} | undefined>;
|
|
13
|
+
export declare function getSimulationProvider(config: {
|
|
14
|
+
acvmWorkingDirectory: string | undefined;
|
|
15
|
+
acvmBinaryPath: string | undefined;
|
|
16
|
+
}, logger?: Logger): Promise<SimulationProvider>;
|
|
17
|
+
export declare const updateExpectedTreesFromTxs: (db: MerkleTreeWriteOperations, txs: ProcessedTx[]) => Promise<void>;
|
|
18
|
+
export declare const makeGlobals: (blockNumber: number) => GlobalVariables;
|
|
19
|
+
//# sourceMappingURL=fixtures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/mocks/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,yBAAyB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAKL,eAAe,EAIhB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAuB,KAAK,kBAAkB,EAA0B,MAAM,yBAAyB,CAAC;AAiB/G,eAAO,MAAM,oBAAoB,WAAkB,MAAM;;;;;;;cAkCxD,CAAC;AAEF,wBAAsB,qBAAqB,CACzC,MAAM,EAAE;IAAE,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EACxF,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,CAe7B;AAGD,eAAO,MAAM,0BAA0B,OAAc,yBAAyB,OAAO,WAAW,EAAE,kBAgBjG,CAAC;AAEF,eAAO,MAAM,WAAW,gBAAiB,MAAM,oBAW9C,CAAC"}
|
package/dest/mocks/fixtures.js
CHANGED
|
@@ -1,34 +1,31 @@
|
|
|
1
1
|
import { MerkleTreeId } from '@aztec/circuit-types';
|
|
2
|
-
import { AztecAddress, EthAddress, Fr, GasFees, GlobalVariables, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, NULLIFIER_TREE_HEIGHT } from '@aztec/circuits.js';
|
|
2
|
+
import { AztecAddress, EthAddress, Fr, GasFees, GlobalVariables, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, NULLIFIER_TREE_HEIGHT, } from '@aztec/circuits.js';
|
|
3
3
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
4
4
|
import { randomBytes } from '@aztec/foundation/crypto';
|
|
5
5
|
import { fileURLToPath } from '@aztec/foundation/url';
|
|
6
6
|
import { NativeACVMSimulator, WASMSimulatorWithBlobs } from '@aztec/simulator/server';
|
|
7
7
|
import { promises as fs } from 'fs';
|
|
8
8
|
import path from 'path';
|
|
9
|
-
const { BB_RELEASE_DIR = 'cpp/build/bin', TEMP_DIR = '/tmp', BB_BINARY_PATH = '', BB_WORKING_DIRECTORY = '', BB_SKIP_CLEANUP = '', NOIR_RELEASE_DIR = 'noir-repo/target/release', ACVM_BINARY_PATH = '', ACVM_WORKING_DIRECTORY = '' } = process.env;
|
|
9
|
+
const { BB_RELEASE_DIR = 'cpp/build/bin', TEMP_DIR = '/tmp', BB_BINARY_PATH = '', BB_WORKING_DIRECTORY = '', BB_SKIP_CLEANUP = '', NOIR_RELEASE_DIR = 'noir-repo/target/release', ACVM_BINARY_PATH = '', ACVM_WORKING_DIRECTORY = '', } = process.env;
|
|
10
10
|
// Determines if we have access to the bb binary and a tmp folder for temp files
|
|
11
|
-
export const getEnvironmentConfig = async (logger)=>{
|
|
11
|
+
export const getEnvironmentConfig = async (logger) => {
|
|
12
12
|
try {
|
|
13
|
-
const expectedBBPath = BB_BINARY_PATH
|
|
13
|
+
const expectedBBPath = BB_BINARY_PATH
|
|
14
|
+
? BB_BINARY_PATH
|
|
15
|
+
: `${path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../../../../barretenberg/', BB_RELEASE_DIR)}/bb`;
|
|
14
16
|
await fs.access(expectedBBPath, fs.constants.R_OK);
|
|
15
17
|
const tempWorkingDirectory = `${TEMP_DIR}/${randomBytes(4).toString('hex')}`;
|
|
16
18
|
const bbWorkingDirectory = BB_WORKING_DIRECTORY ? BB_WORKING_DIRECTORY : `${tempWorkingDirectory}/bb`;
|
|
17
|
-
await fs.mkdir(bbWorkingDirectory, {
|
|
18
|
-
recursive: true
|
|
19
|
-
});
|
|
19
|
+
await fs.mkdir(bbWorkingDirectory, { recursive: true });
|
|
20
20
|
logger.verbose(`Using native BB binary at ${expectedBBPath} with working directory ${bbWorkingDirectory}`);
|
|
21
|
-
const expectedAcvmPath = ACVM_BINARY_PATH
|
|
21
|
+
const expectedAcvmPath = ACVM_BINARY_PATH
|
|
22
|
+
? ACVM_BINARY_PATH
|
|
23
|
+
: `${path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../../../../noir/', NOIR_RELEASE_DIR)}/acvm`;
|
|
22
24
|
await fs.access(expectedAcvmPath, fs.constants.R_OK);
|
|
23
25
|
const acvmWorkingDirectory = ACVM_WORKING_DIRECTORY ? ACVM_WORKING_DIRECTORY : `${tempWorkingDirectory}/acvm`;
|
|
24
|
-
await fs.mkdir(acvmWorkingDirectory, {
|
|
25
|
-
recursive: true
|
|
26
|
-
});
|
|
26
|
+
await fs.mkdir(acvmWorkingDirectory, { recursive: true });
|
|
27
27
|
logger.verbose(`Using native ACVM binary at ${expectedAcvmPath} with working directory ${acvmWorkingDirectory}`);
|
|
28
|
-
const bbSkipCleanup = [
|
|
29
|
-
'1',
|
|
30
|
-
'true'
|
|
31
|
-
].includes(BB_SKIP_CLEANUP);
|
|
28
|
+
const bbSkipCleanup = ['1', 'true'].includes(BB_SKIP_CLEANUP);
|
|
32
29
|
bbSkipCleanup && logger.verbose(`Not going to clean up BB working directory ${bbWorkingDirectory} after run`);
|
|
33
30
|
return {
|
|
34
31
|
acvmWorkingDirectory,
|
|
@@ -36,9 +33,10 @@ export const getEnvironmentConfig = async (logger)=>{
|
|
|
36
33
|
expectedAcvmPath,
|
|
37
34
|
expectedBBPath,
|
|
38
35
|
directoryToCleanup: ACVM_WORKING_DIRECTORY && BB_WORKING_DIRECTORY ? undefined : tempWorkingDirectory,
|
|
39
|
-
bbSkipCleanup
|
|
36
|
+
bbSkipCleanup,
|
|
40
37
|
};
|
|
41
|
-
}
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
42
40
|
logger.verbose(`Native BB not available, error: ${err}`);
|
|
43
41
|
return undefined;
|
|
44
42
|
}
|
|
@@ -47,12 +45,11 @@ export async function getSimulationProvider(config, logger) {
|
|
|
47
45
|
if (config.acvmBinaryPath && config.acvmWorkingDirectory) {
|
|
48
46
|
try {
|
|
49
47
|
await fs.access(config.acvmBinaryPath, fs.constants.R_OK);
|
|
50
|
-
await fs.mkdir(config.acvmWorkingDirectory, {
|
|
51
|
-
recursive: true
|
|
52
|
-
});
|
|
48
|
+
await fs.mkdir(config.acvmWorkingDirectory, { recursive: true });
|
|
53
49
|
logger?.info(`Using native ACVM at ${config.acvmBinaryPath} and working directory ${config.acvmWorkingDirectory}`);
|
|
54
50
|
return new NativeACVMSimulator(config.acvmWorkingDirectory, config.acvmBinaryPath);
|
|
55
|
-
}
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
56
53
|
logger?.warn(`Failed to access ACVM at ${config.acvmBinaryPath}, falling back to WASM`);
|
|
57
54
|
}
|
|
58
55
|
}
|
|
@@ -60,13 +57,14 @@ export async function getSimulationProvider(config, logger) {
|
|
|
60
57
|
return new WASMSimulatorWithBlobs();
|
|
61
58
|
}
|
|
62
59
|
// Updates the expectedDb trees based on the new note hashes, contracts, and nullifiers from these txs
|
|
63
|
-
export const updateExpectedTreesFromTxs = async (db, txs)=>{
|
|
64
|
-
await db.appendLeaves(MerkleTreeId.NOTE_HASH_TREE, txs.flatMap(
|
|
65
|
-
await db.batchInsert(MerkleTreeId.NULLIFIER_TREE, txs.flatMap(
|
|
66
|
-
for (const tx of txs){
|
|
67
|
-
await db.sequentialInsert(MerkleTreeId.PUBLIC_DATA_TREE, tx.txEffect.publicDataWrites.map(
|
|
60
|
+
export const updateExpectedTreesFromTxs = async (db, txs) => {
|
|
61
|
+
await db.appendLeaves(MerkleTreeId.NOTE_HASH_TREE, txs.flatMap(tx => padArrayEnd(tx.txEffect.noteHashes, Fr.zero(), MAX_NOTE_HASHES_PER_TX)));
|
|
62
|
+
await db.batchInsert(MerkleTreeId.NULLIFIER_TREE, txs.flatMap(tx => padArrayEnd(tx.txEffect.nullifiers, Fr.zero(), MAX_NULLIFIERS_PER_TX).map(x => x.toBuffer())), NULLIFIER_TREE_HEIGHT);
|
|
63
|
+
for (const tx of txs) {
|
|
64
|
+
await db.sequentialInsert(MerkleTreeId.PUBLIC_DATA_TREE, tx.txEffect.publicDataWrites.map(write => write.toBuffer()));
|
|
68
65
|
}
|
|
69
66
|
};
|
|
70
|
-
export const makeGlobals = (blockNumber)=>{
|
|
71
|
-
return new GlobalVariables(Fr.ZERO, Fr.ZERO, new Fr(blockNumber)
|
|
67
|
+
export const makeGlobals = (blockNumber) => {
|
|
68
|
+
return new GlobalVariables(Fr.ZERO, Fr.ZERO, new Fr(blockNumber) /** block number */, new Fr(blockNumber) /** slot number */, new Fr(blockNumber) /** timestamp */, EthAddress.ZERO, AztecAddress.ZERO, GasFees.empty());
|
|
72
69
|
};
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9ja3MvZml4dHVyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBb0QsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RyxPQUFPLEVBQ0wsWUFBWSxFQUNaLFVBQVUsRUFDVixFQUFFLEVBQ0YsT0FBTyxFQUNQLGVBQWUsRUFDZixzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLHFCQUFxQixHQUN0QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBMkIsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUvRyxPQUFPLEVBQUUsUUFBUSxJQUFJLEVBQUUsRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFFeEIsTUFBTSxFQUNKLGNBQWMsR0FBRyxlQUFlLEVBQ2hDLFFBQVEsR0FBRyxNQUFNLEVBQ2pCLGNBQWMsR0FBRyxFQUFFLEVBQ25CLG9CQUFvQixHQUFHLEVBQUUsRUFDekIsZUFBZSxHQUFHLEVBQUUsRUFDcEIsZ0JBQWdCLEdBQUcsMEJBQTBCLEVBQzdDLGdCQUFnQixHQUFHLEVBQUUsRUFDckIsc0JBQXNCLEdBQUcsRUFBRSxHQUM1QixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7QUFFaEIsZ0ZBQWdGO0FBQ2hGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEtBQUssRUFBRSxNQUFjLEVBQUUsRUFBRTtJQUMzRCxJQUFJLENBQUM7UUFDSCxNQUFNLGNBQWMsR0FBRyxjQUFjO1lBQ25DLENBQUMsQ0FBQyxjQUFj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
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { type BBProverConfig } from '@aztec/bb-prover';
|
|
2
|
+
import { type L2Block, type ProcessedTx, type ServerCircuitProver, type Tx } from '@aztec/circuit-types';
|
|
3
|
+
import { makeBloatedProcessedTx } from '@aztec/circuit-types/test';
|
|
4
|
+
import { type AppendOnlyTreeSnapshot, type BlockHeader, type GlobalVariables } from '@aztec/circuits.js';
|
|
5
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
6
|
+
import { type Logger } from '@aztec/foundation/log';
|
|
7
|
+
import { PublicProcessor, PublicTxSimulator, type SimulationProvider } from '@aztec/simulator/server';
|
|
8
|
+
import { type MerkleTreeAdminDatabase } from '@aztec/world-state';
|
|
9
|
+
import { ProvingOrchestrator } from '../orchestrator/index.js';
|
|
10
|
+
import { TestBroker } from '../test/mock_prover.js';
|
|
11
|
+
export declare class TestContext {
|
|
12
|
+
publicTxSimulator: PublicTxSimulator;
|
|
13
|
+
worldState: MerkleTreeAdminDatabase;
|
|
14
|
+
publicProcessor: PublicProcessor;
|
|
15
|
+
simulationProvider: SimulationProvider;
|
|
16
|
+
globalVariables: GlobalVariables;
|
|
17
|
+
prover: ServerCircuitProver;
|
|
18
|
+
broker: TestBroker;
|
|
19
|
+
orchestrator: TestProvingOrchestrator;
|
|
20
|
+
blockNumber: number;
|
|
21
|
+
directoriesToCleanup: string[];
|
|
22
|
+
logger: Logger;
|
|
23
|
+
private headers;
|
|
24
|
+
constructor(publicTxSimulator: PublicTxSimulator, worldState: MerkleTreeAdminDatabase, publicProcessor: PublicProcessor, simulationProvider: SimulationProvider, globalVariables: GlobalVariables, prover: ServerCircuitProver, broker: TestBroker, orchestrator: TestProvingOrchestrator, blockNumber: number, directoriesToCleanup: string[], logger: Logger);
|
|
25
|
+
get epochProver(): TestProvingOrchestrator;
|
|
26
|
+
static new(logger: Logger, proverCount?: number, createProver?: (bbConfig: BBProverConfig) => Promise<ServerCircuitProver>, blockNumber?: number): Promise<TestContext>;
|
|
27
|
+
getFork(): Promise<import("@aztec/circuit-types").MerkleTreeWriteOperations>;
|
|
28
|
+
getBlockHeader(blockNumber: 0): BlockHeader;
|
|
29
|
+
getBlockHeader(blockNumber: number): BlockHeader | undefined;
|
|
30
|
+
getPreviousBlockHeader(currentBlockNumber?: number): BlockHeader;
|
|
31
|
+
cleanup(): Promise<void>;
|
|
32
|
+
makeProcessedTx(opts?: Parameters<typeof makeBloatedProcessedTx>[0]): Promise<ProcessedTx>;
|
|
33
|
+
makeProcessedTx(seed?: number): Promise<ProcessedTx>;
|
|
34
|
+
/** Creates a block with the given number of txs and adds it to world-state */
|
|
35
|
+
makePendingBlock(numTxs: number, numMsgs?: number, blockNumOrGlobals?: GlobalVariables | number, makeProcessedTxOpts?: (index: number) => Partial<Parameters<typeof makeBloatedProcessedTx>[0]>): Promise<{
|
|
36
|
+
block: L2Block;
|
|
37
|
+
txs: ProcessedTx[];
|
|
38
|
+
msgs: Fr[];
|
|
39
|
+
}>;
|
|
40
|
+
processPublicFunctions(txs: Tx[], maxTransactions: number): Promise<[ProcessedTx[], import("@aztec/circuit-types").FailedTx[], import("@aztec/circuit-types").NestedProcessReturnValues[]]>;
|
|
41
|
+
setTreeRoots(txs: ProcessedTx[]): Promise<void>;
|
|
42
|
+
private processPublicFunctionsWithMockExecutorImplementation;
|
|
43
|
+
}
|
|
44
|
+
declare class TestProvingOrchestrator extends ProvingOrchestrator {
|
|
45
|
+
isVerifyBuiltBlockAgainstSyncedStateEnabled: boolean;
|
|
46
|
+
protected verifyBuiltBlockAgainstSyncedState(l2Block: L2Block, newArchive: AppendOnlyTreeSnapshot): Promise<void>;
|
|
47
|
+
}
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=test_context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test_context.d.ts","sourceRoot":"","sources":["../../src/mocks/test_context.ts"],"names":[],"mappings":"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"}
|