@aztec/bb-prover 0.0.1-commit.d3ec352c → 0.0.1-commit.fcb71a6
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/avm_proving_tests/avm_proving_tester.d.ts +1 -1
- package/dest/avm_proving_tests/avm_proving_tester.d.ts.map +1 -1
- package/dest/avm_proving_tests/avm_proving_tester.js +4 -0
- package/dest/bb/execute.js +1 -1
- package/dest/prover/proof_utils.js +1 -1
- package/dest/prover/server/bb_prover.d.ts +2 -2
- package/dest/prover/server/bb_prover.d.ts.map +1 -1
- package/dest/prover/server/bb_prover.js +2 -5
- 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 +28 -26
- 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/dest/verification_key/verification_key_data.js +1 -1
- package/package.json +16 -16
- package/src/avm_proving_tests/avm_proving_tester.ts +6 -2
- package/src/bb/execute.ts +1 -1
- package/src/prover/proof_utils.ts +1 -1
- package/src/prover/server/bb_prover.ts +1 -6
- package/src/test/delay_values.ts +30 -26
- package/src/test/index.ts +1 -0
- package/src/verification_key/verification_key_data.ts +1 -1
|
@@ -18,4 +18,4 @@ export declare class AvmProvingTester extends PublicTxSimulationTester {
|
|
|
18
18
|
executeTxWithLabel(txLabel: string, sender: AztecAddress, setupCalls?: TestEnqueuedCall[], appCalls?: TestEnqueuedCall[], teardownCall?: TestEnqueuedCall, feePayer?: AztecAddress, privateInsertions?: TestPrivateInsertions): Promise<PublicTxResult>;
|
|
19
19
|
simProveVerifyAppLogic(appCall: TestEnqueuedCall, expectRevert?: boolean, txLabel?: string): Promise<void>;
|
|
20
20
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZtX3Byb3ZpbmdfdGVzdGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXZtX3Byb3ZpbmdfdGVzdHMvYXZtX3Byb3ZpbmdfdGVzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssbUJBQW1CLEVBQ3hCLEtBQUsscUJBQXFCLEVBQzNCLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHNCQUFzQixFQUF5QixNQUFNLG1CQUFtQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBTTdELE9BQU8sRUFDTCxLQUFLLFFBQVEsRUFDYixLQUFLLFNBQVMsRUFLZixNQUFNLGtCQUFrQixDQUFDO0FBeUUxQixxQkFBYSxnQkFBaUIsU0FBUSx3QkFBd0I7SUFJMUQsT0FBTyxDQUFDLGdCQUFnQjtJQUgxQixPQUFPLENBQUMsa0JBQWtCLENBQWM7SUFFeEMsWUFDVSxnQkFBZ0IsRUFBRSxPQUFPLEVBQ2pDLGtCQUFrQixFQUFFLHdCQUF3QixFQUM1QyxXQUFXLEVBQUUseUJBQXlCLEVBQ3RDLE9BQU8sQ0FBQyxFQUFFLGVBQWUsRUFDekIsT0FBTyxDQUFDLEVBQUUsbUJBQW1CLEVBSTlCO0lBRUQsT0FBYSxHQUFHLENBQ2QsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQzFDLGdCQUFnQixHQUFFLE9BQWUsRUFDakMsT0FBTyxDQUFDLEVBQUUsZUFBZSxFQUN6QixPQUFPLENBQUMsRUFBRSxtQkFBbUIsNkJBSzlCO0lBRUssS0FBSyxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE9BQU8sR0FBRSxNQUFzQixHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0E2RGxHO0lBRUssTUFBTSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FlekY7SUFFWSxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxHQUFFLE1BQXNCLGlCQU0zRjtJQUVZLGNBQWMsQ0FDekIsTUFBTSxFQUFFLFlBQVksRUFDcEIsVUFBVSxFQUFFLGdCQUFnQixFQUFFLEVBQzlCLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxFQUM1QixZQUFZLEVBQUUsZ0JBQWdCLEdBQUcsU0FBUyxFQUMxQyxZQUFZLEVBQUUsT0FBTyxHQUFHLFNBQVMsRUFDakMsUUFBUSxlQUFTLEVBQ2pCLGlCQUFpQixDQUFDLEVBQUUscUJBQXFCLEVBQ3pDLE9BQU8sR0FBRSxNQUFzQixFQUMvQixrQkFBa0IsR0FBRSxPQUFlLEdBQ2xDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0EwQnpCO0lBRXFCLGtCQUFrQixDQUN0QyxPQUFPLEVBQUUsTUFBTSxFQUNmLE1BQU0sRUFBRSxZQUFZLEVBQ3BCLFVBQVUsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLEVBQy9CLFFBQVEsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLEVBQzdCLFlBQVksQ0FBQyxFQUFFLGdCQUFnQixFQUMvQixRQUFRLENBQUMsRUFBRSxZQUFZLEVBQ3ZCLGlCQUFpQixDQUFDLEVBQUUscUJBQXFCLDJCQWExQztJQUVZLHNCQUFzQixDQUNqQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQ3pCLFlBQVksQ0FBQyxFQUFFLE9BQU8sRUFDdEIsT0FBTyxHQUFFLE1BQXNCLGlCQVloQztDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avm_proving_tester.d.ts","sourceRoot":"","sources":["../../src/avm_proving_tests/avm_proving_tester.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC3B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAyB,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAM7D,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,SAAS,EAKf,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"avm_proving_tester.d.ts","sourceRoot":"","sources":["../../src/avm_proving_tests/avm_proving_tester.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC3B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAyB,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAM7D,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,SAAS,EAKf,MAAM,kBAAkB,CAAC;AAyE1B,qBAAa,gBAAiB,SAAQ,wBAAwB;IAI1D,OAAO,CAAC,gBAAgB;IAH1B,OAAO,CAAC,kBAAkB,CAAc;IAExC,YACU,gBAAgB,EAAE,OAAO,EACjC,kBAAkB,EAAE,wBAAwB,EAC5C,WAAW,EAAE,yBAAyB,EACtC,OAAO,CAAC,EAAE,eAAe,EACzB,OAAO,CAAC,EAAE,mBAAmB,EAI9B;IAED,OAAa,GAAG,CACd,iBAAiB,EAAE,uBAAuB,EAC1C,gBAAgB,GAAE,OAAe,EACjC,OAAO,CAAC,EAAE,eAAe,EACzB,OAAO,CAAC,EAAE,mBAAmB,6BAK9B;IAEK,KAAK,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,GAAE,MAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,CA6DlG;IAEK,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAezF;IAEY,WAAW,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,GAAE,MAAsB,iBAM3F;IAEY,cAAc,CACzB,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,gBAAgB,EAAE,EAC9B,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,YAAY,EAAE,gBAAgB,GAAG,SAAS,EAC1C,YAAY,EAAE,OAAO,GAAG,SAAS,EACjC,QAAQ,eAAS,EACjB,iBAAiB,CAAC,EAAE,qBAAqB,EACzC,OAAO,GAAE,MAAsB,EAC/B,kBAAkB,GAAE,OAAe,GAClC,OAAO,CAAC,cAAc,CAAC,CA0BzB;IAEqB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,YAAY,EACpB,UAAU,CAAC,EAAE,gBAAgB,EAAE,EAC/B,QAAQ,CAAC,EAAE,gBAAgB,EAAE,EAC7B,YAAY,CAAC,EAAE,gBAAgB,EAC/B,QAAQ,CAAC,EAAE,YAAY,EACvB,iBAAiB,CAAC,EAAE,qBAAqB,2BAa1C;IAEY,sBAAsB,CACjC,OAAO,EAAE,gBAAgB,EACzB,YAAY,CAAC,EAAE,OAAO,EACtB,OAAO,GAAE,MAAsB,iBAYhC;CACF"}
|
|
@@ -64,6 +64,7 @@ const provingConfig = PublicSimulatorConfig.from({
|
|
|
64
64
|
collectCallMetadata: true,
|
|
65
65
|
collectDebugLogs: false,
|
|
66
66
|
collectHints: true,
|
|
67
|
+
collectPublicInputs: true,
|
|
67
68
|
collectStatistics: false
|
|
68
69
|
});
|
|
69
70
|
export class AvmProvingTester extends PublicTxSimulationTester {
|
|
@@ -143,7 +144,10 @@ export class AvmProvingTester extends PublicTxSimulationTester {
|
|
|
143
144
|
expect(verificationRes.status).toBe(BB_RESULT.SUCCESS);
|
|
144
145
|
}
|
|
145
146
|
async simProveVerify(sender, setupCalls, appCalls, teardownCall, expectRevert, feePayer = sender, privateInsertions, txLabel = 'unlabeledTx', disableRevertCheck = false) {
|
|
147
|
+
const simTimer = new Timer();
|
|
146
148
|
const simRes = await this.simulateTx(sender, setupCalls, appCalls, teardownCall, feePayer, privateInsertions, txLabel);
|
|
149
|
+
const simDuration = simTimer.ms();
|
|
150
|
+
this.logger.info(`Simulation took ${simDuration} ms for tx ${txLabel}`);
|
|
147
151
|
if (!disableRevertCheck) {
|
|
148
152
|
expect(simRes.revertCode.isOK()).toBe(expectRevert ? false : true);
|
|
149
153
|
}
|
package/dest/bb/execute.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CHONK_PROOF_LENGTH, HIDING_KERNEL_IO_PUBLIC_INPUTS_SIZE, IPA_CLAIM_SIZE, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, PAIRING_POINTS_SIZE, ULTRA_KECCAK_PROOF_LENGTH } from '@aztec/constants';
|
|
2
|
-
import { Fr } from '@aztec/foundation/
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { ChonkProofWithPublicInputs, Proof, RecursiveProof } from '@aztec/stdlib/proofs';
|
|
4
4
|
import assert from 'assert';
|
|
5
5
|
import { promises as fs } from 'fs';
|
|
@@ -38,7 +38,7 @@ export declare class BBNativeRollupProver implements ServerCircuitProver {
|
|
|
38
38
|
* @param inputs - The inputs to the AVM circuit.
|
|
39
39
|
* @returns The proof.
|
|
40
40
|
*/
|
|
41
|
-
getAvmProof(inputs: AvmCircuitInputs
|
|
41
|
+
getAvmProof(inputs: AvmCircuitInputs): Promise<ProofAndVerificationKey<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>>;
|
|
42
42
|
getPublicChonkVerifierProof(inputs: PublicChonkVerifierPrivateInputs): Promise<PublicInputsAndRecursiveProof<PublicChonkVerifierPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
43
43
|
/**
|
|
44
44
|
* Simulates the base rollup circuit from its inputs.
|
|
@@ -97,4 +97,4 @@ export declare class BBNativeRollupProver implements ServerCircuitProver {
|
|
|
97
97
|
private readAvmProofAsFields;
|
|
98
98
|
private runInDirectory;
|
|
99
99
|
}
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmJfcHJvdmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvdmVyL3NlcnZlci9iYl9wcm92ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLG9DQUFvQyxFQUNwQyw2QkFBNkIsRUFDN0IseUNBQXlDLEVBRXpDLHNCQUFzQixFQUV2QixNQUFNLGtCQUFrQixDQUFDO0FBSzFCLE9BQU8sRUFDTCxLQUFLLHNCQUFzQixFQW9DNUIsTUFBTSw0Q0FBNEMsQ0FBQztBQUtwRCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxGLE9BQU8sRUFDTCxLQUFLLHVCQUF1QixFQUM1QixLQUFLLDZCQUE2QixFQUNsQyxLQUFLLG1CQUFtQixFQUd6QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakgsT0FBTyxFQUFFLEtBQUssRUFBZ0QsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRixPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLHVCQUF1QixFQUN2Qix3Q0FBd0MsRUFDeEMsaUNBQWlDLEVBQ2pDLDRCQUE0QixFQUM1Qix5Q0FBeUMsRUFDekMsb0NBQW9DLEVBQ3BDLGtDQUFrQyxFQUNsQyxvQ0FBb0MsRUFDcEMsNEJBQTRCLEVBQzVCLGlDQUFpQyxFQUNqQyw0Q0FBNEMsRUFDNUMsS0FBSyxnQ0FBZ0MsRUFDckMsZ0NBQWdDLEVBQ2hDLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDL0IsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSyxzQkFBc0IsRUFDM0IsS0FBSywwQkFBMEIsRUFDL0IsS0FBSyxvQkFBb0IsRUFDMUIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bb_prover.d.ts","sourceRoot":"","sources":["../../../src/prover/server/bb_prover.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oCAAoC,EACpC,6BAA6B,EAC7B,yCAAyC,EAEzC,sBAAsB,EAEvB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EACL,KAAK,sBAAsB,EAoC5B,MAAM,4CAA4C,CAAC;AAKpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAElF,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,mBAAmB,EAGzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACjH,OAAO,EAAE,KAAK,EAAgD,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,wCAAwC,EACxC,iCAAiC,EACjC,4BAA4B,EAC5B,yCAAyC,EACzC,oCAAoC,EACpC,kCAAkC,EAClC,oCAAoC,EACpC,4BAA4B,EAC5B,iCAAiC,EACjC,4CAA4C,EAC5C,KAAK,gCAAgC,EACrC,gCAAgC,EAChC,+BAA+B,EAC/B,+BAA+B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,
|
|
1
|
+
{"version":3,"file":"bb_prover.d.ts","sourceRoot":"","sources":["../../../src/prover/server/bb_prover.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
}
|
|
7
7
|
import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, PAIRING_POINTS_SIZE, RECURSIVE_PROOF_LENGTH, ULTRA_KECCAK_PROOF_LENGTH } from '@aztec/constants';
|
|
8
|
-
import { Fr } from '@aztec/foundation/
|
|
8
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
9
9
|
import { runInDirectory } from '@aztec/foundation/fs';
|
|
10
10
|
import { createLogger } from '@aztec/foundation/log';
|
|
11
11
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
@@ -16,7 +16,6 @@ import { NativeACVMSimulator } from '@aztec/simulator/server';
|
|
|
16
16
|
import { ProvingError } from '@aztec/stdlib/errors';
|
|
17
17
|
import { makeProofAndVerificationKey, makePublicInputsAndRecursiveProof } from '@aztec/stdlib/interfaces/server';
|
|
18
18
|
import { Proof, RecursiveProof, makeRecursiveProofFromBinary } from '@aztec/stdlib/proofs';
|
|
19
|
-
import { enhanceProofWithPiValidationFlag } from '@aztec/stdlib/rollup';
|
|
20
19
|
import { Attributes, getTelemetryClient, trackSpan } from '@aztec/telemetry-client';
|
|
21
20
|
import { promises as fs } from 'fs';
|
|
22
21
|
import * as path from 'path';
|
|
@@ -69,11 +68,9 @@ const logger = createLogger('bb-prover');
|
|
|
69
68
|
* Creates an AVM proof and verifies it.
|
|
70
69
|
* @param inputs - The inputs to the AVM circuit.
|
|
71
70
|
* @returns The proof.
|
|
72
|
-
*/ async getAvmProof(inputs
|
|
71
|
+
*/ async getAvmProof(inputs) {
|
|
73
72
|
const proofAndVk = await this.createAvmProof(inputs);
|
|
74
73
|
await this.verifyAvmProof(proofAndVk.proof.binaryProof, proofAndVk.verificationKey, inputs.publicInputs);
|
|
75
|
-
// TODO(#14234)[Unconditional PIs validation]: remove next lines and directly return proofAndVk
|
|
76
|
-
proofAndVk.proof.proof = enhanceProofWithPiValidationFlag(proofAndVk.proof.proof, skipPublicInputsValidation);
|
|
77
74
|
return proofAndVk;
|
|
78
75
|
}
|
|
79
76
|
async getPublicChonkVerifierProof(inputs) {
|
|
@@ -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.
|
|
5
|
-
[ProvingRequestType.
|
|
6
|
-
[ProvingRequestType.
|
|
3
|
+
[ProvingRequestType.PUBLIC_CHONK_VERIFIER]: 60,
|
|
4
|
+
[ProvingRequestType.PARITY_BASE]: 1_600,
|
|
5
|
+
[ProvingRequestType.PARITY_ROOT]: 40,
|
|
6
|
+
[ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP]: 45,
|
|
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_000,
|
|
12
20
|
[ProvingRequestType.CHECKPOINT_PADDING_ROLLUP]: 0,
|
|
13
|
-
[ProvingRequestType.
|
|
14
|
-
[ProvingRequestType.TX_MERGE_ROLLUP]: 0,
|
|
15
|
-
[ProvingRequestType.PRIVATE_TX_BASE_ROLLUP]: 400_000,
|
|
16
|
-
[ProvingRequestType.PUBLIC_TX_BASE_ROLLUP]: 470_000,
|
|
17
|
-
[ProvingRequestType.PARITY_ROOT]: 39,
|
|
18
|
-
[ProvingRequestType.ROOT_ROLLUP]: 35,
|
|
19
|
-
[ProvingRequestType.PUBLIC_CHONK_VERIFIER]: 0,
|
|
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]: 55_000,
|
|
26
|
-
[ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP]: 35_000,
|
|
27
|
-
[ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP]: 4_000,
|
|
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]: 35_000,
|
|
32
41
|
[ProvingRequestType.CHECKPOINT_PADDING_ROLLUP]: 0,
|
|
33
|
-
[ProvingRequestType.
|
|
34
|
-
[ProvingRequestType.TX_MERGE_ROLLUP]: 0,
|
|
35
|
-
[ProvingRequestType.PRIVATE_TX_BASE_ROLLUP]: 145_000,
|
|
36
|
-
[ProvingRequestType.PUBLIC_TX_BASE_ROLLUP]: 160_000,
|
|
37
|
-
[ProvingRequestType.PARITY_ROOT]: 16_000,
|
|
38
|
-
[ProvingRequestType.ROOT_ROLLUP]: 140_000,
|
|
39
|
-
[ProvingRequestType.PUBLIC_CHONK_VERIFIER]: 30_000,
|
|
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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED } from '@aztec/constants';
|
|
2
|
-
import { Fr } from '@aztec/foundation/
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
4
4
|
import { VerificationKeyAsFields, VerificationKeyData } from '@aztec/stdlib/vks';
|
|
5
5
|
import { strict as assert } from 'assert';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/bb-prover",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.fcb71a6",
|
|
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": "0.0.1-commit.
|
|
73
|
-
"@aztec/constants": "0.0.1-commit.
|
|
74
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
75
|
-
"@aztec/noir-noirc_abi": "0.0.1-commit.
|
|
76
|
-
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.
|
|
77
|
-
"@aztec/noir-types": "0.0.1-commit.
|
|
78
|
-
"@aztec/simulator": "0.0.1-commit.
|
|
79
|
-
"@aztec/stdlib": "0.0.1-commit.
|
|
80
|
-
"@aztec/telemetry-client": "0.0.1-commit.
|
|
81
|
-
"@aztec/world-state": "0.0.1-commit.
|
|
72
|
+
"@aztec/bb.js": "0.0.1-commit.fcb71a6",
|
|
73
|
+
"@aztec/constants": "0.0.1-commit.fcb71a6",
|
|
74
|
+
"@aztec/foundation": "0.0.1-commit.fcb71a6",
|
|
75
|
+
"@aztec/noir-noirc_abi": "0.0.1-commit.fcb71a6",
|
|
76
|
+
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.fcb71a6",
|
|
77
|
+
"@aztec/noir-types": "0.0.1-commit.fcb71a6",
|
|
78
|
+
"@aztec/simulator": "0.0.1-commit.fcb71a6",
|
|
79
|
+
"@aztec/stdlib": "0.0.1-commit.fcb71a6",
|
|
80
|
+
"@aztec/telemetry-client": "0.0.1-commit.fcb71a6",
|
|
81
|
+
"@aztec/world-state": "0.0.1-commit.fcb71a6",
|
|
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": "0.0.1-commit.
|
|
89
|
-
"@aztec/kv-store": "0.0.1-commit.
|
|
90
|
-
"@aztec/noir-contracts.js": "0.0.1-commit.
|
|
91
|
-
"@aztec/noir-test-contracts.js": "0.0.1-commit.
|
|
92
|
-
"@aztec/protocol-contracts": "0.0.1-commit.
|
|
88
|
+
"@aztec/ethereum": "0.0.1-commit.fcb71a6",
|
|
89
|
+
"@aztec/kv-store": "0.0.1-commit.fcb71a6",
|
|
90
|
+
"@aztec/noir-contracts.js": "0.0.1-commit.fcb71a6",
|
|
91
|
+
"@aztec/noir-test-contracts.js": "0.0.1-commit.fcb71a6",
|
|
92
|
+
"@aztec/protocol-contracts": "0.0.1-commit.fcb71a6",
|
|
93
93
|
"@jest/globals": "^30.0.0",
|
|
94
94
|
"@types/jest": "^30.0.0",
|
|
95
95
|
"@types/node": "^22.15.17",
|
|
@@ -91,9 +91,10 @@ class InterceptingLogger implements Logger {
|
|
|
91
91
|
// Config with collectHints enabled for proving tests
|
|
92
92
|
const provingConfig: PublicSimulatorConfig = PublicSimulatorConfig.from({
|
|
93
93
|
skipFeeEnforcement: false,
|
|
94
|
-
collectCallMetadata: true,
|
|
94
|
+
collectCallMetadata: true, // For results.
|
|
95
95
|
collectDebugLogs: false,
|
|
96
96
|
collectHints: true, // Required for proving!
|
|
97
|
+
collectPublicInputs: true, // Required for proving!
|
|
97
98
|
collectStatistics: false,
|
|
98
99
|
});
|
|
99
100
|
|
|
@@ -221,6 +222,7 @@ export class AvmProvingTester extends PublicTxSimulationTester {
|
|
|
221
222
|
txLabel: string = 'unlabeledTx',
|
|
222
223
|
disableRevertCheck: boolean = false,
|
|
223
224
|
): Promise<PublicTxResult> {
|
|
225
|
+
const simTimer = new Timer();
|
|
224
226
|
const simRes = await this.simulateTx(
|
|
225
227
|
sender,
|
|
226
228
|
setupCalls,
|
|
@@ -230,6 +232,8 @@ export class AvmProvingTester extends PublicTxSimulationTester {
|
|
|
230
232
|
privateInsertions,
|
|
231
233
|
txLabel,
|
|
232
234
|
);
|
|
235
|
+
const simDuration = simTimer.ms();
|
|
236
|
+
this.logger.info(`Simulation took ${simDuration} ms for tx ${txLabel}`);
|
|
233
237
|
|
|
234
238
|
if (!disableRevertCheck) {
|
|
235
239
|
expect(simRes.revertCode.isOK()).toBe(expectRevert ? false : true);
|
|
@@ -237,7 +241,7 @@ export class AvmProvingTester extends PublicTxSimulationTester {
|
|
|
237
241
|
|
|
238
242
|
const opString = this.checkCircuitOnly ? 'Check circuit' : 'Proving and verification';
|
|
239
243
|
|
|
240
|
-
const avmCircuitInputs = new AvmCircuitInputs(simRes.hints!, simRes.publicInputs);
|
|
244
|
+
const avmCircuitInputs = new AvmCircuitInputs(simRes.hints!, simRes.publicInputs!);
|
|
241
245
|
const timer = new Timer();
|
|
242
246
|
await this.proveVerify(avmCircuitInputs, txLabel);
|
|
243
247
|
this.logger.info(`${opString} took ${timer.ms()} ms for tx ${txLabel}`);
|
package/src/bb/execute.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { sha256 } from '@aztec/foundation/crypto';
|
|
1
|
+
import { sha256 } from '@aztec/foundation/crypto/sha256';
|
|
2
2
|
import type { LogFn, Logger } from '@aztec/foundation/log';
|
|
3
3
|
import { Timer } from '@aztec/foundation/timer';
|
|
4
4
|
import type { AvmCircuitInputs, AvmCircuitPublicInputs } from '@aztec/stdlib/avm';
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
PAIRING_POINTS_SIZE,
|
|
8
8
|
ULTRA_KECCAK_PROOF_LENGTH,
|
|
9
9
|
} from '@aztec/constants';
|
|
10
|
-
import { Fr } from '@aztec/foundation/
|
|
10
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
11
11
|
import type { Logger } from '@aztec/foundation/log';
|
|
12
12
|
import { ChonkProofWithPublicInputs, Proof, RecursiveProof } from '@aztec/stdlib/proofs';
|
|
13
13
|
import type { VerificationKeyData } from '@aztec/stdlib/vks';
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
RECURSIVE_PROOF_LENGTH,
|
|
7
7
|
ULTRA_KECCAK_PROOF_LENGTH,
|
|
8
8
|
} from '@aztec/constants';
|
|
9
|
-
import { Fr } from '@aztec/foundation/
|
|
9
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
10
10
|
import { runInDirectory } from '@aztec/foundation/fs';
|
|
11
11
|
import { createLogger } from '@aztec/foundation/log';
|
|
12
12
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
@@ -84,7 +84,6 @@ import {
|
|
|
84
84
|
type RootRollupPublicInputs,
|
|
85
85
|
type TxMergeRollupPrivateInputs,
|
|
86
86
|
type TxRollupPublicInputs,
|
|
87
|
-
enhanceProofWithPiValidationFlag,
|
|
88
87
|
} from '@aztec/stdlib/rollup';
|
|
89
88
|
import type { CircuitProvingStats, CircuitWitnessGenerationStats } from '@aztec/stdlib/stats';
|
|
90
89
|
import type { VerificationKeyData } from '@aztec/stdlib/vks';
|
|
@@ -192,13 +191,9 @@ export class BBNativeRollupProver implements ServerCircuitProver {
|
|
|
192
191
|
}))
|
|
193
192
|
public async getAvmProof(
|
|
194
193
|
inputs: AvmCircuitInputs,
|
|
195
|
-
skipPublicInputsValidation: boolean = false,
|
|
196
194
|
): Promise<ProofAndVerificationKey<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>> {
|
|
197
195
|
const proofAndVk = await this.createAvmProof(inputs);
|
|
198
196
|
await this.verifyAvmProof(proofAndVk.proof.binaryProof, proofAndVk.verificationKey, inputs.publicInputs);
|
|
199
|
-
|
|
200
|
-
// TODO(#14234)[Unconditional PIs validation]: remove next lines and directly return proofAndVk
|
|
201
|
-
proofAndVk.proof.proof = enhanceProofWithPiValidationFlag(proofAndVk.proof.proof, skipPublicInputsValidation);
|
|
202
197
|
return proofAndVk;
|
|
203
198
|
}
|
|
204
199
|
|
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.
|
|
6
|
-
[ProvingRequestType.
|
|
7
|
-
[ProvingRequestType.
|
|
4
|
+
[ProvingRequestType.PUBLIC_CHONK_VERIFIER]: 60,
|
|
5
|
+
[ProvingRequestType.PARITY_BASE]: 1_600,
|
|
6
|
+
[ProvingRequestType.PARITY_ROOT]: 40,
|
|
7
|
+
[ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP]: 45,
|
|
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_000,
|
|
13
22
|
[ProvingRequestType.CHECKPOINT_PADDING_ROLLUP]: 0,
|
|
14
|
-
[ProvingRequestType.
|
|
15
|
-
[ProvingRequestType.TX_MERGE_ROLLUP]: 0,
|
|
16
|
-
[ProvingRequestType.PRIVATE_TX_BASE_ROLLUP]: 400_000,
|
|
17
|
-
[ProvingRequestType.PUBLIC_TX_BASE_ROLLUP]: 470_000,
|
|
18
|
-
[ProvingRequestType.PARITY_ROOT]: 39,
|
|
19
|
-
[ProvingRequestType.ROOT_ROLLUP]: 35,
|
|
20
|
-
[ProvingRequestType.PUBLIC_CHONK_VERIFIER]: 0,
|
|
21
|
-
[ProvingRequestType.PUBLIC_VM]: 0,
|
|
23
|
+
[ProvingRequestType.PRIVATE_TX_BASE_ROLLUP]: 2_500, // Guess based on public
|
|
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]: 55_000,
|
|
28
|
-
[ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP]: 35_000,
|
|
29
|
-
[ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP]: 4_000,
|
|
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]: 35_000,
|
|
34
45
|
[ProvingRequestType.CHECKPOINT_PADDING_ROLLUP]: 0,
|
|
35
|
-
[ProvingRequestType.
|
|
36
|
-
[ProvingRequestType.TX_MERGE_ROLLUP]: 0,
|
|
37
|
-
[ProvingRequestType.PRIVATE_TX_BASE_ROLLUP]: 145_000,
|
|
38
|
-
[ProvingRequestType.PUBLIC_TX_BASE_ROLLUP]: 160_000,
|
|
39
|
-
[ProvingRequestType.PARITY_ROOT]: 16_000,
|
|
40
|
-
[ProvingRequestType.ROOT_ROLLUP]: 140_000,
|
|
41
|
-
[ProvingRequestType.PUBLIC_CHONK_VERIFIER]: 30_000,
|
|
42
|
-
[ProvingRequestType.PUBLIC_VM]: 0,
|
|
46
|
+
[ProvingRequestType.PRIVATE_TX_BASE_ROLLUP]: 45_000, // Guess based on public
|
|
43
47
|
};
|
package/src/test/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED } from '@aztec/constants';
|
|
2
|
-
import { Fr } from '@aztec/foundation/
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
4
4
|
import { VerificationKeyAsFields, VerificationKeyData } from '@aztec/stdlib/vks';
|
|
5
5
|
|