@aztec/prover-client 0.67.0 → 0.67.1-devnet
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 -17
- package/dest/index.d.ts +0 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +1 -2
- 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 +20 -9
- package/dest/orchestrator/block-building-helpers.d.ts +6 -2
- package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
- package/dest/orchestrator/block-building-helpers.js +18 -6
- package/dest/orchestrator/block-proving-state.d.ts +6 -5
- package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/block-proving-state.js +16 -8
- package/dest/orchestrator/epoch-proving-state.d.ts +1 -1
- 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 +9 -6
- package/dest/orchestrator/orchestrator.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator.js +92 -56
- package/dest/prover-agent/memory-proving-queue.d.ts +2 -1
- 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} +4 -8
- 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 +4 -5
- package/dest/test/mock_prover.d.ts.map +1 -1
- package/dest/test/mock_prover.js +3 -6
- package/package.json +14 -13
- package/src/block_builder/light.ts +23 -17
- package/src/index.ts +0 -1
- package/src/mocks/test_context.ts +29 -14
- package/src/orchestrator/block-building-helpers.ts +20 -6
- package/src/orchestrator/block-proving-state.ts +17 -6
- package/src/orchestrator/epoch-proving-state.ts +0 -2
- package/src/orchestrator/orchestrator.ts +106 -57
- package/src/prover-agent/memory-proving-queue.ts +8 -4
- 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} +35 -74
- 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 +5 -4
- 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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
|
|
@@ -5,25 +5,24 @@ export declare class TestBroker implements ProvingJobProducer {
|
|
|
5
5
|
private proofStore;
|
|
6
6
|
private broker;
|
|
7
7
|
private agents;
|
|
8
|
-
constructor(agentCount: number, prover: ServerCircuitProver, proofStore?: ProofStore);
|
|
8
|
+
constructor(agentCount: number, prover: ServerCircuitProver, proofStore?: ProofStore, agentPollInterval?: number);
|
|
9
9
|
start(): Promise<void>;
|
|
10
10
|
stop(): Promise<void>;
|
|
11
11
|
getProofStore(): ProofStore;
|
|
12
12
|
enqueueProvingJob(job: ProvingJob): Promise<void>;
|
|
13
13
|
getProvingJobStatus(id: ProvingJobId): Promise<ProvingJobStatus>;
|
|
14
|
-
cleanUpProvingJobState(id: ProvingJobId): Promise<void>;
|
|
15
14
|
cancelProvingJob(id: string): Promise<void>;
|
|
16
15
|
waitForJobToSettle(id: ProvingJobId): Promise<ProvingJobSettledResult>;
|
|
17
16
|
}
|
|
18
17
|
export declare class MockProver implements ServerCircuitProver {
|
|
19
18
|
constructor();
|
|
20
19
|
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,
|
|
20
|
+
getBaseParityProof(_inputs: BaseParityInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<import("@aztec/circuits.js").ParityPublicInputs, 459>>;
|
|
21
|
+
getRootParityProof(_inputs: RootParityInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<import("@aztec/circuits.js").ParityPublicInputs, 459>>;
|
|
23
22
|
getPrivateBaseRollupProof(_baseRollupInput: PrivateBaseRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs>>;
|
|
24
23
|
getPublicBaseRollupProof(_inputs: PublicBaseRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs>>;
|
|
25
24
|
getMergeRollupProof(_input: MergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs>>;
|
|
26
|
-
getBlockMergeRollupProof(_input: BlockMergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs,
|
|
25
|
+
getBlockMergeRollupProof(_input: BlockMergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, 459>>;
|
|
27
26
|
getEmptyBlockRootRollupProof(_input: EmptyBlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs>>;
|
|
28
27
|
getBlockRootRollupProof(_input: BlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs>>;
|
|
29
28
|
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,6BAA6B,EAClC,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,iCAAiC,EACtC,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EAEtB,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAE3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,iBAAiB,EAIlB,MAAM,oBAAoB,CAAC;AAW5B,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAKrF,qBAAa,UAAW,YAAW,kBAAkB;IAOjD,OAAO,CAAC,UAAU;IANpB,OAAO,CAAC,MAAM,CAA8E;IAC5F,OAAO,CAAC,MAAM,CAAiB;gBAG7B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,mBAAmB,EACnB,UAAU,GAAE,UAAmC;
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19wcm92ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9tb2NrX3Byb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBU0wsMkJBQTJCLEVBQzNCLGlDQUFpQyxHQUNsQyxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIscUNBQXFDLEVBVXJDLDZCQUE2QixFQUk3QixzQkFBc0IsRUFJdEIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsa0JBQWtCLEdBQ25CLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUNMLGlDQUFpQyxFQUNqQywyQ0FBMkMsRUFDM0MsNkJBQTZCLEVBQzdCLHNCQUFzQixFQUN0QiwwQkFBMEIsR0FDM0IsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFtQixNQUFNLGtDQUFrQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFN0YsTUFBTSxPQUFPLFVBQVU7SUFJckIsWUFDRSxVQUFrQixFQUNsQixNQUEyQixFQUNuQixhQUF5QixJQUFJLGdCQUFnQixFQUFFLEVBQ3ZELGlCQUFpQixHQUFHLEdBQUc7UUFEZixlQUFVLEdBQVYsVUFBVSxDQUFxQztRQU5qRCxXQUFNLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxzQkFBc0IsRUFBRSxFQUFFLElBQUksbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO1FBUzFGLElBQUksQ0FB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/prover-client",
|
|
3
|
-
"version": "0.67.
|
|
3
|
+
"version": "0.67.1-devnet",
|
|
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": {
|
|
@@ -70,16 +71,16 @@
|
|
|
70
71
|
]
|
|
71
72
|
},
|
|
72
73
|
"dependencies": {
|
|
73
|
-
"@aztec/bb-prover": "0.67.
|
|
74
|
-
"@aztec/circuit-types": "0.67.
|
|
75
|
-
"@aztec/circuits.js": "0.67.
|
|
76
|
-
"@aztec/foundation": "0.67.
|
|
77
|
-
"@aztec/kv-store": "0.67.
|
|
78
|
-
"@aztec/noir-protocol-circuits-types": "0.67.
|
|
79
|
-
"@aztec/protocol-contracts": "0.67.
|
|
80
|
-
"@aztec/simulator": "0.67.
|
|
81
|
-
"@aztec/telemetry-client": "0.67.
|
|
82
|
-
"@aztec/world-state": "0.67.
|
|
74
|
+
"@aztec/bb-prover": "0.67.1-devnet",
|
|
75
|
+
"@aztec/circuit-types": "0.67.1-devnet",
|
|
76
|
+
"@aztec/circuits.js": "0.67.1-devnet",
|
|
77
|
+
"@aztec/foundation": "0.67.1-devnet",
|
|
78
|
+
"@aztec/kv-store": "0.67.1-devnet",
|
|
79
|
+
"@aztec/noir-protocol-circuits-types": "0.67.1-devnet",
|
|
80
|
+
"@aztec/protocol-contracts": "0.67.1-devnet",
|
|
81
|
+
"@aztec/simulator": "0.67.1-devnet",
|
|
82
|
+
"@aztec/telemetry-client": "0.67.1-devnet",
|
|
83
|
+
"@aztec/world-state": "0.67.1-devnet",
|
|
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,9 @@ import {
|
|
|
5
5
|
type MerkleTreeWriteOperations,
|
|
6
6
|
type ProcessedTx,
|
|
7
7
|
makeEmptyProcessedTx,
|
|
8
|
+
toNumBlobFields,
|
|
8
9
|
} from '@aztec/circuit-types';
|
|
9
|
-
import { Fr, type GlobalVariables, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP } from '@aztec/circuits.js';
|
|
10
|
+
import { Fr, type GlobalVariables, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, SpongeBlob } from '@aztec/circuits.js';
|
|
10
11
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
11
12
|
import { createLogger } from '@aztec/foundation/log';
|
|
12
13
|
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types';
|
|
@@ -25,37 +26,44 @@ import {
|
|
|
25
26
|
*/
|
|
26
27
|
export class LightweightBlockBuilder implements BlockBuilder {
|
|
27
28
|
private numTxs?: number;
|
|
29
|
+
private spongeBlobState?: SpongeBlob;
|
|
28
30
|
private globalVariables?: GlobalVariables;
|
|
29
31
|
private l1ToL2Messages?: Fr[];
|
|
30
32
|
|
|
31
|
-
private
|
|
33
|
+
private txs: ProcessedTx[] = [];
|
|
32
34
|
|
|
33
35
|
private readonly logger = createLogger('prover-client:block_builder');
|
|
34
36
|
|
|
35
37
|
constructor(private db: MerkleTreeWriteOperations, private telemetry: TelemetryClient) {}
|
|
36
38
|
|
|
37
|
-
async startNewBlock(
|
|
38
|
-
this.logger.debug('Starting new block', {
|
|
39
|
-
this.numTxs = numTxs;
|
|
39
|
+
async startNewBlock(globalVariables: GlobalVariables, l1ToL2Messages: Fr[]): Promise<void> {
|
|
40
|
+
this.logger.debug('Starting new block', { globalVariables: globalVariables.toInspect(), l1ToL2Messages });
|
|
40
41
|
this.globalVariables = globalVariables;
|
|
41
42
|
this.l1ToL2Messages = padArrayEnd(l1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP);
|
|
43
|
+
this.txs = [];
|
|
44
|
+
this.numTxs = 0;
|
|
45
|
+
this.spongeBlobState = undefined;
|
|
42
46
|
|
|
43
47
|
// Update L1 to L2 tree
|
|
44
48
|
await this.db.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, this.l1ToL2Messages!);
|
|
45
49
|
}
|
|
46
50
|
|
|
47
|
-
async
|
|
48
|
-
this.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
async addTxs(txs: ProcessedTx[]): Promise<void> {
|
|
52
|
+
this.numTxs = Math.max(2, txs.length);
|
|
53
|
+
this.spongeBlobState = SpongeBlob.init(toNumBlobFields(txs));
|
|
54
|
+
for (const tx of txs) {
|
|
55
|
+
this.logger.debug(tx.hash.isZero() ? 'Adding padding tx to block' : 'Adding new tx to block', {
|
|
56
|
+
txHash: tx.hash.toString(),
|
|
57
|
+
});
|
|
58
|
+
this.txs.push(tx);
|
|
59
|
+
await buildBaseRollupHints(tx, this.globalVariables!, this.db, this.spongeBlobState!);
|
|
60
|
+
}
|
|
53
61
|
}
|
|
54
62
|
|
|
55
63
|
async setBlockCompleted(): Promise<L2Block> {
|
|
56
64
|
const paddingTxCount = this.numTxs! - this.txs.length;
|
|
57
65
|
for (let i = 0; i < paddingTxCount; i++) {
|
|
58
|
-
await this.
|
|
66
|
+
await this.addTxs([
|
|
59
67
|
makeEmptyProcessedTx(
|
|
60
68
|
this.db.getInitialHeader(),
|
|
61
69
|
this.globalVariables!.chainId,
|
|
@@ -63,7 +71,7 @@ export class LightweightBlockBuilder implements BlockBuilder {
|
|
|
63
71
|
getVKTreeRoot(),
|
|
64
72
|
protocolContractTreeRoot,
|
|
65
73
|
),
|
|
66
|
-
);
|
|
74
|
+
]);
|
|
67
75
|
}
|
|
68
76
|
|
|
69
77
|
return this.buildBlock();
|
|
@@ -112,9 +120,7 @@ export async function buildBlock(
|
|
|
112
120
|
telemetry: TelemetryClient = new NoopTelemetryClient(),
|
|
113
121
|
) {
|
|
114
122
|
const builder = new LightweightBlockBuilder(db, telemetry);
|
|
115
|
-
await builder.startNewBlock(
|
|
116
|
-
|
|
117
|
-
await builder.addNewTx(tx);
|
|
118
|
-
}
|
|
123
|
+
await builder.startNewBlock(globalVariables, l1ToL2Messages);
|
|
124
|
+
await builder.addTxs(txs);
|
|
119
125
|
return await builder.setBlockCompleted();
|
|
120
126
|
}
|
package/src/index.ts
CHANGED
|
@@ -2,14 +2,19 @@ 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';
|
|
@@ -37,7 +42,7 @@ import { buildBlock } from '../block_builder/light.js';
|
|
|
37
42
|
import { ProvingOrchestrator } from '../orchestrator/index.js';
|
|
38
43
|
import { MemoryProvingQueue } from '../prover-agent/memory-proving-queue.js';
|
|
39
44
|
import { ProverAgent } from '../prover-agent/prover-agent.js';
|
|
40
|
-
import { getEnvironmentConfig, getSimulationProvider, makeGlobals } from './fixtures.js';
|
|
45
|
+
import { getEnvironmentConfig, getSimulationProvider, makeGlobals, updateExpectedTreesFromTxs } from './fixtures.js';
|
|
41
46
|
|
|
42
47
|
export class TestContext {
|
|
43
48
|
private headers: Map<number, BlockHeader> = new Map();
|
|
@@ -79,7 +84,7 @@ export class TestContext {
|
|
|
79
84
|
|
|
80
85
|
worldStateDB.getMerkleInterface.mockReturnValue(publicDb);
|
|
81
86
|
|
|
82
|
-
const publicTxSimulator = new PublicTxSimulator(publicDb, worldStateDB, telemetry, globalVariables);
|
|
87
|
+
const publicTxSimulator = new PublicTxSimulator(publicDb, worldStateDB, telemetry, globalVariables, true);
|
|
83
88
|
const processor = new PublicProcessor(
|
|
84
89
|
publicDb,
|
|
85
90
|
globalVariables,
|
|
@@ -114,7 +119,7 @@ export class TestContext {
|
|
|
114
119
|
|
|
115
120
|
const queue = new MemoryProvingQueue(telemetry);
|
|
116
121
|
const orchestrator = new TestProvingOrchestrator(ws, queue, telemetry, Fr.ZERO);
|
|
117
|
-
const agent = new ProverAgent(localProver, proverCount);
|
|
122
|
+
const agent = new ProverAgent(localProver, proverCount, undefined, telemetry);
|
|
118
123
|
|
|
119
124
|
queue.start();
|
|
120
125
|
agent.start(queue);
|
|
@@ -180,6 +185,7 @@ export class TestContext {
|
|
|
180
185
|
const txs = times(numTxs, i =>
|
|
181
186
|
this.makeProcessedTx({ seed: i + blockNum * 1000, globalVariables, ...makeProcessedTxOpts(i) }),
|
|
182
187
|
);
|
|
188
|
+
await this.setEndTreeRoots(txs);
|
|
183
189
|
|
|
184
190
|
const block = await buildBlock(txs, globalVariables, msgs, db);
|
|
185
191
|
this.headers.set(blockNum, block.header);
|
|
@@ -187,12 +193,7 @@ export class TestContext {
|
|
|
187
193
|
return { block, txs, msgs };
|
|
188
194
|
}
|
|
189
195
|
|
|
190
|
-
public async processPublicFunctions(
|
|
191
|
-
txs: Tx[],
|
|
192
|
-
maxTransactions: number,
|
|
193
|
-
txHandler?: ProcessedTxHandler,
|
|
194
|
-
txValidator?: TxValidator<ProcessedTx>,
|
|
195
|
-
) {
|
|
196
|
+
public async processPublicFunctions(txs: Tx[], maxTransactions: number, txValidator?: TxValidator<ProcessedTx>) {
|
|
196
197
|
const defaultExecutorImplementation = (
|
|
197
198
|
_stateManager: AvmPersistableStateManager,
|
|
198
199
|
executionRequest: PublicExecutionRequest,
|
|
@@ -217,16 +218,30 @@ export class TestContext {
|
|
|
217
218
|
return await this.processPublicFunctionsWithMockExecutorImplementation(
|
|
218
219
|
txs,
|
|
219
220
|
maxTransactions,
|
|
220
|
-
txHandler,
|
|
221
221
|
txValidator,
|
|
222
222
|
defaultExecutorImplementation,
|
|
223
223
|
);
|
|
224
224
|
}
|
|
225
225
|
|
|
226
|
+
public async setEndTreeRoots(txs: ProcessedTx[]) {
|
|
227
|
+
const db = await this.worldState.fork();
|
|
228
|
+
for (const tx of txs) {
|
|
229
|
+
await updateExpectedTreesFromTxs(db, [tx]);
|
|
230
|
+
const stateReference = await db.getStateReference();
|
|
231
|
+
if (tx.avmProvingRequest) {
|
|
232
|
+
tx.avmProvingRequest.inputs.output.endTreeSnapshots = new TreeSnapshots(
|
|
233
|
+
stateReference.l1ToL2MessageTree,
|
|
234
|
+
stateReference.partial.noteHashTree,
|
|
235
|
+
stateReference.partial.nullifierTree,
|
|
236
|
+
stateReference.partial.publicDataTree,
|
|
237
|
+
);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
|
|
226
242
|
private async processPublicFunctionsWithMockExecutorImplementation(
|
|
227
243
|
txs: Tx[],
|
|
228
244
|
maxTransactions: number,
|
|
229
|
-
txHandler?: ProcessedTxHandler,
|
|
230
245
|
txValidator?: TxValidator<ProcessedTx>,
|
|
231
246
|
executorMock?: (
|
|
232
247
|
stateManager: AvmPersistableStateManager,
|
|
@@ -254,7 +269,7 @@ export class TestContext {
|
|
|
254
269
|
if (executorMock) {
|
|
255
270
|
simulateInternal.mockImplementation(executorMock);
|
|
256
271
|
}
|
|
257
|
-
return await this.publicProcessor.process(txs, maxTransactions,
|
|
272
|
+
return await this.publicProcessor.process(txs, maxTransactions, txValidator);
|
|
258
273
|
}
|
|
259
274
|
}
|
|
260
275
|
|
|
@@ -45,15 +45,17 @@ import {
|
|
|
45
45
|
PublicDataTreeLeafPreimage,
|
|
46
46
|
type RecursiveProof,
|
|
47
47
|
RootRollupInputs,
|
|
48
|
+
type SpongeBlob,
|
|
48
49
|
StateReference,
|
|
49
50
|
VK_TREE_HEIGHT,
|
|
50
51
|
type VerificationKeyAsFields,
|
|
51
52
|
} from '@aztec/circuits.js';
|
|
52
53
|
import { makeTuple } from '@aztec/foundation/array';
|
|
54
|
+
import { Blob } from '@aztec/foundation/blob';
|
|
53
55
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
54
56
|
import { sha256Trunc } from '@aztec/foundation/crypto';
|
|
55
57
|
import { type Logger } from '@aztec/foundation/log';
|
|
56
|
-
import { type Tuple, assertLength, toFriendlyJSON } from '@aztec/foundation/serialize';
|
|
58
|
+
import { type Tuple, assertLength, serializeToBuffer, toFriendlyJSON } from '@aztec/foundation/serialize';
|
|
57
59
|
import { computeUnbalancedMerkleRoot } from '@aztec/foundation/trees';
|
|
58
60
|
import { getVKIndex, getVKSiblingPath, getVKTreeRoot } from '@aztec/noir-protocol-circuits-types';
|
|
59
61
|
import { protocolContractTreeRoot } from '@aztec/protocol-contracts';
|
|
@@ -76,6 +78,7 @@ export async function buildBaseRollupHints(
|
|
|
76
78
|
tx: ProcessedTx,
|
|
77
79
|
globalVariables: GlobalVariables,
|
|
78
80
|
db: MerkleTreeWriteOperations,
|
|
81
|
+
startSpongeBlob: SpongeBlob,
|
|
79
82
|
) {
|
|
80
83
|
// Get trees info before any changes hit
|
|
81
84
|
const constants = await getConstantRollupData(globalVariables, db);
|
|
@@ -132,6 +135,10 @@ export async function buildBaseRollupHints(
|
|
|
132
135
|
i < nullifierSubtreeSiblingPathArray.length ? nullifierSubtreeSiblingPathArray[i] : Fr.ZERO,
|
|
133
136
|
);
|
|
134
137
|
|
|
138
|
+
// Append new data to startSpongeBlob
|
|
139
|
+
const inputSpongeBlob = startSpongeBlob.clone();
|
|
140
|
+
startSpongeBlob.absorb(tx.txEffect.toBlobFields());
|
|
141
|
+
|
|
135
142
|
if (tx.avmProvingRequest) {
|
|
136
143
|
// Build public base rollup hints
|
|
137
144
|
const stateDiffHints = PublicBaseStateDiffHints.from({
|
|
@@ -176,6 +183,7 @@ export async function buildBaseRollupHints(
|
|
|
176
183
|
|
|
177
184
|
return PublicBaseRollupHints.from({
|
|
178
185
|
start,
|
|
186
|
+
startSpongeBlob: inputSpongeBlob,
|
|
179
187
|
stateDiffHints,
|
|
180
188
|
archiveRootMembershipWitness,
|
|
181
189
|
constants,
|
|
@@ -235,6 +243,7 @@ export async function buildBaseRollupHints(
|
|
|
235
243
|
|
|
236
244
|
return PrivateBaseRollupHints.from({
|
|
237
245
|
start,
|
|
246
|
+
startSpongeBlob: inputSpongeBlob,
|
|
238
247
|
stateDiffHints,
|
|
239
248
|
feePayerFeeJuiceBalanceReadHint: feePayerFeeJuiceBalanceReadHint,
|
|
240
249
|
archiveRootMembershipWitness,
|
|
@@ -300,11 +309,10 @@ export function buildHeaderFromCircuitOutputs(
|
|
|
300
309
|
updatedL1ToL2TreeSnapshot: AppendOnlyTreeSnapshot,
|
|
301
310
|
logger?: Logger,
|
|
302
311
|
) {
|
|
312
|
+
const blobsHash = rootRollupOutputs.blobPublicInputs[0].getBlobsHash();
|
|
303
313
|
const contentCommitment = new ContentCommitment(
|
|
304
314
|
new Fr(previousMergeData[0].numTxs + previousMergeData[1].numTxs),
|
|
305
|
-
|
|
306
|
-
Buffer.concat([previousMergeData[0].txsEffectsHash.toBuffer(), previousMergeData[1].txsEffectsHash.toBuffer()]),
|
|
307
|
-
),
|
|
315
|
+
blobsHash,
|
|
308
316
|
parityPublicInputs.shaRoot.toBuffer(),
|
|
309
317
|
sha256Trunc(Buffer.concat([previousMergeData[0].outHash.toBuffer(), previousMergeData[1].outHash.toBuffer()])),
|
|
310
318
|
);
|
|
@@ -359,10 +367,11 @@ export async function buildHeaderAndBodyFromTxs(
|
|
|
359
367
|
const parityShaRoot = new MerkleTreeCalculator(parityHeight, Fr.ZERO.toBuffer(), hasher).computeTreeRoot(
|
|
360
368
|
l1ToL2Messages.map(msg => msg.toBuffer()),
|
|
361
369
|
);
|
|
370
|
+
const blobsHash = getBlobsHashFromBlobs(Blob.getBlobs(body.toBlobFields()));
|
|
362
371
|
|
|
363
372
|
const contentCommitment = new ContentCommitment(
|
|
364
373
|
new Fr(body.numberOfTxsIncludingPadded),
|
|
365
|
-
|
|
374
|
+
blobsHash,
|
|
366
375
|
parityShaRoot,
|
|
367
376
|
outHash,
|
|
368
377
|
);
|
|
@@ -375,6 +384,11 @@ export async function buildHeaderAndBodyFromTxs(
|
|
|
375
384
|
return { header, body };
|
|
376
385
|
}
|
|
377
386
|
|
|
387
|
+
export function getBlobsHashFromBlobs(inputs: Blob[]): Buffer {
|
|
388
|
+
const blobHashes = serializeToBuffer(inputs.map(b => b.getEthVersionedBlobHash()));
|
|
389
|
+
return sha256Trunc(serializeToBuffer(blobHashes));
|
|
390
|
+
}
|
|
391
|
+
|
|
378
392
|
// Validate that the roots of all local trees match the output of the root circuit simulation
|
|
379
393
|
export async function validateBlockRootOutput(
|
|
380
394
|
blockRootOutput: BlockRootOrBlockMergePublicInputs,
|
|
@@ -547,7 +561,7 @@ export async function getMembershipWitnessFor<N extends number>(
|
|
|
547
561
|
return makeEmptyMembershipWitness(height);
|
|
548
562
|
}
|
|
549
563
|
|
|
550
|
-
const index = await db.
|
|
564
|
+
const index = (await db.findLeafIndices(treeId, [value.toBuffer()]))[0];
|
|
551
565
|
if (index === undefined) {
|
|
552
566
|
throw new Error(`Leaf with value ${value} not found in tree ${MerkleTreeId[treeId]}`);
|
|
553
567
|
}
|