@gardenfi/utils 3.1.1-beta.1 → 3.1.1-beta.11
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/dist/index10.cjs +1 -1
- package/dist/index10.js +4 -4
- package/dist/index17.cjs +1 -1
- package/dist/index17.js +26 -16
- package/dist/index204.cjs +1 -1
- package/dist/index204.js +1 -1
- package/dist/index205.cjs +1 -1
- package/dist/index205.js +1 -1
- package/dist/index217.cjs +1 -1
- package/dist/index217.js +101 -212
- package/dist/index218.cjs +1 -1
- package/dist/index218.js +16 -108
- package/dist/index219.cjs +1 -1
- package/dist/index219.js +206 -198
- package/dist/index220.cjs +1 -1
- package/dist/index220.js +106 -101
- package/dist/index221.cjs +1 -1
- package/dist/index221.js +203 -13
- package/dist/index222.cjs +1 -1
- package/dist/index222.js +1 -1
- package/dist/index223.cjs +1 -1
- package/dist/index223.js +1 -1
- package/dist/index23.cjs +1 -1
- package/dist/index23.js +12 -26
- package/dist/index24.cjs +1 -1
- package/dist/index24.js +59 -8
- package/dist/index25.cjs +16 -1
- package/dist/index25.js +113 -12
- package/dist/index250.cjs +1 -1
- package/dist/index250.js +2 -2
- package/dist/index251.cjs +1 -1
- package/dist/index251.js +2 -2
- package/dist/index26.cjs +1 -1
- package/dist/index26.js +30 -59
- package/dist/index27.cjs +1 -16
- package/dist/index27.js +27 -111
- package/dist/index28.cjs +1 -1
- package/dist/index28.js +7 -29
- package/dist/index30.cjs +1 -1
- package/dist/index30.js +3 -3
- package/dist/src/lib/fetcher/fetcher.d.ts +1 -0
- package/dist/src/lib/retry.d.ts +3 -1
- package/package.json +1 -1
package/dist/index218.js
CHANGED
|
@@ -1,111 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
function g(e) {
|
|
17
|
-
if (typeof e != "function" || typeof e.create != "function")
|
|
18
|
-
throw new Error("Hash should be wrapped by utils.createHasher");
|
|
19
|
-
c(e.outputLen), c(e.blockLen);
|
|
20
|
-
}
|
|
21
|
-
function d(e, t = !0) {
|
|
22
|
-
if (e.destroyed)
|
|
23
|
-
throw new Error("Hash instance has been destroyed");
|
|
24
|
-
if (t && e.finished)
|
|
25
|
-
throw new Error("Hash#digest() has already been called");
|
|
26
|
-
}
|
|
27
|
-
function b(e, t) {
|
|
28
|
-
i(e);
|
|
29
|
-
const r = t.outputLen;
|
|
30
|
-
if (e.length < r)
|
|
31
|
-
throw new Error("digestInto() expects output buffer of length at least " + r);
|
|
32
|
-
}
|
|
33
|
-
function m(e) {
|
|
34
|
-
return new Uint32Array(e.buffer, e.byteOffset, Math.floor(e.byteLength / 4));
|
|
35
|
-
}
|
|
36
|
-
function x(...e) {
|
|
37
|
-
for (let t = 0; t < e.length; t++)
|
|
38
|
-
e[t].fill(0);
|
|
39
|
-
}
|
|
40
|
-
function A(e) {
|
|
41
|
-
return new DataView(e.buffer, e.byteOffset, e.byteLength);
|
|
42
|
-
}
|
|
43
|
-
function E(e, t) {
|
|
44
|
-
return e << 32 - t | e >>> t;
|
|
45
|
-
}
|
|
46
|
-
const a = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68;
|
|
47
|
-
function l(e) {
|
|
48
|
-
return e << 24 & 4278190080 | e << 8 & 16711680 | e >>> 8 & 65280 | e >>> 24 & 255;
|
|
49
|
-
}
|
|
50
|
-
function y(e) {
|
|
51
|
-
for (let t = 0; t < e.length; t++)
|
|
52
|
-
e[t] = l(e[t]);
|
|
53
|
-
return e;
|
|
54
|
-
}
|
|
55
|
-
const U = a ? (e) => e : y;
|
|
56
|
-
function p(e) {
|
|
57
|
-
if (typeof e != "string")
|
|
58
|
-
throw new Error("string expected");
|
|
59
|
-
return new Uint8Array(new TextEncoder().encode(e));
|
|
60
|
-
}
|
|
61
|
-
function w(e) {
|
|
62
|
-
return typeof e == "string" && (e = p(e)), i(e), e;
|
|
63
|
-
}
|
|
64
|
-
function B(...e) {
|
|
65
|
-
let t = 0;
|
|
66
|
-
for (let n = 0; n < e.length; n++) {
|
|
67
|
-
const f = e[n];
|
|
68
|
-
i(f), t += f.length;
|
|
69
|
-
}
|
|
70
|
-
const r = new Uint8Array(t);
|
|
71
|
-
for (let n = 0, f = 0; n < e.length; n++) {
|
|
72
|
-
const u = e[n];
|
|
73
|
-
r.set(u, f), f += u.length;
|
|
74
|
-
}
|
|
75
|
-
return r;
|
|
76
|
-
}
|
|
77
|
-
class L {
|
|
78
|
-
}
|
|
79
|
-
function H(e) {
|
|
80
|
-
const t = (n) => e().update(w(n)).digest(), r = e();
|
|
81
|
-
return t.outputLen = r.outputLen, t.blockLen = r.blockLen, t.create = () => e(), t;
|
|
82
|
-
}
|
|
83
|
-
function V(e = 32) {
|
|
84
|
-
if (o && typeof o.getRandomValues == "function")
|
|
85
|
-
return o.getRandomValues(new Uint8Array(e));
|
|
86
|
-
if (o && typeof o.randomBytes == "function")
|
|
87
|
-
return Uint8Array.from(o.randomBytes(e));
|
|
88
|
-
throw new Error("crypto.getRandomValues must be defined");
|
|
1
|
+
import { hmac as c } from "./index222.js";
|
|
2
|
+
import { randomBytes as m, concatBytes as n } from "./index220.js";
|
|
3
|
+
import { weierstrass as a } from "./index250.js";
|
|
4
|
+
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
5
|
+
function i(r) {
|
|
6
|
+
return {
|
|
7
|
+
hash: r,
|
|
8
|
+
hmac: (e, ...t) => c(r, e, n(...t)),
|
|
9
|
+
randomBytes: m
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
function p(r, e) {
|
|
13
|
+
const t = (o) => a({ ...r, ...i(o) });
|
|
14
|
+
return { ...t(e), create: t };
|
|
89
15
|
}
|
|
90
16
|
export {
|
|
91
|
-
|
|
92
|
-
i as
|
|
93
|
-
d as aexists,
|
|
94
|
-
g as ahash,
|
|
95
|
-
c as anumber,
|
|
96
|
-
b as aoutput,
|
|
97
|
-
l as byteSwap,
|
|
98
|
-
y as byteSwap32,
|
|
99
|
-
x as clean,
|
|
100
|
-
B as concatBytes,
|
|
101
|
-
H as createHasher,
|
|
102
|
-
A as createView,
|
|
103
|
-
s as isBytes,
|
|
104
|
-
a as isLE,
|
|
105
|
-
V as randomBytes,
|
|
106
|
-
E as rotr,
|
|
107
|
-
U as swap32IfBE,
|
|
108
|
-
w as toBytes,
|
|
109
|
-
m as u32,
|
|
110
|
-
p as utf8ToBytes
|
|
17
|
+
p as createCurve,
|
|
18
|
+
i as getHash
|
|
111
19
|
};
|
package/dist/index219.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const H=require("./index220.cjs"),a=require("./index221.cjs");/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const d=BigInt(0),f=BigInt(1),h=BigInt(2),K=BigInt(3),I=BigInt(4),L=BigInt(5),T=BigInt(8);function g(t,n){const o=t%n;return o>=d?o:n+o}function Q(t,n,o){let r=t;for(;n-- >d;)r*=r,r%=o;return r}function B(t,n){if(t===d)throw new Error("invert: expected non-zero number");if(n<=d)throw new Error("invert: expected positive modulus, got "+n);let o=g(t,n),r=n,s=d,l=f;for(;o!==d;){const c=r/o,e=r%o,i=s-l*c;r=o,o=e,s=l,l=i}if(r!==f)throw new Error("invert: does not exist");return g(s,n)}function x(t,n){const o=(t.ORDER+f)/I,r=t.pow(n,o);if(!t.eql(t.sqr(r),n))throw new Error("Cannot find square root");return r}function V(t,n){const o=(t.ORDER-L)/T,r=t.mul(n,h),s=t.pow(r,o),l=t.mul(n,s),u=t.mul(t.mul(l,h),s),c=t.mul(l,t.sub(u,t.ONE));if(!t.eql(t.sqr(c),n))throw new Error("Cannot find square root");return c}function _(t){if(t<BigInt(3))throw new Error("sqrt is not defined for small field");let n=t-f,o=0;for(;n%h===d;)n/=h,o++;let r=h;const s=Z(t);for(;y(s,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(o===1)return x;let l=s.pow(r,n);const u=(n+f)/h;return function(e,i){if(e.is0(i))return i;if(y(e,i)!==1)throw new Error("Cannot find square root");let w=o,v=e.mul(e.ONE,l),b=e.pow(i,n),E=e.pow(i,u);for(;!e.eql(b,e.ONE);){if(e.is0(b))return e.ZERO;let q=1,m=e.sqr(b);for(;!e.eql(m,e.ONE);)if(q++,m=e.sqr(m),q===w)throw new Error("Cannot find square root");const z=f<<BigInt(w-q-1),S=e.pow(v,z);w=q,v=e.sqr(S),b=e.mul(b,v),E=e.mul(E,S)}return E}}function M(t){return t%I===K?x:t%T===L?V:_(t)}const Y=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function k(t){const n={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},o=Y.reduce((r,s)=>(r[s]="function",r),n);return a.validateObject(t,o)}function O(t,n,o){if(o<d)throw new Error("invalid exponent, negatives unsupported");if(o===d)return t.ONE;if(o===f)return n;let r=t.ONE,s=n;for(;o>d;)o&f&&(r=t.mul(r,s)),s=t.sqr(s),o>>=f;return r}function A(t,n,o=!1){const r=new Array(n.length).fill(o?t.ZERO:void 0),s=n.reduce((u,c,e)=>t.is0(c)?u:(r[e]=u,t.mul(u,c)),t.ONE),l=t.inv(s);return n.reduceRight((u,c,e)=>t.is0(c)?u:(r[e]=t.mul(u,r[e]),t.mul(u,c)),l),r}function y(t,n){const o=(t.ORDER-f)/h,r=t.pow(n,o),s=t.eql(r,t.ONE),l=t.eql(r,t.ZERO),u=t.eql(r,t.neg(t.ONE));if(!s&&!l&&!u)throw new Error("invalid Legendre symbol result");return s?1:l?0:-1}function C(t,n){n!==void 0&&H.anumber(n);const o=n!==void 0?n:t.toString(2).length,r=Math.ceil(o/8);return{nBitLength:o,nByteLength:r}}function Z(t,n,o=!1,r={}){if(t<=d)throw new Error("invalid field: expected ORDER > 0, got "+t);const{nBitLength:s,nByteLength:l}=C(t,n);if(l>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let u;const c=Object.freeze({ORDER:t,isLE:o,BITS:s,BYTES:l,MASK:a.bitMask(s),ZERO:d,ONE:f,create:e=>g(e,t),isValid:e=>{if(typeof e!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof e);return d<=e&&e<t},is0:e=>e===d,isOdd:e=>(e&f)===f,neg:e=>g(-e,t),eql:(e,i)=>e===i,sqr:e=>g(e*e,t),add:(e,i)=>g(e+i,t),sub:(e,i)=>g(e-i,t),mul:(e,i)=>g(e*i,t),pow:(e,i)=>O(c,e,i),div:(e,i)=>g(e*B(i,t),t),sqrN:e=>e*e,addN:(e,i)=>e+i,subN:(e,i)=>e-i,mulN:(e,i)=>e*i,inv:e=>B(e,t),sqrt:r.sqrt||(e=>(u||(u=M(t)),u(c,e))),toBytes:e=>o?a.numberToBytesLE(e,l):a.numberToBytesBE(e,l),fromBytes:e=>{if(e.length!==l)throw new Error("Field.fromBytes: expected "+l+" bytes, got "+e.length);return o?a.bytesToNumberLE(e):a.bytesToNumberBE(e)},invertBatch:e=>A(c,e),cmov:(e,i,w)=>w?i:e});return Object.freeze(c)}function N(t){if(typeof t!="bigint")throw new Error("field order must be bigint");const n=t.toString(2).length;return Math.ceil(n/8)}function j(t){const n=N(t);return n+Math.ceil(n/2)}function P(t,n,o=!1){const r=t.length,s=N(n),l=j(n);if(r<16||r<l||r>1024)throw new Error("expected "+l+"-1024 bytes of input, got "+r);const u=o?a.bytesToNumberLE(t):a.bytesToNumberBE(t),c=g(u,n-f)+f;return o?a.numberToBytesLE(c,s):a.numberToBytesBE(c,s)}exports.Field=Z;exports.FpInvertBatch=A;exports.FpLegendre=y;exports.FpPow=O;exports.FpSqrt=M;exports.getFieldBytesLength=N;exports.getMinHashLength=j;exports.invert=B;exports.mapHashToField=P;exports.mod=g;exports.nLength=C;exports.pow2=Q;exports.tonelliShanks=_;exports.validateField=k;
|
package/dist/index219.js
CHANGED
|
@@ -1,209 +1,217 @@
|
|
|
1
|
+
import { anumber as C } from "./index220.js";
|
|
2
|
+
import { numberToBytesLE as I, numberToBytesBE as y, bitMask as Z, bytesToNumberLE as S, bytesToNumberBE as x, validateObject as z } from "./index221.js";
|
|
1
3
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
2
|
-
const
|
|
3
|
-
function
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
if (typeof n != "boolean")
|
|
12
|
-
throw new Error(t + " boolean expected, got " + n);
|
|
13
|
-
}
|
|
14
|
-
function F(t) {
|
|
15
|
-
const n = t.toString(16);
|
|
16
|
-
return n.length & 1 ? "0" + n : n;
|
|
17
|
-
}
|
|
18
|
-
function E(t) {
|
|
19
|
-
if (typeof t != "string")
|
|
20
|
-
throw new Error("hex string expected, got " + typeof t);
|
|
21
|
-
return t === "" ? w : BigInt("0x" + t);
|
|
22
|
-
}
|
|
23
|
-
const U = (
|
|
24
|
-
// @ts-ignore
|
|
25
|
-
typeof Uint8Array.from([]).toHex == "function" && typeof Uint8Array.fromHex == "function"
|
|
26
|
-
), S = /* @__PURE__ */ Array.from({ length: 256 }, (t, n) => n.toString(16).padStart(2, "0"));
|
|
27
|
-
function x(t) {
|
|
28
|
-
if (h(t), U)
|
|
29
|
-
return t.toHex();
|
|
30
|
-
let n = "";
|
|
31
|
-
for (let e = 0; e < t.length; e++)
|
|
32
|
-
n += S[t[e]];
|
|
33
|
-
return n;
|
|
34
|
-
}
|
|
35
|
-
const u = { _0: 48, _9: 57, A: 65, F: 70, a: 97, f: 102 };
|
|
36
|
-
function m(t) {
|
|
37
|
-
if (t >= u._0 && t <= u._9)
|
|
38
|
-
return t - u._0;
|
|
39
|
-
if (t >= u.A && t <= u.F)
|
|
40
|
-
return t - (u.A - 10);
|
|
41
|
-
if (t >= u.a && t <= u.f)
|
|
42
|
-
return t - (u.a - 10);
|
|
43
|
-
}
|
|
44
|
-
function B(t) {
|
|
45
|
-
if (typeof t != "string")
|
|
46
|
-
throw new Error("hex string expected, got " + typeof t);
|
|
47
|
-
if (U)
|
|
48
|
-
return Uint8Array.fromHex(t);
|
|
49
|
-
const n = t.length, e = n / 2;
|
|
50
|
-
if (n % 2)
|
|
51
|
-
throw new Error("hex string expected, got unpadded hex of length " + n);
|
|
52
|
-
const r = new Uint8Array(e);
|
|
53
|
-
for (let o = 0, i = 0; o < e; o++, i += 2) {
|
|
54
|
-
const a = m(t.charCodeAt(i)), f = m(t.charCodeAt(i + 1));
|
|
55
|
-
if (a === void 0 || f === void 0) {
|
|
56
|
-
const c = t[i] + t[i + 1];
|
|
57
|
-
throw new Error('hex string expected, got non-hex character "' + c + '" at index ' + i);
|
|
58
|
-
}
|
|
59
|
-
r[o] = a * 16 + f;
|
|
60
|
-
}
|
|
4
|
+
const d = BigInt(0), f = BigInt(1), g = /* @__PURE__ */ BigInt(2), j = /* @__PURE__ */ BigInt(3), L = /* @__PURE__ */ BigInt(4), _ = /* @__PURE__ */ BigInt(5), T = /* @__PURE__ */ BigInt(8);
|
|
5
|
+
function w(t, n) {
|
|
6
|
+
const o = t % n;
|
|
7
|
+
return o >= d ? o : n + o;
|
|
8
|
+
}
|
|
9
|
+
function $(t, n, o) {
|
|
10
|
+
let r = t;
|
|
11
|
+
for (; n-- > d; )
|
|
12
|
+
r *= r, r %= o;
|
|
61
13
|
return r;
|
|
62
14
|
}
|
|
63
|
-
function
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
throw new Error(t + " must be hex string or Uint8Array, cause: " + i);
|
|
82
|
-
}
|
|
83
|
-
else if (b(n))
|
|
84
|
-
r = Uint8Array.from(n);
|
|
85
|
-
else
|
|
86
|
-
throw new Error(t + " must be hex string or Uint8Array");
|
|
87
|
-
const o = r.length;
|
|
88
|
-
if (typeof e == "number" && o !== e)
|
|
89
|
-
throw new Error(t + " of length " + e + " expected, got " + o);
|
|
15
|
+
function B(t, n) {
|
|
16
|
+
if (t === d)
|
|
17
|
+
throw new Error("invert: expected non-zero number");
|
|
18
|
+
if (n <= d)
|
|
19
|
+
throw new Error("invert: expected positive modulus, got " + n);
|
|
20
|
+
let o = w(t, n), r = n, s = d, l = f;
|
|
21
|
+
for (; o !== d; ) {
|
|
22
|
+
const c = r / o, e = r % o, i = s - l * c;
|
|
23
|
+
r = o, o = e, s = l, l = i;
|
|
24
|
+
}
|
|
25
|
+
if (r !== f)
|
|
26
|
+
throw new Error("invert: does not exist");
|
|
27
|
+
return w(s, n);
|
|
28
|
+
}
|
|
29
|
+
function M(t, n) {
|
|
30
|
+
const o = (t.ORDER + f) / L, r = t.pow(n, o);
|
|
31
|
+
if (!t.eql(t.sqr(r), n))
|
|
32
|
+
throw new Error("Cannot find square root");
|
|
90
33
|
return r;
|
|
91
34
|
}
|
|
92
|
-
function H(
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
function
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
const a = () => {
|
|
129
|
-
r.fill(1), o.fill(0), i = 0;
|
|
130
|
-
}, f = (...s) => e(o, r, ...s), c = (s = d(0)) => {
|
|
131
|
-
o = f(A([0]), s), r = f(), s.length !== 0 && (o = f(A([1]), s), r = f());
|
|
132
|
-
}, v = () => {
|
|
133
|
-
if (i++ >= 1e3)
|
|
134
|
-
throw new Error("drbg: tried 1000 values");
|
|
135
|
-
let s = 0;
|
|
136
|
-
const l = [];
|
|
137
|
-
for (; s < n; ) {
|
|
138
|
-
r = f();
|
|
139
|
-
const g = r.slice();
|
|
140
|
-
l.push(g), s += r.length;
|
|
35
|
+
function H(t, n) {
|
|
36
|
+
const o = (t.ORDER - _) / T, r = t.mul(n, g), s = t.pow(r, o), l = t.mul(n, s), u = t.mul(t.mul(l, g), s), c = t.mul(l, t.sub(u, t.ONE));
|
|
37
|
+
if (!t.eql(t.sqr(c), n))
|
|
38
|
+
throw new Error("Cannot find square root");
|
|
39
|
+
return c;
|
|
40
|
+
}
|
|
41
|
+
function K(t) {
|
|
42
|
+
if (t < BigInt(3))
|
|
43
|
+
throw new Error("sqrt is not defined for small field");
|
|
44
|
+
let n = t - f, o = 0;
|
|
45
|
+
for (; n % g === d; )
|
|
46
|
+
n /= g, o++;
|
|
47
|
+
let r = g;
|
|
48
|
+
const s = J(t);
|
|
49
|
+
for (; N(s, r) === 1; )
|
|
50
|
+
if (r++ > 1e3)
|
|
51
|
+
throw new Error("Cannot find square root: probably non-prime P");
|
|
52
|
+
if (o === 1)
|
|
53
|
+
return M;
|
|
54
|
+
let l = s.pow(r, n);
|
|
55
|
+
const u = (n + f) / g;
|
|
56
|
+
return function(e, i) {
|
|
57
|
+
if (e.is0(i))
|
|
58
|
+
return i;
|
|
59
|
+
if (N(e, i) !== 1)
|
|
60
|
+
throw new Error("Cannot find square root");
|
|
61
|
+
let h = o, b = e.mul(e.ONE, l), a = e.pow(i, n), m = e.pow(i, u);
|
|
62
|
+
for (; !e.eql(a, e.ONE); ) {
|
|
63
|
+
if (e.is0(a))
|
|
64
|
+
return e.ZERO;
|
|
65
|
+
let q = 1, v = e.sqr(a);
|
|
66
|
+
for (; !e.eql(v, e.ONE); )
|
|
67
|
+
if (q++, v = e.sqr(v), q === h)
|
|
68
|
+
throw new Error("Cannot find square root");
|
|
69
|
+
const A = f << BigInt(h - q - 1), E = e.pow(b, A);
|
|
70
|
+
h = q, b = e.sqr(E), a = e.mul(a, b), m = e.mul(m, E);
|
|
141
71
|
}
|
|
142
|
-
return
|
|
143
|
-
};
|
|
144
|
-
return (s, l) => {
|
|
145
|
-
a(), c(s);
|
|
146
|
-
let g;
|
|
147
|
-
for (; !(g = l(v())); )
|
|
148
|
-
c();
|
|
149
|
-
return a(), g;
|
|
72
|
+
return m;
|
|
150
73
|
};
|
|
151
74
|
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
75
|
+
function Q(t) {
|
|
76
|
+
return t % L === j ? M : t % T === _ ? H : K(t);
|
|
77
|
+
}
|
|
78
|
+
const V = [
|
|
79
|
+
"create",
|
|
80
|
+
"isValid",
|
|
81
|
+
"is0",
|
|
82
|
+
"neg",
|
|
83
|
+
"inv",
|
|
84
|
+
"sqrt",
|
|
85
|
+
"sqr",
|
|
86
|
+
"eql",
|
|
87
|
+
"add",
|
|
88
|
+
"sub",
|
|
89
|
+
"mul",
|
|
90
|
+
"pow",
|
|
91
|
+
"div",
|
|
92
|
+
"addN",
|
|
93
|
+
"subN",
|
|
94
|
+
"mulN",
|
|
95
|
+
"sqrN"
|
|
96
|
+
];
|
|
97
|
+
function P(t) {
|
|
98
|
+
const n = {
|
|
99
|
+
ORDER: "bigint",
|
|
100
|
+
MASK: "bigint",
|
|
101
|
+
BYTES: "isSafeInteger",
|
|
102
|
+
BITS: "isSafeInteger"
|
|
103
|
+
}, o = V.reduce((r, s) => (r[s] = "function", r), n);
|
|
104
|
+
return z(t, o);
|
|
105
|
+
}
|
|
106
|
+
function Y(t, n, o) {
|
|
107
|
+
if (o < d)
|
|
108
|
+
throw new Error("invalid exponent, negatives unsupported");
|
|
109
|
+
if (o === d)
|
|
110
|
+
return t.ONE;
|
|
111
|
+
if (o === f)
|
|
112
|
+
return n;
|
|
113
|
+
let r = t.ONE, s = n;
|
|
114
|
+
for (; o > d; )
|
|
115
|
+
o & f && (r = t.mul(r, s)), s = t.sqr(s), o >>= f;
|
|
116
|
+
return r;
|
|
117
|
+
}
|
|
118
|
+
function k(t, n, o = !1) {
|
|
119
|
+
const r = new Array(n.length).fill(o ? t.ZERO : void 0), s = n.reduce((u, c, e) => t.is0(c) ? u : (r[e] = u, t.mul(u, c)), t.ONE), l = t.inv(s);
|
|
120
|
+
return n.reduceRight((u, c, e) => t.is0(c) ? u : (r[e] = t.mul(u, r[e]), t.mul(u, c)), l), r;
|
|
121
|
+
}
|
|
122
|
+
function N(t, n) {
|
|
123
|
+
const o = (t.ORDER - f) / g, r = t.pow(n, o), s = t.eql(r, t.ONE), l = t.eql(r, t.ZERO), u = t.eql(r, t.neg(t.ONE));
|
|
124
|
+
if (!s && !l && !u)
|
|
125
|
+
throw new Error("invalid Legendre symbol result");
|
|
126
|
+
return s ? 1 : l ? 0 : -1;
|
|
127
|
+
}
|
|
128
|
+
function G(t, n) {
|
|
129
|
+
n !== void 0 && C(n);
|
|
130
|
+
const o = n !== void 0 ? n : t.toString(2).length, r = Math.ceil(o / 8);
|
|
131
|
+
return { nBitLength: o, nByteLength: r };
|
|
132
|
+
}
|
|
133
|
+
function J(t, n, o = !1, r = {}) {
|
|
134
|
+
if (t <= d)
|
|
135
|
+
throw new Error("invalid field: expected ORDER > 0, got " + t);
|
|
136
|
+
const { nBitLength: s, nByteLength: l } = G(t, n);
|
|
137
|
+
if (l > 2048)
|
|
138
|
+
throw new Error("invalid field: expected ORDER of <= 2048 bytes");
|
|
139
|
+
let u;
|
|
140
|
+
const c = Object.freeze({
|
|
141
|
+
ORDER: t,
|
|
142
|
+
isLE: o,
|
|
143
|
+
BITS: s,
|
|
144
|
+
BYTES: l,
|
|
145
|
+
MASK: Z(s),
|
|
146
|
+
ZERO: d,
|
|
147
|
+
ONE: f,
|
|
148
|
+
create: (e) => w(e, t),
|
|
149
|
+
isValid: (e) => {
|
|
150
|
+
if (typeof e != "bigint")
|
|
151
|
+
throw new Error("invalid field element: expected bigint, got " + typeof e);
|
|
152
|
+
return d <= e && e < t;
|
|
153
|
+
},
|
|
154
|
+
is0: (e) => e === d,
|
|
155
|
+
isOdd: (e) => (e & f) === f,
|
|
156
|
+
neg: (e) => w(-e, t),
|
|
157
|
+
eql: (e, i) => e === i,
|
|
158
|
+
sqr: (e) => w(e * e, t),
|
|
159
|
+
add: (e, i) => w(e + i, t),
|
|
160
|
+
sub: (e, i) => w(e - i, t),
|
|
161
|
+
mul: (e, i) => w(e * i, t),
|
|
162
|
+
pow: (e, i) => Y(c, e, i),
|
|
163
|
+
div: (e, i) => w(e * B(i, t), t),
|
|
164
|
+
// Same as above, but doesn't normalize
|
|
165
|
+
sqrN: (e) => e * e,
|
|
166
|
+
addN: (e, i) => e + i,
|
|
167
|
+
subN: (e, i) => e - i,
|
|
168
|
+
mulN: (e, i) => e * i,
|
|
169
|
+
inv: (e) => B(e, t),
|
|
170
|
+
sqrt: r.sqrt || ((e) => (u || (u = Q(t)), u(c, e))),
|
|
171
|
+
toBytes: (e) => o ? I(e, l) : y(e, l),
|
|
172
|
+
fromBytes: (e) => {
|
|
173
|
+
if (e.length !== l)
|
|
174
|
+
throw new Error("Field.fromBytes: expected " + l + " bytes, got " + e.length);
|
|
175
|
+
return o ? S(e) : x(e);
|
|
176
|
+
},
|
|
177
|
+
// TODO: we don't need it here, move out to separate fn
|
|
178
|
+
invertBatch: (e) => k(c, e),
|
|
179
|
+
// We can't move this out because Fp6, Fp12 implement it
|
|
180
|
+
// and it's unclear what to return in there.
|
|
181
|
+
cmov: (e, i, h) => h ? i : e
|
|
182
|
+
});
|
|
183
|
+
return Object.freeze(c);
|
|
184
|
+
}
|
|
185
|
+
function O(t) {
|
|
186
|
+
if (typeof t != "bigint")
|
|
187
|
+
throw new Error("field order must be bigint");
|
|
188
|
+
const n = t.toString(2).length;
|
|
189
|
+
return Math.ceil(n / 8);
|
|
190
|
+
}
|
|
191
|
+
function U(t) {
|
|
192
|
+
const n = O(t);
|
|
193
|
+
return n + Math.ceil(n / 2);
|
|
194
|
+
}
|
|
195
|
+
function D(t, n, o = !1) {
|
|
196
|
+
const r = t.length, s = O(n), l = U(n);
|
|
197
|
+
if (r < 16 || r < l || r > 1024)
|
|
198
|
+
throw new Error("expected " + l + "-1024 bytes of input, got " + r);
|
|
199
|
+
const u = o ? S(t) : x(t), c = w(u, n - f) + f;
|
|
200
|
+
return o ? I(c, s) : y(c, s);
|
|
187
201
|
}
|
|
188
202
|
export {
|
|
189
|
-
|
|
190
|
-
k as
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
b as isBytes,
|
|
204
|
-
W as memoized,
|
|
205
|
-
T as numberToBytesBE,
|
|
206
|
-
C as numberToBytesLE,
|
|
207
|
-
F as numberToHexUnpadded,
|
|
208
|
-
P as validateObject
|
|
203
|
+
J as Field,
|
|
204
|
+
k as FpInvertBatch,
|
|
205
|
+
N as FpLegendre,
|
|
206
|
+
Y as FpPow,
|
|
207
|
+
Q as FpSqrt,
|
|
208
|
+
O as getFieldBytesLength,
|
|
209
|
+
U as getMinHashLength,
|
|
210
|
+
B as invert,
|
|
211
|
+
D as mapHashToField,
|
|
212
|
+
w as mod,
|
|
213
|
+
G as nLength,
|
|
214
|
+
$ as pow2,
|
|
215
|
+
K as tonelliShanks,
|
|
216
|
+
P as validateField
|
|
209
217
|
};
|
package/dist/index220.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index224.cjs");/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function s(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function u(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function f(t,...e){if(!s(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function h(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");u(t.outputLen),u(t.blockLen)}function g(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function b(t,e){f(t);const r=e.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function d(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function m(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function B(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function x(t,e){return t<<32-e|t>>>e}const a=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function y(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function p(t){for(let e=0;e<t.length;e++)t[e]=y(t[e]);return t}const E=a?t=>t:p;function l(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function w(t){return typeof t=="string"&&(t=l(t)),f(t),t}function A(...t){let e=0;for(let n=0;n<t.length;n++){const i=t[n];f(i),e+=i.length}const r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){const c=t[n];r.set(c,i),i+=c.length}return r}class U{}function L(t){const e=n=>t().update(w(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function H(t=32){if(o.crypto&&typeof o.crypto.getRandomValues=="function")return o.crypto.getRandomValues(new Uint8Array(t));if(o.crypto&&typeof o.crypto.randomBytes=="function")return Uint8Array.from(o.crypto.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}exports.Hash=U;exports.abytes=f;exports.aexists=g;exports.ahash=h;exports.anumber=u;exports.aoutput=b;exports.byteSwap=y;exports.byteSwap32=p;exports.clean=m;exports.concatBytes=A;exports.createHasher=L;exports.createView=B;exports.isBytes=s;exports.isLE=a;exports.randomBytes=H;exports.rotr=x;exports.swap32IfBE=E;exports.toBytes=w;exports.u32=d;exports.utf8ToBytes=l;
|