@aztec/bb.js 2.0.0-nightly.20250902 → 3.0.0-canary.a9708bd
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/browser/barretenberg/backend.d.ts +12 -1
- package/dest/browser/barretenberg/backend.d.ts.map +1 -1
- package/dest/browser/barretenberg/backend.js +57 -15
- package/dest/browser/barretenberg/index.d.ts +1 -2
- package/dest/browser/barretenberg/index.d.ts.map +1 -1
- package/dest/browser/barretenberg/index.js +2 -3
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
- package/dest/browser/cbind/generated/api_types.d.ts +4 -0
- package/dest/browser/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/browser/cbind/generated/api_types.js +9 -1
- package/dest/browser/index.d.ts +1 -1
- package/dest/browser/index.d.ts.map +1 -1
- package/dest/browser/index.js +2 -2
- package/dest/node/barretenberg/backend.d.ts +12 -1
- package/dest/node/barretenberg/backend.d.ts.map +1 -1
- package/dest/node/barretenberg/backend.js +57 -15
- package/dest/node/barretenberg/index.d.ts +1 -2
- package/dest/node/barretenberg/index.d.ts.map +1 -1
- package/dest/node/barretenberg/index.js +2 -3
- package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node/cbind/generated/api_types.d.ts +4 -0
- package/dest/node/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/node/cbind/generated/api_types.js +9 -1
- package/dest/node/index.d.ts +1 -1
- package/dest/node/index.d.ts.map +1 -1
- package/dest/node/index.js +2 -2
- package/dest/node-cjs/barretenberg/backend.d.ts +12 -1
- package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/backend.js +59 -16
- package/dest/node-cjs/barretenberg/index.d.ts +1 -2
- package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/index.js +3 -4
- package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node-cjs/cbind/generated/api_types.d.ts +4 -0
- package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/api_types.js +9 -1
- package/dest/node-cjs/index.d.ts +1 -1
- package/dest/node-cjs/index.d.ts.map +1 -1
- package/dest/node-cjs/index.js +3 -3
- package/package.json +1 -1
- package/src/barretenberg/backend.ts +66 -19
- package/src/barretenberg/index.ts +2 -5
- package/src/index.ts +1 -1
- package/dest/browser/barretenberg/verifier.d.ts +0 -14
- package/dest/browser/barretenberg/verifier.d.ts.map +0 -1
- package/dest/browser/barretenberg/verifier.js +0 -30
- package/dest/node/barretenberg/verifier.d.ts +0 -14
- package/dest/node/barretenberg/verifier.d.ts.map +0 -1
- package/dest/node/barretenberg/verifier.js +0 -30
- package/dest/node-cjs/barretenberg/verifier.d.ts +0 -14
- package/dest/node-cjs/barretenberg/verifier.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg/verifier.js +0 -34
- package/src/barretenberg/verifier.ts +0 -43
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Barretenberg } from './index.js';
|
|
2
|
-
import { RawBuffer } from '../types/raw_buffer.js';
|
|
3
|
-
import { flattenFieldsAsArray, reconstructHonkProof } from '../proof/index.js';
|
|
4
|
-
// TODO: once UP is removed we can just roll this into the bas `Barretenberg` class.
|
|
5
|
-
export class BarretenbergVerifier {
|
|
6
|
-
constructor(options = { threads: 1 }) {
|
|
7
|
-
this.options = options;
|
|
8
|
-
}
|
|
9
|
-
/** @ignore */
|
|
10
|
-
async instantiate() {
|
|
11
|
-
if (!this.api) {
|
|
12
|
-
const api = await Barretenberg.new(this.options);
|
|
13
|
-
await api.initSRSForCircuitSize(0);
|
|
14
|
-
this.api = api;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
/** @description Verifies a proof */
|
|
18
|
-
async verifyUltraHonkProof(proofData, verificationKey) {
|
|
19
|
-
await this.instantiate();
|
|
20
|
-
const proof = reconstructHonkProof(flattenFieldsAsArray(proofData.publicInputs), proofData.proof);
|
|
21
|
-
return await this.api.acirVerifyUltraZKHonk(proof, new RawBuffer(verificationKey));
|
|
22
|
-
}
|
|
23
|
-
async destroy() {
|
|
24
|
-
if (!this.api) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
await this.api.destroy();
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnL3ZlcmlmaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQWEsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUxRixvRkFBb0Y7QUFFcEYsTUFBTSxPQUFPLG9CQUFvQjtJQVUvQixZQUFvQixVQUEwQixFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7UUFBeEMsWUFBTyxHQUFQLE9BQU8sQ0FBaUM7SUFBRyxDQUFDO0lBRWhFLGNBQWM7SUFDZCxLQUFLLENBQUMsV0FBVztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDZCxNQUFNLEdBQUcsR0FBRyxNQUFNLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pELE1BQU0sR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRW5DLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0lBRUQsb0NBQW9DO0lBQ3BDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxTQUFvQixFQUFFLGVBQTJCO1FBQzFFLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXpCLE1BQU0sS0FBSyxHQUFHLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEcsT0FBTyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLElBQUksU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNkLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDRiJ9
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { BackendOptions } from './index.js';
|
|
2
|
-
import { ProofData } from '../proof/index.js';
|
|
3
|
-
export declare class BarretenbergVerifier {
|
|
4
|
-
private options;
|
|
5
|
-
private api;
|
|
6
|
-
private acirComposer;
|
|
7
|
-
constructor(options?: BackendOptions);
|
|
8
|
-
/** @ignore */
|
|
9
|
-
instantiate(): Promise<void>;
|
|
10
|
-
/** @description Verifies a proof */
|
|
11
|
-
verifyUltraHonkProof(proofData: ProofData, verificationKey: Uint8Array): Promise<boolean>;
|
|
12
|
-
destroy(): Promise<void>;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=verifier.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verifier.d.ts","sourceRoot":"","sources":["../../../src/barretenberg/verifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgB,MAAM,YAAY,CAAC;AAE1D,OAAO,EAAwB,SAAS,EAAwB,MAAM,mBAAmB,CAAC;AAI1F,qBAAa,oBAAoB;IAUnB,OAAO,CAAC,OAAO;IAJ3B,OAAO,CAAC,GAAG,CAAgB;IAE3B,OAAO,CAAC,YAAY,CAAM;gBAEN,OAAO,GAAE,cAA+B;IAE5D,cAAc;IACR,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IASlC,oCAAoC;IAC9B,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAOzF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Barretenberg } from './index.js';
|
|
2
|
-
import { RawBuffer } from '../types/raw_buffer.js';
|
|
3
|
-
import { flattenFieldsAsArray, reconstructHonkProof } from '../proof/index.js';
|
|
4
|
-
// TODO: once UP is removed we can just roll this into the bas `Barretenberg` class.
|
|
5
|
-
export class BarretenbergVerifier {
|
|
6
|
-
constructor(options = { threads: 1 }) {
|
|
7
|
-
this.options = options;
|
|
8
|
-
}
|
|
9
|
-
/** @ignore */
|
|
10
|
-
async instantiate() {
|
|
11
|
-
if (!this.api) {
|
|
12
|
-
const api = await Barretenberg.new(this.options);
|
|
13
|
-
await api.initSRSForCircuitSize(0);
|
|
14
|
-
this.api = api;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
/** @description Verifies a proof */
|
|
18
|
-
async verifyUltraHonkProof(proofData, verificationKey) {
|
|
19
|
-
await this.instantiate();
|
|
20
|
-
const proof = reconstructHonkProof(flattenFieldsAsArray(proofData.publicInputs), proofData.proof);
|
|
21
|
-
return await this.api.acirVerifyUltraZKHonk(proof, new RawBuffer(verificationKey));
|
|
22
|
-
}
|
|
23
|
-
async destroy() {
|
|
24
|
-
if (!this.api) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
await this.api.destroy();
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnL3ZlcmlmaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQWEsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUxRixvRkFBb0Y7QUFFcEYsTUFBTSxPQUFPLG9CQUFvQjtJQVUvQixZQUFvQixVQUEwQixFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7UUFBeEMsWUFBTyxHQUFQLE9BQU8sQ0FBaUM7SUFBRyxDQUFDO0lBRWhFLGNBQWM7SUFDZCxLQUFLLENBQUMsV0FBVztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDZCxNQUFNLEdBQUcsR0FBRyxNQUFNLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pELE1BQU0sR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRW5DLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0lBRUQsb0NBQW9DO0lBQ3BDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxTQUFvQixFQUFFLGVBQTJCO1FBQzFFLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXpCLE1BQU0sS0FBSyxHQUFHLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEcsT0FBTyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLElBQUksU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNkLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDRiJ9
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { BackendOptions } from './index.js';
|
|
2
|
-
import { ProofData } from '../proof/index.js';
|
|
3
|
-
export declare class BarretenbergVerifier {
|
|
4
|
-
private options;
|
|
5
|
-
private api;
|
|
6
|
-
private acirComposer;
|
|
7
|
-
constructor(options?: BackendOptions);
|
|
8
|
-
/** @ignore */
|
|
9
|
-
instantiate(): Promise<void>;
|
|
10
|
-
/** @description Verifies a proof */
|
|
11
|
-
verifyUltraHonkProof(proofData: ProofData, verificationKey: Uint8Array): Promise<boolean>;
|
|
12
|
-
destroy(): Promise<void>;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=verifier.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verifier.d.ts","sourceRoot":"","sources":["../../../src/barretenberg/verifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgB,MAAM,YAAY,CAAC;AAE1D,OAAO,EAAwB,SAAS,EAAwB,MAAM,mBAAmB,CAAC;AAI1F,qBAAa,oBAAoB;IAUnB,OAAO,CAAC,OAAO;IAJ3B,OAAO,CAAC,GAAG,CAAgB;IAE3B,OAAO,CAAC,YAAY,CAAM;gBAEN,OAAO,GAAE,cAA+B;IAE5D,cAAc;IACR,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IASlC,oCAAoC;IAC9B,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAOzF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BarretenbergVerifier = void 0;
|
|
4
|
-
const index_js_1 = require("./index.js");
|
|
5
|
-
const raw_buffer_js_1 = require("../types/raw_buffer.js");
|
|
6
|
-
const index_js_2 = require("../proof/index.js");
|
|
7
|
-
// TODO: once UP is removed we can just roll this into the bas `Barretenberg` class.
|
|
8
|
-
class BarretenbergVerifier {
|
|
9
|
-
constructor(options = { threads: 1 }) {
|
|
10
|
-
this.options = options;
|
|
11
|
-
}
|
|
12
|
-
/** @ignore */
|
|
13
|
-
async instantiate() {
|
|
14
|
-
if (!this.api) {
|
|
15
|
-
const api = await index_js_1.Barretenberg.new(this.options);
|
|
16
|
-
await api.initSRSForCircuitSize(0);
|
|
17
|
-
this.api = api;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
/** @description Verifies a proof */
|
|
21
|
-
async verifyUltraHonkProof(proofData, verificationKey) {
|
|
22
|
-
await this.instantiate();
|
|
23
|
-
const proof = (0, index_js_2.reconstructHonkProof)((0, index_js_2.flattenFieldsAsArray)(proofData.publicInputs), proofData.proof);
|
|
24
|
-
return await this.api.acirVerifyUltraZKHonk(proof, new raw_buffer_js_1.RawBuffer(verificationKey));
|
|
25
|
-
}
|
|
26
|
-
async destroy() {
|
|
27
|
-
if (!this.api) {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
await this.api.destroy();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
exports.BarretenbergVerifier = BarretenbergVerifier;
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnL3ZlcmlmaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUEwRDtBQUMxRCwwREFBbUQ7QUFDbkQsZ0RBQTBGO0FBRTFGLG9GQUFvRjtBQUVwRixNQUFhLG9CQUFvQjtJQVUvQixZQUFvQixVQUEwQixFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7UUFBeEMsWUFBTyxHQUFQLE9BQU8sQ0FBaUM7SUFBRyxDQUFDO0lBRWhFLGNBQWM7SUFDZCxLQUFLLENBQUMsV0FBVztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDZCxNQUFNLEdBQUcsR0FBRyxNQUFNLHVCQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqRCxNQUFNLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVuQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztJQUVELG9DQUFvQztJQUNwQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsU0FBb0IsRUFBRSxlQUEyQjtRQUMxRSxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUV6QixNQUFNLEtBQUssR0FBRyxJQUFBLCtCQUFvQixFQUFDLElBQUEsK0JBQW9CLEVBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRyxPQUFPLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSx5QkFBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNkLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDRjtBQXBDRCxvREFvQ0MifQ==
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { BackendOptions, Barretenberg } from './index.js';
|
|
2
|
-
import { RawBuffer } from '../types/raw_buffer.js';
|
|
3
|
-
import { flattenFieldsAsArray, ProofData, reconstructHonkProof } from '../proof/index.js';
|
|
4
|
-
|
|
5
|
-
// TODO: once UP is removed we can just roll this into the bas `Barretenberg` class.
|
|
6
|
-
|
|
7
|
-
export class BarretenbergVerifier {
|
|
8
|
-
// These type assertions are used so that we don't
|
|
9
|
-
// have to initialize `api` and `acirComposer` in the constructor.
|
|
10
|
-
// These are initialized asynchronously in the `init` function,
|
|
11
|
-
// constructors cannot be asynchronous which is why we do this.
|
|
12
|
-
|
|
13
|
-
private api!: Barretenberg;
|
|
14
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
15
|
-
private acirComposer: any;
|
|
16
|
-
|
|
17
|
-
constructor(private options: BackendOptions = { threads: 1 }) {}
|
|
18
|
-
|
|
19
|
-
/** @ignore */
|
|
20
|
-
async instantiate(): Promise<void> {
|
|
21
|
-
if (!this.api) {
|
|
22
|
-
const api = await Barretenberg.new(this.options);
|
|
23
|
-
await api.initSRSForCircuitSize(0);
|
|
24
|
-
|
|
25
|
-
this.api = api;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/** @description Verifies a proof */
|
|
30
|
-
async verifyUltraHonkProof(proofData: ProofData, verificationKey: Uint8Array): Promise<boolean> {
|
|
31
|
-
await this.instantiate();
|
|
32
|
-
|
|
33
|
-
const proof = reconstructHonkProof(flattenFieldsAsArray(proofData.publicInputs), proofData.proof);
|
|
34
|
-
return await this.api.acirVerifyUltraZKHonk(proof, new RawBuffer(verificationKey));
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
async destroy(): Promise<void> {
|
|
38
|
-
if (!this.api) {
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
await this.api.destroy();
|
|
42
|
-
}
|
|
43
|
-
}
|