@aztec/prover-client 0.49.2 → 0.51.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.
@@ -134,6 +134,12 @@ export class ProverAgent {
134
134
  case ProvingRequestType.MERGE_ROLLUP: {
135
135
  return this.circuitProver.getMergeRollupProof(inputs);
136
136
  }
137
+ case ProvingRequestType.BLOCK_ROOT_ROLLUP: {
138
+ return this.circuitProver.getBlockRootRollupProof(inputs);
139
+ }
140
+ case ProvingRequestType.BLOCK_MERGE_ROLLUP: {
141
+ return this.circuitProver.getBlockMergeRollupProof(inputs);
142
+ }
137
143
  case ProvingRequestType.ROOT_ROLLUP: {
138
144
  return this.circuitProver.getRootRollupProof(inputs);
139
145
  }
@@ -156,4 +162,4 @@ export class ProverAgent {
156
162
  }
157
163
  }
158
164
  }
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLWFnZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3Zlci1hZ2VudC9wcm92ZXItYWdlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtMLGtCQUFrQixHQUVuQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWxELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLENBQUMsYUFBYTtBQUU5Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxXQUFXO0lBV3RCO0lBQ0UsaURBQWlEO0lBQ3pDLGFBQWtDO0lBQzFDLDhEQUE4RDtJQUN0RCxpQkFBaUIsQ0FBQztJQUMxQixvQ0FBb0M7SUFDNUIsaUJBQWlCLEdBQUcsRUFDcEIsTUFBTSxpQkFBaUIsQ0FBQyxrQ0FBa0MsQ0FBQztRQUwzRCxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFFbEMsbUJBQWMsR0FBZCxjQUFjLENBQUk7UUFFbEIsbUJBQWMsR0FBZCxjQUFjLENBQU07UUFDcEIsUUFBRyxHQUFILEdBQUcsQ0FBd0Q7UUFqQjdELHFCQUFnQixHQUFHLElBQUksR0FBRyxFQU8vQixDQUFDO0lBV0QsQ0FBQztJQUVKLGlCQUFpQixDQUFDLGNBQXNCO1FBQ3RDLElBQUksY0FBYyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7SUFDdkMsQ0FBQztJQUVELGdCQUFnQixDQUFDLGFBQWtDO1FBQ2pELElB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
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLWFnZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3Zlci1hZ2VudC9wcm92ZXItYWdlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtMLGtCQUFrQixHQUVuQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWxELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLENBQUMsYUFBYTtBQUU5Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxXQUFXO0lBV3RCO0lBQ0UsaURBQWlEO0lBQ3pDLGFBQWtDO0lBQzFDLDhEQUE4RDtJQUN0RCxpQkFBaUIsQ0FBQztJQUMxQixvQ0FBb0M7SUFDNUIsaUJBQWlCLEdBQUcsRUFDcEIsTUFBTSxpQkFBaUIsQ0FBQyxrQ0FBa0MsQ0FBQztRQUwzRCxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFFbEMsbUJBQWMsR0FBZCxjQUFjLENBQUk7UUFFbEIsbUJBQWMsR0FBZCxjQUFjLENBQU07UUFDcEIsUUFBRyxHQUFILEdBQUcsQ0FBd0Q7UUFqQjdELHFCQUFnQixHQUFHLElBQUksR0FBRyxFQU8vQixDQUFDO0lBV0QsQ0FBQztJQUVKLGlCQUFpQixDQUFDLGNBQXNCO1FBQ3RDLElBQUksY0FBYyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7SUFDdkMsQ0FBQztJQUVELGdCQUFnQixDQUFDLGFBQWtDO1FBQ2pELElB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
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/prover-agent/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAyB7D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAIlE,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,gBAAgB,GAAG,aAAa,CA6BnF;AAED,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,yFAA8B,GAClC,gBAAgB,CAgClB"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/prover-agent/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA4B7D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAIlE,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,gBAAgB,GAAG,aAAa,CAgCnF;AAED,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,yFAA8B,GAClC,gBAAgB,CAmClB"}
@@ -1,4 +1,4 @@
1
- import { AvmCircuitInputs, BaseOrMergeRollupPublicInputs, BaseParityInputs, BaseRollupInputs, Fr, Header, KernelCircuitPublicInputs, MergeRollupInputs, ParityPublicInputs, PrivateKernelEmptyInputData, Proof, PublicKernelCircuitPrivateInputs, PublicKernelCircuitPublicInputs, PublicKernelTailCircuitPrivateInputs, RecursiveProof, RootParityInput, RootParityInputs, RootRollupInputs, RootRollupPublicInputs, TubeInputs, VerificationKeyData, } from '@aztec/circuits.js';
1
+ import { AvmCircuitInputs, BaseOrMergeRollupPublicInputs, BaseParityInputs, BaseRollupInputs, BlockMergeRollupInputs, BlockRootOrBlockMergePublicInputs, BlockRootRollupInputs, Fr, Header, KernelCircuitPublicInputs, MergeRollupInputs, ParityPublicInputs, PrivateKernelEmptyInputData, Proof, PublicKernelCircuitPrivateInputs, PublicKernelCircuitPublicInputs, PublicKernelTailCircuitPrivateInputs, RecursiveProof, RootParityInput, RootParityInputs, RootRollupInputs, RootRollupPublicInputs, TubeInputs, VerificationKeyData, } from '@aztec/circuits.js';
2
2
  import { createJsonRpcClient, makeFetch } from '@aztec/foundation/json-rpc/client';
3
3
  import { JsonRpcServer } from '@aztec/foundation/json-rpc/server';
4
4
  import { ProvingError } from './proving-error.js';
@@ -26,6 +26,9 @@ export function createProvingJobSourceServer(queue) {
26
26
  RootRollupPublicInputs,
27
27
  TubeInputs,
28
28
  VerificationKeyData,
29
+ BlockRootOrBlockMergePublicInputs,
30
+ BlockMergeRollupInputs,
31
+ BlockRootRollupInputs,
29
32
  }, {});
30
33
  }
31
34
  export function createProvingJobSourceClient(url, namespace, fetch = makeFetch([1, 2, 3], false)) {
@@ -52,6 +55,9 @@ export function createProvingJobSourceClient(url, namespace, fetch = makeFetch([
52
55
  RootRollupInputs,
53
56
  TubeInputs,
54
57
  VerificationKeyData,
58
+ BlockRootOrBlockMergePublicInputs,
59
+ BlockMergeRollupInputs,
60
+ BlockRootRollupInputs,
55
61
  }, {}, false, namespace, fetch);
56
62
  }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3Zlci1hZ2VudC9ycGMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLGdCQUFnQixFQUNoQiw2QkFBNkIsRUFDN0IsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixFQUFFLEVBQ0YsTUFBTSxFQUNOLHlCQUF5QixFQUN6QixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLDJCQUEyQixFQUMzQixLQUFLLEVBQ0wsZ0NBQWdDLEVBQ2hDLCtCQUErQixFQUMvQixvQ0FBb0MsRUFDcEMsY0FBYyxFQUNkLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLHNCQUFzQixFQUN0QixVQUFVLEVBQ1YsbUJBQW1CLEdBQ3BCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsTUFBTSxVQUFVLDRCQUE0QixDQUFDLEtBQXVCO0lBQ2xFLE9BQU8sSUFBSSxhQUFhLENBQ3RCLEtBQUssRUFDTDtRQUNFLGdCQUFnQjtRQUNoQiw2QkFBNkI7UUFDN0IsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixFQUFFO1FBQ0YsTUFBTTtRQUNOLHlCQUF5QjtRQUN6QixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLEtBQUs7UUFDTCxZQUFZO1FBQ1osMkJBQTJCO1FBQzNCLGdDQUFnQztRQUNoQywrQkFBK0I7UUFDL0Isb0NBQW9DO1FBQ3BDLGNBQWM7UUFDZCxlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixzQkFBc0I7UUFDdEIsVUFBVTtRQUNWLG1CQUFtQjtLQUNwQixFQUNELEVBQUUsQ0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSw0QkFBNEIsQ0FDMUMsR0FBVyxFQUNYLFNBQWtCLEVBQ2xCLEtBQUssR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQztJQUVuQyxPQUFPLG1CQUFtQixDQUN4QixHQUFHLEVBQ0g7UUFDRSxnQkFBZ0I7UUFDaEIsNkJBQTZCO1FBQzdCLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsRUFBRTtRQUNGLE1BQU07UUFDTix5QkFBeUI7UUFDekIsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixLQUFLO1FBQ0wsWUFBWTtRQUNaLDJCQUEyQjtRQUMzQixnQ0FBZ0M7UUFDaEMsK0JBQStCO1FBQy9CLG9DQUFvQztRQUNwQyxjQUFjO1FBQ2QsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixzQkFBc0I7UUFDdEIsZ0JBQWdCO1FBQ2hCLFVBQVU7UUFDVixtQkFBbUI7S0FDcEIsRUFDRCxFQUFFLEVBQ0YsS0FBSyxFQUNMLFNBQVMsRUFDVCxLQUFLLENBQ2MsQ0FBQztBQUN4QixDQUFDIn0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3Zlci1hZ2VudC9ycGMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLGdCQUFnQixFQUNoQiw2QkFBNkIsRUFDN0IsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixzQkFBc0IsRUFDdEIsaUNBQWlDLEVBQ2pDLHFCQUFxQixFQUNyQixFQUFFLEVBQ0YsTUFBTSxFQUNOLHlCQUF5QixFQUN6QixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLDJCQUEyQixFQUMzQixLQUFLLEVBQ0wsZ0NBQWdDLEVBQ2hDLCtCQUErQixFQUMvQixvQ0FBb0MsRUFDcEMsY0FBYyxFQUNkLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLHNCQUFzQixFQUN0QixVQUFVLEVBQ1YsbUJBQW1CLEdBQ3BCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsTUFBTSxVQUFVLDRCQUE0QixDQUFDLEtBQXVCO0lBQ2xFLE9BQU8sSUFBSSxhQUFhLENBQ3RCLEtBQUssRUFDTDtRQUNFLGdCQUFnQjtRQUNoQiw2QkFBNkI7UUFDN0IsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixFQUFFO1FBQ0YsTUFBTTtRQUNOLHlCQUF5QjtRQUN6QixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLEtBQUs7UUFDTCxZQUFZO1FBQ1osMkJBQTJCO1FBQzNCLGdDQUFnQztRQUNoQywrQkFBK0I7UUFDL0Isb0NBQW9DO1FBQ3BDLGNBQWM7UUFDZCxlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixzQkFBc0I7UUFDdEIsVUFBVTtRQUNWLG1CQUFtQjtRQUNuQixpQ0FBaUM7UUFDakMsc0JBQXNCO1FBQ3RCLHFCQUFxQjtLQUN0QixFQUNELEVBQUUsQ0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSw0QkFBNEIsQ0FDMUMsR0FBVyxFQUNYLFNBQWtCLEVBQ2xCLEtBQUssR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQztJQUVuQyxPQUFPLG1CQUFtQixDQUN4QixHQUFHLEVBQ0g7UUFDRSxnQkFBZ0I7UUFDaEIsNkJBQTZCO1FBQzdCLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsRUFBRTtRQUNGLE1BQU07UUFDTix5QkFBeUI7UUFDekIsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixLQUFLO1FBQ0wsWUFBWTtRQUNaLDJCQUEyQjtRQUMzQixnQ0FBZ0M7UUFDaEMsK0JBQStCO1FBQy9CLG9DQUFvQztRQUNwQyxjQUFjO1FBQ2QsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixzQkFBc0I7UUFDdEIsZ0JBQWdCO1FBQ2hCLFVBQVU7UUFDVixtQkFBbUI7UUFDbkIsaUNBQWlDO1FBQ2pDLHNCQUFzQjtRQUN0QixxQkFBcUI7S0FDdEIsRUFDRCxFQUFFLEVBQ0YsS0FBSyxFQUNMLFNBQVMsRUFDVCxLQUFLLENBQ2MsQ0FBQztBQUN4QixDQUFDIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/prover-client",
3
- "version": "0.49.2",
3
+ "version": "0.51.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -59,15 +59,15 @@
59
59
  ]
60
60
  },
61
61
  "dependencies": {
62
- "@aztec/bb-prover": "0.49.2",
63
- "@aztec/circuit-types": "0.49.2",
64
- "@aztec/circuits.js": "0.49.2",
65
- "@aztec/foundation": "0.49.2",
66
- "@aztec/kv-store": "0.49.2",
67
- "@aztec/noir-protocol-circuits-types": "0.49.2",
68
- "@aztec/simulator": "0.49.2",
69
- "@aztec/telemetry-client": "0.49.2",
70
- "@aztec/world-state": "0.49.2",
62
+ "@aztec/bb-prover": "0.51.0",
63
+ "@aztec/circuit-types": "0.51.0",
64
+ "@aztec/circuits.js": "0.51.0",
65
+ "@aztec/foundation": "0.51.0",
66
+ "@aztec/kv-store": "0.51.0",
67
+ "@aztec/noir-protocol-circuits-types": "0.51.0",
68
+ "@aztec/simulator": "0.51.0",
69
+ "@aztec/telemetry-client": "0.51.0",
70
+ "@aztec/world-state": "0.51.0",
71
71
  "@noir-lang/types": "portal:../../noir/packages/types",
72
72
  "commander": "^12.1.0",
73
73
  "lodash.chunk": "^4.2.0",
@@ -68,8 +68,8 @@ export class TestContext {
68
68
  const publicContractsDB = mock<ContractsDataSourcePublicDB>();
69
69
  const publicWorldStateDB = mock<WorldStatePublicDB>();
70
70
  const publicKernel = new RealPublicKernelCircuitSimulator(new WASMSimulator());
71
- const actualDb = await MerkleTrees.new(openTmpStore()).then(t => t.asLatest());
72
71
  const telemetry = new NoopTelemetryClient();
72
+ const actualDb = await MerkleTrees.new(openTmpStore(), telemetry).then(t => t.asLatest());
73
73
  const processor = new PublicProcessor(
74
74
  actualDb,
75
75
  publicExecutor,
@@ -4,9 +4,13 @@ import {
4
4
  AppendOnlyTreeSnapshot,
5
5
  type BaseOrMergeRollupPublicInputs,
6
6
  BaseRollupInputs,
7
+ BlockMergeRollupInputs,
8
+ type BlockRootOrBlockMergePublicInputs,
9
+ BlockRootRollupInputs,
7
10
  ConstantRollupData,
8
11
  Fr,
9
12
  type GlobalVariables,
13
+ type Header,
10
14
  KernelData,
11
15
  type L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH,
12
16
  MAX_NULLIFIERS_PER_TX,
@@ -25,6 +29,7 @@ import {
25
29
  PUBLIC_DATA_SUBTREE_SIBLING_PATH_LENGTH,
26
30
  PUBLIC_DATA_TREE_HEIGHT,
27
31
  PartialStateReference,
32
+ PreviousRollupBlockData,
28
33
  PreviousRollupData,
29
34
  PublicDataHint,
30
35
  PublicDataTreeLeaf,
@@ -34,7 +39,6 @@ import {
34
39
  type RecursiveProof,
35
40
  type RootParityInput,
36
41
  RootRollupInputs,
37
- type RootRollupPublicInputs,
38
42
  StateDiffHints,
39
43
  type StateReference,
40
44
  VK_TREE_HEIGHT,
@@ -185,11 +189,35 @@ export function createMergeRollupInputs(
185
189
  return mergeInputs;
186
190
  }
187
191
 
192
+ // TODO(#7346): Integrate batch rollup circuits and test below
193
+ export function createBlockMergeRollupInputs(
194
+ left: [
195
+ BlockRootOrBlockMergePublicInputs,
196
+ RecursiveProof<typeof NESTED_RECURSIVE_PROOF_LENGTH>,
197
+ VerificationKeyAsFields,
198
+ ],
199
+ right: [
200
+ BlockRootOrBlockMergePublicInputs,
201
+ RecursiveProof<typeof NESTED_RECURSIVE_PROOF_LENGTH>,
202
+ VerificationKeyAsFields,
203
+ ],
204
+ ) {
205
+ const mergeInputs = new BlockMergeRollupInputs([
206
+ getPreviousRollupBlockDataFromPublicInputs(left[0], left[1], left[2]),
207
+ getPreviousRollupBlockDataFromPublicInputs(right[0], right[1], right[2]),
208
+ ]);
209
+ return mergeInputs;
210
+ }
211
+
188
212
  // Validate that the roots of all local trees match the output of the root circuit simulation
189
- export async function validateRootOutput(rootOutput: RootRollupPublicInputs, db: MerkleTreeOperations) {
213
+ export async function validateBlockRootOutput(
214
+ blockRootOutput: BlockRootOrBlockMergePublicInputs,
215
+ blockHeader: Header,
216
+ db: MerkleTreeOperations,
217
+ ) {
190
218
  await Promise.all([
191
- validateState(rootOutput.header.state, db),
192
- validateSimulatedTree(await getTreeSnapshot(MerkleTreeId.ARCHIVE, db), rootOutput.archive, 'Archive'),
219
+ validateState(blockHeader.state, db),
220
+ validateSimulatedTree(await getTreeSnapshot(MerkleTreeId.ARCHIVE, db), blockRootOutput.newArchive, 'Archive'),
193
221
  ]);
194
222
  }
195
223
 
@@ -210,8 +238,8 @@ export async function validateState(state: StateReference, db: MerkleTreeOperati
210
238
  );
211
239
  }
212
240
 
213
- // Builds the inputs for the root rollup circuit, without making any changes to trees
214
- export async function getRootRollupInput(
241
+ // Builds the inputs for the block root rollup circuit, without making any changes to trees
242
+ export async function getBlockRootRollupInput(
215
243
  rollupOutputLeft: BaseOrMergeRollupPublicInputs,
216
244
  rollupProofLeft: RecursiveProof<typeof NESTED_RECURSIVE_PROOF_LENGTH>,
217
245
  verificationKeyLeft: VerificationKeyAsFields,
@@ -225,7 +253,7 @@ export async function getRootRollupInput(
225
253
  db: MerkleTreeOperations,
226
254
  proverId: Fr,
227
255
  ) {
228
- const previousRollupData: RootRollupInputs['previousRollupData'] = [
256
+ const previousRollupData: BlockRootRollupInputs['previousRollupData'] = [
229
257
  getPreviousRollupDataFromPublicInputs(rollupOutputLeft, rollupProofLeft, verificationKeyLeft),
230
258
  getPreviousRollupDataFromPublicInputs(rollupOutputRight, rollupProofRight, verificationKeyRight),
231
259
  ];
@@ -246,7 +274,7 @@ export async function getRootRollupInput(
246
274
  0,
247
275
  );
248
276
 
249
- return RootRollupInputs.from({
277
+ return BlockRootRollupInputs.from({
250
278
  previousRollupData,
251
279
  l1ToL2Roots,
252
280
  newL1ToL2Messages,
@@ -254,6 +282,30 @@ export async function getRootRollupInput(
254
282
  startL1ToL2MessageTreeSnapshot: messageTreeSnapshot,
255
283
  startArchiveSnapshot,
256
284
  newArchiveSiblingPath,
285
+ // TODO(#7346): Inject previous block hash (required when integrating batch rollup circuits)
286
+ previousBlockHash: Fr.ZERO,
287
+ proverId,
288
+ });
289
+ }
290
+
291
+ // Builds the inputs for the final root rollup circuit, without making any changes to trees
292
+ // TODO(#7346): Integrate batch rollup circuits and test below
293
+ export function getRootRollupInput(
294
+ rollupOutputLeft: BlockRootOrBlockMergePublicInputs,
295
+ rollupProofLeft: RecursiveProof<typeof NESTED_RECURSIVE_PROOF_LENGTH>,
296
+ verificationKeyLeft: VerificationKeyAsFields,
297
+ rollupOutputRight: BlockRootOrBlockMergePublicInputs,
298
+ rollupProofRight: RecursiveProof<typeof NESTED_RECURSIVE_PROOF_LENGTH>,
299
+ verificationKeyRight: VerificationKeyAsFields,
300
+ proverId: Fr,
301
+ ) {
302
+ const previousRollupData: RootRollupInputs['previousRollupData'] = [
303
+ getPreviousRollupBlockDataFromPublicInputs(rollupOutputLeft, rollupProofLeft, verificationKeyLeft),
304
+ getPreviousRollupBlockDataFromPublicInputs(rollupOutputRight, rollupProofRight, verificationKeyRight),
305
+ ];
306
+
307
+ return RootRollupInputs.from({
308
+ previousRollupData,
257
309
  proverId,
258
310
  });
259
311
  }
@@ -273,6 +325,21 @@ export function getPreviousRollupDataFromPublicInputs(
273
325
  );
274
326
  }
275
327
 
328
+ export function getPreviousRollupBlockDataFromPublicInputs(
329
+ rollupOutput: BlockRootOrBlockMergePublicInputs,
330
+ rollupProof: RecursiveProof<typeof NESTED_RECURSIVE_PROOF_LENGTH>,
331
+ vk: VerificationKeyAsFields,
332
+ ) {
333
+ const leafIndex = getVKIndex(vk);
334
+
335
+ return new PreviousRollupBlockData(
336
+ rollupOutput,
337
+ rollupProof,
338
+ vk,
339
+ new MembershipWitness(VK_TREE_HEIGHT, BigInt(leafIndex), getVKSiblingPath(leafIndex)),
340
+ );
341
+ }
342
+
276
343
  export async function getConstantRollupData(
277
344
  globalVariables: GlobalVariables,
278
345
  db: MerkleTreeOperations,
@@ -32,8 +32,10 @@ import {
32
32
  type BaseOrMergeRollupPublicInputs,
33
33
  BaseParityInputs,
34
34
  type BaseRollupInputs,
35
+ ContentCommitment,
35
36
  Fr,
36
37
  type GlobalVariables,
38
+ Header,
37
39
  type KernelCircuitPublicInputs,
38
40
  L1_TO_L2_MSG_SUBTREE_HEIGHT,
39
41
  L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH,
@@ -47,6 +49,7 @@ import {
47
49
  type RecursiveProof,
48
50
  type RootParityInput,
49
51
  RootParityInputs,
52
+ StateReference,
50
53
  type TUBE_PROOF_LENGTH,
51
54
  TubeInputs,
52
55
  type VerificationKeyAsFields,
@@ -56,6 +59,7 @@ import {
56
59
  } from '@aztec/circuits.js';
57
60
  import { makeTuple } from '@aztec/foundation/array';
58
61
  import { padArrayEnd } from '@aztec/foundation/collection';
62
+ import { sha256Trunc } from '@aztec/foundation/crypto';
59
63
  import { AbortError } from '@aztec/foundation/error';
60
64
  import { createDebugLogger } from '@aztec/foundation/log';
61
65
  import { promiseWithResolvers } from '@aztec/foundation/promise';
@@ -71,11 +75,11 @@ import { inspect } from 'util';
71
75
  import {
72
76
  buildBaseRollupInput,
73
77
  createMergeRollupInputs,
74
- getRootRollupInput,
78
+ getBlockRootRollupInput,
75
79
  getSubtreeSiblingPath,
76
80
  getTreeSnapshot,
81
+ validateBlockRootOutput,
77
82
  validatePartialState,
78
- validateRootOutput,
79
83
  validateTx,
80
84
  } from './block-building-helpers.js';
81
85
  import { ProvingOrchestratorMetrics } from './orchestrator_metrics.js';
@@ -392,6 +396,52 @@ export class ProvingOrchestrator implements BlockProver {
392
396
  this.provingState?.cancel();
393
397
  }
394
398
 
399
+ /**
400
+ * Extract the block header from public inputs.
401
+ * TODO(#7346): Refactor this once new batch rollup circuits are integrated
402
+ * @returns The header of this proving state's block.
403
+ */
404
+ private async extractBlockHeader() {
405
+ if (
406
+ !this.provingState ||
407
+ !this.provingState.blockRootRollupPublicInputs ||
408
+ !this.provingState.finalRootParityInput?.publicInputs.shaRoot
409
+ ) {
410
+ throw new Error(`Invalid proving state, a block must be proven before its header can be extracted.`);
411
+ }
412
+
413
+ const rootRollupOutputs = this.provingState.blockRootRollupPublicInputs;
414
+ const previousMergeData = this.provingState.getMergeInputs(0).inputs;
415
+
416
+ if (!previousMergeData[0] || !previousMergeData[1]) {
417
+ throw new Error(`Invalid proving state, final merge inputs before block root circuit missing.`);
418
+ }
419
+
420
+ const contentCommitment = new ContentCommitment(
421
+ new Fr(previousMergeData[0].numTxs + previousMergeData[1].numTxs),
422
+ sha256Trunc(
423
+ Buffer.concat([previousMergeData[0].txsEffectsHash.toBuffer(), previousMergeData[1].txsEffectsHash.toBuffer()]),
424
+ ),
425
+ this.provingState.finalRootParityInput.publicInputs.shaRoot.toBuffer(),
426
+ sha256Trunc(Buffer.concat([previousMergeData[0].outHash.toBuffer(), previousMergeData[1].outHash.toBuffer()])),
427
+ );
428
+ const state = new StateReference(
429
+ await getTreeSnapshot(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, this.db),
430
+ previousMergeData[1].end,
431
+ );
432
+ const header = new Header(
433
+ rootRollupOutputs.previousArchive,
434
+ contentCommitment,
435
+ state,
436
+ previousMergeData[0].constants.globalVariables,
437
+ previousMergeData[0].accumulatedFees.add(previousMergeData[1].accumulatedFees),
438
+ );
439
+ if (!header.hash().equals(rootRollupOutputs.endBlockHash)) {
440
+ throw new Error(`Block header mismatch in finalise.`);
441
+ }
442
+ return header;
443
+ }
444
+
395
445
  /**
396
446
  * Performs the final tree update for the block and returns the fully proven block.
397
447
  * @returns The fully proven block and proof.
@@ -407,7 +457,7 @@ export class ProvingOrchestrator implements BlockProver {
407
457
  try {
408
458
  if (
409
459
  !this.provingState ||
410
- !this.provingState.rootRollupPublicInputs ||
460
+ !this.provingState.blockRootRollupPublicInputs ||
411
461
  !this.provingState.finalProof ||
412
462
  !this.provingState.finalAggregationObject
413
463
  ) {
@@ -417,12 +467,13 @@ export class ProvingOrchestrator implements BlockProver {
417
467
  throw new Error('Block already finalised');
418
468
  }
419
469
 
420
- const rootRollupOutputs = this.provingState.rootRollupPublicInputs;
470
+ const rootRollupOutputs = this.provingState.blockRootRollupPublicInputs;
471
+ const header = await this.extractBlockHeader();
421
472
 
422
473
  logger?.debug(`Updating and validating root trees`);
423
- await this.db.updateArchive(rootRollupOutputs.header);
474
+ await this.db.updateArchive(header);
424
475
 
425
- await validateRootOutput(rootRollupOutputs, this.db);
476
+ await validateBlockRootOutput(rootRollupOutputs, header, this.db);
426
477
 
427
478
  // Collect all new nullifiers, commitments, and contracts from all txs in this block
428
479
  const gasFees = this.provingState.globalVariables.gasFees;
@@ -432,21 +483,21 @@ export class ProvingOrchestrator implements BlockProver {
432
483
  const blockBody = new Body(nonEmptyTxEffects);
433
484
 
434
485
  const l2Block = L2Block.fromFields({
435
- archive: rootRollupOutputs.archive,
436
- header: rootRollupOutputs.header,
486
+ archive: rootRollupOutputs.newArchive,
487
+ header: header,
437
488
  body: blockBody,
438
489
  });
439
490
 
440
- if (!l2Block.body.getTxsEffectsHash().equals(rootRollupOutputs.header.contentCommitment.txsEffectsHash)) {
491
+ if (!l2Block.body.getTxsEffectsHash().equals(header.contentCommitment.txsEffectsHash)) {
441
492
  logger.debug(inspect(blockBody));
442
493
  throw new Error(
443
494
  `Txs effects hash mismatch, ${l2Block.body
444
495
  .getTxsEffectsHash()
445
- .toString('hex')} == ${rootRollupOutputs.header.contentCommitment.txsEffectsHash.toString('hex')} `,
496
+ .toString('hex')} == ${header.contentCommitment.txsEffectsHash.toString('hex')} `,
446
497
  );
447
498
  }
448
499
 
449
- logger.info(`Successfully proven block ${l2Block.number}!`);
500
+ logger.info(`Orchestrator finalised block ${l2Block.number}`);
450
501
 
451
502
  this.provingState.block = l2Block;
452
503
 
@@ -756,7 +807,7 @@ export class ProvingOrchestrator implements BlockProver {
756
807
  );
757
808
  }
758
809
 
759
- // Executes the merge rollup circuit and stored the output as intermediate state for the parent merge/root circuit
810
+ // Executes the merge rollup circuit and stored the output as intermediate state for the parent merge/block root circuit
760
811
  // Enqueues the next level of merge if all inputs are available
761
812
  private enqueueMergeRollup(
762
813
  provingState: ProvingState,
@@ -790,8 +841,8 @@ export class ProvingOrchestrator implements BlockProver {
790
841
  );
791
842
  }
792
843
 
793
- // Executes the root rollup circuit
794
- private async enqueueRootRollup(provingState: ProvingState | undefined) {
844
+ // Executes the block root rollup circuit
845
+ private async enqueueBlockRootRollup(provingState: ProvingState | undefined) {
795
846
  if (!provingState?.verifyState()) {
796
847
  logger.debug('Not running root rollup, state no longer valid');
797
848
  return;
@@ -799,7 +850,7 @@ export class ProvingOrchestrator implements BlockProver {
799
850
  const mergeInputData = provingState.getMergeInputs(0);
800
851
  const rootParityInput = provingState.finalRootParityInput!;
801
852
 
802
- const inputs = await getRootRollupInput(
853
+ const inputs = await getBlockRootRollupInput(
803
854
  mergeInputData.inputs[0]!,
804
855
  mergeInputData.proofs[0]!,
805
856
  mergeInputData.verificationKeys[0]!,
@@ -818,15 +869,15 @@ export class ProvingOrchestrator implements BlockProver {
818
869
  provingState,
819
870
  wrapCallbackInSpan(
820
871
  this.tracer,
821
- 'ProvingOrchestrator.prover.getRootRollupProof',
872
+ 'ProvingOrchestrator.prover.getBlockRootRollupProof',
822
873
  {
823
874
  [Attributes.PROTOCOL_CIRCUIT_TYPE]: 'server',
824
- [Attributes.PROTOCOL_CIRCUIT_NAME]: 'root-rollup' as CircuitName,
875
+ [Attributes.PROTOCOL_CIRCUIT_NAME]: 'block-root-rollup' as CircuitName,
825
876
  },
826
- signal => this.prover.getRootRollupProof(inputs, signal, provingState.epochNumber),
877
+ signal => this.prover.getBlockRootRollupProof(inputs, signal, provingState.epochNumber),
827
878
  ),
828
879
  result => {
829
- provingState.rootRollupPublicInputs = result.inputs;
880
+ provingState.blockRootRollupPublicInputs = result.inputs;
830
881
  provingState.finalAggregationObject = extractAggregationObject(
831
882
  result.proof.binaryProof,
832
883
  result.verificationKey.numPublicInputs,
@@ -886,17 +937,17 @@ export class ProvingOrchestrator implements BlockProver {
886
937
  ),
887
938
  async rootInput => {
888
939
  provingState!.finalRootParityInput = rootInput;
889
- await this.checkAndEnqueueRootRollup(provingState);
940
+ await this.checkAndEnqueueBlockRootRollup(provingState);
890
941
  },
891
942
  );
892
943
  }
893
944
 
894
- private async checkAndEnqueueRootRollup(provingState: ProvingState | undefined) {
895
- if (!provingState?.isReadyForRootRollup()) {
945
+ private async checkAndEnqueueBlockRootRollup(provingState: ProvingState | undefined) {
946
+ if (!provingState?.isReadyForBlockRootRollup()) {
896
947
  logger.debug('Not ready for root rollup');
897
948
  return;
898
949
  }
899
- await this.enqueueRootRollup(provingState);
950
+ await this.enqueueBlockRootRollup(provingState);
900
951
  }
901
952
 
902
953
  /**
@@ -925,7 +976,7 @@ export class ProvingOrchestrator implements BlockProver {
925
976
 
926
977
  if (result.mergeLevel === 0n) {
927
978
  // TODO (alexg) remove this `void`
928
- void this.checkAndEnqueueRootRollup(provingState);
979
+ void this.checkAndEnqueueBlockRootRollup(provingState);
929
980
  } else {
930
981
  // onto the next merge level
931
982
  this.enqueueMergeRollup(provingState, result.mergeLevel, result.indexWithinMergeLevel, result.mergeInputData);
@@ -2,6 +2,7 @@ import { type L2Block, type MerkleTreeId, type ProvingResult } from '@aztec/circ
2
2
  import {
3
3
  type AppendOnlyTreeSnapshot,
4
4
  type BaseOrMergeRollupPublicInputs,
5
+ type BlockRootOrBlockMergePublicInputs,
5
6
  type Fr,
6
7
  type GlobalVariables,
7
8
  type L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH,
@@ -11,7 +12,6 @@ import {
11
12
  type RECURSIVE_PROOF_LENGTH,
12
13
  type RecursiveProof,
13
14
  type RootParityInput,
14
- type RootRollupPublicInputs,
15
15
  type VerificationKeyAsFields,
16
16
  } from '@aztec/circuits.js';
17
17
  import { type Tuple } from '@aztec/foundation/serialize';
@@ -46,7 +46,7 @@ export class ProvingState {
46
46
  private mergeRollupInputs: MergeRollupInputData[] = [];
47
47
  private rootParityInputs: Array<RootParityInput<typeof RECURSIVE_PROOF_LENGTH> | undefined> = [];
48
48
  private finalRootParityInputs: RootParityInput<typeof NESTED_RECURSIVE_PROOF_LENGTH> | undefined;
49
- public rootRollupPublicInputs: RootRollupPublicInputs | undefined;
49
+ public blockRootRollupPublicInputs: BlockRootOrBlockMergePublicInputs | undefined;
50
50
  public finalAggregationObject: Fr[] | undefined;
51
51
  public finalProof: Proof | undefined;
52
52
  public block: L2Block | undefined;
@@ -193,8 +193,8 @@ export class ProvingState {
193
193
  return this.mergeRollupInputs[indexOfMerge];
194
194
  }
195
195
 
196
- // Returns true if we have sufficient inputs to execute the root rollup
197
- public isReadyForRootRollup() {
196
+ // Returns true if we have sufficient inputs to execute the block root rollup
197
+ public isReadyForBlockRootRollup() {
198
198
  return !(
199
199
  this.mergeRollupInputs[0] === undefined ||
200
200
  this.finalRootParityInput === undefined ||
@@ -15,6 +15,9 @@ import type {
15
15
  BaseOrMergeRollupPublicInputs,
16
16
  BaseParityInputs,
17
17
  BaseRollupInputs,
18
+ BlockMergeRollupInputs,
19
+ BlockRootOrBlockMergePublicInputs,
20
+ BlockRootRollupInputs,
18
21
  KernelCircuitPublicInputs,
19
22
  MergeRollupInputs,
20
23
  NESTED_RECURSIVE_PROOF_LENGTH,
@@ -330,6 +333,30 @@ export class MemoryProvingQueue implements ServerCircuitProver, ProvingJobSource
330
333
  return this.enqueue({ type: ProvingRequestType.MERGE_ROLLUP, inputs: input }, signal, epochNumber);
331
334
  }
332
335
 
336
+ /**
337
+ * Creates a proof for the given input.
338
+ * @param input - Input to the circuit.
339
+ */
340
+ getBlockRootRollupProof(
341
+ input: BlockRootRollupInputs,
342
+ signal?: AbortSignal,
343
+ epochNumber?: number,
344
+ ): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs>> {
345
+ return this.enqueue({ type: ProvingRequestType.BLOCK_ROOT_ROLLUP, inputs: input }, signal, epochNumber);
346
+ }
347
+
348
+ /**
349
+ * Creates a proof for the given input.
350
+ * @param input - Input to the circuit.
351
+ */
352
+ getBlockMergeRollupProof(
353
+ input: BlockMergeRollupInputs,
354
+ signal?: AbortSignal,
355
+ epochNumber?: number,
356
+ ): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs>> {
357
+ return this.enqueue({ type: ProvingRequestType.BLOCK_MERGE_ROLLUP, inputs: input }, signal, epochNumber);
358
+ }
359
+
333
360
  /**
334
361
  * Creates a proof for the given input.
335
362
  * @param input - Input to the circuit.
@@ -183,6 +183,14 @@ export class ProverAgent {
183
183
  return this.circuitProver.getMergeRollupProof(inputs);
184
184
  }
185
185
 
186
+ case ProvingRequestType.BLOCK_ROOT_ROLLUP: {
187
+ return this.circuitProver.getBlockRootRollupProof(inputs);
188
+ }
189
+
190
+ case ProvingRequestType.BLOCK_MERGE_ROLLUP: {
191
+ return this.circuitProver.getBlockMergeRollupProof(inputs);
192
+ }
193
+
186
194
  case ProvingRequestType.ROOT_ROLLUP: {
187
195
  return this.circuitProver.getRootRollupProof(inputs);
188
196
  }
@@ -4,6 +4,9 @@ import {
4
4
  BaseOrMergeRollupPublicInputs,
5
5
  BaseParityInputs,
6
6
  BaseRollupInputs,
7
+ BlockMergeRollupInputs,
8
+ BlockRootOrBlockMergePublicInputs,
9
+ BlockRootRollupInputs,
7
10
  Fr,
8
11
  Header,
9
12
  KernelCircuitPublicInputs,
@@ -53,6 +56,9 @@ export function createProvingJobSourceServer(queue: ProvingJobSource): JsonRpcSe
53
56
  RootRollupPublicInputs,
54
57
  TubeInputs,
55
58
  VerificationKeyData,
59
+ BlockRootOrBlockMergePublicInputs,
60
+ BlockMergeRollupInputs,
61
+ BlockRootRollupInputs,
56
62
  },
57
63
  {},
58
64
  );
@@ -88,6 +94,9 @@ export function createProvingJobSourceClient(
88
94
  RootRollupInputs,
89
95
  TubeInputs,
90
96
  VerificationKeyData,
97
+ BlockRootOrBlockMergePublicInputs,
98
+ BlockMergeRollupInputs,
99
+ BlockRootRollupInputs,
91
100
  },
92
101
  {},
93
102
  false,