@aztec/bb-prover 0.75.0 → 0.76.1
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.
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { type MerkleTreeWriteOperations } from '@aztec/circuit-types';
|
|
2
2
|
import { type AvmCircuitInputs, AztecAddress } from '@aztec/circuits.js';
|
|
3
3
|
import { PublicTxSimulationTester, type TestEnqueuedCall } from '@aztec/simulator/public/fixtures';
|
|
4
|
+
import { WorldStateDB } from '@aztec/simulator/server';
|
|
4
5
|
import { SimpleContractDataSource } from '../../../simulator/src/avm/fixtures/simple_contract_data_source.js';
|
|
5
6
|
import { type BBResult, type BBSuccess } from '../bb/execute.js';
|
|
6
7
|
export declare class AvmProvingTester extends PublicTxSimulationTester {
|
|
7
8
|
private bbWorkingDirectory;
|
|
8
9
|
private checkCircuitOnly;
|
|
9
|
-
constructor(bbWorkingDirectory: string, checkCircuitOnly: boolean, contractDataSource: SimpleContractDataSource, merkleTrees: MerkleTreeWriteOperations, skipContractDeployments: boolean);
|
|
10
|
+
constructor(bbWorkingDirectory: string, checkCircuitOnly: boolean, worldStateDB: WorldStateDB, contractDataSource: SimpleContractDataSource, merkleTrees: MerkleTreeWriteOperations, skipContractDeployments: boolean);
|
|
10
11
|
static create(checkCircuitOnly?: boolean, skipContractDeployments?: boolean): Promise<AvmProvingTester>;
|
|
11
12
|
prove(avmCircuitInputs: AvmCircuitInputs): Promise<BBResult>;
|
|
12
13
|
verify(proofRes: BBSuccess): Promise<BBResult>;
|
|
@@ -15,7 +16,7 @@ export declare class AvmProvingTester extends PublicTxSimulationTester {
|
|
|
15
16
|
}
|
|
16
17
|
export declare class AvmProvingTesterV2 extends PublicTxSimulationTester {
|
|
17
18
|
private bbWorkingDirectory;
|
|
18
|
-
constructor(bbWorkingDirectory: string, contractDataSource: SimpleContractDataSource, merkleTrees: MerkleTreeWriteOperations, skipContractDeployments: boolean);
|
|
19
|
+
constructor(bbWorkingDirectory: string, worldStateDB: WorldStateDB, contractDataSource: SimpleContractDataSource, merkleTrees: MerkleTreeWriteOperations, skipContractDeployments: boolean);
|
|
19
20
|
static create(skipContractDeployments?: boolean): Promise<AvmProvingTesterV2>;
|
|
20
21
|
proveV2(avmCircuitInputs: AvmCircuitInputs): Promise<BBResult>;
|
|
21
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,KAAK,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,KAAK,gBAAgB,EAAE,YAAY,EAAuB,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAE,KAAK,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"avm_proving_tester.d.ts","sourceRoot":"","sources":["../../src/avm_proving_tests/avm_proving_tester.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,KAAK,gBAAgB,EAAE,YAAY,EAAuB,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAE,KAAK,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAOvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oEAAoE,CAAC;AAC9G,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,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,wBAAwB,EAC5C,WAAW,EAAE,yBAAyB,EACtC,uBAAuB,EAAE,OAAO;WAKZ,MAAM,CAAC,gBAAgB,GAAE,OAAe,EAAE,uBAAuB,GAAE,OAAe;IAgBlG,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,CAAC,EAAE,YAAY;IAWZ,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,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,wBAAwB,EAC5C,WAAW,EAAE,yBAAyB,EACtC,uBAAuB,EAAE,OAAO;WAKZ,MAAM,CAAC,uBAAuB,GAAE,OAAe;IAe/D,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAU9D,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkBzC,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,CAAC,EAAE,YAAY;CAY1B"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AztecAddress, VerificationKeyData } from '@aztec/circuits.js';
|
|
2
2
|
import { PublicTxSimulationTester } from '@aztec/simulator/public/fixtures';
|
|
3
|
+
import { WorldStateDB } from '@aztec/simulator/server';
|
|
3
4
|
import { NativeWorldStateService } from '@aztec/world-state';
|
|
4
5
|
import fs from 'node:fs/promises';
|
|
5
6
|
import { tmpdir } from 'node:os';
|
|
@@ -9,8 +10,8 @@ import { BB_RESULT, generateAvmProof, generateAvmProofV2, verifyAvmProof, verify
|
|
|
9
10
|
import { extractAvmVkData } from '../verification_key/verification_key_data.js';
|
|
10
11
|
const BB_PATH = path.resolve('../../barretenberg/cpp/build/bin/bb');
|
|
11
12
|
export class AvmProvingTester extends PublicTxSimulationTester {
|
|
12
|
-
constructor(bbWorkingDirectory, checkCircuitOnly, contractDataSource, merkleTrees, skipContractDeployments) {
|
|
13
|
-
super(contractDataSource, merkleTrees, skipContractDeployments);
|
|
13
|
+
constructor(bbWorkingDirectory, checkCircuitOnly, worldStateDB, contractDataSource, merkleTrees, skipContractDeployments) {
|
|
14
|
+
super(worldStateDB, contractDataSource, merkleTrees, skipContractDeployments);
|
|
14
15
|
this.bbWorkingDirectory = bbWorkingDirectory;
|
|
15
16
|
this.checkCircuitOnly = checkCircuitOnly;
|
|
16
17
|
}
|
|
@@ -18,7 +19,8 @@ export class AvmProvingTester extends PublicTxSimulationTester {
|
|
|
18
19
|
const bbWorkingDirectory = await fs.mkdtemp(path.join(tmpdir(), 'bb-'));
|
|
19
20
|
const contractDataSource = new SimpleContractDataSource();
|
|
20
21
|
const merkleTrees = await (await NativeWorldStateService.tmp()).fork();
|
|
21
|
-
|
|
22
|
+
const worldStateDB = new WorldStateDB(merkleTrees, contractDataSource);
|
|
23
|
+
return new AvmProvingTester(bbWorkingDirectory, checkCircuitOnly, worldStateDB, contractDataSource, merkleTrees, skipContractDeployments);
|
|
22
24
|
}
|
|
23
25
|
async prove(avmCircuitInputs) {
|
|
24
26
|
// Then we prove.
|
|
@@ -62,15 +64,16 @@ export class AvmProvingTester extends PublicTxSimulationTester {
|
|
|
62
64
|
}
|
|
63
65
|
}
|
|
64
66
|
export class AvmProvingTesterV2 extends PublicTxSimulationTester {
|
|
65
|
-
constructor(bbWorkingDirectory, contractDataSource, merkleTrees, skipContractDeployments) {
|
|
66
|
-
super(contractDataSource, merkleTrees, skipContractDeployments);
|
|
67
|
+
constructor(bbWorkingDirectory, worldStateDB, contractDataSource, merkleTrees, skipContractDeployments) {
|
|
68
|
+
super(worldStateDB, contractDataSource, merkleTrees, skipContractDeployments);
|
|
67
69
|
this.bbWorkingDirectory = bbWorkingDirectory;
|
|
68
70
|
}
|
|
69
71
|
static async create(skipContractDeployments = false) {
|
|
70
72
|
const bbWorkingDirectory = await fs.mkdtemp(path.join(tmpdir(), 'bb-'));
|
|
71
73
|
const contractDataSource = new SimpleContractDataSource();
|
|
72
74
|
const merkleTrees = await (await NativeWorldStateService.tmp()).fork();
|
|
73
|
-
|
|
75
|
+
const worldStateDB = new WorldStateDB(merkleTrees, contractDataSource);
|
|
76
|
+
return new AvmProvingTesterV2(bbWorkingDirectory, worldStateDB, contractDataSource, merkleTrees, skipContractDeployments);
|
|
74
77
|
}
|
|
75
78
|
async proveV2(avmCircuitInputs) {
|
|
76
79
|
// Then we prove.
|
|
@@ -100,4 +103,4 @@ export class AvmProvingTesterV2 extends PublicTxSimulationTester {
|
|
|
100
103
|
expect(verificationRes.status).toBe(BB_RESULT.SUCCESS);
|
|
101
104
|
}
|
|
102
105
|
}
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZtX3Byb3ZpbmdfdGVzdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F2bV9wcm92aW5nX3Rlc3RzL2F2bV9wcm92aW5nX3Rlc3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQXlCLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlGLE9BQU8sRUFBRSx3QkFBd0IsRUFBeUIsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFN0QsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNqQyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFFeEIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDOUcsT0FBTyxFQUdMLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxnQkFBZ0IsR0FDakIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVoRixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7QUFFcEUsTUFBTSxPQUFPLGdCQUFpQixTQUFRLHdCQUF3QjtJQUM1RCxZQUNVLGtCQUEwQixFQUMxQixnQkFBeUIsRUFDakMsWUFBMEIsRUFDMUIsa0JBQTRDLEVBQzVDLFdBQXNDLEVBQ3RDLHVCQUFnQztRQUVoQyxLQUFLLENBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBUHRFLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBUTtRQUMxQixx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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/bb-prover",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.76.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -67,14 +67,14 @@
|
|
|
67
67
|
]
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"@aztec/bb.js": "0.
|
|
71
|
-
"@aztec/circuit-types": "0.
|
|
72
|
-
"@aztec/circuits.js": "0.
|
|
73
|
-
"@aztec/foundation": "0.
|
|
74
|
-
"@aztec/noir-protocol-circuits-types": "0.
|
|
75
|
-
"@aztec/simulator": "0.
|
|
76
|
-
"@aztec/telemetry-client": "0.
|
|
77
|
-
"@aztec/world-state": "0.
|
|
70
|
+
"@aztec/bb.js": "0.76.1",
|
|
71
|
+
"@aztec/circuit-types": "0.76.1",
|
|
72
|
+
"@aztec/circuits.js": "0.76.1",
|
|
73
|
+
"@aztec/foundation": "0.76.1",
|
|
74
|
+
"@aztec/noir-protocol-circuits-types": "0.76.1",
|
|
75
|
+
"@aztec/simulator": "0.76.1",
|
|
76
|
+
"@aztec/telemetry-client": "0.76.1",
|
|
77
|
+
"@aztec/world-state": "0.76.1",
|
|
78
78
|
"@msgpack/msgpack": "^3.0.0-beta2",
|
|
79
79
|
"@noir-lang/noirc_abi": "portal:../../noir/packages/noirc_abi",
|
|
80
80
|
"@noir-lang/types": "portal:../../noir/packages/types",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type MerkleTreeWriteOperations } from '@aztec/circuit-types';
|
|
2
2
|
import { type AvmCircuitInputs, AztecAddress, VerificationKeyData } from '@aztec/circuits.js';
|
|
3
3
|
import { PublicTxSimulationTester, type TestEnqueuedCall } from '@aztec/simulator/public/fixtures';
|
|
4
|
+
import { WorldStateDB } from '@aztec/simulator/server';
|
|
4
5
|
import { NativeWorldStateService } from '@aztec/world-state';
|
|
5
6
|
|
|
6
7
|
import fs from 'node:fs/promises';
|
|
@@ -25,11 +26,12 @@ export class AvmProvingTester extends PublicTxSimulationTester {
|
|
|
25
26
|
constructor(
|
|
26
27
|
private bbWorkingDirectory: string,
|
|
27
28
|
private checkCircuitOnly: boolean,
|
|
29
|
+
worldStateDB: WorldStateDB,
|
|
28
30
|
contractDataSource: SimpleContractDataSource,
|
|
29
31
|
merkleTrees: MerkleTreeWriteOperations,
|
|
30
32
|
skipContractDeployments: boolean,
|
|
31
33
|
) {
|
|
32
|
-
super(contractDataSource, merkleTrees, skipContractDeployments);
|
|
34
|
+
super(worldStateDB, contractDataSource, merkleTrees, skipContractDeployments);
|
|
33
35
|
}
|
|
34
36
|
|
|
35
37
|
static override async create(checkCircuitOnly: boolean = false, skipContractDeployments: boolean = false) {
|
|
@@ -37,9 +39,11 @@ export class AvmProvingTester extends PublicTxSimulationTester {
|
|
|
37
39
|
|
|
38
40
|
const contractDataSource = new SimpleContractDataSource();
|
|
39
41
|
const merkleTrees = await (await NativeWorldStateService.tmp()).fork();
|
|
42
|
+
const worldStateDB = new WorldStateDB(merkleTrees, contractDataSource);
|
|
40
43
|
return new AvmProvingTester(
|
|
41
44
|
bbWorkingDirectory,
|
|
42
45
|
checkCircuitOnly,
|
|
46
|
+
worldStateDB,
|
|
43
47
|
contractDataSource,
|
|
44
48
|
merkleTrees,
|
|
45
49
|
skipContractDeployments,
|
|
@@ -110,11 +114,12 @@ export class AvmProvingTester extends PublicTxSimulationTester {
|
|
|
110
114
|
export class AvmProvingTesterV2 extends PublicTxSimulationTester {
|
|
111
115
|
constructor(
|
|
112
116
|
private bbWorkingDirectory: string,
|
|
117
|
+
worldStateDB: WorldStateDB,
|
|
113
118
|
contractDataSource: SimpleContractDataSource,
|
|
114
119
|
merkleTrees: MerkleTreeWriteOperations,
|
|
115
120
|
skipContractDeployments: boolean,
|
|
116
121
|
) {
|
|
117
|
-
super(contractDataSource, merkleTrees, skipContractDeployments);
|
|
122
|
+
super(worldStateDB, contractDataSource, merkleTrees, skipContractDeployments);
|
|
118
123
|
}
|
|
119
124
|
|
|
120
125
|
static override async create(skipContractDeployments: boolean = false) {
|
|
@@ -122,7 +127,14 @@ export class AvmProvingTesterV2 extends PublicTxSimulationTester {
|
|
|
122
127
|
|
|
123
128
|
const contractDataSource = new SimpleContractDataSource();
|
|
124
129
|
const merkleTrees = await (await NativeWorldStateService.tmp()).fork();
|
|
125
|
-
|
|
130
|
+
const worldStateDB = new WorldStateDB(merkleTrees, contractDataSource);
|
|
131
|
+
return new AvmProvingTesterV2(
|
|
132
|
+
bbWorkingDirectory,
|
|
133
|
+
worldStateDB,
|
|
134
|
+
contractDataSource,
|
|
135
|
+
merkleTrees,
|
|
136
|
+
skipContractDeployments,
|
|
137
|
+
);
|
|
126
138
|
}
|
|
127
139
|
|
|
128
140
|
async proveV2(avmCircuitInputs: AvmCircuitInputs): Promise<BBResult> {
|