@aztec/bb.js 0.86.0 → 0.87.0-nightly.20250521
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-threads.js +1 -1
- package/dest/browser/barretenberg.js +1 -1
- package/dest/browser/index.js +179 -345
- package/dest/browser/main.worker.js +116 -116
- package/dest/browser/thread.worker.js +116 -116
- package/dest/node/barretenberg/backend.d.ts +5 -40
- package/dest/node/barretenberg/backend.d.ts.map +1 -1
- package/dest/node/barretenberg/backend.js +28 -108
- package/dest/node/barretenberg/index.d.ts +1 -1
- package/dest/node/barretenberg/index.d.ts.map +1 -1
- package/dest/node/barretenberg/index.js +6 -6
- package/dest/node/barretenberg/verifier.d.ts +0 -2
- package/dest/node/barretenberg/verifier.d.ts.map +1 -1
- package/dest/node/barretenberg/verifier.js +2 -12
- package/dest/node/barretenberg_api/index.d.ts +7 -11
- package/dest/node/barretenberg_api/index.d.ts.map +1 -1
- package/dest/node/barretenberg_api/index.js +46 -74
- package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node/bigint-array/index.d.ts +1 -0
- package/dest/node/bigint-array/index.d.ts.map +1 -1
- package/dest/node/bindgen/mappings.js +2 -2
- package/dest/node/bindgen/typescript.js +1 -1
- package/dest/node/crs/net_crs.d.ts.map +1 -1
- package/dest/node/crs/net_crs.js +6 -7
- package/dest/node/crs/node/index.js +4 -4
- 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/main.d.ts +0 -8
- package/dest/node/main.d.ts.map +1 -1
- package/dest/node/main.js +38 -244
- package/dest/node/proof/index.d.ts +1 -2
- package/dest/node/proof/index.d.ts.map +1 -1
- package/dest/node/proof/index.js +2 -9
- package/dest/node/serialize/buffer_reader.d.ts.map +1 -1
- package/dest/node/serialize/buffer_reader.js +1 -1
- package/dest/node/types/fields.d.ts +1 -0
- package/dest/node/types/fields.d.ts.map +1 -1
- package/dest/node/types/fields.js +1 -1
- package/dest/node/types/point.d.ts +1 -0
- package/dest/node/types/point.d.ts.map +1 -1
- package/dest/node/types/point.js +1 -1
- package/dest/node-cjs/barretenberg/backend.d.ts +5 -40
- package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/backend.js +28 -109
- package/dest/node-cjs/barretenberg/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/index.js +6 -7
- package/dest/node-cjs/barretenberg/verifier.d.ts +0 -2
- package/dest/node-cjs/barretenberg/verifier.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/verifier.js +1 -11
- package/dest/node-cjs/barretenberg_api/index.d.ts +7 -11
- package/dest/node-cjs/barretenberg_api/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_api/index.js +45 -73
- package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node-cjs/bigint-array/index.d.ts +1 -0
- package/dest/node-cjs/bigint-array/index.d.ts.map +1 -1
- package/dest/node-cjs/bindgen/mappings.js +2 -2
- package/dest/node-cjs/bindgen/typescript.js +1 -1
- package/dest/node-cjs/crs/net_crs.d.ts.map +1 -1
- package/dest/node-cjs/crs/net_crs.js +6 -7
- package/dest/node-cjs/crs/node/index.js +4 -4
- 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 +2 -3
- package/dest/node-cjs/main.d.ts +0 -8
- package/dest/node-cjs/main.d.ts.map +1 -1
- package/dest/node-cjs/main.js +39 -253
- package/dest/node-cjs/proof/index.d.ts +1 -2
- package/dest/node-cjs/proof/index.d.ts.map +1 -1
- package/dest/node-cjs/proof/index.js +3 -11
- package/dest/node-cjs/serialize/buffer_reader.d.ts.map +1 -1
- package/dest/node-cjs/serialize/buffer_reader.js +1 -1
- package/dest/node-cjs/types/fields.d.ts +1 -0
- package/dest/node-cjs/types/fields.d.ts.map +1 -1
- package/dest/node-cjs/types/fields.js +1 -1
- package/dest/node-cjs/types/point.d.ts +1 -0
- package/dest/node-cjs/types/point.d.ts.map +1 -1
- package/dest/node-cjs/types/point.js +1 -1
- package/package.json +7 -8
- package/src/barretenberg/backend.ts +41 -159
- package/src/barretenberg/index.ts +10 -6
- package/src/barretenberg/verifier.ts +1 -13
- package/src/barretenberg_api/index.ts +74 -130
- package/src/bindgen/mappings.ts +1 -1
- package/src/bindgen/typescript.ts +4 -4
- package/src/crs/net_crs.ts +5 -6
- package/src/crs/node/index.ts +3 -3
- package/src/index.html +1 -1
- package/src/index.ts +0 -1
- package/src/main.ts +44 -279
- package/src/proof/index.ts +1 -13
- package/src/serialize/buffer_reader.ts +4 -1
- package/src/types/fields.ts +2 -2
- package/src/types/point.ts +4 -1
- package/dest/browser/733.655674bbbb79bdf168c4.js +0 -7
- package/dest/node/crs/node/ignition_files_crs.d.ts +0 -38
- package/dest/node/crs/node/ignition_files_crs.d.ts.map +0 -1
- package/dest/node/crs/node/ignition_files_crs.js +0 -65
- package/dest/node/examples/simple.rawtest.d.ts +0 -2
- package/dest/node/examples/simple.rawtest.d.ts.map +0 -1
- package/dest/node/examples/simple.rawtest.js +0 -30
- package/dest/node/examples/simple.test.d.ts +0 -2
- package/dest/node/examples/simple.test.d.ts.map +0 -1
- package/dest/node/examples/simple.test.js +0 -23
- package/dest/node-cjs/crs/node/ignition_files_crs.d.ts +0 -38
- package/dest/node-cjs/crs/node/ignition_files_crs.d.ts.map +0 -1
- package/dest/node-cjs/crs/node/ignition_files_crs.js +0 -69
- package/dest/node-cjs/examples/simple.rawtest.d.ts +0 -2
- package/dest/node-cjs/examples/simple.rawtest.d.ts.map +0 -1
- package/dest/node-cjs/examples/simple.rawtest.js +0 -33
- package/dest/node-cjs/examples/simple.test.d.ts +0 -2
- package/dest/node-cjs/examples/simple.test.d.ts.map +0 -1
- package/dest/node-cjs/examples/simple.test.js +0 -25
- package/src/crs/node/ignition_files_crs.ts +0 -74
- package/src/examples/simple.rawtest.ts +0 -38
- package/src/examples/simple.test.ts +0 -28
package/dest/browser/index.js
CHANGED
|
@@ -1,5 +1,120 @@
|
|
|
1
1
|
/*! For license information please see index.js.LICENSE.txt */
|
|
2
2
|
var __webpack_modules__ = {
|
|
3
|
+
0: module => {
|
|
4
|
+
var s = 1e3;
|
|
5
|
+
var m = s * 60;
|
|
6
|
+
var h = m * 60;
|
|
7
|
+
var d = h * 24;
|
|
8
|
+
var w = d * 7;
|
|
9
|
+
var y = d * 365.25;
|
|
10
|
+
module.exports = function(val, options) {
|
|
11
|
+
options = options || {};
|
|
12
|
+
var type = typeof val;
|
|
13
|
+
if (type === "string" && val.length > 0) {
|
|
14
|
+
return parse(val);
|
|
15
|
+
} else if (type === "number" && isFinite(val)) {
|
|
16
|
+
return options.long ? fmtLong(val) : fmtShort(val);
|
|
17
|
+
}
|
|
18
|
+
throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(val));
|
|
19
|
+
};
|
|
20
|
+
function parse(str) {
|
|
21
|
+
str = String(str);
|
|
22
|
+
if (str.length > 100) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);
|
|
26
|
+
if (!match) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
var n = parseFloat(match[1]);
|
|
30
|
+
var type = (match[2] || "ms").toLowerCase();
|
|
31
|
+
switch (type) {
|
|
32
|
+
case "years":
|
|
33
|
+
case "year":
|
|
34
|
+
case "yrs":
|
|
35
|
+
case "yr":
|
|
36
|
+
case "y":
|
|
37
|
+
return n * y;
|
|
38
|
+
|
|
39
|
+
case "weeks":
|
|
40
|
+
case "week":
|
|
41
|
+
case "w":
|
|
42
|
+
return n * w;
|
|
43
|
+
|
|
44
|
+
case "days":
|
|
45
|
+
case "day":
|
|
46
|
+
case "d":
|
|
47
|
+
return n * d;
|
|
48
|
+
|
|
49
|
+
case "hours":
|
|
50
|
+
case "hour":
|
|
51
|
+
case "hrs":
|
|
52
|
+
case "hr":
|
|
53
|
+
case "h":
|
|
54
|
+
return n * h;
|
|
55
|
+
|
|
56
|
+
case "minutes":
|
|
57
|
+
case "minute":
|
|
58
|
+
case "mins":
|
|
59
|
+
case "min":
|
|
60
|
+
case "m":
|
|
61
|
+
return n * m;
|
|
62
|
+
|
|
63
|
+
case "seconds":
|
|
64
|
+
case "second":
|
|
65
|
+
case "secs":
|
|
66
|
+
case "sec":
|
|
67
|
+
case "s":
|
|
68
|
+
return n * s;
|
|
69
|
+
|
|
70
|
+
case "milliseconds":
|
|
71
|
+
case "millisecond":
|
|
72
|
+
case "msecs":
|
|
73
|
+
case "msec":
|
|
74
|
+
case "ms":
|
|
75
|
+
return n;
|
|
76
|
+
|
|
77
|
+
default:
|
|
78
|
+
return undefined;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
function fmtShort(ms) {
|
|
82
|
+
var msAbs = Math.abs(ms);
|
|
83
|
+
if (msAbs >= d) {
|
|
84
|
+
return Math.round(ms / d) + "d";
|
|
85
|
+
}
|
|
86
|
+
if (msAbs >= h) {
|
|
87
|
+
return Math.round(ms / h) + "h";
|
|
88
|
+
}
|
|
89
|
+
if (msAbs >= m) {
|
|
90
|
+
return Math.round(ms / m) + "m";
|
|
91
|
+
}
|
|
92
|
+
if (msAbs >= s) {
|
|
93
|
+
return Math.round(ms / s) + "s";
|
|
94
|
+
}
|
|
95
|
+
return ms + "ms";
|
|
96
|
+
}
|
|
97
|
+
function fmtLong(ms) {
|
|
98
|
+
var msAbs = Math.abs(ms);
|
|
99
|
+
if (msAbs >= d) {
|
|
100
|
+
return plural(ms, msAbs, d, "day");
|
|
101
|
+
}
|
|
102
|
+
if (msAbs >= h) {
|
|
103
|
+
return plural(ms, msAbs, h, "hour");
|
|
104
|
+
}
|
|
105
|
+
if (msAbs >= m) {
|
|
106
|
+
return plural(ms, msAbs, m, "minute");
|
|
107
|
+
}
|
|
108
|
+
if (msAbs >= s) {
|
|
109
|
+
return plural(ms, msAbs, s, "second");
|
|
110
|
+
}
|
|
111
|
+
return ms + " ms";
|
|
112
|
+
}
|
|
113
|
+
function plural(ms, msAbs, n, name) {
|
|
114
|
+
var isPlural = msAbs >= n * 1.5;
|
|
115
|
+
return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
|
|
116
|
+
}
|
|
117
|
+
},
|
|
3
118
|
19: (module, exports) => {
|
|
4
119
|
Object.defineProperty(exports, "__esModule", {
|
|
5
120
|
value: true
|
|
@@ -1966,121 +2081,7 @@ var __webpack_modules__ = {
|
|
|
1966
2081
|
return parts.join("");
|
|
1967
2082
|
}
|
|
1968
2083
|
},
|
|
1969
|
-
|
|
1970
|
-
var s = 1e3;
|
|
1971
|
-
var m = s * 60;
|
|
1972
|
-
var h = m * 60;
|
|
1973
|
-
var d = h * 24;
|
|
1974
|
-
var w = d * 7;
|
|
1975
|
-
var y = d * 365.25;
|
|
1976
|
-
module.exports = function(val, options) {
|
|
1977
|
-
options = options || {};
|
|
1978
|
-
var type = typeof val;
|
|
1979
|
-
if (type === "string" && val.length > 0) {
|
|
1980
|
-
return parse(val);
|
|
1981
|
-
} else if (type === "number" && isFinite(val)) {
|
|
1982
|
-
return options.long ? fmtLong(val) : fmtShort(val);
|
|
1983
|
-
}
|
|
1984
|
-
throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(val));
|
|
1985
|
-
};
|
|
1986
|
-
function parse(str) {
|
|
1987
|
-
str = String(str);
|
|
1988
|
-
if (str.length > 100) {
|
|
1989
|
-
return;
|
|
1990
|
-
}
|
|
1991
|
-
var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);
|
|
1992
|
-
if (!match) {
|
|
1993
|
-
return;
|
|
1994
|
-
}
|
|
1995
|
-
var n = parseFloat(match[1]);
|
|
1996
|
-
var type = (match[2] || "ms").toLowerCase();
|
|
1997
|
-
switch (type) {
|
|
1998
|
-
case "years":
|
|
1999
|
-
case "year":
|
|
2000
|
-
case "yrs":
|
|
2001
|
-
case "yr":
|
|
2002
|
-
case "y":
|
|
2003
|
-
return n * y;
|
|
2004
|
-
|
|
2005
|
-
case "weeks":
|
|
2006
|
-
case "week":
|
|
2007
|
-
case "w":
|
|
2008
|
-
return n * w;
|
|
2009
|
-
|
|
2010
|
-
case "days":
|
|
2011
|
-
case "day":
|
|
2012
|
-
case "d":
|
|
2013
|
-
return n * d;
|
|
2014
|
-
|
|
2015
|
-
case "hours":
|
|
2016
|
-
case "hour":
|
|
2017
|
-
case "hrs":
|
|
2018
|
-
case "hr":
|
|
2019
|
-
case "h":
|
|
2020
|
-
return n * h;
|
|
2021
|
-
|
|
2022
|
-
case "minutes":
|
|
2023
|
-
case "minute":
|
|
2024
|
-
case "mins":
|
|
2025
|
-
case "min":
|
|
2026
|
-
case "m":
|
|
2027
|
-
return n * m;
|
|
2028
|
-
|
|
2029
|
-
case "seconds":
|
|
2030
|
-
case "second":
|
|
2031
|
-
case "secs":
|
|
2032
|
-
case "sec":
|
|
2033
|
-
case "s":
|
|
2034
|
-
return n * s;
|
|
2035
|
-
|
|
2036
|
-
case "milliseconds":
|
|
2037
|
-
case "millisecond":
|
|
2038
|
-
case "msecs":
|
|
2039
|
-
case "msec":
|
|
2040
|
-
case "ms":
|
|
2041
|
-
return n;
|
|
2042
|
-
|
|
2043
|
-
default:
|
|
2044
|
-
return undefined;
|
|
2045
|
-
}
|
|
2046
|
-
}
|
|
2047
|
-
function fmtShort(ms) {
|
|
2048
|
-
var msAbs = Math.abs(ms);
|
|
2049
|
-
if (msAbs >= d) {
|
|
2050
|
-
return Math.round(ms / d) + "d";
|
|
2051
|
-
}
|
|
2052
|
-
if (msAbs >= h) {
|
|
2053
|
-
return Math.round(ms / h) + "h";
|
|
2054
|
-
}
|
|
2055
|
-
if (msAbs >= m) {
|
|
2056
|
-
return Math.round(ms / m) + "m";
|
|
2057
|
-
}
|
|
2058
|
-
if (msAbs >= s) {
|
|
2059
|
-
return Math.round(ms / s) + "s";
|
|
2060
|
-
}
|
|
2061
|
-
return ms + "ms";
|
|
2062
|
-
}
|
|
2063
|
-
function fmtLong(ms) {
|
|
2064
|
-
var msAbs = Math.abs(ms);
|
|
2065
|
-
if (msAbs >= d) {
|
|
2066
|
-
return plural(ms, msAbs, d, "day");
|
|
2067
|
-
}
|
|
2068
|
-
if (msAbs >= h) {
|
|
2069
|
-
return plural(ms, msAbs, h, "hour");
|
|
2070
|
-
}
|
|
2071
|
-
if (msAbs >= m) {
|
|
2072
|
-
return plural(ms, msAbs, m, "minute");
|
|
2073
|
-
}
|
|
2074
|
-
if (msAbs >= s) {
|
|
2075
|
-
return plural(ms, msAbs, s, "second");
|
|
2076
|
-
}
|
|
2077
|
-
return ms + " ms";
|
|
2078
|
-
}
|
|
2079
|
-
function plural(ms, msAbs, n, name) {
|
|
2080
|
-
var isPlural = msAbs >= n * 1.5;
|
|
2081
|
-
return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
|
|
2082
|
-
}
|
|
2083
|
-
},
|
|
2084
|
+
733: () => {},
|
|
2084
2085
|
736: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
2085
2086
|
function setup(env) {
|
|
2086
2087
|
createDebug.debug = createDebug;
|
|
@@ -2089,7 +2090,7 @@ var __webpack_modules__ = {
|
|
|
2089
2090
|
createDebug.disable = disable;
|
|
2090
2091
|
createDebug.enable = enable;
|
|
2091
2092
|
createDebug.enabled = enabled;
|
|
2092
|
-
createDebug.humanize = __webpack_require__(
|
|
2093
|
+
createDebug.humanize = __webpack_require__(0);
|
|
2093
2094
|
createDebug.destroy = destroy;
|
|
2094
2095
|
Object.keys(env).forEach((key => {
|
|
2095
2096
|
createDebug[key] = env[key];
|
|
@@ -2334,8 +2335,6 @@ function __webpack_require__(moduleId) {
|
|
|
2334
2335
|
return module.exports;
|
|
2335
2336
|
}
|
|
2336
2337
|
|
|
2337
|
-
__webpack_require__.m = __webpack_modules__;
|
|
2338
|
-
|
|
2339
2338
|
(() => {
|
|
2340
2339
|
__webpack_require__.n = module => {
|
|
2341
2340
|
var getter = module && module.__esModule ? () => module["default"] : () => module;
|
|
@@ -2382,18 +2381,6 @@ __webpack_require__.m = __webpack_modules__;
|
|
|
2382
2381
|
};
|
|
2383
2382
|
})();
|
|
2384
2383
|
|
|
2385
|
-
(() => {
|
|
2386
|
-
__webpack_require__.f = {};
|
|
2387
|
-
__webpack_require__.e = chunkId => Promise.all(Object.keys(__webpack_require__.f).reduce(((promises, key) => {
|
|
2388
|
-
__webpack_require__.f[key](chunkId, promises);
|
|
2389
|
-
return promises;
|
|
2390
|
-
}), []));
|
|
2391
|
-
})();
|
|
2392
|
-
|
|
2393
|
-
(() => {
|
|
2394
|
-
__webpack_require__.u = chunkId => "" + chunkId + "." + "655674bbbb79bdf168c4" + ".js";
|
|
2395
|
-
})();
|
|
2396
|
-
|
|
2397
2384
|
(() => {
|
|
2398
2385
|
__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);
|
|
2399
2386
|
})();
|
|
@@ -2411,46 +2398,6 @@ __webpack_require__.m = __webpack_modules__;
|
|
|
2411
2398
|
};
|
|
2412
2399
|
})();
|
|
2413
2400
|
|
|
2414
|
-
(() => {
|
|
2415
|
-
var installedChunks = {
|
|
2416
|
-
57: 0
|
|
2417
|
-
};
|
|
2418
|
-
var installChunk = data => {
|
|
2419
|
-
var {__webpack_ids__, __webpack_modules__, __webpack_runtime__} = data;
|
|
2420
|
-
var moduleId, chunkId, i = 0;
|
|
2421
|
-
for (moduleId in __webpack_modules__) {
|
|
2422
|
-
if (__webpack_require__.o(__webpack_modules__, moduleId)) {
|
|
2423
|
-
__webpack_require__.m[moduleId] = __webpack_modules__[moduleId];
|
|
2424
|
-
}
|
|
2425
|
-
}
|
|
2426
|
-
if (__webpack_runtime__) __webpack_runtime__(__webpack_require__);
|
|
2427
|
-
for (;i < __webpack_ids__.length; i++) {
|
|
2428
|
-
chunkId = __webpack_ids__[i];
|
|
2429
|
-
if (__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
|
|
2430
|
-
installedChunks[chunkId][0]();
|
|
2431
|
-
}
|
|
2432
|
-
installedChunks[__webpack_ids__[i]] = 0;
|
|
2433
|
-
}
|
|
2434
|
-
};
|
|
2435
|
-
__webpack_require__.f.j = (chunkId, promises) => {
|
|
2436
|
-
var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;
|
|
2437
|
-
if (installedChunkData !== 0) {
|
|
2438
|
-
if (installedChunkData) {
|
|
2439
|
-
promises.push(installedChunkData[1]);
|
|
2440
|
-
} else {
|
|
2441
|
-
if (true) {
|
|
2442
|
-
var promise = import("./" + __webpack_require__.u(chunkId)).then(installChunk, (e => {
|
|
2443
|
-
if (installedChunks[chunkId] !== 0) installedChunks[chunkId] = undefined;
|
|
2444
|
-
throw e;
|
|
2445
|
-
}));
|
|
2446
|
-
var promise = Promise.race([ promise, new Promise((resolve => installedChunkData = installedChunks[chunkId] = [ resolve ])) ]);
|
|
2447
|
-
promises.push(installedChunkData[1] = promise);
|
|
2448
|
-
}
|
|
2449
|
-
}
|
|
2450
|
-
}
|
|
2451
|
-
};
|
|
2452
|
-
})();
|
|
2453
|
-
|
|
2454
2401
|
var __webpack_exports__ = {};
|
|
2455
2402
|
|
|
2456
2403
|
function* backoffGenerator() {
|
|
@@ -2517,7 +2464,7 @@ class NetCrs {
|
|
|
2517
2464
|
return new Response(new Uint8Array([]));
|
|
2518
2465
|
}
|
|
2519
2466
|
const g1End = this.numPoints * 64 - 1;
|
|
2520
|
-
return await retry((() => fetch("https://aztec
|
|
2467
|
+
return await retry((() => fetch("https://crs.aztec.network/g1.dat", {
|
|
2521
2468
|
headers: {
|
|
2522
2469
|
Range: `bytes=0-${g1End}`
|
|
2523
2470
|
},
|
|
@@ -2525,7 +2472,7 @@ class NetCrs {
|
|
|
2525
2472
|
})), makeBackoff([ 5, 5, 5 ]));
|
|
2526
2473
|
}
|
|
2527
2474
|
async fetchG2Data() {
|
|
2528
|
-
return await retry((() => fetch("https://aztec
|
|
2475
|
+
return await retry((() => fetch("https://crs.aztec.network/g2.dat", {
|
|
2529
2476
|
cache: "force-cache"
|
|
2530
2477
|
})), makeBackoff([ 5, 5, 5 ]));
|
|
2531
2478
|
}
|
|
@@ -2553,11 +2500,10 @@ class NetGrumpkinCrs {
|
|
|
2553
2500
|
if (this.numPoints === 0) {
|
|
2554
2501
|
return new Response(new Uint8Array([]));
|
|
2555
2502
|
}
|
|
2556
|
-
const
|
|
2557
|
-
|
|
2558
|
-
return await fetch("https://aztec-ignition.s3.amazonaws.com/TEST%20GRUMPKIN/monomial/transcript00.dat", {
|
|
2503
|
+
const g1End = this.numPoints * 64 - 1;
|
|
2504
|
+
return await fetch("https://crs.aztec.network/grumpkin_g1.dat", {
|
|
2559
2505
|
headers: {
|
|
2560
|
-
Range: `bytes
|
|
2506
|
+
Range: `bytes=0-${g1End}`
|
|
2561
2507
|
},
|
|
2562
2508
|
cache: "force-cache"
|
|
2563
2509
|
});
|
|
@@ -3724,13 +3670,6 @@ class BarretenbergApi {
|
|
|
3724
3670
|
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
3725
3671
|
return;
|
|
3726
3672
|
}
|
|
3727
|
-
async examplesSimpleCreateAndVerifyProof() {
|
|
3728
|
-
const inArgs = [].map(serializeBufferable);
|
|
3729
|
-
const outTypes = [ BoolDeserializer() ];
|
|
3730
|
-
const result = await this.wasm.callWasmExport("examples_simple_create_and_verify_proof", inArgs, outTypes.map((t => t.SIZE_IN_BYTES)));
|
|
3731
|
-
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
3732
|
-
return out[0];
|
|
3733
|
-
}
|
|
3734
3673
|
async testThreads(threads, iterations) {
|
|
3735
3674
|
const inArgs = [ threads, iterations ].map(serializeBufferable);
|
|
3736
3675
|
const outTypes = [ NumberDeserializer() ];
|
|
@@ -3752,34 +3691,6 @@ class BarretenbergApi {
|
|
|
3752
3691
|
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
3753
3692
|
return out;
|
|
3754
3693
|
}
|
|
3755
|
-
async acirNewAcirComposer(sizeHint) {
|
|
3756
|
-
const inArgs = [ sizeHint ].map(serializeBufferable);
|
|
3757
|
-
const outTypes = [ Ptr ];
|
|
3758
|
-
const result = await this.wasm.callWasmExport("acir_new_acir_composer", inArgs, outTypes.map((t => t.SIZE_IN_BYTES)));
|
|
3759
|
-
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
3760
|
-
return out[0];
|
|
3761
|
-
}
|
|
3762
|
-
async acirDeleteAcirComposer(acirComposerPtr) {
|
|
3763
|
-
const inArgs = [ acirComposerPtr ].map(serializeBufferable);
|
|
3764
|
-
const outTypes = [];
|
|
3765
|
-
const result = await this.wasm.callWasmExport("acir_delete_acir_composer", inArgs, outTypes.map((t => t.SIZE_IN_BYTES)));
|
|
3766
|
-
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
3767
|
-
return;
|
|
3768
|
-
}
|
|
3769
|
-
async acirInitProvingKey(acirComposerPtr, constraintSystemBuf, recursive) {
|
|
3770
|
-
const inArgs = [ acirComposerPtr, constraintSystemBuf, recursive ].map(serializeBufferable);
|
|
3771
|
-
const outTypes = [];
|
|
3772
|
-
const result = await this.wasm.callWasmExport("acir_init_proving_key", inArgs, outTypes.map((t => t.SIZE_IN_BYTES)));
|
|
3773
|
-
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
3774
|
-
return;
|
|
3775
|
-
}
|
|
3776
|
-
async acirCreateProof(acirComposerPtr, constraintSystemBuf, recursive, witnessBuf) {
|
|
3777
|
-
const inArgs = [ acirComposerPtr, constraintSystemBuf, recursive, witnessBuf ].map(serializeBufferable);
|
|
3778
|
-
const outTypes = [ BufferDeserializer() ];
|
|
3779
|
-
const result = await this.wasm.callWasmExport("acir_create_proof", inArgs, outTypes.map((t => t.SIZE_IN_BYTES)));
|
|
3780
|
-
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
3781
|
-
return out[0];
|
|
3782
|
-
}
|
|
3783
3694
|
async acirProveAndVerifyUltraHonk(constraintSystemBuf, witnessBuf) {
|
|
3784
3695
|
const inArgs = [ constraintSystemBuf, witnessBuf ].map(serializeBufferable);
|
|
3785
3696
|
const outTypes = [ BoolDeserializer() ];
|
|
@@ -3885,6 +3796,13 @@ class BarretenbergApi {
|
|
|
3885
3796
|
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
3886
3797
|
return out[0];
|
|
3887
3798
|
}
|
|
3799
|
+
async acirProveUltraKeccakZKHonk(acirVec, witnessVec) {
|
|
3800
|
+
const inArgs = [ acirVec, witnessVec ].map(serializeBufferable);
|
|
3801
|
+
const outTypes = [ BufferDeserializer() ];
|
|
3802
|
+
const result = await this.wasm.callWasmExport("acir_prove_ultra_keccak_zk_honk", inArgs, outTypes.map((t => t.SIZE_IN_BYTES)));
|
|
3803
|
+
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
3804
|
+
return out[0];
|
|
3805
|
+
}
|
|
3888
3806
|
async acirProveUltraStarknetHonk(acirVec, witnessVec) {
|
|
3889
3807
|
const inArgs = [ acirVec, witnessVec ].map(serializeBufferable);
|
|
3890
3808
|
const outTypes = [ BufferDeserializer() ];
|
|
@@ -3906,6 +3824,13 @@ class BarretenbergApi {
|
|
|
3906
3824
|
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
3907
3825
|
return out[0];
|
|
3908
3826
|
}
|
|
3827
|
+
async acirVerifyUltraKeccakZKHonk(proofBuf, vkBuf) {
|
|
3828
|
+
const inArgs = [ proofBuf, vkBuf ].map(serializeBufferable);
|
|
3829
|
+
const outTypes = [ BoolDeserializer() ];
|
|
3830
|
+
const result = await this.wasm.callWasmExport("acir_verify_ultra_keccak_zk_honk", inArgs, outTypes.map((t => t.SIZE_IN_BYTES)));
|
|
3831
|
+
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
3832
|
+
return out[0];
|
|
3833
|
+
}
|
|
3909
3834
|
async acirVerifyUltraStarknetHonk(proofBuf, vkBuf) {
|
|
3910
3835
|
const inArgs = [ proofBuf, vkBuf ].map(serializeBufferable);
|
|
3911
3836
|
const outTypes = [ BoolDeserializer() ];
|
|
@@ -3927,6 +3852,13 @@ class BarretenbergApi {
|
|
|
3927
3852
|
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
3928
3853
|
return out[0];
|
|
3929
3854
|
}
|
|
3855
|
+
async acirWriteVkUltraKeccakZKHonk(acirVec) {
|
|
3856
|
+
const inArgs = [ acirVec ].map(serializeBufferable);
|
|
3857
|
+
const outTypes = [ BufferDeserializer() ];
|
|
3858
|
+
const result = await this.wasm.callWasmExport("acir_write_vk_ultra_keccak_zk_honk", inArgs, outTypes.map((t => t.SIZE_IN_BYTES)));
|
|
3859
|
+
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
3860
|
+
return out[0];
|
|
3861
|
+
}
|
|
3930
3862
|
async acirWriteVkUltraStarknetHonk(acirVec) {
|
|
3931
3863
|
const inArgs = [ acirVec ].map(serializeBufferable);
|
|
3932
3864
|
const outTypes = [ BufferDeserializer() ];
|
|
@@ -4066,13 +3998,6 @@ class BarretenbergApiSync {
|
|
|
4066
3998
|
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
4067
3999
|
return;
|
|
4068
4000
|
}
|
|
4069
|
-
examplesSimpleCreateAndVerifyProof() {
|
|
4070
|
-
const inArgs = [].map(serializeBufferable);
|
|
4071
|
-
const outTypes = [ BoolDeserializer() ];
|
|
4072
|
-
const result = this.wasm.callWasmExport("examples_simple_create_and_verify_proof", inArgs, outTypes.map((t => t.SIZE_IN_BYTES)));
|
|
4073
|
-
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
4074
|
-
return out[0];
|
|
4075
|
-
}
|
|
4076
4001
|
testThreads(threads, iterations) {
|
|
4077
4002
|
const inArgs = [ threads, iterations ].map(serializeBufferable);
|
|
4078
4003
|
const outTypes = [ NumberDeserializer() ];
|
|
@@ -4094,34 +4019,6 @@ class BarretenbergApiSync {
|
|
|
4094
4019
|
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
4095
4020
|
return out;
|
|
4096
4021
|
}
|
|
4097
|
-
acirNewAcirComposer(sizeHint) {
|
|
4098
|
-
const inArgs = [ sizeHint ].map(serializeBufferable);
|
|
4099
|
-
const outTypes = [ Ptr ];
|
|
4100
|
-
const result = this.wasm.callWasmExport("acir_new_acir_composer", inArgs, outTypes.map((t => t.SIZE_IN_BYTES)));
|
|
4101
|
-
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
4102
|
-
return out[0];
|
|
4103
|
-
}
|
|
4104
|
-
acirDeleteAcirComposer(acirComposerPtr) {
|
|
4105
|
-
const inArgs = [ acirComposerPtr ].map(serializeBufferable);
|
|
4106
|
-
const outTypes = [];
|
|
4107
|
-
const result = this.wasm.callWasmExport("acir_delete_acir_composer", inArgs, outTypes.map((t => t.SIZE_IN_BYTES)));
|
|
4108
|
-
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
4109
|
-
return;
|
|
4110
|
-
}
|
|
4111
|
-
acirInitProvingKey(acirComposerPtr, constraintSystemBuf, recursive) {
|
|
4112
|
-
const inArgs = [ acirComposerPtr, constraintSystemBuf, recursive ].map(serializeBufferable);
|
|
4113
|
-
const outTypes = [];
|
|
4114
|
-
const result = this.wasm.callWasmExport("acir_init_proving_key", inArgs, outTypes.map((t => t.SIZE_IN_BYTES)));
|
|
4115
|
-
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
4116
|
-
return;
|
|
4117
|
-
}
|
|
4118
|
-
acirCreateProof(acirComposerPtr, constraintSystemBuf, recursive, witnessBuf) {
|
|
4119
|
-
const inArgs = [ acirComposerPtr, constraintSystemBuf, recursive, witnessBuf ].map(serializeBufferable);
|
|
4120
|
-
const outTypes = [ BufferDeserializer() ];
|
|
4121
|
-
const result = this.wasm.callWasmExport("acir_create_proof", inArgs, outTypes.map((t => t.SIZE_IN_BYTES)));
|
|
4122
|
-
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
4123
|
-
return out[0];
|
|
4124
|
-
}
|
|
4125
4022
|
acirProveAndVerifyUltraHonk(constraintSystemBuf, witnessBuf) {
|
|
4126
4023
|
const inArgs = [ constraintSystemBuf, witnessBuf ].map(serializeBufferable);
|
|
4127
4024
|
const outTypes = [ BoolDeserializer() ];
|
|
@@ -4227,6 +4124,20 @@ class BarretenbergApiSync {
|
|
|
4227
4124
|
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
4228
4125
|
return out[0];
|
|
4229
4126
|
}
|
|
4127
|
+
acirProveUltraKeccakZKHonk(acirVec, witnessVec) {
|
|
4128
|
+
const inArgs = [ acirVec, witnessVec ].map(serializeBufferable);
|
|
4129
|
+
const outTypes = [ BufferDeserializer() ];
|
|
4130
|
+
const result = this.wasm.callWasmExport("acir_prove_ultra_keccak_zk_honk", inArgs, outTypes.map((t => t.SIZE_IN_BYTES)));
|
|
4131
|
+
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
4132
|
+
return out[0];
|
|
4133
|
+
}
|
|
4134
|
+
acirProveUltraKeccakZkHonk(acirVec, witnessVec) {
|
|
4135
|
+
const inArgs = [ acirVec, witnessVec ].map(serializeBufferable);
|
|
4136
|
+
const outTypes = [ BufferDeserializer() ];
|
|
4137
|
+
const result = this.wasm.callWasmExport("acir_prove_ultra_keccak_zk_honk", inArgs, outTypes.map((t => t.SIZE_IN_BYTES)));
|
|
4138
|
+
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
4139
|
+
return out[0];
|
|
4140
|
+
}
|
|
4230
4141
|
acirVerifyUltraHonk(proofBuf, vkBuf) {
|
|
4231
4142
|
const inArgs = [ proofBuf, vkBuf ].map(serializeBufferable);
|
|
4232
4143
|
const outTypes = [ BoolDeserializer() ];
|
|
@@ -4234,10 +4145,10 @@ class BarretenbergApiSync {
|
|
|
4234
4145
|
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
4235
4146
|
return out[0];
|
|
4236
4147
|
}
|
|
4237
|
-
|
|
4148
|
+
acirVerifyUltraKeccakZKHonk(proofBuf, vkBuf) {
|
|
4238
4149
|
const inArgs = [ proofBuf, vkBuf ].map(serializeBufferable);
|
|
4239
4150
|
const outTypes = [ BoolDeserializer() ];
|
|
4240
|
-
const result = this.wasm.callWasmExport("
|
|
4151
|
+
const result = this.wasm.callWasmExport("acir_verify_ultra_keccak_zk_honk", inArgs, outTypes.map((t => t.SIZE_IN_BYTES)));
|
|
4241
4152
|
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
4242
4153
|
return out[0];
|
|
4243
4154
|
}
|
|
@@ -4255,6 +4166,13 @@ class BarretenbergApiSync {
|
|
|
4255
4166
|
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
4256
4167
|
return out[0];
|
|
4257
4168
|
}
|
|
4169
|
+
acirWriteVkUltraKeccakZKHonk(acirVec) {
|
|
4170
|
+
const inArgs = [ acirVec ].map(serializeBufferable);
|
|
4171
|
+
const outTypes = [ BufferDeserializer() ];
|
|
4172
|
+
const result = this.wasm.callWasmExport("acir_write_vk_ultra_keccak_zk_honk", inArgs, outTypes.map((t => t.SIZE_IN_BYTES)));
|
|
4173
|
+
const out = result.map(((r, i) => outTypes[i].fromBuffer(r)));
|
|
4174
|
+
return out[0];
|
|
4175
|
+
}
|
|
4258
4176
|
acirProofAsFieldsUltraHonk(proofBuf) {
|
|
4259
4177
|
const inArgs = [ proofBuf ].map(serializeBufferable);
|
|
4260
4178
|
const outTypes = [ VectorDeserializer(Fr) ];
|
|
@@ -8803,7 +8721,7 @@ async function getAvailableThreads(logger) {
|
|
|
8803
8721
|
return navigator.hardwareConcurrency;
|
|
8804
8722
|
} else {
|
|
8805
8723
|
try {
|
|
8806
|
-
const os = await
|
|
8724
|
+
const os = await Promise.resolve().then(__webpack_require__.t.bind(__webpack_require__, 733, 23));
|
|
8807
8725
|
return os.cpus().length;
|
|
8808
8726
|
} catch (e) {
|
|
8809
8727
|
logger(`Could not detect environment to query number of threads. Falling back to one thread. Error: ${e.message ?? e}`);
|
|
@@ -8812,7 +8730,7 @@ async function getAvailableThreads(logger) {
|
|
|
8812
8730
|
}
|
|
8813
8731
|
}
|
|
8814
8732
|
|
|
8815
|
-
const
|
|
8733
|
+
const PAIRING_POINTS_SIZE = 16;
|
|
8816
8734
|
|
|
8817
8735
|
const fieldByteSize = 32;
|
|
8818
8736
|
|
|
@@ -8830,12 +8748,6 @@ function reconstructHonkProof(publicInputs, proof) {
|
|
|
8830
8748
|
return proofWithPublicInputs;
|
|
8831
8749
|
}
|
|
8832
8750
|
|
|
8833
|
-
function reconstructUltraPlonkProof(proofData) {
|
|
8834
|
-
const publicInputsConcatenated = flattenFieldsAsArray(proofData.publicInputs);
|
|
8835
|
-
const proofWithPublicInputs = Uint8Array.from([ ...publicInputsConcatenated, ...proofData.proof ]);
|
|
8836
|
-
return proofWithPublicInputs;
|
|
8837
|
-
}
|
|
8838
|
-
|
|
8839
8751
|
function deflattenFields(flattenedFields) {
|
|
8840
8752
|
const publicInputSize = 32;
|
|
8841
8753
|
const chunkedFlattenedPublicInputs = [];
|
|
@@ -8898,16 +8810,9 @@ class BarretenbergVerifier {
|
|
|
8898
8810
|
if (!this.api) {
|
|
8899
8811
|
const api = await Barretenberg.new(this.options);
|
|
8900
8812
|
await api.initSRSForCircuitSize(0);
|
|
8901
|
-
this.acirComposer = await api.acirNewAcirComposer(0);
|
|
8902
8813
|
this.api = api;
|
|
8903
8814
|
}
|
|
8904
8815
|
}
|
|
8905
|
-
async verifyUltraPlonkProof(proofData, verificationKey) {
|
|
8906
|
-
await this.instantiate();
|
|
8907
|
-
await this.api.acirLoadVerificationKey(this.acirComposer, new RawBuffer(verificationKey));
|
|
8908
|
-
const proof = reconstructUltraPlonkProof(proofData);
|
|
8909
|
-
return await this.api.acirVerifyProof(this.acirComposer, proof);
|
|
8910
|
-
}
|
|
8911
8816
|
async verifyUltraHonkProof(proofData, verificationKey) {
|
|
8912
8817
|
await this.instantiate();
|
|
8913
8818
|
const proof = reconstructHonkProof(flattenFieldsAsArray(proofData.publicInputs), proofData.proof);
|
|
@@ -13146,7 +13051,6 @@ function parseBigEndianU32Array(buffer) {
|
|
|
13146
13051
|
const dv = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
13147
13052
|
let offset = 0;
|
|
13148
13053
|
const count = buffer.byteLength >>> 2;
|
|
13149
|
-
console.log(buffer);
|
|
13150
13054
|
const out = new Array(count);
|
|
13151
13055
|
for (let i = 0; i < count; i++) {
|
|
13152
13056
|
out[i] = dv.getUint32(offset, false);
|
|
@@ -13155,76 +13059,6 @@ function parseBigEndianU32Array(buffer) {
|
|
|
13155
13059
|
return out;
|
|
13156
13060
|
}
|
|
13157
13061
|
|
|
13158
|
-
class UltraPlonkBackend {
|
|
13159
|
-
constructor(acirBytecode, backendOptions = {
|
|
13160
|
-
threads: 1
|
|
13161
|
-
}, circuitOptions = {
|
|
13162
|
-
recursive: false
|
|
13163
|
-
}) {
|
|
13164
|
-
this.backendOptions = backendOptions;
|
|
13165
|
-
this.circuitOptions = circuitOptions;
|
|
13166
|
-
this.acirUncompressedBytecode = acirToUint8Array(acirBytecode);
|
|
13167
|
-
}
|
|
13168
|
-
async instantiate() {
|
|
13169
|
-
if (!this.api) {
|
|
13170
|
-
const api = await Barretenberg.new(this.backendOptions);
|
|
13171
|
-
const honkRecursion = false;
|
|
13172
|
-
const [_total, subgroupSize] = await api.acirGetCircuitSizes(this.acirUncompressedBytecode, this.circuitOptions.recursive, honkRecursion);
|
|
13173
|
-
await api.initSRSForCircuitSize(subgroupSize);
|
|
13174
|
-
this.acirComposer = await api.acirNewAcirComposer(subgroupSize);
|
|
13175
|
-
await api.acirInitProvingKey(this.acirComposer, this.acirUncompressedBytecode, this.circuitOptions.recursive);
|
|
13176
|
-
this.api = api;
|
|
13177
|
-
}
|
|
13178
|
-
}
|
|
13179
|
-
async generateProof(compressedWitness) {
|
|
13180
|
-
await this.instantiate();
|
|
13181
|
-
const proofWithPublicInputs = await this.api.acirCreateProof(this.acirComposer, this.acirUncompressedBytecode, this.circuitOptions.recursive, decompressSync(compressedWitness));
|
|
13182
|
-
const numBytesInProofWithoutPublicInputs = 2144;
|
|
13183
|
-
const splitIndex = proofWithPublicInputs.length - numBytesInProofWithoutPublicInputs;
|
|
13184
|
-
const publicInputsConcatenated = proofWithPublicInputs.slice(0, splitIndex);
|
|
13185
|
-
const proof = proofWithPublicInputs.slice(splitIndex);
|
|
13186
|
-
const publicInputs = deflattenFields(publicInputsConcatenated);
|
|
13187
|
-
return {
|
|
13188
|
-
proof,
|
|
13189
|
-
publicInputs
|
|
13190
|
-
};
|
|
13191
|
-
}
|
|
13192
|
-
async generateRecursiveProofArtifacts(proofData, numOfPublicInputs = 0) {
|
|
13193
|
-
await this.instantiate();
|
|
13194
|
-
const proof = reconstructUltraPlonkProof(proofData);
|
|
13195
|
-
const proofAsFields = (await this.api.acirSerializeProofIntoFields(this.acirComposer, proof, numOfPublicInputs)).slice(numOfPublicInputs);
|
|
13196
|
-
await this.api.acirInitVerificationKey(this.acirComposer);
|
|
13197
|
-
const vk = await this.api.acirSerializeVerificationKeyIntoFields(this.acirComposer);
|
|
13198
|
-
return {
|
|
13199
|
-
proofAsFields: proofAsFields.map((p => p.toString())),
|
|
13200
|
-
vkAsFields: vk[0].map((vk => vk.toString())),
|
|
13201
|
-
vkHash: vk[1].toString()
|
|
13202
|
-
};
|
|
13203
|
-
}
|
|
13204
|
-
async verifyProof(proofData) {
|
|
13205
|
-
await this.instantiate();
|
|
13206
|
-
await this.api.acirInitVerificationKey(this.acirComposer);
|
|
13207
|
-
const proof = reconstructUltraPlonkProof(proofData);
|
|
13208
|
-
return await this.api.acirVerifyProof(this.acirComposer, proof);
|
|
13209
|
-
}
|
|
13210
|
-
async getVerificationKey() {
|
|
13211
|
-
await this.instantiate();
|
|
13212
|
-
await this.api.acirInitVerificationKey(this.acirComposer);
|
|
13213
|
-
return await this.api.acirGetVerificationKey(this.acirComposer);
|
|
13214
|
-
}
|
|
13215
|
-
async getSolidityVerifier() {
|
|
13216
|
-
await this.instantiate();
|
|
13217
|
-
await this.api.acirInitVerificationKey(this.acirComposer);
|
|
13218
|
-
return await this.api.acirGetSolidityVerifier(this.acirComposer);
|
|
13219
|
-
}
|
|
13220
|
-
async destroy() {
|
|
13221
|
-
if (!this.api) {
|
|
13222
|
-
return;
|
|
13223
|
-
}
|
|
13224
|
-
await this.api.destroy();
|
|
13225
|
-
}
|
|
13226
|
-
}
|
|
13227
|
-
|
|
13228
13062
|
class UltraHonkBackend {
|
|
13229
13063
|
constructor(acirBytecode, backendOptions = {
|
|
13230
13064
|
threads: 1
|
|
@@ -13245,13 +13079,13 @@ class UltraHonkBackend {
|
|
|
13245
13079
|
}
|
|
13246
13080
|
async generateProof(compressedWitness, options) {
|
|
13247
13081
|
await this.instantiate();
|
|
13248
|
-
const proveUltraHonk = options?.keccak ? this.api.acirProveUltraKeccakHonk.bind(this.api) : options?.starknet ? this.api.acirProveUltraStarknetHonk.bind(this.api) : this.api.acirProveUltraHonk.bind(this.api);
|
|
13082
|
+
const proveUltraHonk = options?.keccak ? this.api.acirProveUltraKeccakHonk.bind(this.api) : options?.keccakZK ? this.api.acirProveUltraKeccakZKHonk.bind(this.api) : options?.starknet ? this.api.acirProveUltraStarknetHonk.bind(this.api) : this.api.acirProveUltraHonk.bind(this.api);
|
|
13249
13083
|
const proofWithPublicInputs = await proveUltraHonk(this.acirUncompressedBytecode, decompressSync(compressedWitness));
|
|
13250
|
-
const writeVKUltraHonk = options?.keccak ? this.api.acirWriteVkUltraKeccakHonk.bind(this.api) : options?.starknet ? this.api.acirWriteVkUltraStarknetHonk.bind(this.api) : this.api.acirWriteVkUltraHonk.bind(this.api);
|
|
13084
|
+
const writeVKUltraHonk = options?.keccak ? this.api.acirWriteVkUltraKeccakHonk.bind(this.api) : options?.keccakZK ? this.api.acirWriteVkUltraKeccakZKHonk.bind(this.api) : options?.starknet ? this.api.acirWriteVkUltraStarknetHonk.bind(this.api) : this.api.acirWriteVkUltraHonk.bind(this.api);
|
|
13251
13085
|
const vk = await writeVKUltraHonk(this.acirUncompressedBytecode);
|
|
13252
13086
|
const vkAsFields = await this.api.acirVkAsFieldsUltraHonk(new RawBuffer(vk));
|
|
13253
13087
|
const publicInputsSizeIndex = 1;
|
|
13254
|
-
const numPublicInputs = Number(vkAsFields[publicInputsSizeIndex].toString()) -
|
|
13088
|
+
const numPublicInputs = Number(vkAsFields[publicInputsSizeIndex].toString()) - PAIRING_POINTS_SIZE;
|
|
13255
13089
|
const {proof, publicInputs: publicInputsBytes} = splitHonkProof(proofWithPublicInputs, numPublicInputs);
|
|
13256
13090
|
const publicInputs = deflattenFields(publicInputsBytes);
|
|
13257
13091
|
return {
|
|
@@ -13262,14 +13096,14 @@ class UltraHonkBackend {
|
|
|
13262
13096
|
async verifyProof(proofData, options) {
|
|
13263
13097
|
await this.instantiate();
|
|
13264
13098
|
const proof = reconstructHonkProof(flattenFieldsAsArray(proofData.publicInputs), proofData.proof);
|
|
13265
|
-
const writeVkUltraHonk = options?.keccak ? this.api.acirWriteVkUltraKeccakHonk.bind(this.api) : options?.starknet ? this.api.acirWriteVkUltraStarknetHonk.bind(this.api) : this.api.acirWriteVkUltraHonk.bind(this.api);
|
|
13266
|
-
const verifyUltraHonk = options?.keccak ? this.api.acirVerifyUltraKeccakHonk.bind(this.api) : options?.starknet ? this.api.acirVerifyUltraStarknetHonk.bind(this.api) : this.api.acirVerifyUltraHonk.bind(this.api);
|
|
13099
|
+
const writeVkUltraHonk = options?.keccak ? this.api.acirWriteVkUltraKeccakHonk.bind(this.api) : options?.keccakZK ? this.api.acirWriteVkUltraKeccakZKHonk.bind(this.api) : options?.starknet ? this.api.acirWriteVkUltraStarknetHonk.bind(this.api) : this.api.acirWriteVkUltraHonk.bind(this.api);
|
|
13100
|
+
const verifyUltraHonk = options?.keccak ? this.api.acirVerifyUltraKeccakHonk.bind(this.api) : options?.keccakZK ? this.api.acirVerifyUltraKeccakZKHonk.bind(this.api) : options?.starknet ? this.api.acirVerifyUltraStarknetHonk.bind(this.api) : this.api.acirVerifyUltraHonk.bind(this.api);
|
|
13267
13101
|
const vkBuf = await writeVkUltraHonk(this.acirUncompressedBytecode);
|
|
13268
13102
|
return await verifyUltraHonk(proof, new RawBuffer(vkBuf));
|
|
13269
13103
|
}
|
|
13270
13104
|
async getVerificationKey(options) {
|
|
13271
13105
|
await this.instantiate();
|
|
13272
|
-
return options?.keccak ? await this.api.acirWriteVkUltraKeccakHonk(this.acirUncompressedBytecode) : options?.starknet ? await this.api.acirWriteVkUltraStarknetHonk(this.acirUncompressedBytecode) : await this.api.acirWriteVkUltraHonk(this.acirUncompressedBytecode);
|
|
13106
|
+
return options?.keccak ? await this.api.acirWriteVkUltraKeccakHonk(this.acirUncompressedBytecode) : options?.keccakZK ? await this.api.acirWriteVkUltraKeccakZKHonk(this.acirUncompressedBytecode) : options?.starknet ? await this.api.acirWriteVkUltraStarknetHonk(this.acirUncompressedBytecode) : await this.api.acirWriteVkUltraHonk(this.acirUncompressedBytecode);
|
|
13273
13107
|
}
|
|
13274
13108
|
async getSolidityVerifier(vk) {
|
|
13275
13109
|
await this.instantiate();
|
|
@@ -13416,7 +13250,7 @@ class Barretenberg extends BarretenbergApi {
|
|
|
13416
13250
|
}
|
|
13417
13251
|
}
|
|
13418
13252
|
|
|
13419
|
-
let
|
|
13253
|
+
let barretenbergSyncSingletonPromise;
|
|
13420
13254
|
|
|
13421
13255
|
let barretenbergSyncSingleton;
|
|
13422
13256
|
|
|
@@ -13431,10 +13265,10 @@ class BarretenbergSync extends BarretenbergApiSync {
|
|
|
13431
13265
|
return new BarretenbergSync(wasm);
|
|
13432
13266
|
}
|
|
13433
13267
|
static async initSingleton(wasmPath, logger = browser_default()("bb.js:bb_wasm_sync")) {
|
|
13434
|
-
if (!
|
|
13435
|
-
|
|
13268
|
+
if (!barretenbergSyncSingletonPromise) {
|
|
13269
|
+
barretenbergSyncSingletonPromise = BarretenbergSync.new(wasmPath, logger);
|
|
13436
13270
|
}
|
|
13437
|
-
barretenbergSyncSingleton = await
|
|
13271
|
+
barretenbergSyncSingleton = await barretenbergSyncSingletonPromise;
|
|
13438
13272
|
return barretenbergSyncSingleton;
|
|
13439
13273
|
}
|
|
13440
13274
|
static getSingleton() {
|
|
@@ -13448,4 +13282,4 @@ class BarretenbergSync extends BarretenbergApiSync {
|
|
|
13448
13282
|
}
|
|
13449
13283
|
}
|
|
13450
13284
|
|
|
13451
|
-
export { AztecClientBackend, Barretenberg, BarretenbergSync, BarretenbergVerifier, CachedNetCrs as Crs, Fr, CachedNetGrumpkinCrs as GrumpkinCrs, RawBuffer, UltraHonkBackend,
|
|
13285
|
+
export { AztecClientBackend, Barretenberg, BarretenbergSync, BarretenbergVerifier, CachedNetCrs as Crs, Fr, CachedNetGrumpkinCrs as GrumpkinCrs, RawBuffer, UltraHonkBackend, deflattenFields, reconstructHonkProof, splitHonkProof };
|