@aztec/prover-client 0.67.1 → 0.68.1
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_builder/light.d.ts +4 -3
- package/dest/block_builder/light.d.ts.map +1 -1
- package/dest/block_builder/light.js +23 -16
- package/dest/index.d.ts +0 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +1 -2
- package/dest/mocks/fixtures.d.ts.map +1 -1
- package/dest/mocks/fixtures.js +3 -3
- package/dest/mocks/test_context.d.ts +3 -2
- package/dest/mocks/test_context.d.ts.map +1 -1
- package/dest/mocks/test_context.js +24 -12
- package/dest/orchestrator/block-building-helpers.d.ts +8 -2
- package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
- package/dest/orchestrator/block-building-helpers.js +20 -7
- package/dest/orchestrator/block-proving-state.d.ts +8 -5
- package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/block-proving-state.js +16 -7
- package/dest/orchestrator/epoch-proving-state.d.ts +3 -2
- package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/epoch-proving-state.js +3 -3
- package/dest/orchestrator/orchestrator.d.ts +10 -7
- package/dest/orchestrator/orchestrator.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator.js +94 -56
- package/dest/orchestrator/tx-proving-state.d.ts +2 -1
- package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/tx-proving-state.js +3 -2
- package/dest/prover-agent/memory-proving-queue.d.ts +4 -2
- package/dest/prover-agent/memory-proving-queue.d.ts.map +1 -1
- package/dest/prover-agent/memory-proving-queue.js +240 -224
- package/dest/prover-agent/prover-agent.d.ts +11 -2
- package/dest/prover-agent/prover-agent.d.ts.map +1 -1
- package/dest/prover-agent/prover-agent.js +186 -159
- package/dest/prover-client/prover-client.d.ts +2 -3
- package/dest/prover-client/prover-client.d.ts.map +1 -1
- package/dest/prover-client/prover-client.js +4 -7
- package/dest/proving_broker/{caching_broker_facade.d.ts → broker_prover_facade.d.ts} +6 -9
- package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -0
- package/dest/proving_broker/broker_prover_facade.js +107 -0
- package/dest/proving_broker/proving_agent.d.ts +4 -3
- package/dest/proving_broker/proving_agent.d.ts.map +1 -1
- package/dest/proving_broker/proving_agent.js +73 -64
- package/dest/proving_broker/proving_broker.d.ts +4 -3
- package/dest/proving_broker/proving_broker.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker.js +403 -324
- package/dest/proving_broker/proving_job_controller.d.ts +2 -1
- package/dest/proving_broker/proving_job_controller.d.ts.map +1 -1
- package/dest/proving_broker/proving_job_controller.js +15 -14
- package/dest/proving_broker/rpc.d.ts.map +1 -1
- package/dest/proving_broker/rpc.js +1 -2
- package/dest/test/mock_prover.d.ts +6 -6
- package/dest/test/mock_prover.d.ts.map +1 -1
- package/dest/test/mock_prover.js +3 -6
- package/package.json +16 -15
- package/src/block_builder/light.ts +23 -16
- package/src/index.ts +0 -1
- package/src/mocks/fixtures.ts +2 -2
- package/src/mocks/test_context.ts +33 -16
- package/src/orchestrator/block-building-helpers.ts +34 -18
- package/src/orchestrator/block-proving-state.ts +18 -8
- package/src/orchestrator/epoch-proving-state.ts +1 -4
- package/src/orchestrator/orchestrator.ts +113 -62
- package/src/orchestrator/tx-proving-state.ts +6 -4
- package/src/prover-agent/memory-proving-queue.ts +21 -15
- package/src/prover-agent/prover-agent.ts +65 -46
- package/src/prover-client/prover-client.ts +3 -10
- package/src/proving_broker/{caching_broker_facade.ts → broker_prover_facade.ts} +46 -83
- package/src/proving_broker/proving_agent.ts +72 -76
- package/src/proving_broker/proving_broker.ts +114 -36
- package/src/proving_broker/proving_job_controller.ts +13 -12
- package/src/proving_broker/rpc.ts +0 -1
- package/src/test/mock_prover.ts +17 -14
- package/dest/proving_broker/caching_broker_facade.d.ts.map +0 -1
- package/dest/proving_broker/caching_broker_facade.js +0 -153
- package/dest/proving_broker/prover_cache/memory.d.ts +0 -9
- package/dest/proving_broker/prover_cache/memory.d.ts.map +0 -1
- package/dest/proving_broker/prover_cache/memory.js +0 -16
- package/src/proving_broker/prover_cache/memory.ts +0 -20
|
@@ -11,13 +11,14 @@ interface ProvingJobCompletionCallback<T extends ProvingRequestType = ProvingReq
|
|
|
11
11
|
export declare class ProvingJobController {
|
|
12
12
|
private jobId;
|
|
13
13
|
private inputs;
|
|
14
|
+
private epochNumber;
|
|
14
15
|
private startedAt;
|
|
15
16
|
private circuitProver;
|
|
16
17
|
private onComplete;
|
|
17
18
|
private status;
|
|
18
19
|
private promise?;
|
|
19
20
|
private abortController;
|
|
20
|
-
constructor(jobId: ProvingJobId, inputs: ProvingJobInputs, startedAt: number, circuitProver: ServerCircuitProver, onComplete: ProvingJobCompletionCallback);
|
|
21
|
+
constructor(jobId: ProvingJobId, inputs: ProvingJobInputs, epochNumber: number, startedAt: number, circuitProver: ServerCircuitProver, onComplete: ProvingJobCompletionCallback);
|
|
21
22
|
start(): void;
|
|
22
23
|
getStatus(): ProvingJobControllerStatus;
|
|
23
24
|
abort(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proving_job_controller.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_job_controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,kBAAkB,EAClB,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,oBAAY,0BAA0B;IACpC,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,UAAU,4BAA4B,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB;IACtF,CACE,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,SAAS,GAC1C,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED,qBAAa,oBAAoB;IAM7B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,UAAU;
|
|
1
|
+
{"version":3,"file":"proving_job_controller.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_job_controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,kBAAkB,EAClB,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,oBAAY,0BAA0B;IACpC,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,UAAU,4BAA4B,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB;IACtF,CACE,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,SAAS,GAC1C,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED,qBAAa,oBAAoB;IAM7B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,UAAU;IAVpB,OAAO,CAAC,MAAM,CAA+D;IAC7E,OAAO,CAAC,OAAO,CAAC,CAAgB;IAChC,OAAO,CAAC,eAAe,CAAyB;gBAGtC,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,mBAAmB,EAClC,UAAU,EAAE,4BAA4B;IAG3C,KAAK,IAAI,IAAI;IAmCb,SAAS,IAAI,0BAA0B;IAIvC,KAAK,IAAI,IAAI;IASb,QAAQ,IAAI,YAAY;IAIxB,YAAY,IAAI,MAAM;IAItB,gBAAgB,IAAI,MAAM;YAInB,aAAa;CA0D5B"}
|
|
@@ -7,9 +7,10 @@ export var ProvingJobControllerStatus;
|
|
|
7
7
|
ProvingJobControllerStatus["ABORTED"] = "aborted";
|
|
8
8
|
})(ProvingJobControllerStatus || (ProvingJobControllerStatus = {}));
|
|
9
9
|
export class ProvingJobController {
|
|
10
|
-
constructor(jobId, inputs, startedAt, circuitProver, onComplete) {
|
|
10
|
+
constructor(jobId, inputs, epochNumber, startedAt, circuitProver, onComplete) {
|
|
11
11
|
this.jobId = jobId;
|
|
12
12
|
this.inputs = inputs;
|
|
13
|
+
this.epochNumber = epochNumber;
|
|
13
14
|
this.startedAt = startedAt;
|
|
14
15
|
this.circuitProver = circuitProver;
|
|
15
16
|
this.onComplete = onComplete;
|
|
@@ -67,40 +68,40 @@ export class ProvingJobController {
|
|
|
67
68
|
const signal = this.abortController.signal;
|
|
68
69
|
switch (type) {
|
|
69
70
|
case ProvingRequestType.PUBLIC_VM: {
|
|
70
|
-
return await this.circuitProver.getAvmProof(inputs, signal);
|
|
71
|
+
return await this.circuitProver.getAvmProof(inputs, signal, this.epochNumber);
|
|
71
72
|
}
|
|
72
73
|
case ProvingRequestType.PRIVATE_BASE_ROLLUP: {
|
|
73
|
-
return await this.circuitProver.getPrivateBaseRollupProof(inputs, signal);
|
|
74
|
+
return await this.circuitProver.getPrivateBaseRollupProof(inputs, signal, this.epochNumber);
|
|
74
75
|
}
|
|
75
76
|
case ProvingRequestType.PUBLIC_BASE_ROLLUP: {
|
|
76
|
-
return await this.circuitProver.getPublicBaseRollupProof(inputs, signal);
|
|
77
|
+
return await this.circuitProver.getPublicBaseRollupProof(inputs, signal, this.epochNumber);
|
|
77
78
|
}
|
|
78
79
|
case ProvingRequestType.MERGE_ROLLUP: {
|
|
79
|
-
return await this.circuitProver.getMergeRollupProof(inputs, signal);
|
|
80
|
+
return await this.circuitProver.getMergeRollupProof(inputs, signal, this.epochNumber);
|
|
80
81
|
}
|
|
81
82
|
case ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP: {
|
|
82
|
-
return await this.circuitProver.getEmptyBlockRootRollupProof(inputs, signal);
|
|
83
|
+
return await this.circuitProver.getEmptyBlockRootRollupProof(inputs, signal, this.epochNumber);
|
|
83
84
|
}
|
|
84
85
|
case ProvingRequestType.BLOCK_ROOT_ROLLUP: {
|
|
85
|
-
return await this.circuitProver.getBlockRootRollupProof(inputs, signal);
|
|
86
|
+
return await this.circuitProver.getBlockRootRollupProof(inputs, signal, this.epochNumber);
|
|
86
87
|
}
|
|
87
88
|
case ProvingRequestType.BLOCK_MERGE_ROLLUP: {
|
|
88
|
-
return await this.circuitProver.getBlockMergeRollupProof(inputs, signal);
|
|
89
|
+
return await this.circuitProver.getBlockMergeRollupProof(inputs, signal, this.epochNumber);
|
|
89
90
|
}
|
|
90
91
|
case ProvingRequestType.ROOT_ROLLUP: {
|
|
91
|
-
return await this.circuitProver.getRootRollupProof(inputs, signal);
|
|
92
|
+
return await this.circuitProver.getRootRollupProof(inputs, signal, this.epochNumber);
|
|
92
93
|
}
|
|
93
94
|
case ProvingRequestType.BASE_PARITY: {
|
|
94
|
-
return await this.circuitProver.getBaseParityProof(inputs, signal);
|
|
95
|
+
return await this.circuitProver.getBaseParityProof(inputs, signal, this.epochNumber);
|
|
95
96
|
}
|
|
96
97
|
case ProvingRequestType.ROOT_PARITY: {
|
|
97
|
-
return await this.circuitProver.getRootParityProof(inputs, signal);
|
|
98
|
+
return await this.circuitProver.getRootParityProof(inputs, signal, this.epochNumber);
|
|
98
99
|
}
|
|
99
100
|
case ProvingRequestType.PRIVATE_KERNEL_EMPTY: {
|
|
100
|
-
return await this.circuitProver.getEmptyPrivateKernelProof(inputs, signal);
|
|
101
|
+
return await this.circuitProver.getEmptyPrivateKernelProof(inputs, signal, this.epochNumber);
|
|
101
102
|
}
|
|
102
103
|
case ProvingRequestType.TUBE_PROOF: {
|
|
103
|
-
return await this.circuitProver.getTubeProof(inputs, signal);
|
|
104
|
+
return await this.circuitProver.getTubeProof(inputs, signal, this.epochNumber);
|
|
104
105
|
}
|
|
105
106
|
default: {
|
|
106
107
|
const _exhaustive = type;
|
|
@@ -109,4 +110,4 @@ export class ProvingJobController {
|
|
|
109
110
|
}
|
|
110
111
|
}
|
|
111
112
|
}
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmluZ19qb2JfY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aW5nX2Jyb2tlci9wcm92aW5nX2pvYl9jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxrQkFBa0IsR0FFbkIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixNQUFNLENBQU4sSUFBWSwwQkFLWDtBQUxELFdBQVksMEJBQTBCO0lBQ3BDLDJDQUFhLENBQUE7SUFDYixpREFBbUIsQ0FBQTtJQUNuQiwyQ0FBYSxDQUFBO0lBQ2IsaURBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUxXLDBCQUEwQixLQUExQiwwQkFBMEIsUUFLckM7QUFXRCxNQUFNLE9BQU8sb0JBQW9CO0lBSy9CLFlBQ1UsS0FBbUIsRUFDbkIsTUFBd0IsRUFDeEIsV0FBbUIsRUFDbkIsU0FBaUIsRUFDakIsYUFBa0MsRUFDbEMsVUFBd0M7UUFMeEMsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQUN4QixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQUNsQyxlQUFVLEdBQVYsVUFBVSxDQUE4QjtRQVYxQyxXQUFNLEdBQStCLDBCQUEwQixDQUFDLElBQUksQ0FBQztRQUVyRSxvQkFBZSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7SUFTN0MsQ0FBQztJQUVHLEtBQUs7UUFDVixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssMEJBQTBCLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDcEQsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLDBCQUEwQixDQUFDLE9BQU8sQ0FBQztRQUNqRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUU7YUFDaEMsSUFBSSxDQUNILE1BQU0s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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/proving_broker/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EAIxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,iBAAiB,EAA2B,MAAM,mCAAmC,CAAC;AACpG,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,2BAA2B,CAAC;AAaxE,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/proving_broker/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EAIxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,iBAAiB,EAA2B,MAAM,mCAAmC,CAAC;AACpG,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,2BAA2B,CAAC;AAaxE,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,kBAAkB,CAKrE,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,kBAAkB,CAQrE,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,YAAY,CAAC,gBAAgB,CAGjE,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,GAAG,iBAAiB,CAErF;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,wHAA8B,GAAG,gBAAgB,CAE/G;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,wHAA8B,GAAG,kBAAkB,CAEnH;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,wHAA8B,GAAG,kBAAkB,CAEnH"}
|
|
@@ -13,7 +13,6 @@ const GetProvingJobResponse = z.object({
|
|
|
13
13
|
export const ProvingJobProducerSchema = {
|
|
14
14
|
enqueueProvingJob: z.function().args(ProvingJob).returns(z.void()),
|
|
15
15
|
getProvingJobStatus: z.function().args(ProvingJobId).returns(ProvingJobStatus),
|
|
16
|
-
cleanUpProvingJobState: z.function().args(ProvingJobId).returns(z.void()),
|
|
17
16
|
cancelProvingJob: z.function().args(ProvingJobId).returns(z.void()),
|
|
18
17
|
waitForJobToSettle: z.function().args(ProvingJobId).returns(ProvingJobSettledResult),
|
|
19
18
|
};
|
|
@@ -42,4 +41,4 @@ export function createProvingJobProducerClient(url, fetch = makeFetch([1, 2, 3],
|
|
|
42
41
|
export function createProvingJobConsumerClient(url, fetch = makeFetch([1, 2, 3], false)) {
|
|
43
42
|
return createSafeJsonRpcClient(url, ProvingJobConsumerSchema, false, 'provingJobConsumer', fetch);
|
|
44
43
|
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3JwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsUUFBUSxFQUNSLFVBQVUsRUFHVixZQUFZLEVBRVosdUJBQXVCLEVBQ3ZCLGdCQUFnQixFQUNoQixrQkFBa0IsR0FDbkIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkYsT0FBTyxFQUEwQix1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BHLE9BQU8sRUFBcUIsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFeEUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixNQUFNLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDdEMsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0NBQ3JELENBQUMsQ0FBQztBQUVILE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNyQyxHQUFHLEVBQUUsVUFBVTtJQUNmLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0NBQ2pCLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFxQztJQUN4RSxpQkFBaUIsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7SUFDOUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFD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
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
import { type ProofAndVerificationKey, type ProvingJob, type ProvingJobId, type ProvingJobProducer, type ProvingJobSettledResult, type ProvingJobStatus, type PublicInputsAndRecursiveProof, type ServerCircuitProver } from '@aztec/circuit-types';
|
|
2
|
-
import { type AvmCircuitInputs, type
|
|
2
|
+
import { type AvmCircuitInputs, type BaseParityInputs, type KernelCircuitPublicInputs, type PrivateKernelEmptyInputData, type RootParityInputs, TUBE_PROOF_LENGTH } from '@aztec/circuits.js';
|
|
3
|
+
import { type BaseOrMergeRollupPublicInputs, type BlockMergeRollupInputs, type BlockRootOrBlockMergePublicInputs, type BlockRootRollupInputs, type EmptyBlockRootRollupInputs, type MergeRollupInputs, type PrivateBaseRollupInputs, type PublicBaseRollupInputs, type RootRollupInputs, type RootRollupPublicInputs } from '@aztec/circuits.js/rollup';
|
|
3
4
|
import { type ProofStore } from '../proving_broker/proof_store.js';
|
|
4
5
|
export declare class TestBroker implements ProvingJobProducer {
|
|
5
6
|
private proofStore;
|
|
6
7
|
private broker;
|
|
7
8
|
private agents;
|
|
8
|
-
constructor(agentCount: number, prover: ServerCircuitProver, proofStore?: ProofStore);
|
|
9
|
+
constructor(agentCount: number, prover: ServerCircuitProver, proofStore?: ProofStore, agentPollInterval?: number);
|
|
9
10
|
start(): Promise<void>;
|
|
10
11
|
stop(): Promise<void>;
|
|
11
12
|
getProofStore(): ProofStore;
|
|
12
13
|
enqueueProvingJob(job: ProvingJob): Promise<void>;
|
|
13
14
|
getProvingJobStatus(id: ProvingJobId): Promise<ProvingJobStatus>;
|
|
14
|
-
cleanUpProvingJobState(id: ProvingJobId): Promise<void>;
|
|
15
15
|
cancelProvingJob(id: string): Promise<void>;
|
|
16
16
|
waitForJobToSettle(id: ProvingJobId): Promise<ProvingJobSettledResult>;
|
|
17
17
|
}
|
|
18
18
|
export declare class MockProver implements ServerCircuitProver {
|
|
19
19
|
constructor();
|
|
20
20
|
getAvmProof(_inputs: AvmCircuitInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<ProofAndVerificationKey<4155>>;
|
|
21
|
-
getBaseParityProof(_inputs: BaseParityInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<import("@aztec/circuits.js").ParityPublicInputs,
|
|
22
|
-
getRootParityProof(_inputs: RootParityInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<import("@aztec/circuits.js").ParityPublicInputs,
|
|
21
|
+
getBaseParityProof(_inputs: BaseParityInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<import("@aztec/circuits.js").ParityPublicInputs, 459>>;
|
|
22
|
+
getRootParityProof(_inputs: RootParityInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<import("@aztec/circuits.js").ParityPublicInputs, 459>>;
|
|
23
23
|
getPrivateBaseRollupProof(_baseRollupInput: PrivateBaseRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs>>;
|
|
24
24
|
getPublicBaseRollupProof(_inputs: PublicBaseRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs>>;
|
|
25
25
|
getMergeRollupProof(_input: MergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs>>;
|
|
26
|
-
getBlockMergeRollupProof(_input: BlockMergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs,
|
|
26
|
+
getBlockMergeRollupProof(_input: BlockMergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, 459>>;
|
|
27
27
|
getEmptyBlockRootRollupProof(_input: EmptyBlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs>>;
|
|
28
28
|
getBlockRootRollupProof(_input: BlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs>>;
|
|
29
29
|
getEmptyPrivateKernelProof(_inputs: PrivateKernelEmptyInputData, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<KernelCircuitPublicInputs>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock_prover.d.ts","sourceRoot":"","sources":["../../src/test/mock_prover.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,6BAA6B,EAClC,KAAK,mBAAmB,EAGzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,
|
|
1
|
+
{"version":3,"file":"mock_prover.d.ts","sourceRoot":"","sources":["../../src/test/mock_prover.ts"],"names":[],"mappings":"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"}
|
package/dest/test/mock_prover.js
CHANGED
|
@@ -8,10 +8,10 @@ import { ProvingAgent } from '../proving_broker/proving_agent.js';
|
|
|
8
8
|
import { ProvingBroker } from '../proving_broker/proving_broker.js';
|
|
9
9
|
import { InMemoryBrokerDatabase } from '../proving_broker/proving_broker_database/memory.js';
|
|
10
10
|
export class TestBroker {
|
|
11
|
-
constructor(agentCount, prover, proofStore = new InlineProofStore()) {
|
|
11
|
+
constructor(agentCount, prover, proofStore = new InlineProofStore(), agentPollInterval = 100) {
|
|
12
12
|
this.proofStore = proofStore;
|
|
13
13
|
this.broker = new ProvingBroker(new InMemoryBrokerDatabase(), new NoopTelemetryClient());
|
|
14
|
-
this.agents = times(agentCount, () => new ProvingAgent(this.broker, proofStore, prover, new NoopTelemetryClient()));
|
|
14
|
+
this.agents = times(agentCount, () => new ProvingAgent(this.broker, proofStore, prover, new NoopTelemetryClient(), undefined, agentPollInterval));
|
|
15
15
|
}
|
|
16
16
|
async start() {
|
|
17
17
|
await this.broker.start();
|
|
@@ -30,9 +30,6 @@ export class TestBroker {
|
|
|
30
30
|
getProvingJobStatus(id) {
|
|
31
31
|
return this.broker.getProvingJobStatus(id);
|
|
32
32
|
}
|
|
33
|
-
cleanUpProvingJobState(id) {
|
|
34
|
-
return this.broker.cleanUpProvingJobState(id);
|
|
35
|
-
}
|
|
36
33
|
cancelProvingJob(id) {
|
|
37
34
|
return this.broker.cancelProvingJob(id);
|
|
38
35
|
}
|
|
@@ -79,4 +76,4 @@ export class MockProver {
|
|
|
79
76
|
return Promise.resolve(makeProofAndVerificationKey(makeRecursiveProof(TUBE_PROOF_LENGTH), VerificationKeyData.makeFake()));
|
|
80
77
|
}
|
|
81
78
|
}
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19wcm92ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9tb2NrX3Byb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBU0wsMkJBQTJCLEVBQzNCLGlDQUFpQyxHQUNsQyxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIscUNBQXFDLEVBSXJDLDZCQUE2QixFQUU3QixzQkFBc0IsRUFFdEIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsa0JBQWtCLEdBQ25CLE1BQU0sb0JBQW9CLENBQUM7QUFhNUIsT0FBTyxFQUNMLGlDQUFpQyxFQUNqQywyQ0FBMkMsRUFDM0MsNkJBQTZCLEVBQzdCLHNCQUFzQixFQUN0QiwwQkFBMEIsR0FDM0IsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFtQixNQUFNLGtDQUFrQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFN0YsTUFBTSxPQUFPLFVBQVU7SUFJckIsWUFDRSxVQUFrQixFQUNsQixNQUEyQixFQUNuQixhQUF5QixJQUFJLGdCQUFnQixFQUFFLEVBQ3ZELGlCQUFpQixHQUFHLEdBQUc7UUFEZixlQUFVLEdBQVYsVUFBVSxDQUFxQztRQU5qRCxXQUFNLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxzQkFBc0IsRUFBRSxFQUFFLElBQUksbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO1FBUzFGLElBQUksQ0FB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/prover-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.68.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
"./broker": "./dest/proving_broker/index.js",
|
|
9
9
|
"./prover-agent": "./dest/prover-agent/index.js",
|
|
10
10
|
"./orchestrator": "./dest/orchestrator/index.js",
|
|
11
|
-
"./helpers": "./dest/orchestrator/block-building-helpers.js"
|
|
11
|
+
"./helpers": "./dest/orchestrator/block-building-helpers.js",
|
|
12
|
+
"./config": "./dest/config.js"
|
|
12
13
|
},
|
|
13
14
|
"typedocOptions": {
|
|
14
15
|
"entryPoints": [
|
|
@@ -28,7 +29,7 @@
|
|
|
28
29
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src",
|
|
29
30
|
"formatting:fix": "run -T eslint --fix ./src && run -T prettier -w ./src",
|
|
30
31
|
"bb": "node --no-warnings ./dest/bb/index.js",
|
|
31
|
-
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=
|
|
32
|
+
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=3500000 --forceExit",
|
|
32
33
|
"test:debug": "LOG_LEVEL=debug NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=1500000 --forceExit --testNamePattern prover/bb_prover/parity"
|
|
33
34
|
},
|
|
34
35
|
"jest": {
|
|
@@ -58,9 +59,9 @@
|
|
|
58
59
|
],
|
|
59
60
|
"reporters": [
|
|
60
61
|
[
|
|
61
|
-
"
|
|
62
|
+
"jest-silent-reporter",
|
|
62
63
|
{
|
|
63
|
-
"
|
|
64
|
+
"useDots": true
|
|
64
65
|
}
|
|
65
66
|
]
|
|
66
67
|
],
|
|
@@ -70,16 +71,16 @@
|
|
|
70
71
|
]
|
|
71
72
|
},
|
|
72
73
|
"dependencies": {
|
|
73
|
-
"@aztec/bb-prover": "0.
|
|
74
|
-
"@aztec/circuit-types": "0.
|
|
75
|
-
"@aztec/circuits.js": "0.
|
|
76
|
-
"@aztec/foundation": "0.
|
|
77
|
-
"@aztec/kv-store": "0.
|
|
78
|
-
"@aztec/noir-protocol-circuits-types": "0.
|
|
79
|
-
"@aztec/protocol-contracts": "0.
|
|
80
|
-
"@aztec/simulator": "0.
|
|
81
|
-
"@aztec/telemetry-client": "0.
|
|
82
|
-
"@aztec/world-state": "0.
|
|
74
|
+
"@aztec/bb-prover": "0.68.1",
|
|
75
|
+
"@aztec/circuit-types": "0.68.1",
|
|
76
|
+
"@aztec/circuits.js": "0.68.1",
|
|
77
|
+
"@aztec/foundation": "0.68.1",
|
|
78
|
+
"@aztec/kv-store": "0.68.1",
|
|
79
|
+
"@aztec/noir-protocol-circuits-types": "0.68.1",
|
|
80
|
+
"@aztec/protocol-contracts": "0.68.1",
|
|
81
|
+
"@aztec/simulator": "0.68.1",
|
|
82
|
+
"@aztec/telemetry-client": "0.68.1",
|
|
83
|
+
"@aztec/world-state": "0.68.1",
|
|
83
84
|
"@noir-lang/types": "portal:../../noir/packages/types",
|
|
84
85
|
"commander": "^12.1.0",
|
|
85
86
|
"lodash.chunk": "^4.2.0",
|
|
@@ -5,8 +5,10 @@ import {
|
|
|
5
5
|
type MerkleTreeWriteOperations,
|
|
6
6
|
type ProcessedTx,
|
|
7
7
|
makeEmptyProcessedTx,
|
|
8
|
+
toNumBlobFields,
|
|
8
9
|
} from '@aztec/circuit-types';
|
|
9
10
|
import { Fr, type GlobalVariables, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP } from '@aztec/circuits.js';
|
|
11
|
+
import { SpongeBlob } from '@aztec/circuits.js/blobs';
|
|
10
12
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
11
13
|
import { createLogger } from '@aztec/foundation/log';
|
|
12
14
|
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types';
|
|
@@ -25,37 +27,44 @@ import {
|
|
|
25
27
|
*/
|
|
26
28
|
export class LightweightBlockBuilder implements BlockBuilder {
|
|
27
29
|
private numTxs?: number;
|
|
30
|
+
private spongeBlobState?: SpongeBlob;
|
|
28
31
|
private globalVariables?: GlobalVariables;
|
|
29
32
|
private l1ToL2Messages?: Fr[];
|
|
30
33
|
|
|
31
|
-
private
|
|
34
|
+
private txs: ProcessedTx[] = [];
|
|
32
35
|
|
|
33
36
|
private readonly logger = createLogger('prover-client:block_builder');
|
|
34
37
|
|
|
35
38
|
constructor(private db: MerkleTreeWriteOperations, private telemetry: TelemetryClient) {}
|
|
36
39
|
|
|
37
|
-
async startNewBlock(
|
|
38
|
-
this.logger.debug('Starting new block', {
|
|
39
|
-
this.numTxs = numTxs;
|
|
40
|
+
async startNewBlock(globalVariables: GlobalVariables, l1ToL2Messages: Fr[]): Promise<void> {
|
|
41
|
+
this.logger.debug('Starting new block', { globalVariables: globalVariables.toInspect(), l1ToL2Messages });
|
|
40
42
|
this.globalVariables = globalVariables;
|
|
41
43
|
this.l1ToL2Messages = padArrayEnd(l1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP);
|
|
44
|
+
this.txs = [];
|
|
45
|
+
this.numTxs = 0;
|
|
46
|
+
this.spongeBlobState = undefined;
|
|
42
47
|
|
|
43
48
|
// Update L1 to L2 tree
|
|
44
49
|
await this.db.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, this.l1ToL2Messages!);
|
|
45
50
|
}
|
|
46
51
|
|
|
47
|
-
async
|
|
48
|
-
this.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
52
|
+
async addTxs(txs: ProcessedTx[]): Promise<void> {
|
|
53
|
+
this.numTxs = Math.max(2, txs.length);
|
|
54
|
+
this.spongeBlobState = SpongeBlob.init(toNumBlobFields(txs));
|
|
55
|
+
for (const tx of txs) {
|
|
56
|
+
this.logger.debug(tx.hash.isZero() ? 'Adding padding tx to block' : 'Adding new tx to block', {
|
|
57
|
+
txHash: tx.hash.toString(),
|
|
58
|
+
});
|
|
59
|
+
this.txs.push(tx);
|
|
60
|
+
await buildBaseRollupHints(tx, this.globalVariables!, this.db, this.spongeBlobState!);
|
|
61
|
+
}
|
|
53
62
|
}
|
|
54
63
|
|
|
55
64
|
async setBlockCompleted(): Promise<L2Block> {
|
|
56
65
|
const paddingTxCount = this.numTxs! - this.txs.length;
|
|
57
66
|
for (let i = 0; i < paddingTxCount; i++) {
|
|
58
|
-
await this.
|
|
67
|
+
await this.addTxs([
|
|
59
68
|
makeEmptyProcessedTx(
|
|
60
69
|
this.db.getInitialHeader(),
|
|
61
70
|
this.globalVariables!.chainId,
|
|
@@ -63,7 +72,7 @@ export class LightweightBlockBuilder implements BlockBuilder {
|
|
|
63
72
|
getVKTreeRoot(),
|
|
64
73
|
protocolContractTreeRoot,
|
|
65
74
|
),
|
|
66
|
-
);
|
|
75
|
+
]);
|
|
67
76
|
}
|
|
68
77
|
|
|
69
78
|
return this.buildBlock();
|
|
@@ -112,9 +121,7 @@ export async function buildBlock(
|
|
|
112
121
|
telemetry: TelemetryClient = new NoopTelemetryClient(),
|
|
113
122
|
) {
|
|
114
123
|
const builder = new LightweightBlockBuilder(db, telemetry);
|
|
115
|
-
await builder.startNewBlock(
|
|
116
|
-
|
|
117
|
-
await builder.addNewTx(tx);
|
|
118
|
-
}
|
|
124
|
+
await builder.startNewBlock(globalVariables, l1ToL2Messages);
|
|
125
|
+
await builder.addTxs(txs);
|
|
119
126
|
return await builder.setBlockCompleted();
|
|
120
127
|
}
|
package/src/index.ts
CHANGED
package/src/mocks/fixtures.ts
CHANGED
|
@@ -13,7 +13,7 @@ import { padArrayEnd } from '@aztec/foundation/collection';
|
|
|
13
13
|
import { randomBytes } from '@aztec/foundation/crypto';
|
|
14
14
|
import { type Logger } from '@aztec/foundation/log';
|
|
15
15
|
import { fileURLToPath } from '@aztec/foundation/url';
|
|
16
|
-
import { NativeACVMSimulator, type SimulationProvider,
|
|
16
|
+
import { NativeACVMSimulator, type SimulationProvider, WASMSimulatorWithBlobs } from '@aztec/simulator';
|
|
17
17
|
|
|
18
18
|
import { promises as fs } from 'fs';
|
|
19
19
|
import path from 'path';
|
|
@@ -83,7 +83,7 @@ export async function getSimulationProvider(
|
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
logger?.info('Using WASM ACVM simulation');
|
|
86
|
-
return new
|
|
86
|
+
return new WASMSimulatorWithBlobs();
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
// Updates the expectedDb trees based on the new note hashes, contracts, and nullifiers from these txs
|
|
@@ -2,24 +2,30 @@ import { type BBProverConfig } from '@aztec/bb-prover';
|
|
|
2
2
|
import {
|
|
3
3
|
type L2Block,
|
|
4
4
|
type ProcessedTx,
|
|
5
|
-
type ProcessedTxHandler,
|
|
6
5
|
type PublicExecutionRequest,
|
|
7
6
|
type ServerCircuitProver,
|
|
8
7
|
type Tx,
|
|
9
8
|
type TxValidator,
|
|
10
9
|
} from '@aztec/circuit-types';
|
|
11
10
|
import { makeBloatedProcessedTx } from '@aztec/circuit-types/test';
|
|
12
|
-
import {
|
|
11
|
+
import {
|
|
12
|
+
type AppendOnlyTreeSnapshot,
|
|
13
|
+
BlockHeader,
|
|
14
|
+
type Gas,
|
|
15
|
+
type GlobalVariables,
|
|
16
|
+
TreeSnapshots,
|
|
17
|
+
} from '@aztec/circuits.js';
|
|
13
18
|
import { times } from '@aztec/foundation/collection';
|
|
14
19
|
import { Fr } from '@aztec/foundation/fields';
|
|
15
20
|
import { type Logger } from '@aztec/foundation/log';
|
|
21
|
+
import { TestDateProvider } from '@aztec/foundation/timer';
|
|
16
22
|
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types';
|
|
17
23
|
import { protocolContractTreeRoot } from '@aztec/protocol-contracts';
|
|
18
24
|
import {
|
|
19
25
|
PublicProcessor,
|
|
20
26
|
PublicTxSimulator,
|
|
21
27
|
type SimulationProvider,
|
|
22
|
-
|
|
28
|
+
WASMSimulatorWithBlobs,
|
|
23
29
|
type WorldStateDB,
|
|
24
30
|
} from '@aztec/simulator';
|
|
25
31
|
import { NoopTelemetryClient } from '@aztec/telemetry-client/noop';
|
|
@@ -37,7 +43,7 @@ import { buildBlock } from '../block_builder/light.js';
|
|
|
37
43
|
import { ProvingOrchestrator } from '../orchestrator/index.js';
|
|
38
44
|
import { MemoryProvingQueue } from '../prover-agent/memory-proving-queue.js';
|
|
39
45
|
import { ProverAgent } from '../prover-agent/prover-agent.js';
|
|
40
|
-
import { getEnvironmentConfig, getSimulationProvider, makeGlobals } from './fixtures.js';
|
|
46
|
+
import { getEnvironmentConfig, getSimulationProvider, makeGlobals, updateExpectedTreesFromTxs } from './fixtures.js';
|
|
41
47
|
|
|
42
48
|
export class TestContext {
|
|
43
49
|
private headers: Map<number, BlockHeader> = new Map();
|
|
@@ -64,7 +70,7 @@ export class TestContext {
|
|
|
64
70
|
logger: Logger,
|
|
65
71
|
proverCount = 4,
|
|
66
72
|
createProver: (bbConfig: BBProverConfig) => Promise<ServerCircuitProver> = _ =>
|
|
67
|
-
Promise.resolve(new TestCircuitProver(new NoopTelemetryClient(), new
|
|
73
|
+
Promise.resolve(new TestCircuitProver(new NoopTelemetryClient(), new WASMSimulatorWithBlobs())),
|
|
68
74
|
blockNumber = 1,
|
|
69
75
|
) {
|
|
70
76
|
const directoriesToCleanup: string[] = [];
|
|
@@ -79,13 +85,14 @@ export class TestContext {
|
|
|
79
85
|
|
|
80
86
|
worldStateDB.getMerkleInterface.mockReturnValue(publicDb);
|
|
81
87
|
|
|
82
|
-
const publicTxSimulator = new PublicTxSimulator(publicDb, worldStateDB, telemetry, globalVariables);
|
|
88
|
+
const publicTxSimulator = new PublicTxSimulator(publicDb, worldStateDB, telemetry, globalVariables, true);
|
|
83
89
|
const processor = new PublicProcessor(
|
|
84
90
|
publicDb,
|
|
85
91
|
globalVariables,
|
|
86
92
|
BlockHeader.empty(),
|
|
87
93
|
worldStateDB,
|
|
88
94
|
publicTxSimulator,
|
|
95
|
+
new TestDateProvider(),
|
|
89
96
|
telemetry,
|
|
90
97
|
);
|
|
91
98
|
|
|
@@ -114,7 +121,7 @@ export class TestContext {
|
|
|
114
121
|
|
|
115
122
|
const queue = new MemoryProvingQueue(telemetry);
|
|
116
123
|
const orchestrator = new TestProvingOrchestrator(ws, queue, telemetry, Fr.ZERO);
|
|
117
|
-
const agent = new ProverAgent(localProver, proverCount);
|
|
124
|
+
const agent = new ProverAgent(localProver, proverCount, undefined, telemetry);
|
|
118
125
|
|
|
119
126
|
queue.start();
|
|
120
127
|
agent.start(queue);
|
|
@@ -180,6 +187,7 @@ export class TestContext {
|
|
|
180
187
|
const txs = times(numTxs, i =>
|
|
181
188
|
this.makeProcessedTx({ seed: i + blockNum * 1000, globalVariables, ...makeProcessedTxOpts(i) }),
|
|
182
189
|
);
|
|
190
|
+
await this.setEndTreeRoots(txs);
|
|
183
191
|
|
|
184
192
|
const block = await buildBlock(txs, globalVariables, msgs, db);
|
|
185
193
|
this.headers.set(blockNum, block.header);
|
|
@@ -187,12 +195,7 @@ export class TestContext {
|
|
|
187
195
|
return { block, txs, msgs };
|
|
188
196
|
}
|
|
189
197
|
|
|
190
|
-
public async processPublicFunctions(
|
|
191
|
-
txs: Tx[],
|
|
192
|
-
maxTransactions: number,
|
|
193
|
-
txHandler?: ProcessedTxHandler,
|
|
194
|
-
txValidator?: TxValidator<ProcessedTx>,
|
|
195
|
-
) {
|
|
198
|
+
public async processPublicFunctions(txs: Tx[], maxTransactions: number, txValidator?: TxValidator<ProcessedTx>) {
|
|
196
199
|
const defaultExecutorImplementation = (
|
|
197
200
|
_stateManager: AvmPersistableStateManager,
|
|
198
201
|
executionRequest: PublicExecutionRequest,
|
|
@@ -217,16 +220,30 @@ export class TestContext {
|
|
|
217
220
|
return await this.processPublicFunctionsWithMockExecutorImplementation(
|
|
218
221
|
txs,
|
|
219
222
|
maxTransactions,
|
|
220
|
-
txHandler,
|
|
221
223
|
txValidator,
|
|
222
224
|
defaultExecutorImplementation,
|
|
223
225
|
);
|
|
224
226
|
}
|
|
225
227
|
|
|
228
|
+
public async setEndTreeRoots(txs: ProcessedTx[]) {
|
|
229
|
+
const db = await this.worldState.fork();
|
|
230
|
+
for (const tx of txs) {
|
|
231
|
+
await updateExpectedTreesFromTxs(db, [tx]);
|
|
232
|
+
const stateReference = await db.getStateReference();
|
|
233
|
+
if (tx.avmProvingRequest) {
|
|
234
|
+
tx.avmProvingRequest.inputs.output.endTreeSnapshots = new TreeSnapshots(
|
|
235
|
+
stateReference.l1ToL2MessageTree,
|
|
236
|
+
stateReference.partial.noteHashTree,
|
|
237
|
+
stateReference.partial.nullifierTree,
|
|
238
|
+
stateReference.partial.publicDataTree,
|
|
239
|
+
);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
226
244
|
private async processPublicFunctionsWithMockExecutorImplementation(
|
|
227
245
|
txs: Tx[],
|
|
228
246
|
maxTransactions: number,
|
|
229
|
-
txHandler?: ProcessedTxHandler,
|
|
230
247
|
txValidator?: TxValidator<ProcessedTx>,
|
|
231
248
|
executorMock?: (
|
|
232
249
|
stateManager: AvmPersistableStateManager,
|
|
@@ -254,7 +271,7 @@ export class TestContext {
|
|
|
254
271
|
if (executorMock) {
|
|
255
272
|
simulateInternal.mockImplementation(executorMock);
|
|
256
273
|
}
|
|
257
|
-
return await this.publicProcessor.process(txs, maxTransactions,
|
|
274
|
+
return await this.publicProcessor.process(txs, maxTransactions, txValidator);
|
|
258
275
|
}
|
|
259
276
|
}
|
|
260
277
|
|