@aztec/bb-prover 3.0.0-nightly.20260104 → 3.0.0-nightly.20260106
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/prover/client/bb_private_kernel_prover.d.ts +9 -3
- package/dest/prover/client/bb_private_kernel_prover.d.ts.map +1 -1
- package/dest/prover/client/bb_private_kernel_prover.js +14 -4
- package/dest/prover/client/bundle.d.ts +3 -3
- package/dest/prover/client/bundle.d.ts.map +1 -1
- package/dest/prover/client/bundle.js +2 -3
- package/dest/prover/client/lazy.d.ts +3 -3
- package/dest/prover/client/lazy.d.ts.map +1 -1
- package/dest/prover/client/lazy.js +2 -3
- package/dest/test/delay_values.d.ts +1 -1
- package/dest/test/delay_values.d.ts.map +1 -1
- package/dest/test/delay_values.js +27 -25
- package/dest/test/index.d.ts +2 -1
- package/dest/test/index.d.ts.map +1 -1
- package/dest/test/index.js +1 -0
- package/package.json +16 -16
- package/src/prover/client/bb_private_kernel_prover.ts +19 -6
- package/src/prover/client/bundle.ts +3 -4
- package/src/prover/client/lazy.ts +3 -4
- package/src/test/delay_values.ts +27 -23
- package/src/test/index.ts +1 -0
|
@@ -1,14 +1,20 @@
|
|
|
1
|
+
import { type BackendOptions } from '@aztec/bb.js';
|
|
2
|
+
import { type Logger } from '@aztec/foundation/log';
|
|
1
3
|
import { type ArtifactProvider, type ClientProtocolArtifact } from '@aztec/noir-protocol-circuits-types/types';
|
|
2
4
|
import type { Abi, WitnessMap } from '@aztec/noir-types';
|
|
3
5
|
import type { CircuitSimulator } from '@aztec/simulator/client';
|
|
4
6
|
import type { PrivateKernelProver } from '@aztec/stdlib/interfaces/client';
|
|
5
7
|
import type { HidingKernelToPublicPrivateInputs, HidingKernelToRollupPrivateInputs, PrivateExecutionStep, PrivateKernelCircuitPublicInputs, PrivateKernelInitCircuitPrivateInputs, PrivateKernelInnerCircuitPrivateInputs, PrivateKernelResetCircuitPrivateInputs, PrivateKernelSimulateOutput, PrivateKernelTailCircuitPrivateInputs, PrivateKernelTailCircuitPublicInputs } from '@aztec/stdlib/kernel';
|
|
6
8
|
import { ChonkProofWithPublicInputs } from '@aztec/stdlib/proofs';
|
|
9
|
+
export type BBPrivateKernelProverOptions = Omit<BackendOptions, 'logger'> & {
|
|
10
|
+
logger?: Logger;
|
|
11
|
+
};
|
|
7
12
|
export declare abstract class BBPrivateKernelProver implements PrivateKernelProver {
|
|
8
13
|
protected artifactProvider: ArtifactProvider;
|
|
9
14
|
protected simulator: CircuitSimulator;
|
|
10
|
-
protected
|
|
11
|
-
|
|
15
|
+
protected options: BBPrivateKernelProverOptions;
|
|
16
|
+
private log;
|
|
17
|
+
constructor(artifactProvider: ArtifactProvider, simulator: CircuitSimulator, options?: BBPrivateKernelProverOptions);
|
|
12
18
|
generateInitOutput(inputs: PrivateKernelInitCircuitPrivateInputs): Promise<PrivateKernelSimulateOutput<PrivateKernelCircuitPublicInputs>>;
|
|
13
19
|
simulateInit(inputs: PrivateKernelInitCircuitPrivateInputs): Promise<PrivateKernelSimulateOutput<PrivateKernelCircuitPublicInputs>>;
|
|
14
20
|
generateInnerOutput(inputs: PrivateKernelInnerCircuitPrivateInputs): Promise<PrivateKernelSimulateOutput<PrivateKernelCircuitPublicInputs>>;
|
|
@@ -29,4 +35,4 @@ export declare abstract class BBPrivateKernelProver implements PrivateKernelProv
|
|
|
29
35
|
createChonkProof(executionSteps: PrivateExecutionStep[]): Promise<ChonkProofWithPublicInputs>;
|
|
30
36
|
computeGateCountForCircuit(_bytecode: Buffer, _circuitName: string): Promise<number>;
|
|
31
37
|
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmJfcHJpdmF0ZV9rZXJuZWxfcHJvdmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvdmVyL2NsaWVudC9iYl9wcml2YXRlX2tlcm5lbF9wcm92ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixLQUFLLGNBQWMsRUFBZ0IsTUFBTSxjQUFjLENBQUM7QUFDckYsT0FBTyxFQUFpQixLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQW9CakYsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssc0JBQXNCLEVBRTVCLE1BQU0sMkNBQTJDLENBQUM7QUFDbkQsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEtBQUssRUFDVixpQ0FBaUMsRUFDakMsaUNBQWlDLEVBQ2pDLG9CQUFvQixFQUNwQixnQ0FBZ0MsRUFDaEMscUNBQXFDLEVBQ3JDLHNDQUFzQyxFQUN0QyxzQ0FBc0MsRUFDdEMsMkJBQTJCLEVBQzNCLHFDQUFxQyxFQUNyQyxvQ0FBb0MsRUFDckMsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUtsRSxNQUFNLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsR0FBRztJQUFFLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQTtDQUFFLENBQUM7QUFDaEcsOEJBQXNCLHFCQUFzQixZQUFXLG1CQUFtQjtJQUl0RSxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCO0lBQzVDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdC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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bb_private_kernel_prover.d.ts","sourceRoot":"","sources":["../../../src/prover/client/bb_private_kernel_prover.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bb_private_kernel_prover.d.ts","sourceRoot":"","sources":["../../../src/prover/client/bb_private_kernel_prover.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,11 +9,13 @@ import { ungzip } from 'pako';
|
|
|
9
9
|
export class BBPrivateKernelProver {
|
|
10
10
|
artifactProvider;
|
|
11
11
|
simulator;
|
|
12
|
+
options;
|
|
12
13
|
log;
|
|
13
|
-
constructor(artifactProvider, simulator,
|
|
14
|
+
constructor(artifactProvider, simulator, options = {}){
|
|
14
15
|
this.artifactProvider = artifactProvider;
|
|
15
16
|
this.simulator = simulator;
|
|
16
|
-
this.
|
|
17
|
+
this.options = options;
|
|
18
|
+
this.log = options.logger || createLogger('bb-prover:private-kernel');
|
|
17
19
|
}
|
|
18
20
|
async generateInitOutput(inputs) {
|
|
19
21
|
return await this.generateCircuitOutput(inputs, 'PrivateKernelInitArtifact', convertPrivateKernelInitInputsToWitnessMapWithAbi, convertPrivateKernelInitOutputsFromWitnessMapWithAbi);
|
|
@@ -111,7 +113,11 @@ export class BBPrivateKernelProver {
|
|
|
111
113
|
async createChonkProof(executionSteps) {
|
|
112
114
|
const timer = new Timer();
|
|
113
115
|
this.log.info(`Generating ClientIVC proof...`);
|
|
114
|
-
const
|
|
116
|
+
const barretenberg = await Barretenberg.initSingleton({
|
|
117
|
+
...this.options,
|
|
118
|
+
logger: this.options.logger?.[process.env.LOG_LEVEL || 'verbose']
|
|
119
|
+
});
|
|
120
|
+
const backend = new AztecClientBackend(executionSteps.map((step)=>ungzip(step.bytecode)), barretenberg);
|
|
115
121
|
const [proof] = await backend.prove(executionSteps.map((step)=>ungzip(serializeWitness(step.witness))), executionSteps.map((step)=>step.vk));
|
|
116
122
|
this.log.info(`Generated ClientIVC proof`, {
|
|
117
123
|
eventName: 'client-ivc-proof-generation',
|
|
@@ -122,9 +128,13 @@ export class BBPrivateKernelProver {
|
|
|
122
128
|
}
|
|
123
129
|
async computeGateCountForCircuit(_bytecode, _circuitName) {
|
|
124
130
|
// Note we do not pass the vk to the backend. This is unneeded for gate counts.
|
|
131
|
+
const barretenberg = await Barretenberg.initSingleton({
|
|
132
|
+
...this.options,
|
|
133
|
+
logger: this.options.logger?.[process.env.LOG_LEVEL || 'verbose']
|
|
134
|
+
});
|
|
125
135
|
const backend = new AztecClientBackend([
|
|
126
136
|
ungzip(_bytecode)
|
|
127
|
-
],
|
|
137
|
+
], barretenberg);
|
|
128
138
|
const gateCount = await backend.gates();
|
|
129
139
|
return gateCount[0];
|
|
130
140
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CircuitSimulator } from '@aztec/simulator/client';
|
|
2
|
-
import { BBPrivateKernelProver } from './bb_private_kernel_prover.js';
|
|
2
|
+
import { BBPrivateKernelProver, type BBPrivateKernelProverOptions } from './bb_private_kernel_prover.js';
|
|
3
3
|
export declare class BBBundlePrivateKernelProver extends BBPrivateKernelProver {
|
|
4
|
-
constructor(simulator: CircuitSimulator,
|
|
4
|
+
constructor(simulator: CircuitSimulator, options?: BBPrivateKernelProverOptions);
|
|
5
5
|
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvdmVyL2NsaWVudC9idW5kbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsS0FBSyw0QkFBNEIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXpHLHFCQUFhLDJCQUE0QixTQUFRLHFCQUFxQjtJQUNwRSxZQUFZLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEdBQUUsNEJBQWlDLEVBRWxGO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../src/prover/client/bundle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../src/prover/client/bundle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,qBAAqB,EAAE,KAAK,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAEzG,qBAAa,2BAA4B,SAAQ,qBAAqB;IACpE,YAAY,SAAS,EAAE,gBAAgB,EAAE,OAAO,GAAE,4BAAiC,EAElF;CACF"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { createLogger } from '@aztec/foundation/log';
|
|
2
1
|
import { BundleArtifactProvider } from '@aztec/noir-protocol-circuits-types/client/bundle';
|
|
3
2
|
import { BBPrivateKernelProver } from './bb_private_kernel_prover.js';
|
|
4
3
|
export class BBBundlePrivateKernelProver extends BBPrivateKernelProver {
|
|
5
|
-
constructor(simulator,
|
|
6
|
-
super(new BundleArtifactProvider(), simulator,
|
|
4
|
+
constructor(simulator, options = {}){
|
|
5
|
+
super(new BundleArtifactProvider(), simulator, options);
|
|
7
6
|
}
|
|
8
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CircuitSimulator } from '@aztec/simulator/client';
|
|
2
|
-
import { BBPrivateKernelProver } from './bb_private_kernel_prover.js';
|
|
2
|
+
import { BBPrivateKernelProver, type BBPrivateKernelProverOptions } from './bb_private_kernel_prover.js';
|
|
3
3
|
export declare class BBLazyPrivateKernelProver extends BBPrivateKernelProver {
|
|
4
|
-
constructor(simulator: CircuitSimulator,
|
|
4
|
+
constructor(simulator: CircuitSimulator, options?: BBPrivateKernelProverOptions);
|
|
5
5
|
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3Zlci9jbGllbnQvbGF6eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxLQUFLLDRCQUE0QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFekcscUJBQWEseUJBQTBCLFNBQVEscUJBQXFCO0lBQ2xFLFlBQVksU0FBUyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sR0FBRSw0QkFBaUMsRUFFbEY7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../../src/prover/client/lazy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../../src/prover/client/lazy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,qBAAqB,EAAE,KAAK,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAEzG,qBAAa,yBAA0B,SAAQ,qBAAqB;IAClE,YAAY,SAAS,EAAE,gBAAgB,EAAE,OAAO,GAAE,4BAAiC,EAElF;CACF"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { createLogger } from '@aztec/foundation/log';
|
|
2
1
|
import { LazyArtifactProvider } from '@aztec/noir-protocol-circuits-types/client/lazy';
|
|
3
2
|
import { BBPrivateKernelProver } from './bb_private_kernel_prover.js';
|
|
4
3
|
export class BBLazyPrivateKernelProver extends BBPrivateKernelProver {
|
|
5
|
-
constructor(simulator,
|
|
6
|
-
super(new LazyArtifactProvider(), simulator,
|
|
4
|
+
constructor(simulator, options = {}){
|
|
5
|
+
super(new LazyArtifactProvider(), simulator, options);
|
|
7
6
|
}
|
|
8
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ProvingRequestType } from '@aztec/stdlib/proofs';
|
|
2
2
|
export declare const WITGEN_DELAY_MS: Record<ProvingRequestType, number>;
|
|
3
3
|
export declare const PROOF_DELAY_MS: Record<ProvingRequestType, number>;
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsYXlfdmFsdWVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9kZWxheV92YWx1ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFMUQsZUFBTyxNQUFNLGVBQWUsRUFBRSxNQUFNLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxDQXFCOUQsQ0FBQztBQUVGLGVBQU8sTUFBTSxjQUFjLEVBQUUsTUFBTSxDQUFDLGtCQUFrQixFQUFFLE1BQU0sQ0FxQjdELENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delay_values.d.ts","sourceRoot":"","sources":["../../src/test/delay_values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"delay_values.d.ts","sourceRoot":"","sources":["../../src/test/delay_values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAqB9D,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAqB7D,CAAC"}
|
|
@@ -1,41 +1,43 @@
|
|
|
1
1
|
import { ProvingRequestType } from '@aztec/stdlib/proofs';
|
|
2
2
|
export const WITGEN_DELAY_MS = {
|
|
3
|
-
[ProvingRequestType.
|
|
4
|
-
[ProvingRequestType.
|
|
3
|
+
[ProvingRequestType.PUBLIC_CHONK_VERIFIER]: 60,
|
|
4
|
+
[ProvingRequestType.PARITY_BASE]: 1_600,
|
|
5
|
+
[ProvingRequestType.PARITY_ROOT]: 40,
|
|
5
6
|
[ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP]: 45,
|
|
6
|
-
[ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP]: 27,
|
|
7
7
|
[ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP]: 18,
|
|
8
|
+
[ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP]: 27,
|
|
9
|
+
[ProvingRequestType.CHECKPOINT_MERGE_ROLLUP]: 30,
|
|
10
|
+
[ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP]: 36_000,
|
|
11
|
+
[ProvingRequestType.ROOT_ROLLUP]: 35,
|
|
12
|
+
[ProvingRequestType.PUBLIC_TX_BASE_ROLLUP]: 2_500,
|
|
13
|
+
[ProvingRequestType.TX_MERGE_ROLLUP]: 25,
|
|
14
|
+
[ProvingRequestType.PUBLIC_VM]: 0,
|
|
15
|
+
// TBD
|
|
16
|
+
[ProvingRequestType.BLOCK_MERGE_ROLLUP]: 30,
|
|
8
17
|
[ProvingRequestType.BLOCK_ROOT_ROLLUP]: 40_000,
|
|
9
18
|
[ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP]: 20_000,
|
|
10
19
|
[ProvingRequestType.CHECKPOINT_ROOT_ROLLUP]: 40_000,
|
|
11
|
-
[ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP]: 36_600,
|
|
12
20
|
[ProvingRequestType.CHECKPOINT_PADDING_ROLLUP]: 0,
|
|
13
|
-
[ProvingRequestType.
|
|
14
|
-
[ProvingRequestType.TX_MERGE_ROLLUP]: 0,
|
|
15
|
-
[ProvingRequestType.PRIVATE_TX_BASE_ROLLUP]: 2_500,
|
|
16
|
-
[ProvingRequestType.PUBLIC_TX_BASE_ROLLUP]: 2_500,
|
|
17
|
-
[ProvingRequestType.PARITY_ROOT]: 40,
|
|
18
|
-
[ProvingRequestType.ROOT_ROLLUP]: 35,
|
|
19
|
-
[ProvingRequestType.PUBLIC_CHONK_VERIFIER]: 60,
|
|
20
|
-
[ProvingRequestType.PUBLIC_VM]: 0
|
|
21
|
+
[ProvingRequestType.PRIVATE_TX_BASE_ROLLUP]: 2_500
|
|
21
22
|
};
|
|
22
23
|
export const PROOF_DELAY_MS = {
|
|
23
|
-
[ProvingRequestType.
|
|
24
|
+
[ProvingRequestType.PUBLIC_CHONK_VERIFIER]: 16_300,
|
|
25
|
+
[ProvingRequestType.PARITY_BASE]: 15_300,
|
|
26
|
+
[ProvingRequestType.PARITY_ROOT]: 18_600,
|
|
27
|
+
[ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP]: 17_400,
|
|
28
|
+
[ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP]: 4_500,
|
|
29
|
+
[ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP]: 9_200,
|
|
30
|
+
[ProvingRequestType.CHECKPOINT_MERGE_ROLLUP]: 10_200,
|
|
31
|
+
[ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP]: 37_100,
|
|
32
|
+
[ProvingRequestType.ROOT_ROLLUP]: 93_000,
|
|
33
|
+
[ProvingRequestType.TX_MERGE_ROLLUP]: 10_000,
|
|
34
|
+
[ProvingRequestType.PUBLIC_TX_BASE_ROLLUP]: 44_500,
|
|
35
|
+
[ProvingRequestType.PUBLIC_VM]: 10_000,
|
|
36
|
+
// TBD
|
|
24
37
|
[ProvingRequestType.BLOCK_MERGE_ROLLUP]: 15_000,
|
|
25
|
-
[ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP]: 16_500,
|
|
26
|
-
[ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP]: 9_210,
|
|
27
|
-
[ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP]: 4_560,
|
|
28
38
|
[ProvingRequestType.BLOCK_ROOT_ROLLUP]: 35_000,
|
|
29
39
|
[ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP]: 15_000,
|
|
30
40
|
[ProvingRequestType.CHECKPOINT_ROOT_ROLLUP]: 35_000,
|
|
31
|
-
[ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP]: 38_800,
|
|
32
41
|
[ProvingRequestType.CHECKPOINT_PADDING_ROLLUP]: 0,
|
|
33
|
-
[ProvingRequestType.
|
|
34
|
-
[ProvingRequestType.TX_MERGE_ROLLUP]: 0,
|
|
35
|
-
[ProvingRequestType.PRIVATE_TX_BASE_ROLLUP]: 45_000,
|
|
36
|
-
[ProvingRequestType.PUBLIC_TX_BASE_ROLLUP]: 45_000,
|
|
37
|
-
[ProvingRequestType.PARITY_ROOT]: 18_600,
|
|
38
|
-
[ProvingRequestType.ROOT_ROLLUP]: 84_000,
|
|
39
|
-
[ProvingRequestType.PUBLIC_CHONK_VERIFIER]: 16_300,
|
|
40
|
-
[ProvingRequestType.PUBLIC_VM]: 0
|
|
42
|
+
[ProvingRequestType.PRIVATE_TX_BASE_ROLLUP]: 45_000
|
|
41
43
|
};
|
package/dest/test/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './test_circuit_prover.js';
|
|
2
2
|
export * from './test_verifier.js';
|
|
3
|
-
|
|
3
|
+
export * from './delay_values.js';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG1CQUFtQixDQUFDIn0=
|
package/dest/test/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
|
package/dest/test/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/bb-prover",
|
|
3
|
-
"version": "3.0.0-nightly.
|
|
3
|
+
"version": "3.0.0-nightly.20260106",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -69,27 +69,27 @@
|
|
|
69
69
|
]
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"@aztec/bb.js": "3.0.0-nightly.
|
|
73
|
-
"@aztec/constants": "3.0.0-nightly.
|
|
74
|
-
"@aztec/foundation": "3.0.0-nightly.
|
|
75
|
-
"@aztec/noir-noirc_abi": "3.0.0-nightly.
|
|
76
|
-
"@aztec/noir-protocol-circuits-types": "3.0.0-nightly.
|
|
77
|
-
"@aztec/noir-types": "3.0.0-nightly.
|
|
78
|
-
"@aztec/simulator": "3.0.0-nightly.
|
|
79
|
-
"@aztec/stdlib": "3.0.0-nightly.
|
|
80
|
-
"@aztec/telemetry-client": "3.0.0-nightly.
|
|
81
|
-
"@aztec/world-state": "3.0.0-nightly.
|
|
72
|
+
"@aztec/bb.js": "3.0.0-nightly.20260106",
|
|
73
|
+
"@aztec/constants": "3.0.0-nightly.20260106",
|
|
74
|
+
"@aztec/foundation": "3.0.0-nightly.20260106",
|
|
75
|
+
"@aztec/noir-noirc_abi": "3.0.0-nightly.20260106",
|
|
76
|
+
"@aztec/noir-protocol-circuits-types": "3.0.0-nightly.20260106",
|
|
77
|
+
"@aztec/noir-types": "3.0.0-nightly.20260106",
|
|
78
|
+
"@aztec/simulator": "3.0.0-nightly.20260106",
|
|
79
|
+
"@aztec/stdlib": "3.0.0-nightly.20260106",
|
|
80
|
+
"@aztec/telemetry-client": "3.0.0-nightly.20260106",
|
|
81
|
+
"@aztec/world-state": "3.0.0-nightly.20260106",
|
|
82
82
|
"commander": "^12.1.0",
|
|
83
83
|
"pako": "^2.1.0",
|
|
84
84
|
"source-map-support": "^0.5.21",
|
|
85
85
|
"tslib": "^2.4.0"
|
|
86
86
|
},
|
|
87
87
|
"devDependencies": {
|
|
88
|
-
"@aztec/ethereum": "3.0.0-nightly.
|
|
89
|
-
"@aztec/kv-store": "3.0.0-nightly.
|
|
90
|
-
"@aztec/noir-contracts.js": "3.0.0-nightly.
|
|
91
|
-
"@aztec/noir-test-contracts.js": "3.0.0-nightly.
|
|
92
|
-
"@aztec/protocol-contracts": "3.0.0-nightly.
|
|
88
|
+
"@aztec/ethereum": "3.0.0-nightly.20260106",
|
|
89
|
+
"@aztec/kv-store": "3.0.0-nightly.20260106",
|
|
90
|
+
"@aztec/noir-contracts.js": "3.0.0-nightly.20260106",
|
|
91
|
+
"@aztec/noir-test-contracts.js": "3.0.0-nightly.20260106",
|
|
92
|
+
"@aztec/protocol-contracts": "3.0.0-nightly.20260106",
|
|
93
93
|
"@jest/globals": "^30.0.0",
|
|
94
94
|
"@types/jest": "^30.0.0",
|
|
95
95
|
"@types/node": "^22.15.17",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AztecClientBackend, Barretenberg } from '@aztec/bb.js';
|
|
2
|
-
import { createLogger } from '@aztec/foundation/log';
|
|
1
|
+
import { AztecClientBackend, type BackendOptions, Barretenberg } from '@aztec/bb.js';
|
|
2
|
+
import { type LogLevel, type Logger, createLogger } from '@aztec/foundation/log';
|
|
3
3
|
import { Timer } from '@aztec/foundation/timer';
|
|
4
4
|
import { serializeWitness } from '@aztec/noir-noirc_abi';
|
|
5
5
|
import {
|
|
@@ -45,12 +45,17 @@ import type { CircuitSimulationStats, CircuitWitnessGenerationStats } from '@azt
|
|
|
45
45
|
|
|
46
46
|
import { ungzip } from 'pako';
|
|
47
47
|
|
|
48
|
+
export type BBPrivateKernelProverOptions = Omit<BackendOptions, 'logger'> & { logger?: Logger };
|
|
48
49
|
export abstract class BBPrivateKernelProver implements PrivateKernelProver {
|
|
50
|
+
private log: Logger;
|
|
51
|
+
|
|
49
52
|
constructor(
|
|
50
53
|
protected artifactProvider: ArtifactProvider,
|
|
51
54
|
protected simulator: CircuitSimulator,
|
|
52
|
-
protected
|
|
53
|
-
) {
|
|
55
|
+
protected options: BBPrivateKernelProverOptions = {},
|
|
56
|
+
) {
|
|
57
|
+
this.log = options.logger || createLogger('bb-prover:private-kernel');
|
|
58
|
+
}
|
|
54
59
|
|
|
55
60
|
public async generateInitOutput(
|
|
56
61
|
inputs: PrivateKernelInitCircuitPrivateInputs,
|
|
@@ -271,9 +276,13 @@ export abstract class BBPrivateKernelProver implements PrivateKernelProver {
|
|
|
271
276
|
public async createChonkProof(executionSteps: PrivateExecutionStep[]): Promise<ChonkProofWithPublicInputs> {
|
|
272
277
|
const timer = new Timer();
|
|
273
278
|
this.log.info(`Generating ClientIVC proof...`);
|
|
279
|
+
const barretenberg = await Barretenberg.initSingleton({
|
|
280
|
+
...this.options,
|
|
281
|
+
logger: this.options.logger?.[(process.env.LOG_LEVEL as LogLevel) || 'verbose'],
|
|
282
|
+
});
|
|
274
283
|
const backend = new AztecClientBackend(
|
|
275
284
|
executionSteps.map(step => ungzip(step.bytecode)),
|
|
276
|
-
|
|
285
|
+
barretenberg,
|
|
277
286
|
);
|
|
278
287
|
|
|
279
288
|
const [proof] = await backend.prove(
|
|
@@ -290,7 +299,11 @@ export abstract class BBPrivateKernelProver implements PrivateKernelProver {
|
|
|
290
299
|
|
|
291
300
|
public async computeGateCountForCircuit(_bytecode: Buffer, _circuitName: string): Promise<number> {
|
|
292
301
|
// Note we do not pass the vk to the backend. This is unneeded for gate counts.
|
|
293
|
-
const
|
|
302
|
+
const barretenberg = await Barretenberg.initSingleton({
|
|
303
|
+
...this.options,
|
|
304
|
+
logger: this.options.logger?.[(process.env.LOG_LEVEL as LogLevel) || 'verbose'],
|
|
305
|
+
});
|
|
306
|
+
const backend = new AztecClientBackend([ungzip(_bytecode)], barretenberg);
|
|
294
307
|
const gateCount = await backend.gates();
|
|
295
308
|
return gateCount[0];
|
|
296
309
|
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { createLogger } from '@aztec/foundation/log';
|
|
2
1
|
import { BundleArtifactProvider } from '@aztec/noir-protocol-circuits-types/client/bundle';
|
|
3
2
|
import type { CircuitSimulator } from '@aztec/simulator/client';
|
|
4
3
|
|
|
5
|
-
import { BBPrivateKernelProver } from './bb_private_kernel_prover.js';
|
|
4
|
+
import { BBPrivateKernelProver, type BBPrivateKernelProverOptions } from './bb_private_kernel_prover.js';
|
|
6
5
|
|
|
7
6
|
export class BBBundlePrivateKernelProver extends BBPrivateKernelProver {
|
|
8
|
-
constructor(simulator: CircuitSimulator,
|
|
9
|
-
super(new BundleArtifactProvider(), simulator,
|
|
7
|
+
constructor(simulator: CircuitSimulator, options: BBPrivateKernelProverOptions = {}) {
|
|
8
|
+
super(new BundleArtifactProvider(), simulator, options);
|
|
10
9
|
}
|
|
11
10
|
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { createLogger } from '@aztec/foundation/log';
|
|
2
1
|
import { LazyArtifactProvider } from '@aztec/noir-protocol-circuits-types/client/lazy';
|
|
3
2
|
import type { CircuitSimulator } from '@aztec/simulator/client';
|
|
4
3
|
|
|
5
|
-
import { BBPrivateKernelProver } from './bb_private_kernel_prover.js';
|
|
4
|
+
import { BBPrivateKernelProver, type BBPrivateKernelProverOptions } from './bb_private_kernel_prover.js';
|
|
6
5
|
|
|
7
6
|
export class BBLazyPrivateKernelProver extends BBPrivateKernelProver {
|
|
8
|
-
constructor(simulator: CircuitSimulator,
|
|
9
|
-
super(new LazyArtifactProvider(), simulator,
|
|
7
|
+
constructor(simulator: CircuitSimulator, options: BBPrivateKernelProverOptions = {}) {
|
|
8
|
+
super(new LazyArtifactProvider(), simulator, options);
|
|
10
9
|
}
|
|
11
10
|
}
|
package/src/test/delay_values.ts
CHANGED
|
@@ -1,43 +1,47 @@
|
|
|
1
1
|
import { ProvingRequestType } from '@aztec/stdlib/proofs';
|
|
2
2
|
|
|
3
3
|
export const WITGEN_DELAY_MS: Record<ProvingRequestType, number> = {
|
|
4
|
-
[ProvingRequestType.
|
|
5
|
-
[ProvingRequestType.
|
|
4
|
+
[ProvingRequestType.PUBLIC_CHONK_VERIFIER]: 60,
|
|
5
|
+
[ProvingRequestType.PARITY_BASE]: 1_600,
|
|
6
|
+
[ProvingRequestType.PARITY_ROOT]: 40,
|
|
6
7
|
[ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP]: 45,
|
|
7
|
-
[ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP]: 27,
|
|
8
8
|
[ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP]: 18,
|
|
9
|
+
[ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP]: 27,
|
|
10
|
+
[ProvingRequestType.CHECKPOINT_MERGE_ROLLUP]: 30,
|
|
11
|
+
[ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP]: 36_000,
|
|
12
|
+
[ProvingRequestType.ROOT_ROLLUP]: 35,
|
|
13
|
+
[ProvingRequestType.PUBLIC_TX_BASE_ROLLUP]: 2_500,
|
|
14
|
+
[ProvingRequestType.TX_MERGE_ROLLUP]: 25,
|
|
15
|
+
[ProvingRequestType.PUBLIC_VM]: 0,
|
|
16
|
+
|
|
17
|
+
// TBD
|
|
18
|
+
[ProvingRequestType.BLOCK_MERGE_ROLLUP]: 30,
|
|
9
19
|
[ProvingRequestType.BLOCK_ROOT_ROLLUP]: 40_000,
|
|
10
20
|
[ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP]: 20_000,
|
|
11
21
|
[ProvingRequestType.CHECKPOINT_ROOT_ROLLUP]: 40_000,
|
|
12
|
-
[ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP]: 36_600,
|
|
13
22
|
[ProvingRequestType.CHECKPOINT_PADDING_ROLLUP]: 0,
|
|
14
|
-
[ProvingRequestType.CHECKPOINT_MERGE_ROLLUP]: 30,
|
|
15
|
-
[ProvingRequestType.TX_MERGE_ROLLUP]: 0,
|
|
16
23
|
[ProvingRequestType.PRIVATE_TX_BASE_ROLLUP]: 2_500, // Guess based on public
|
|
17
|
-
[ProvingRequestType.PUBLIC_TX_BASE_ROLLUP]: 2_500,
|
|
18
|
-
[ProvingRequestType.PARITY_ROOT]: 40,
|
|
19
|
-
[ProvingRequestType.ROOT_ROLLUP]: 35,
|
|
20
|
-
[ProvingRequestType.PUBLIC_CHONK_VERIFIER]: 60,
|
|
21
|
-
[ProvingRequestType.PUBLIC_VM]: 0,
|
|
22
24
|
};
|
|
23
25
|
|
|
24
26
|
export const PROOF_DELAY_MS: Record<ProvingRequestType, number> = {
|
|
25
|
-
[ProvingRequestType.
|
|
27
|
+
[ProvingRequestType.PUBLIC_CHONK_VERIFIER]: 16_300,
|
|
28
|
+
[ProvingRequestType.PARITY_BASE]: 15_300,
|
|
29
|
+
[ProvingRequestType.PARITY_ROOT]: 18_600,
|
|
30
|
+
[ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP]: 17_400,
|
|
31
|
+
[ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP]: 4_500,
|
|
32
|
+
[ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP]: 9_200,
|
|
33
|
+
[ProvingRequestType.CHECKPOINT_MERGE_ROLLUP]: 10_200,
|
|
34
|
+
[ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP]: 37_100,
|
|
35
|
+
[ProvingRequestType.ROOT_ROLLUP]: 93_000,
|
|
36
|
+
[ProvingRequestType.TX_MERGE_ROLLUP]: 10_000,
|
|
37
|
+
[ProvingRequestType.PUBLIC_TX_BASE_ROLLUP]: 44_500,
|
|
38
|
+
[ProvingRequestType.PUBLIC_VM]: 10_000,
|
|
39
|
+
|
|
40
|
+
// TBD
|
|
26
41
|
[ProvingRequestType.BLOCK_MERGE_ROLLUP]: 15_000,
|
|
27
|
-
[ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP]: 16_500,
|
|
28
|
-
[ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP]: 9_210,
|
|
29
|
-
[ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP]: 4_560,
|
|
30
42
|
[ProvingRequestType.BLOCK_ROOT_ROLLUP]: 35_000,
|
|
31
43
|
[ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP]: 15_000,
|
|
32
44
|
[ProvingRequestType.CHECKPOINT_ROOT_ROLLUP]: 35_000,
|
|
33
|
-
[ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP]: 38_800,
|
|
34
45
|
[ProvingRequestType.CHECKPOINT_PADDING_ROLLUP]: 0,
|
|
35
|
-
[ProvingRequestType.CHECKPOINT_MERGE_ROLLUP]: 9_760,
|
|
36
|
-
[ProvingRequestType.TX_MERGE_ROLLUP]: 0,
|
|
37
46
|
[ProvingRequestType.PRIVATE_TX_BASE_ROLLUP]: 45_000, // Guess based on public
|
|
38
|
-
[ProvingRequestType.PUBLIC_TX_BASE_ROLLUP]: 45_000,
|
|
39
|
-
[ProvingRequestType.PARITY_ROOT]: 18_600,
|
|
40
|
-
[ProvingRequestType.ROOT_ROLLUP]: 84_000,
|
|
41
|
-
[ProvingRequestType.PUBLIC_CHONK_VERIFIER]: 16_300,
|
|
42
|
-
[ProvingRequestType.PUBLIC_VM]: 0,
|
|
43
47
|
};
|
package/src/test/index.ts
CHANGED