@aztec/bb-prover 0.76.4 → 0.77.0-testnet-ignition.21
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 +8 -8
- package/dest/avm_proving_tests/avm_proving_tester.d.ts.map +1 -1
- package/dest/avm_proving_tests/avm_proving_tester.js +24 -25
- package/dest/bb/cli.d.ts +3 -3
- package/dest/bb/cli.d.ts.map +1 -1
- package/dest/bb/cli.js +4 -9
- package/dest/bb/execute.d.ts +7 -37
- package/dest/bb/execute.d.ts.map +1 -1
- package/dest/bb/execute.js +359 -357
- package/dest/bb/index.js +4 -6
- package/dest/config.js +1 -2
- package/dest/honk.d.ts +1 -1
- package/dest/honk.d.ts.map +1 -1
- package/dest/honk.js +8 -5
- package/dest/index.d.ts +1 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +0 -1
- package/dest/instrumentation.d.ts +2 -2
- package/dest/instrumentation.d.ts.map +1 -1
- package/dest/instrumentation.js +50 -47
- package/dest/prover/bb_native_private_kernel_prover.d.ts +4 -4
- package/dest/prover/bb_native_private_kernel_prover.d.ts.map +1 -1
- package/dest/prover/bb_native_private_kernel_prover.js +19 -19
- package/dest/prover/bb_private_kernel_prover.d.ts +7 -6
- package/dest/prover/bb_private_kernel_prover.d.ts.map +1 -1
- package/dest/prover/bb_private_kernel_prover.js +14 -15
- package/dest/prover/bb_prover.d.ts +7 -10
- package/dest/prover/bb_prover.d.ts.map +1 -1
- package/dest/prover/bb_prover.js +402 -447
- package/dest/prover/client_ivc_proof_utils.d.ts +3 -3
- package/dest/prover/client_ivc_proof_utils.d.ts.map +1 -1
- package/dest/prover/client_ivc_proof_utils.js +18 -12
- package/dest/prover/index.js +0 -1
- package/dest/stats.d.ts +2 -2
- package/dest/stats.d.ts.map +1 -1
- package/dest/stats.js +15 -14
- package/dest/test/delay_values.d.ts +4 -0
- package/dest/test/delay_values.d.ts.map +1 -0
- package/dest/test/delay_values.js +29 -0
- package/dest/test/index.js +0 -1
- package/dest/test/test_circuit_prover.d.ts +16 -7
- package/dest/test/test_circuit_prover.d.ts.map +1 -1
- package/dest/test/test_circuit_prover.js +165 -161
- package/dest/test/test_verifier.d.ts +2 -1
- package/dest/test/test_verifier.d.ts.map +1 -1
- package/dest/test/test_verifier.js +0 -1
- package/dest/verification_key/verification_key_data.d.ts +1 -1
- package/dest/verification_key/verification_key_data.d.ts.map +1 -1
- package/dest/verification_key/verification_key_data.js +13 -9
- package/dest/verifier/bb_verifier.d.ts +6 -4
- package/dest/verifier/bb_verifier.d.ts.map +1 -1
- package/dest/verifier/bb_verifier.js +18 -18
- package/dest/verifier/index.js +0 -1
- package/dest/wasm/bb_wasm_private_kernel_prover.d.ts +5 -4
- package/dest/wasm/bb_wasm_private_kernel_prover.d.ts.map +1 -1
- package/dest/wasm/bb_wasm_private_kernel_prover.js +26 -11
- package/dest/wasm/bundle.d.ts +1 -1
- package/dest/wasm/bundle.d.ts.map +1 -1
- package/dest/wasm/bundle.js +1 -2
- package/dest/wasm/lazy.d.ts +1 -1
- package/dest/wasm/lazy.d.ts.map +1 -1
- package/dest/wasm/lazy.js +1 -2
- package/package.json +18 -19
- package/src/avm_proving_tests/avm_proving_tester.ts +17 -33
- package/src/bb/cli.ts +3 -3
- package/src/bb/execute.ts +80 -211
- package/src/honk.ts +1 -1
- package/src/index.ts +1 -1
- package/src/instrumentation.ts +10 -10
- package/src/prover/bb_native_private_kernel_prover.ts +5 -4
- package/src/prover/bb_private_kernel_prover.ts +20 -20
- package/src/prover/bb_prover.ts +33 -100
- package/src/prover/client_ivc_proof_utils.ts +3 -3
- package/src/stats.ts +2 -2
- package/src/test/delay_values.ts +31 -0
- package/src/test/test_circuit_prover.ts +149 -120
- package/src/test/test_verifier.ts +2 -1
- package/src/verification_key/verification_key_data.ts +4 -7
- package/src/verifier/bb_verifier.ts +16 -9
- package/src/wasm/bb_wasm_private_kernel_prover.ts +18 -5
- package/src/wasm/bundle.ts +1 -1
- package/src/wasm/lazy.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bb_wasm_private_kernel_prover.d.ts","sourceRoot":"","sources":["../../src/wasm/bb_wasm_private_kernel_prover.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"bb_wasm_private_kernel_prover.d.ts","sourceRoot":"","sources":["../../src/wasm/bb_wasm_private_kernel_prover.ts"],"names":[],"mappings":";;AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE9E,8BAAsB,yBAA0B,SAAQ,qBAAqB;cAEtD,gBAAgB,EAAE,gBAAgB;cAClC,kBAAkB,EAAE,kBAAkB;IACzD,OAAO,CAAC,OAAO;cACI,GAAG;gBAHH,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,kBAAkB,EACjD,OAAO,GAAE,MAAU,EACR,GAAG,yCAAiC;IAKnC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAmB1F,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAY3G"}
|
|
@@ -1,31 +1,46 @@
|
|
|
1
1
|
import { AztecClientBackend } from '@aztec/bb.js';
|
|
2
|
-
import { ClientIvcProof } from '@aztec/circuits.js';
|
|
3
2
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
3
|
import { Timer } from '@aztec/foundation/timer';
|
|
4
|
+
import { ClientIvcProof } from '@aztec/stdlib/proofs';
|
|
5
5
|
import { serializeWitness } from '@noir-lang/noirc_abi';
|
|
6
6
|
import { ungzip } from 'pako';
|
|
7
7
|
import { BBPrivateKernelProver } from '../prover/bb_private_kernel_prover.js';
|
|
8
8
|
export class BBWASMPrivateKernelProver extends BBPrivateKernelProver {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
this.log = log;
|
|
9
|
+
artifactProvider;
|
|
10
|
+
simulationProvider;
|
|
11
|
+
threads;
|
|
12
|
+
log;
|
|
13
|
+
constructor(artifactProvider, simulationProvider, threads = 1, log = createLogger('bb-prover:wasm')){
|
|
14
|
+
super(artifactProvider, simulationProvider, log), this.artifactProvider = artifactProvider, this.simulationProvider = simulationProvider, this.threads = threads, this.log = log;
|
|
15
15
|
}
|
|
16
16
|
async createClientIvcProof(acirs, witnessStack) {
|
|
17
17
|
const timer = new Timer();
|
|
18
18
|
this.log.info(`Generating ClientIVC proof...`);
|
|
19
|
-
const backend = new AztecClientBackend(acirs.map(acir
|
|
20
|
-
|
|
19
|
+
const backend = new AztecClientBackend(acirs.map((acir)=>ungzip(acir)), {
|
|
20
|
+
threads: this.threads,
|
|
21
|
+
logger: this.log.verbose,
|
|
22
|
+
wasmPath: process.env.BB_WASM_PATH
|
|
23
|
+
});
|
|
24
|
+
const [proof, vk] = await backend.prove(witnessStack.map((witnessMap)=>ungzip(serializeWitness(witnessMap))));
|
|
21
25
|
await backend.destroy();
|
|
22
26
|
this.log.info(`Generated ClientIVC proof`, {
|
|
23
27
|
eventName: 'client-ivc-proof-generation',
|
|
24
28
|
duration: timer.ms(),
|
|
25
29
|
proofSize: proof.length,
|
|
26
|
-
vkSize: vk.length
|
|
30
|
+
vkSize: vk.length
|
|
27
31
|
});
|
|
28
32
|
return new ClientIvcProof(Buffer.from(proof), Buffer.from(vk));
|
|
29
33
|
}
|
|
34
|
+
async computeGateCountForCircuit(_bytecode, _circuitName) {
|
|
35
|
+
const backend = new AztecClientBackend([
|
|
36
|
+
ungzip(_bytecode)
|
|
37
|
+
], {
|
|
38
|
+
threads: this.threads,
|
|
39
|
+
logger: this.log.verbose,
|
|
40
|
+
wasmPath: process.env.BB_WASM_PATH
|
|
41
|
+
});
|
|
42
|
+
const gateCount = await backend.gates();
|
|
43
|
+
await backend.destroy();
|
|
44
|
+
return gateCount[0];
|
|
45
|
+
}
|
|
30
46
|
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmJfd2FzbV9wcml2YXRlX2tlcm5lbF9wcm92ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FzbS9iYl93YXNtX3ByaXZhdGVfa2VybmVsX3Byb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUU5RSxNQUFNLE9BQWdCLHlCQUEwQixTQUFRLHFCQUFxQjtJQUMzRSxZQUNxQixnQkFBa0MsRUFDbEMsa0JBQXNDLEVBQ2pELFVBQWtCLENBQUMsRUFDUixNQUFNLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQztRQUV2RCxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFMOUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ2pELFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDUixRQUFHLEdBQUgsR0FBRyxDQUFpQztJQUd6RCxDQUFDO0lBRWUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEtBQWUsRUFBRSxZQUEwQjtRQUNwRixNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDL0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxrQkFBa0IsQ0FDcEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUMvQixFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQzFCLENBQUM7UUFFRixNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlHLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFO1lBQ3pDLFNBQVMsRUFBRSw2QkFBNkI7WUFDeEMsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDcEIsU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3ZCLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTTtTQUNsQixDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7Q0FDRiJ9
|
package/dest/wasm/bundle.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { SimulationProvider } from '@aztec/simulator/client';
|
|
2
2
|
import { BBWASMPrivateKernelProver } from './bb_wasm_private_kernel_prover.js';
|
|
3
3
|
export declare class BBWASMBundlePrivateKernelProver extends BBWASMPrivateKernelProver {
|
|
4
4
|
constructor(simulationProvider: SimulationProvider, threads?: number, log?: import("@aztec/foundation/log").Logger);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/wasm/bundle.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/wasm/bundle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,qBAAa,+BAAgC,SAAQ,yBAAyB;gBAChE,kBAAkB,EAAE,kBAAkB,EAAE,OAAO,SAAI,EAAE,GAAG,yCAAwC;CAG7G"}
|
package/dest/wasm/bundle.js
CHANGED
|
@@ -2,8 +2,7 @@ import { createLogger } from '@aztec/foundation/log';
|
|
|
2
2
|
import { BundleArtifactProvider } from '@aztec/noir-protocol-circuits-types/client/bundle';
|
|
3
3
|
import { BBWASMPrivateKernelProver } from './bb_wasm_private_kernel_prover.js';
|
|
4
4
|
export class BBWASMBundlePrivateKernelProver extends BBWASMPrivateKernelProver {
|
|
5
|
-
constructor(simulationProvider, threads = 1, log = createLogger('bb-prover:wasm:bundle'))
|
|
5
|
+
constructor(simulationProvider, threads = 1, log = createLogger('bb-prover:wasm:bundle')){
|
|
6
6
|
super(new BundleArtifactProvider(), simulationProvider, threads, log);
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dhc20vYnVuZGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUczRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUUvRSxNQUFNLE9BQU8sK0JBQWdDLFNBQVEseUJBQXlCO0lBQzVFLFlBQVksa0JBQXNDLEVBQUUsT0FBTyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsWUFBWSxDQUFDLHVCQUF1QixDQUFDO1FBQzFHLEtBQUssQ0FBQyxJQUFJLHNCQUFzQixFQUFFLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7Q0FDRiJ9
|
package/dest/wasm/lazy.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { SimulationProvider } from '@aztec/simulator/client';
|
|
2
2
|
import { BBWASMPrivateKernelProver } from './bb_wasm_private_kernel_prover.js';
|
|
3
3
|
export declare class BBWASMLazyPrivateKernelProver extends BBWASMPrivateKernelProver {
|
|
4
4
|
constructor(simulationProvider: SimulationProvider, threads?: number, log?: import("@aztec/foundation/log").Logger);
|
package/dest/wasm/lazy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/wasm/lazy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/wasm/lazy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,qBAAa,6BAA8B,SAAQ,yBAAyB;gBAC9D,kBAAkB,EAAE,kBAAkB,EAAE,OAAO,SAAI,EAAE,GAAG,yCAAsC;CAG3G"}
|
package/dest/wasm/lazy.js
CHANGED
|
@@ -2,8 +2,7 @@ import { createLogger } from '@aztec/foundation/log';
|
|
|
2
2
|
import { LazyArtifactProvider } from '@aztec/noir-protocol-circuits-types/client/lazy';
|
|
3
3
|
import { BBWASMPrivateKernelProver } from './bb_wasm_private_kernel_prover.js';
|
|
4
4
|
export class BBWASMLazyPrivateKernelProver extends BBWASMPrivateKernelProver {
|
|
5
|
-
constructor(simulationProvider, threads = 1, log = createLogger('bb-prover:wasm:lazy'))
|
|
5
|
+
constructor(simulationProvider, threads = 1, log = createLogger('bb-prover:wasm:lazy')){
|
|
6
6
|
super(new LazyArtifactProvider(), simulationProvider, threads, log);
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93YXNtL2xhenkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBR3ZGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRS9FLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSx5QkFBeUI7SUFDMUUsWUFBWSxrQkFBc0MsRUFBRSxPQUFPLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxZQUFZLENBQUMscUJBQXFCLENBQUM7UUFDeEcsS0FBSyxDQUFDLElBQUksb0JBQW9CLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNGIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/bb-prover",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.77.0-testnet-ignition.21",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src",
|
|
32
32
|
"formatting:fix": "run -T eslint --fix ./src && run -T prettier -w ./src",
|
|
33
33
|
"bb": "node --no-warnings ./dest/bb/index.js",
|
|
34
|
-
"test": "
|
|
34
|
+
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
|
|
35
35
|
},
|
|
36
36
|
"jest": {
|
|
37
37
|
"moduleNameMapper": {
|
|
@@ -61,34 +61,33 @@
|
|
|
61
61
|
"reporters": [
|
|
62
62
|
"default"
|
|
63
63
|
],
|
|
64
|
-
"testTimeout":
|
|
64
|
+
"testTimeout": 120000,
|
|
65
65
|
"setupFiles": [
|
|
66
66
|
"../../foundation/src/jest/setup.mjs"
|
|
67
67
|
]
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"@aztec/bb.js": "0.
|
|
71
|
-
"@aztec/
|
|
72
|
-
"@aztec/
|
|
73
|
-
"@aztec/
|
|
74
|
-
"@aztec/
|
|
75
|
-
"@aztec/
|
|
76
|
-
"@aztec/telemetry-client": "0.
|
|
77
|
-
"@aztec/world-state": "0.
|
|
70
|
+
"@aztec/bb.js": "0.77.0-testnet-ignition.21",
|
|
71
|
+
"@aztec/constants": "0.77.0-testnet-ignition.21",
|
|
72
|
+
"@aztec/foundation": "0.77.0-testnet-ignition.21",
|
|
73
|
+
"@aztec/noir-protocol-circuits-types": "0.77.0-testnet-ignition.21",
|
|
74
|
+
"@aztec/simulator": "0.77.0-testnet-ignition.21",
|
|
75
|
+
"@aztec/stdlib": "0.77.0-testnet-ignition.21",
|
|
76
|
+
"@aztec/telemetry-client": "0.77.0-testnet-ignition.21",
|
|
77
|
+
"@aztec/world-state": "0.77.0-testnet-ignition.21",
|
|
78
78
|
"@msgpack/msgpack": "^3.0.0-beta2",
|
|
79
|
-
"@noir-lang/noirc_abi": "1.0.0-beta.1",
|
|
80
|
-
"@noir-lang/types": "1.0.0-beta.1",
|
|
81
79
|
"commander": "^12.1.0",
|
|
82
80
|
"pako": "^2.1.0",
|
|
83
81
|
"source-map-support": "^0.5.21",
|
|
84
|
-
"tslib": "^2.4.0"
|
|
82
|
+
"tslib": "^2.4.0",
|
|
83
|
+
"@aztec/noir-noirc_abi": "0.77.0-testnet-ignition.21",
|
|
84
|
+
"@aztec/noir-types": "0.77.0-testnet-ignition.21"
|
|
85
85
|
},
|
|
86
86
|
"devDependencies": {
|
|
87
|
-
"@aztec/ethereum": "
|
|
88
|
-
"@aztec/kv-store": "
|
|
89
|
-
"@aztec/noir-contracts.js": "
|
|
90
|
-
"@aztec/protocol-contracts": "
|
|
91
|
-
"@aztec/types": "workspace:^",
|
|
87
|
+
"@aztec/ethereum": "0.77.0-testnet-ignition.21",
|
|
88
|
+
"@aztec/kv-store": "0.77.0-testnet-ignition.21",
|
|
89
|
+
"@aztec/noir-contracts.js": "0.77.0-testnet-ignition.21",
|
|
90
|
+
"@aztec/protocol-contracts": "0.77.0-testnet-ignition.21",
|
|
92
91
|
"@jest/globals": "^29.5.0",
|
|
93
92
|
"@types/jest": "^29.5.0",
|
|
94
93
|
"@types/memdown": "^3.0.0",
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import { type MerkleTreeWriteOperations } from '@aztec/circuit-types';
|
|
2
|
-
import { type AvmCircuitInputs, AztecAddress, VerificationKeyData } from '@aztec/circuits.js';
|
|
3
1
|
import { PublicTxSimulationTester, type TestEnqueuedCall } from '@aztec/simulator/public/fixtures';
|
|
4
|
-
import { WorldStateDB } from '@aztec/simulator/server';
|
|
2
|
+
import { SimpleContractDataSource, WorldStateDB } from '@aztec/simulator/server';
|
|
3
|
+
import type { AvmCircuitInputs } from '@aztec/stdlib/avm';
|
|
4
|
+
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
|
+
import type { MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
|
|
6
|
+
import { makeAvmCircuitInputs } from '@aztec/stdlib/testing';
|
|
7
|
+
import { VerificationKeyData } from '@aztec/stdlib/vks';
|
|
5
8
|
import { NativeWorldStateService } from '@aztec/world-state';
|
|
6
9
|
|
|
7
10
|
import fs from 'node:fs/promises';
|
|
8
11
|
import { tmpdir } from 'node:os';
|
|
9
12
|
import path from 'path';
|
|
10
13
|
|
|
11
|
-
import { SimpleContractDataSource } from '../../../simulator/src/avm/fixtures/simple_contract_data_source.js';
|
|
12
14
|
import {
|
|
13
15
|
type BBResult,
|
|
14
16
|
type BBSuccess,
|
|
@@ -29,25 +31,17 @@ export class AvmProvingTester extends PublicTxSimulationTester {
|
|
|
29
31
|
worldStateDB: WorldStateDB,
|
|
30
32
|
contractDataSource: SimpleContractDataSource,
|
|
31
33
|
merkleTrees: MerkleTreeWriteOperations,
|
|
32
|
-
skipContractDeployments: boolean,
|
|
33
34
|
) {
|
|
34
|
-
super(worldStateDB, contractDataSource, merkleTrees
|
|
35
|
+
super(worldStateDB, contractDataSource, merkleTrees);
|
|
35
36
|
}
|
|
36
37
|
|
|
37
|
-
static override async create(checkCircuitOnly: boolean = false
|
|
38
|
+
static override async create(checkCircuitOnly: boolean = false) {
|
|
38
39
|
const bbWorkingDirectory = await fs.mkdtemp(path.join(tmpdir(), 'bb-'));
|
|
39
40
|
|
|
40
41
|
const contractDataSource = new SimpleContractDataSource();
|
|
41
42
|
const merkleTrees = await (await NativeWorldStateService.tmp()).fork();
|
|
42
43
|
const worldStateDB = new WorldStateDB(merkleTrees, contractDataSource);
|
|
43
|
-
return new AvmProvingTester(
|
|
44
|
-
bbWorkingDirectory,
|
|
45
|
-
checkCircuitOnly,
|
|
46
|
-
worldStateDB,
|
|
47
|
-
contractDataSource,
|
|
48
|
-
merkleTrees,
|
|
49
|
-
skipContractDeployments,
|
|
50
|
-
);
|
|
44
|
+
return new AvmProvingTester(bbWorkingDirectory, checkCircuitOnly, worldStateDB, contractDataSource, merkleTrees);
|
|
51
45
|
}
|
|
52
46
|
|
|
53
47
|
async prove(avmCircuitInputs: AvmCircuitInputs): Promise<BBResult> {
|
|
@@ -87,7 +81,7 @@ export class AvmProvingTester extends PublicTxSimulationTester {
|
|
|
87
81
|
appCalls: TestEnqueuedCall[],
|
|
88
82
|
teardownCall: TestEnqueuedCall | undefined,
|
|
89
83
|
expectRevert: boolean | undefined,
|
|
90
|
-
feePayer
|
|
84
|
+
feePayer = sender,
|
|
91
85
|
) {
|
|
92
86
|
const simRes = await this.simulateTx(sender, setupCalls, appCalls, teardownCall, feePayer);
|
|
93
87
|
expect(simRes.revertCode.isOK()).toBe(expectRevert ? false : true);
|
|
@@ -117,24 +111,17 @@ export class AvmProvingTesterV2 extends PublicTxSimulationTester {
|
|
|
117
111
|
worldStateDB: WorldStateDB,
|
|
118
112
|
contractDataSource: SimpleContractDataSource,
|
|
119
113
|
merkleTrees: MerkleTreeWriteOperations,
|
|
120
|
-
skipContractDeployments: boolean,
|
|
121
114
|
) {
|
|
122
|
-
super(worldStateDB, contractDataSource, merkleTrees
|
|
115
|
+
super(worldStateDB, contractDataSource, merkleTrees);
|
|
123
116
|
}
|
|
124
117
|
|
|
125
|
-
static override async create(
|
|
118
|
+
static override async create() {
|
|
126
119
|
const bbWorkingDirectory = await fs.mkdtemp(path.join(tmpdir(), 'bb-'));
|
|
127
120
|
|
|
128
121
|
const contractDataSource = new SimpleContractDataSource();
|
|
129
122
|
const merkleTrees = await (await NativeWorldStateService.tmp()).fork();
|
|
130
123
|
const worldStateDB = new WorldStateDB(merkleTrees, contractDataSource);
|
|
131
|
-
return new AvmProvingTesterV2(
|
|
132
|
-
bbWorkingDirectory,
|
|
133
|
-
worldStateDB,
|
|
134
|
-
contractDataSource,
|
|
135
|
-
merkleTrees,
|
|
136
|
-
skipContractDeployments,
|
|
137
|
-
);
|
|
124
|
+
return new AvmProvingTesterV2(bbWorkingDirectory, worldStateDB, contractDataSource, merkleTrees);
|
|
138
125
|
}
|
|
139
126
|
|
|
140
127
|
async proveV2(avmCircuitInputs: AvmCircuitInputs): Promise<BBResult> {
|
|
@@ -148,18 +135,15 @@ export class AvmProvingTesterV2 extends PublicTxSimulationTester {
|
|
|
148
135
|
}
|
|
149
136
|
|
|
150
137
|
async verifyV2(proofRes: BBSuccess): Promise<BBResult> {
|
|
151
|
-
//
|
|
152
|
-
|
|
153
|
-
const publicInputs = {
|
|
154
|
-
dummy: [] as any[],
|
|
155
|
-
};
|
|
138
|
+
// TODO: Placeholder for now. They get ignored in C++.
|
|
139
|
+
const inputs = await makeAvmCircuitInputs();
|
|
156
140
|
|
|
157
141
|
const rawVkPath = path.join(proofRes.vkPath!, 'vk');
|
|
158
142
|
return await verifyAvmProofV2(
|
|
159
143
|
BB_PATH,
|
|
160
144
|
this.bbWorkingDirectory,
|
|
161
145
|
proofRes.proofPath!,
|
|
162
|
-
publicInputs,
|
|
146
|
+
inputs.publicInputs,
|
|
163
147
|
rawVkPath,
|
|
164
148
|
this.logger,
|
|
165
149
|
);
|
|
@@ -171,7 +155,7 @@ export class AvmProvingTesterV2 extends PublicTxSimulationTester {
|
|
|
171
155
|
appCalls: TestEnqueuedCall[],
|
|
172
156
|
teardownCall: TestEnqueuedCall | undefined,
|
|
173
157
|
expectRevert: boolean | undefined,
|
|
174
|
-
feePayer
|
|
158
|
+
feePayer = sender,
|
|
175
159
|
) {
|
|
176
160
|
const simRes = await this.simulateTx(sender, setupCalls, appCalls, teardownCall, feePayer);
|
|
177
161
|
expect(simRes.revertCode.isOK()).toBe(expectRevert ? false : true);
|
package/src/bb/cli.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { LogFn } from '@aztec/foundation/log';
|
|
2
2
|
import { ClientCircuitArtifacts } from '@aztec/noir-protocol-circuits-types/client/bundle';
|
|
3
3
|
import { ServerCircuitArtifacts } from '@aztec/noir-protocol-circuits-types/server';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import type { ProtocolArtifact } from '@aztec/noir-protocol-circuits-types/types';
|
|
5
|
+
import type { NoirCompiledCircuit } from '@aztec/stdlib/noir';
|
|
6
6
|
|
|
7
7
|
import { Command } from 'commander';
|
|
8
8
|
|