@aztec/bb-prover 0.80.0 → 0.81.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.
- package/dest/avm_proving_tests/avm_proving_tester.d.ts +3 -3
- package/dest/avm_proving_tests/avm_proving_tester.d.ts.map +1 -1
- package/dest/avm_proving_tests/avm_proving_tester.js +7 -9
- package/dest/prover/bb_prover.d.ts.map +1 -1
- package/dest/prover/bb_prover.js +1 -1
- package/dest/verifier/bb_verifier.js +1 -1
- package/package.json +15 -15
- package/src/avm_proving_tests/avm_proving_tester.ts +6 -10
- package/src/prover/bb_prover.ts +1 -4
- package/src/verifier/bb_verifier.ts +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PublicTxSimulationTester, type TestEnqueuedCall } from '@aztec/simulator/public/fixtures';
|
|
2
|
-
import { SimpleContractDataSource
|
|
2
|
+
import { SimpleContractDataSource } from '@aztec/simulator/server';
|
|
3
3
|
import type { AvmCircuitInputs } from '@aztec/stdlib/avm';
|
|
4
4
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
5
|
import type { MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
|
|
@@ -7,7 +7,7 @@ import { type BBResult, type BBSuccess } from '../bb/execute.js';
|
|
|
7
7
|
export declare class AvmProvingTester extends PublicTxSimulationTester {
|
|
8
8
|
private bbWorkingDirectory;
|
|
9
9
|
private checkCircuitOnly;
|
|
10
|
-
constructor(bbWorkingDirectory: string, checkCircuitOnly: boolean,
|
|
10
|
+
constructor(bbWorkingDirectory: string, checkCircuitOnly: boolean, merkleTree: MerkleTreeWriteOperations, contractDataSource: SimpleContractDataSource);
|
|
11
11
|
static create(checkCircuitOnly?: boolean): Promise<AvmProvingTester>;
|
|
12
12
|
prove(avmCircuitInputs: AvmCircuitInputs): Promise<BBResult>;
|
|
13
13
|
verify(proofRes: BBSuccess): Promise<BBResult>;
|
|
@@ -16,7 +16,7 @@ export declare class AvmProvingTester extends PublicTxSimulationTester {
|
|
|
16
16
|
}
|
|
17
17
|
export declare class AvmProvingTesterV2 extends PublicTxSimulationTester {
|
|
18
18
|
private bbWorkingDirectory;
|
|
19
|
-
constructor(bbWorkingDirectory: string,
|
|
19
|
+
constructor(bbWorkingDirectory: string, contractDataSource: SimpleContractDataSource, merkleTrees: MerkleTreeWriteOperations);
|
|
20
20
|
static create(): Promise<AvmProvingTesterV2>;
|
|
21
21
|
proveV2(avmCircuitInputs: AvmCircuitInputs): Promise<BBResult>;
|
|
22
22
|
verifyV2(proofRes: BBSuccess): Promise<BBResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avm_proving_tester.d.ts","sourceRoot":"","sources":["../../src/avm_proving_tests/avm_proving_tester.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,KAAK,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACnG,OAAO,EAAE,wBAAwB,EAAE,
|
|
1
|
+
{"version":3,"file":"avm_proving_tester.d.ts","sourceRoot":"","sources":["../../src/avm_proving_tests/avm_proving_tester.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,KAAK,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACnG,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AASjF,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,SAAS,EAMf,MAAM,kBAAkB,CAAC;AAK1B,qBAAa,gBAAiB,SAAQ,wBAAwB;IAE1D,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,gBAAgB;gBADhB,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,OAAO,EACjC,UAAU,EAAE,yBAAyB,EACrC,kBAAkB,EAAE,wBAAwB;WAKxB,MAAM,CAAC,gBAAgB,GAAE,OAAe;IAQxD,KAAK,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAe5D,MAAM,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgBvC,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;IAWN,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,EAAE,YAAY,CAAC,EAAE,OAAO;CAWtF;AAED,qBAAa,kBAAmB,SAAQ,wBAAwB;IAE5D,OAAO,CAAC,kBAAkB;gBAAlB,kBAAkB,EAAE,MAAM,EAClC,kBAAkB,EAAE,wBAAwB,EAC5C,WAAW,EAAE,yBAAyB;WAKlB,MAAM;IAQtB,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAU9D,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;IAezC,gBAAgB,CAC3B,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;CAYpB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PublicTxSimulationTester } from '@aztec/simulator/public/fixtures';
|
|
2
|
-
import { SimpleContractDataSource
|
|
2
|
+
import { SimpleContractDataSource } from '@aztec/simulator/server';
|
|
3
3
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
4
|
import { makeAvmCircuitInputs } from '@aztec/stdlib/testing';
|
|
5
5
|
import { VerificationKeyData } from '@aztec/stdlib/vks';
|
|
@@ -13,15 +13,14 @@ const BB_PATH = path.resolve('../../barretenberg/cpp/build/bin/bb');
|
|
|
13
13
|
export class AvmProvingTester extends PublicTxSimulationTester {
|
|
14
14
|
bbWorkingDirectory;
|
|
15
15
|
checkCircuitOnly;
|
|
16
|
-
constructor(bbWorkingDirectory, checkCircuitOnly,
|
|
17
|
-
super(
|
|
16
|
+
constructor(bbWorkingDirectory, checkCircuitOnly, merkleTree, contractDataSource){
|
|
17
|
+
super(merkleTree, contractDataSource), this.bbWorkingDirectory = bbWorkingDirectory, this.checkCircuitOnly = checkCircuitOnly;
|
|
18
18
|
}
|
|
19
19
|
static async create(checkCircuitOnly = false) {
|
|
20
20
|
const bbWorkingDirectory = await fs.mkdtemp(path.join(tmpdir(), 'bb-'));
|
|
21
21
|
const contractDataSource = new SimpleContractDataSource();
|
|
22
22
|
const merkleTrees = await (await NativeWorldStateService.tmp()).fork();
|
|
23
|
-
|
|
24
|
-
return new AvmProvingTester(bbWorkingDirectory, checkCircuitOnly, worldStateDB, contractDataSource, merkleTrees);
|
|
23
|
+
return new AvmProvingTester(bbWorkingDirectory, checkCircuitOnly, merkleTrees, contractDataSource);
|
|
25
24
|
}
|
|
26
25
|
async prove(avmCircuitInputs) {
|
|
27
26
|
// Then we prove.
|
|
@@ -68,15 +67,14 @@ export class AvmProvingTester extends PublicTxSimulationTester {
|
|
|
68
67
|
}
|
|
69
68
|
export class AvmProvingTesterV2 extends PublicTxSimulationTester {
|
|
70
69
|
bbWorkingDirectory;
|
|
71
|
-
constructor(bbWorkingDirectory,
|
|
72
|
-
super(
|
|
70
|
+
constructor(bbWorkingDirectory, contractDataSource, merkleTrees){
|
|
71
|
+
super(merkleTrees, contractDataSource), this.bbWorkingDirectory = bbWorkingDirectory;
|
|
73
72
|
}
|
|
74
73
|
static async create() {
|
|
75
74
|
const bbWorkingDirectory = await fs.mkdtemp(path.join(tmpdir(), 'bb-'));
|
|
76
75
|
const contractDataSource = new SimpleContractDataSource();
|
|
77
76
|
const merkleTrees = await (await NativeWorldStateService.tmp()).fork();
|
|
78
|
-
|
|
79
|
-
return new AvmProvingTesterV2(bbWorkingDirectory, worldStateDB, contractDataSource, merkleTrees);
|
|
77
|
+
return new AvmProvingTesterV2(bbWorkingDirectory, contractDataSource, merkleTrees);
|
|
80
78
|
}
|
|
81
79
|
async proveV2(avmCircuitInputs) {
|
|
82
80
|
// Then we prove.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bb_prover.d.ts","sourceRoot":"","sources":["../../src/prover/bb_prover.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"bb_prover.d.ts","sourceRoot":"","sources":["../../src/prover/bb_prover.ts"],"names":[],"mappings":"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"}
|
package/dest/prover/bb_prover.js
CHANGED
|
@@ -387,7 +387,7 @@ const SERVER_CIRCUIT_RECURSIVE = true;
|
|
|
387
387
|
numPublicInputs -= IPA_CLAIM_LENGTH;
|
|
388
388
|
}
|
|
389
389
|
assert(json.length - numPublicInputs == proofLength, 'Proof length mismatch');
|
|
390
|
-
const fieldsWithoutPublicInputs = json.slice(
|
|
390
|
+
const fieldsWithoutPublicInputs = json.slice(numPublicInputs).map(Fr.fromHexString);
|
|
391
391
|
logger.debug(`Circuit path: ${filePath}, complete proof length: ${json.length}, num public inputs: ${numPublicInputs}, circuit size: ${vkData.circuitSize}, is recursive: ${vkData.isRecursive}, raw length: ${binaryProof.length}`);
|
|
392
392
|
return new RecursiveProof(fieldsWithoutPublicInputs, new Proof(binaryProof, numPublicInputs), true, proofLength);
|
|
393
393
|
}
|
|
@@ -79,7 +79,7 @@ export class BBCircuitVerifier {
|
|
|
79
79
|
await runInDirectory(this.config.bbWorkingDirectory, operation, this.config.bbSkipCleanup, this.logger);
|
|
80
80
|
return true;
|
|
81
81
|
} catch (err) {
|
|
82
|
-
this.logger.warn(`Failed to verify ClientIVC proof for tx ${Tx.getHash(tx)}: ${String(err)}`);
|
|
82
|
+
this.logger.warn(`Failed to verify ClientIVC proof for tx ${await Tx.getHash(tx)}: ${String(err)}`);
|
|
83
83
|
return false;
|
|
84
84
|
}
|
|
85
85
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/bb-prover",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.81.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -67,16 +67,16 @@
|
|
|
67
67
|
]
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"@aztec/bb.js": "0.
|
|
71
|
-
"@aztec/constants": "0.
|
|
72
|
-
"@aztec/foundation": "0.
|
|
73
|
-
"@aztec/noir-noirc_abi": "0.
|
|
74
|
-
"@aztec/noir-protocol-circuits-types": "0.
|
|
75
|
-
"@aztec/noir-types": "0.
|
|
76
|
-
"@aztec/simulator": "0.
|
|
77
|
-
"@aztec/stdlib": "0.
|
|
78
|
-
"@aztec/telemetry-client": "0.
|
|
79
|
-
"@aztec/world-state": "0.
|
|
70
|
+
"@aztec/bb.js": "0.81.0",
|
|
71
|
+
"@aztec/constants": "0.81.0",
|
|
72
|
+
"@aztec/foundation": "0.81.0",
|
|
73
|
+
"@aztec/noir-noirc_abi": "0.81.0",
|
|
74
|
+
"@aztec/noir-protocol-circuits-types": "0.81.0",
|
|
75
|
+
"@aztec/noir-types": "0.81.0",
|
|
76
|
+
"@aztec/simulator": "0.81.0",
|
|
77
|
+
"@aztec/stdlib": "0.81.0",
|
|
78
|
+
"@aztec/telemetry-client": "0.81.0",
|
|
79
|
+
"@aztec/world-state": "0.81.0",
|
|
80
80
|
"@msgpack/msgpack": "^3.0.0-beta2",
|
|
81
81
|
"commander": "^12.1.0",
|
|
82
82
|
"pako": "^2.1.0",
|
|
@@ -84,10 +84,10 @@
|
|
|
84
84
|
"tslib": "^2.4.0"
|
|
85
85
|
},
|
|
86
86
|
"devDependencies": {
|
|
87
|
-
"@aztec/ethereum": "0.
|
|
88
|
-
"@aztec/kv-store": "0.
|
|
89
|
-
"@aztec/noir-contracts.js": "0.
|
|
90
|
-
"@aztec/protocol-contracts": "0.
|
|
87
|
+
"@aztec/ethereum": "0.81.0",
|
|
88
|
+
"@aztec/kv-store": "0.81.0",
|
|
89
|
+
"@aztec/noir-contracts.js": "0.81.0",
|
|
90
|
+
"@aztec/protocol-contracts": "0.81.0",
|
|
91
91
|
"@jest/globals": "^29.5.0",
|
|
92
92
|
"@types/jest": "^29.5.0",
|
|
93
93
|
"@types/memdown": "^3.0.0",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PublicTxSimulationTester, type TestEnqueuedCall } from '@aztec/simulator/public/fixtures';
|
|
2
|
-
import { SimpleContractDataSource
|
|
2
|
+
import { SimpleContractDataSource } from '@aztec/simulator/server';
|
|
3
3
|
import type { AvmCircuitInputs } from '@aztec/stdlib/avm';
|
|
4
4
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
5
|
import type { MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
|
|
@@ -28,11 +28,10 @@ export class AvmProvingTester extends PublicTxSimulationTester {
|
|
|
28
28
|
constructor(
|
|
29
29
|
private bbWorkingDirectory: string,
|
|
30
30
|
private checkCircuitOnly: boolean,
|
|
31
|
-
|
|
31
|
+
merkleTree: MerkleTreeWriteOperations,
|
|
32
32
|
contractDataSource: SimpleContractDataSource,
|
|
33
|
-
merkleTrees: MerkleTreeWriteOperations,
|
|
34
33
|
) {
|
|
35
|
-
super(
|
|
34
|
+
super(merkleTree, contractDataSource);
|
|
36
35
|
}
|
|
37
36
|
|
|
38
37
|
static override async create(checkCircuitOnly: boolean = false) {
|
|
@@ -40,8 +39,7 @@ export class AvmProvingTester extends PublicTxSimulationTester {
|
|
|
40
39
|
|
|
41
40
|
const contractDataSource = new SimpleContractDataSource();
|
|
42
41
|
const merkleTrees = await (await NativeWorldStateService.tmp()).fork();
|
|
43
|
-
|
|
44
|
-
return new AvmProvingTester(bbWorkingDirectory, checkCircuitOnly, worldStateDB, contractDataSource, merkleTrees);
|
|
42
|
+
return new AvmProvingTester(bbWorkingDirectory, checkCircuitOnly, merkleTrees, contractDataSource);
|
|
45
43
|
}
|
|
46
44
|
|
|
47
45
|
async prove(avmCircuitInputs: AvmCircuitInputs): Promise<BBResult> {
|
|
@@ -108,11 +106,10 @@ export class AvmProvingTester extends PublicTxSimulationTester {
|
|
|
108
106
|
export class AvmProvingTesterV2 extends PublicTxSimulationTester {
|
|
109
107
|
constructor(
|
|
110
108
|
private bbWorkingDirectory: string,
|
|
111
|
-
worldStateDB: WorldStateDB,
|
|
112
109
|
contractDataSource: SimpleContractDataSource,
|
|
113
110
|
merkleTrees: MerkleTreeWriteOperations,
|
|
114
111
|
) {
|
|
115
|
-
super(
|
|
112
|
+
super(merkleTrees, contractDataSource);
|
|
116
113
|
}
|
|
117
114
|
|
|
118
115
|
static override async create() {
|
|
@@ -120,8 +117,7 @@ export class AvmProvingTesterV2 extends PublicTxSimulationTester {
|
|
|
120
117
|
|
|
121
118
|
const contractDataSource = new SimpleContractDataSource();
|
|
122
119
|
const merkleTrees = await (await NativeWorldStateService.tmp()).fork();
|
|
123
|
-
|
|
124
|
-
return new AvmProvingTesterV2(bbWorkingDirectory, worldStateDB, contractDataSource, merkleTrees);
|
|
120
|
+
return new AvmProvingTesterV2(bbWorkingDirectory, contractDataSource, merkleTrees);
|
|
125
121
|
}
|
|
126
122
|
|
|
127
123
|
async proveV2(avmCircuitInputs: AvmCircuitInputs): Promise<BBResult> {
|
package/src/prover/bb_prover.ts
CHANGED
|
@@ -740,10 +740,7 @@ export class BBNativeRollupProver implements ServerCircuitProver {
|
|
|
740
740
|
|
|
741
741
|
assert(json.length - numPublicInputs == proofLength, 'Proof length mismatch');
|
|
742
742
|
|
|
743
|
-
const fieldsWithoutPublicInputs = json
|
|
744
|
-
.slice(0, 3)
|
|
745
|
-
.map(Fr.fromHexString)
|
|
746
|
-
.concat(json.slice(3 + numPublicInputs).map(Fr.fromHexString));
|
|
743
|
+
const fieldsWithoutPublicInputs = json.slice(numPublicInputs).map(Fr.fromHexString);
|
|
747
744
|
logger.debug(
|
|
748
745
|
`Circuit path: ${filePath}, complete proof length: ${json.length}, num public inputs: ${numPublicInputs}, circuit size: ${vkData.circuitSize}, is recursive: ${vkData.isRecursive}, raw length: ${binaryProof.length}`,
|
|
749
746
|
);
|
|
@@ -107,7 +107,7 @@ export class BBCircuitVerifier implements ClientProtocolCircuitVerifier {
|
|
|
107
107
|
await runInDirectory(this.config.bbWorkingDirectory, operation, this.config.bbSkipCleanup, this.logger);
|
|
108
108
|
return true;
|
|
109
109
|
} catch (err) {
|
|
110
|
-
this.logger.warn(`Failed to verify ClientIVC proof for tx ${Tx.getHash(tx)}: ${String(err)}`);
|
|
110
|
+
this.logger.warn(`Failed to verify ClientIVC proof for tx ${await Tx.getHash(tx)}: ${String(err)}`);
|
|
111
111
|
return false;
|
|
112
112
|
}
|
|
113
113
|
}
|