@gardenfi/utils 2.0.6 → 2.1.0

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.
Files changed (234) hide show
  1. package/dist/index.cjs +1 -1
  2. package/dist/index.js +22 -20
  3. package/dist/index10.cjs +1 -1
  4. package/dist/index10.js +37 -19
  5. package/dist/index100.cjs +1 -1
  6. package/dist/index100.js +77 -126
  7. package/dist/index101.cjs +1 -1
  8. package/dist/index101.js +17 -111
  9. package/dist/index102.cjs +1 -1
  10. package/dist/index102.js +10 -77
  11. package/dist/index103.cjs +1 -1
  12. package/dist/index103.js +20 -2
  13. package/dist/index104.cjs +1 -1
  14. package/dist/index104.js +11 -16
  15. package/dist/index105.cjs +1 -1
  16. package/dist/index105.js +38 -18
  17. package/dist/index106.cjs +1 -1
  18. package/dist/index106.js +5 -17
  19. package/dist/index107.cjs +1 -1
  20. package/dist/index107.js +10 -223
  21. package/dist/index108.cjs +1 -2
  22. package/dist/index108.js +2 -3
  23. package/dist/index109.cjs +1 -1
  24. package/dist/index109.js +18 -32
  25. package/dist/index11.cjs +1 -1
  26. package/dist/index11.js +19 -134
  27. package/dist/index110.cjs +1 -1
  28. package/dist/index110.js +126 -17
  29. package/dist/index111.cjs +1 -1
  30. package/dist/index111.js +6 -69
  31. package/dist/index112.cjs +1 -1
  32. package/dist/index112.js +2 -68
  33. package/dist/index113.cjs +1 -1
  34. package/dist/index113.js +38 -2
  35. package/dist/index114.cjs +1 -1
  36. package/dist/index114.js +5 -41
  37. package/dist/index115.cjs +2 -1
  38. package/dist/index115.js +3 -644
  39. package/dist/index116.cjs +1 -1
  40. package/dist/index116.js +15 -228
  41. package/dist/index117.cjs +1 -1
  42. package/dist/index117.js +624 -153
  43. package/dist/index118.cjs +1 -0
  44. package/dist/index118.js +175 -0
  45. package/dist/index12.cjs +1 -1
  46. package/dist/index12.js +136 -10
  47. package/dist/index13.cjs +1 -1
  48. package/dist/index13.js +15 -2
  49. package/dist/index14.cjs +1 -1
  50. package/dist/index14.js +2 -34
  51. package/dist/index15.cjs +1 -1
  52. package/dist/index15.js +32 -17
  53. package/dist/index16.cjs +1 -1
  54. package/dist/index16.js +14 -183
  55. package/dist/index17.cjs +1 -1
  56. package/dist/index17.js +187 -92
  57. package/dist/index18.cjs +1 -1
  58. package/dist/index18.js +92 -34
  59. package/dist/index19.cjs +1 -1
  60. package/dist/index19.js +36 -32
  61. package/dist/index20.cjs +1 -16
  62. package/dist/index20.js +30 -113
  63. package/dist/index21.cjs +1 -1
  64. package/dist/index21.js +18 -17
  65. package/dist/index22.cjs +16 -1
  66. package/dist/index22.js +113 -17
  67. package/dist/index23.cjs +1 -1
  68. package/dist/index23.js +17 -7
  69. package/dist/index24.cjs +1 -1
  70. package/dist/index24.js +6 -44
  71. package/dist/index25.cjs +1 -1
  72. package/dist/index25.js +45 -21
  73. package/dist/index26.cjs +1 -1
  74. package/dist/index26.js +21 -8
  75. package/dist/index27.cjs +1 -1
  76. package/dist/index27.js +8 -31
  77. package/dist/index28.cjs +1 -1
  78. package/dist/index28.js +31 -26
  79. package/dist/index29.cjs +1 -2
  80. package/dist/index29.js +25 -64
  81. package/dist/index30.cjs +2 -1
  82. package/dist/index30.js +64 -50
  83. package/dist/index31.cjs +1 -1
  84. package/dist/index31.js +51 -12
  85. package/dist/index32.cjs +1 -1
  86. package/dist/index32.js +12 -24
  87. package/dist/index33.cjs +1 -1
  88. package/dist/index33.js +24 -75
  89. package/dist/index34.cjs +1 -1
  90. package/dist/index34.js +74 -22
  91. package/dist/index35.cjs +1 -1
  92. package/dist/index35.js +23 -7
  93. package/dist/index36.cjs +1 -1
  94. package/dist/index36.js +7 -32
  95. package/dist/index37.cjs +1 -1
  96. package/dist/index37.js +31 -14
  97. package/dist/index38.cjs +1 -1
  98. package/dist/index38.js +16 -2
  99. package/dist/index39.cjs +1 -1
  100. package/dist/index39.js +2 -9
  101. package/dist/index4.cjs +1 -1
  102. package/dist/index4.js +2 -2
  103. package/dist/index40.cjs +1 -1
  104. package/dist/index40.js +8 -20
  105. package/dist/index41.cjs +1 -1
  106. package/dist/index41.js +20 -12
  107. package/dist/index42.cjs +1 -1
  108. package/dist/index42.js +40 -33
  109. package/dist/index43.cjs +1 -2
  110. package/dist/index43.js +24 -58
  111. package/dist/index44.cjs +1 -1
  112. package/dist/index44.js +7 -2
  113. package/dist/index45.cjs +1 -1
  114. package/dist/index45.js +13 -6
  115. package/dist/index46.cjs +1 -1
  116. package/dist/index46.js +15 -6
  117. package/dist/index47.cjs +1 -1
  118. package/dist/index47.js +5 -4
  119. package/dist/index48.cjs +1 -1
  120. package/dist/index48.js +13 -11
  121. package/dist/index49.cjs +1 -5
  122. package/dist/index49.js +10 -56
  123. package/dist/index50.cjs +1 -2
  124. package/dist/index50.js +10 -32
  125. package/dist/index51.cjs +1 -1
  126. package/dist/index51.js +11 -5
  127. package/dist/index52.cjs +1 -1
  128. package/dist/index52.js +13 -3
  129. package/dist/index53.cjs +1 -1
  130. package/dist/index53.js +54 -20
  131. package/dist/index54.cjs +1 -1
  132. package/dist/index54.js +16 -12
  133. package/dist/index55.cjs +1 -1
  134. package/dist/index55.js +5 -55
  135. package/dist/index56.cjs +1 -1
  136. package/dist/index56.js +4 -4
  137. package/dist/index57.cjs +1 -1
  138. package/dist/index57.js +169 -19
  139. package/dist/index58.cjs +1 -1
  140. package/dist/index58.js +103 -11
  141. package/dist/index59.cjs +1 -1
  142. package/dist/index59.js +21 -8
  143. package/dist/index6.cjs +1 -1
  144. package/dist/index6.js +40 -22
  145. package/dist/index60.cjs +1 -1
  146. package/dist/index60.js +11 -9
  147. package/dist/index61.cjs +1 -1
  148. package/dist/index61.js +34 -11
  149. package/dist/index62.cjs +1 -1
  150. package/dist/index62.js +8 -6
  151. package/dist/index63.cjs +2 -1
  152. package/dist/index63.js +59 -13
  153. package/dist/index64.cjs +1 -1
  154. package/dist/index64.js +2 -33
  155. package/dist/index65.cjs +1 -1
  156. package/dist/index65.js +6 -14
  157. package/dist/index66.cjs +1 -1
  158. package/dist/index66.js +6 -64
  159. package/dist/index67.cjs +1 -1
  160. package/dist/index67.js +4 -27
  161. package/dist/index68.cjs +1 -1
  162. package/dist/index68.js +12 -3
  163. package/dist/index69.cjs +1 -1
  164. package/dist/index69.js +3 -3
  165. package/dist/index7.cjs +1 -1
  166. package/dist/index7.js +24 -2
  167. package/dist/index70.cjs +5 -1
  168. package/dist/index70.js +56 -13
  169. package/dist/index71.cjs +2 -1
  170. package/dist/index71.js +33 -40
  171. package/dist/index72.cjs +1 -1
  172. package/dist/index72.js +5 -5
  173. package/dist/index73.cjs +1 -1
  174. package/dist/index73.js +21 -8
  175. package/dist/index74.cjs +1 -1
  176. package/dist/index74.js +8 -103
  177. package/dist/index75.cjs +1 -1
  178. package/dist/index75.js +9 -190
  179. package/dist/index76.cjs +1 -1
  180. package/dist/index76.js +11 -18
  181. package/dist/index77.cjs +1 -1
  182. package/dist/index77.js +6 -11
  183. package/dist/index78.cjs +1 -1
  184. package/dist/index78.js +13 -19
  185. package/dist/index79.cjs +1 -1
  186. package/dist/index79.js +31 -11
  187. package/dist/index8.cjs +1 -1
  188. package/dist/index8.js +2 -100
  189. package/dist/index80.cjs +1 -1
  190. package/dist/index80.js +14 -25
  191. package/dist/index81.cjs +1 -1
  192. package/dist/index81.js +64 -6
  193. package/dist/index82.cjs +1 -1
  194. package/dist/index82.js +27 -13
  195. package/dist/index83.cjs +1 -1
  196. package/dist/index83.js +3 -16
  197. package/dist/index84.cjs +1 -1
  198. package/dist/index84.js +3 -5
  199. package/dist/index85.cjs +1 -1
  200. package/dist/index85.js +8 -13
  201. package/dist/index86.cjs +1 -1
  202. package/dist/index86.js +190 -9
  203. package/dist/index87.cjs +1 -1
  204. package/dist/index87.js +18 -16
  205. package/dist/index88.cjs +1 -1
  206. package/dist/index88.js +39 -170
  207. package/dist/index89.cjs +1 -1
  208. package/dist/index89.js +30 -34
  209. package/dist/index9.cjs +1 -1
  210. package/dist/index9.js +105 -34
  211. package/dist/index90.cjs +1 -1
  212. package/dist/index90.js +69 -8
  213. package/dist/index91.cjs +1 -1
  214. package/dist/index91.js +113 -5
  215. package/dist/index92.cjs +1 -1
  216. package/dist/index92.js +67 -10
  217. package/dist/index93.cjs +1 -1
  218. package/dist/index93.js +2 -2
  219. package/dist/index94.cjs +1 -1
  220. package/dist/index94.js +15 -103
  221. package/dist/index95.cjs +1 -1
  222. package/dist/index95.js +218 -37
  223. package/dist/index96.cjs +1 -1
  224. package/dist/index96.js +227 -16
  225. package/dist/index97.cjs +1 -1
  226. package/dist/index97.js +42 -6
  227. package/dist/index98.cjs +1 -1
  228. package/dist/index98.js +105 -5
  229. package/dist/index99.cjs +1 -1
  230. package/dist/index99.js +16 -36
  231. package/dist/src/index.d.ts +1 -0
  232. package/dist/src/lib/auth/siwe/siwe.d.ts +3 -2
  233. package/dist/src/lib/digestKey/digestKey.d.ts +12 -0
  234. package/package.json +4 -1
package/dist/index91.js CHANGED
@@ -1,7 +1,115 @@
1
- const e = {
2
- ether: -9,
3
- wei: 9
4
- };
1
+ import { HashMD as m, Chi as p, Maj as u } from "./index92.js";
2
+ import { wrapConstructor as D, rotr as i } from "./index90.js";
3
+ const g = /* @__PURE__ */ new Uint32Array([
4
+ 1116352408,
5
+ 1899447441,
6
+ 3049323471,
7
+ 3921009573,
8
+ 961987163,
9
+ 1508970993,
10
+ 2453635748,
11
+ 2870763221,
12
+ 3624381080,
13
+ 310598401,
14
+ 607225278,
15
+ 1426881987,
16
+ 1925078388,
17
+ 2162078206,
18
+ 2614888103,
19
+ 3248222580,
20
+ 3835390401,
21
+ 4022224774,
22
+ 264347078,
23
+ 604807628,
24
+ 770255983,
25
+ 1249150122,
26
+ 1555081692,
27
+ 1996064986,
28
+ 2554220882,
29
+ 2821834349,
30
+ 2952996808,
31
+ 3210313671,
32
+ 3336571891,
33
+ 3584528711,
34
+ 113926993,
35
+ 338241895,
36
+ 666307205,
37
+ 773529912,
38
+ 1294757372,
39
+ 1396182291,
40
+ 1695183700,
41
+ 1986661051,
42
+ 2177026350,
43
+ 2456956037,
44
+ 2730485921,
45
+ 2820302411,
46
+ 3259730800,
47
+ 3345764771,
48
+ 3516065817,
49
+ 3600352804,
50
+ 4094571909,
51
+ 275423344,
52
+ 430227734,
53
+ 506948616,
54
+ 659060556,
55
+ 883997877,
56
+ 958139571,
57
+ 1322822218,
58
+ 1537002063,
59
+ 1747873779,
60
+ 1955562222,
61
+ 2024104815,
62
+ 2227730452,
63
+ 2361852424,
64
+ 2428436474,
65
+ 2756734187,
66
+ 3204031479,
67
+ 3329325298
68
+ ]), b = /* @__PURE__ */ new Uint32Array([
69
+ 1779033703,
70
+ 3144134277,
71
+ 1013904242,
72
+ 2773480762,
73
+ 1359893119,
74
+ 2600822924,
75
+ 528734635,
76
+ 1541459225
77
+ ]), h = /* @__PURE__ */ new Uint32Array(64);
78
+ class w extends m {
79
+ constructor() {
80
+ super(64, 32, 8, !1), this.A = b[0] | 0, this.B = b[1] | 0, this.C = b[2] | 0, this.D = b[3] | 0, this.E = b[4] | 0, this.F = b[5] | 0, this.G = b[6] | 0, this.H = b[7] | 0;
81
+ }
82
+ get() {
83
+ const { A: d, B: o, C: t, D: s, E: a, F: f, G: c, H: e } = this;
84
+ return [d, o, t, s, a, f, c, e];
85
+ }
86
+ // prettier-ignore
87
+ set(d, o, t, s, a, f, c, e) {
88
+ this.A = d | 0, this.B = o | 0, this.C = t | 0, this.D = s | 0, this.E = a | 0, this.F = f | 0, this.G = c | 0, this.H = e | 0;
89
+ }
90
+ process(d, o) {
91
+ for (let x = 0; x < 16; x++, o += 4)
92
+ h[x] = d.getUint32(o, !1);
93
+ for (let x = 16; x < 64; x++) {
94
+ const A = h[x - 15], n = h[x - 2], C = i(A, 7) ^ i(A, 18) ^ A >>> 3, H = i(n, 17) ^ i(n, 19) ^ n >>> 10;
95
+ h[x] = H + h[x - 7] + C + h[x - 16] | 0;
96
+ }
97
+ let { A: t, B: s, C: a, D: f, E: c, F: e, G: r, H: l } = this;
98
+ for (let x = 0; x < 64; x++) {
99
+ const A = i(c, 6) ^ i(c, 11) ^ i(c, 25), n = l + A + p(c, e, r) + g[x] + h[x] | 0, H = (i(t, 2) ^ i(t, 13) ^ i(t, 22)) + u(t, s, a) | 0;
100
+ l = r, r = e, e = c, c = f + n | 0, f = a, a = s, s = t, t = n + H | 0;
101
+ }
102
+ t = t + this.A | 0, s = s + this.B | 0, a = a + this.C | 0, f = f + this.D | 0, c = c + this.E | 0, e = e + this.F | 0, r = r + this.G | 0, l = l + this.H | 0, this.set(t, s, a, f, c, e, r, l);
103
+ }
104
+ roundClean() {
105
+ h.fill(0);
106
+ }
107
+ destroy() {
108
+ this.set(0, 0, 0, 0, 0, 0, 0, 0), this.buffer.fill(0);
109
+ }
110
+ }
111
+ const G = /* @__PURE__ */ D(() => new w());
5
112
  export {
6
- e as gweiUnits
113
+ w as SHA256,
114
+ G as sha256
7
115
  };
package/dist/index92.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function o(r,i){let t=r.toString();const n=t.startsWith("-");n&&(t=t.slice(1)),t=t.padStart(i,"0");let[l,e]=[t.slice(0,t.length-i),t.slice(t.length-i)];return e=e.replace(/(0+)$/,""),`${n?"-":""}${l||"0"}${e?`.${e}`:""}`}exports.formatUnits=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("./index89.cjs"),c=require("./index90.cjs");function a(o,t,s,i){if(typeof o.setBigUint64=="function")return o.setBigUint64(t,s,i);const n=BigInt(32),r=BigInt(4294967295),e=Number(s>>n&r),h=Number(s&r),u=i?4:0,l=i?0:4;o.setUint32(t+u,e,i),o.setUint32(t+l,h,i)}function d(o,t,s){return o&t^~o&s}function b(o,t,s){return o&t^o&s^t&s}class w extends c.Hash{constructor(t,s,i,n){super(),this.blockLen=t,this.outputLen=s,this.padOffset=i,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=c.createView(this.buffer)}update(t){p.aexists(this);const{view:s,buffer:i,blockLen:n}=this;t=c.toBytes(t);const r=t.length;for(let e=0;e<r;){const h=Math.min(n-this.pos,r-e);if(h===n){const u=c.createView(t);for(;n<=r-e;e+=n)this.process(u,e);continue}i.set(t.subarray(e,e+h),this.pos),this.pos+=h,e+=h,this.pos===n&&(this.process(s,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){p.aexists(this),p.aoutput(t,this),this.finished=!0;const{buffer:s,view:i,blockLen:n,isLE:r}=this;let{pos:e}=this;s[e++]=128,this.buffer.subarray(e).fill(0),this.padOffset>n-e&&(this.process(i,0),e=0);for(let f=e;f<n;f++)s[f]=0;a(i,n-8,BigInt(this.length*8),r),this.process(i,0);const h=c.createView(t),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=u/4,g=this.get();if(l>g.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<l;f++)h.setUint32(4*f,g[f],r)}digest(){const{buffer:t,outputLen:s}=this;this.digestInto(t);const i=t.slice(0,s);return this.destroy(),i}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:s,buffer:i,length:n,finished:r,destroyed:e,pos:h}=this;return t.length=n,t.pos=h,t.finished=r,t.destroyed=e,n%s&&t.buffer.set(i),t}}exports.Chi=d;exports.HashMD=w;exports.Maj=b;exports.setBigUint64=a;
package/dist/index92.js CHANGED
@@ -1,13 +1,70 @@
1
- function a(r, n) {
2
- let t = r.toString();
3
- const i = t.startsWith("-");
4
- i && (t = t.slice(1)), t = t.padStart(n, "0");
5
- let [l, e] = [
6
- t.slice(0, t.length - n),
7
- t.slice(t.length - n)
8
- ];
9
- return e = e.replace(/(0+)$/, ""), `${i ? "-" : ""}${l || "0"}${e ? `.${e}` : ""}`;
1
+ import { aexists as g, aoutput as d } from "./index89.js";
2
+ import { Hash as b, createView as p, toBytes as a } from "./index90.js";
3
+ function w(o, t, s, i) {
4
+ if (typeof o.setBigUint64 == "function")
5
+ return o.setBigUint64(t, s, i);
6
+ const n = BigInt(32), h = BigInt(4294967295), e = Number(s >> n & h), r = Number(s & h), u = i ? 4 : 0, c = i ? 0 : 4;
7
+ o.setUint32(t + u, e, i), o.setUint32(t + c, r, i);
8
+ }
9
+ function B(o, t, s) {
10
+ return o & t ^ ~o & s;
11
+ }
12
+ function L(o, t, s) {
13
+ return o & t ^ o & s ^ t & s;
14
+ }
15
+ class U extends b {
16
+ constructor(t, s, i, n) {
17
+ super(), this.blockLen = t, this.outputLen = s, this.padOffset = i, this.isLE = n, this.finished = !1, this.length = 0, this.pos = 0, this.destroyed = !1, this.buffer = new Uint8Array(t), this.view = p(this.buffer);
18
+ }
19
+ update(t) {
20
+ g(this);
21
+ const { view: s, buffer: i, blockLen: n } = this;
22
+ t = a(t);
23
+ const h = t.length;
24
+ for (let e = 0; e < h; ) {
25
+ const r = Math.min(n - this.pos, h - e);
26
+ if (r === n) {
27
+ const u = p(t);
28
+ for (; n <= h - e; e += n)
29
+ this.process(u, e);
30
+ continue;
31
+ }
32
+ i.set(t.subarray(e, e + r), this.pos), this.pos += r, e += r, this.pos === n && (this.process(s, 0), this.pos = 0);
33
+ }
34
+ return this.length += t.length, this.roundClean(), this;
35
+ }
36
+ digestInto(t) {
37
+ g(this), d(t, this), this.finished = !0;
38
+ const { buffer: s, view: i, blockLen: n, isLE: h } = this;
39
+ let { pos: e } = this;
40
+ s[e++] = 128, this.buffer.subarray(e).fill(0), this.padOffset > n - e && (this.process(i, 0), e = 0);
41
+ for (let f = e; f < n; f++)
42
+ s[f] = 0;
43
+ w(i, n - 8, BigInt(this.length * 8), h), this.process(i, 0);
44
+ const r = p(t), u = this.outputLen;
45
+ if (u % 4)
46
+ throw new Error("_sha2: outputLen should be aligned to 32bit");
47
+ const c = u / 4, l = this.get();
48
+ if (c > l.length)
49
+ throw new Error("_sha2: outputLen bigger than state");
50
+ for (let f = 0; f < c; f++)
51
+ r.setUint32(4 * f, l[f], h);
52
+ }
53
+ digest() {
54
+ const { buffer: t, outputLen: s } = this;
55
+ this.digestInto(t);
56
+ const i = t.slice(0, s);
57
+ return this.destroy(), i;
58
+ }
59
+ _cloneInto(t) {
60
+ t || (t = new this.constructor()), t.set(...this.get());
61
+ const { blockLen: s, buffer: i, length: n, finished: h, destroyed: e, pos: r } = this;
62
+ return t.length = n, t.pos = r, t.finished = h, t.destroyed = e, n % s && t.buffer.set(i), t;
63
+ }
10
64
  }
11
65
  export {
12
- a as formatUnits
66
+ B as Chi,
67
+ U as HashMD,
68
+ L as Maj,
69
+ w as setBigUint64
13
70
  };
package/dist/index93.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=2n**256n-1n;exports.maxUint256=t;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;exports.crypto=o;
package/dist/index93.js CHANGED
@@ -1,4 +1,4 @@
1
- const n = 2n ** 256n - 1n;
1
+ const o = typeof globalThis == "object" && "crypto" in globalThis ? globalThis.crypto : void 0;
2
2
  export {
3
- n as maxUint256
3
+ o as crypto
4
4
  };
package/dist/index94.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./index109.cjs"),f=require("./index110.cjs"),c=require("./index111.cjs"),I=[],O=[],w=[],B=BigInt(0),a=BigInt(1),A=BigInt(2),S=BigInt(7),H=BigInt(256),T=BigInt(113);for(let i=0,t=a,s=1,n=0;i<24;i++){[s,n]=[n,(2*s+3*n)%5],I.push(2*(5*n+s)),O.push((i+1)*(i+2)/2%64);let o=B;for(let r=0;r<7;r++)t=(t<<a^(t>>S)*T)%H,t&A&&(o^=a<<(a<<BigInt(r))-a);w.push(o)}const[m,E]=f.split(w,!0),y=(i,t,s)=>s>32?f.rotlBH(i,t,s):f.rotlSH(i,t,s),b=(i,t,s)=>s>32?f.rotlBL(i,t,s):f.rotlSL(i,t,s);function L(i,t=24){const s=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let e=0;e<10;e++)s[e]=i[e]^i[e+10]^i[e+20]^i[e+30]^i[e+40];for(let e=0;e<10;e+=2){const h=(e+8)%10,p=(e+2)%10,d=s[p],u=s[p+1],_=y(d,u,1)^s[h],g=b(d,u,1)^s[h+1];for(let k=0;k<50;k+=10)i[e+k]^=_,i[e+k+1]^=g}let o=i[2],r=i[3];for(let e=0;e<24;e++){const h=O[e],p=y(o,r,h),d=b(o,r,h),u=I[e];o=i[u],r=i[u+1],i[u]=p,i[u+1]=d}for(let e=0;e<50;e+=10){for(let h=0;h<10;h++)s[h]=i[e+h];for(let h=0;h<10;h++)i[e+h]^=~s[(h+2)%10]&s[(h+4)%10]}i[0]^=m[n],i[1]^=E[n]}s.fill(0)}class x extends c.Hash{constructor(t,s,n,o=!1,r=24){if(super(),this.blockLen=t,this.suffix=s,this.outputLen=n,this.enableXOF=o,this.rounds=r,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,l.anumber(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=c.u32(this.state)}keccak(){c.isLE||c.byteSwap32(this.state32),L(this.state32,this.rounds),c.isLE||c.byteSwap32(this.state32),this.posOut=0,this.pos=0}update(t){l.aexists(this);const{blockLen:s,state:n}=this;t=c.toBytes(t);const o=t.length;for(let r=0;r<o;){const e=Math.min(s-this.pos,o-r);for(let h=0;h<e;h++)n[this.pos++]^=t[r++];this.pos===s&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:s,pos:n,blockLen:o}=this;t[n]^=s,s&128&&n===o-1&&this.keccak(),t[o-1]^=128,this.keccak()}writeInto(t){l.aexists(this,!1),l.abytes(t),this.finish();const s=this.state,{blockLen:n}=this;for(let o=0,r=t.length;o<r;){this.posOut>=n&&this.keccak();const e=Math.min(n-this.posOut,r-o);t.set(s.subarray(this.posOut,this.posOut+e),o),this.posOut+=e,o+=e}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return l.anumber(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(l.aoutput(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:s,suffix:n,outputLen:o,rounds:r,enableXOF:e}=this;return t||(t=new x(s,n,o,e,r)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=r,t.suffix=n,t.outputLen=o,t.enableXOF=e,t.destroyed=this.destroyed,t}}const F=(i,t,s)=>c.wrapConstructor(()=>new x(t,i,s)),P=F(1,136,256/8);exports.Keccak=x;exports.keccakP=L;exports.keccak_256=P;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index88.cjs"),s=require("./index90.cjs"),o=require("./index117.cjs");/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function c(e){return{hash:e,hmac:(r,...t)=>a.hmac(e,r,s.concatBytes(...t)),randomBytes:s.randomBytes}}function u(e,r){const t=n=>o.weierstrass({...e,...c(n)});return{...t(r),create:t}}exports.createCurve=u;exports.getHash=c;
package/dist/index94.js CHANGED
@@ -1,107 +1,19 @@
1
- import { anumber as d, aexists as k, abytes as B, aoutput as A } from "./index109.js";
2
- import { split as H, rotlBH as m, rotlSH as S, rotlBL as T, rotlSL as F } from "./index110.js";
3
- import { wrapConstructor as X, Hash as E, u32 as U, isLE as x, byteSwap32 as I, toBytes as P } from "./index111.js";
4
- const y = [], L = [], b = [], M = /* @__PURE__ */ BigInt(0), f = /* @__PURE__ */ BigInt(1), R = /* @__PURE__ */ BigInt(2), j = /* @__PURE__ */ BigInt(7), C = /* @__PURE__ */ BigInt(256), q = /* @__PURE__ */ BigInt(113);
5
- for (let e = 0, t = f, s = 1, n = 0; e < 24; e++) {
6
- [s, n] = [n, (2 * s + 3 * n) % 5], y.push(2 * (5 * n + s)), L.push((e + 1) * (e + 2) / 2 % 64);
7
- let o = M;
8
- for (let r = 0; r < 7; r++)
9
- t = (t << f ^ (t >> j) * q) % C, t & R && (o ^= f << (f << /* @__PURE__ */ BigInt(r)) - f);
10
- b.push(o);
1
+ import { hmac as c } from "./index88.js";
2
+ import { randomBytes as m, concatBytes as n } from "./index90.js";
3
+ import { weierstrass as a } from "./index117.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
11
  }
12
- const [v, z] = /* @__PURE__ */ H(b, !0), O = (e, t, s) => s > 32 ? m(e, t, s) : S(e, t, s), w = (e, t, s) => s > 32 ? T(e, t, s) : F(e, t, s);
13
- function D(e, t = 24) {
14
- const s = new Uint32Array(10);
15
- for (let n = 24 - t; n < 24; n++) {
16
- for (let i = 0; i < 10; i++)
17
- s[i] = e[i] ^ e[i + 10] ^ e[i + 20] ^ e[i + 30] ^ e[i + 40];
18
- for (let i = 0; i < 10; i += 2) {
19
- const h = (i + 8) % 10, l = (i + 2) % 10, u = s[l], c = s[l + 1], _ = O(u, c, 1) ^ s[h], g = w(u, c, 1) ^ s[h + 1];
20
- for (let a = 0; a < 50; a += 10)
21
- e[i + a] ^= _, e[i + a + 1] ^= g;
22
- }
23
- let o = e[2], r = e[3];
24
- for (let i = 0; i < 24; i++) {
25
- const h = L[i], l = O(o, r, h), u = w(o, r, h), c = y[i];
26
- o = e[c], r = e[c + 1], e[c] = l, e[c + 1] = u;
27
- }
28
- for (let i = 0; i < 50; i += 10) {
29
- for (let h = 0; h < 10; h++)
30
- s[h] = e[i + h];
31
- for (let h = 0; h < 10; h++)
32
- e[i + h] ^= ~s[(h + 2) % 10] & s[(h + 4) % 10];
33
- }
34
- e[0] ^= v[n], e[1] ^= z[n];
35
- }
36
- s.fill(0);
12
+ function p(r, e) {
13
+ const t = (o) => a({ ...r, ...i(o) });
14
+ return { ...t(e), create: t };
37
15
  }
38
- class p extends E {
39
- // NOTE: we accept arguments in bytes instead of bits here.
40
- constructor(t, s, n, o = !1, r = 24) {
41
- if (super(), this.blockLen = t, this.suffix = s, this.outputLen = n, this.enableXOF = o, this.rounds = r, this.pos = 0, this.posOut = 0, this.finished = !1, this.destroyed = !1, d(n), 0 >= this.blockLen || this.blockLen >= 200)
42
- throw new Error("Sha3 supports only keccak-f1600 function");
43
- this.state = new Uint8Array(200), this.state32 = U(this.state);
44
- }
45
- keccak() {
46
- x || I(this.state32), D(this.state32, this.rounds), x || I(this.state32), this.posOut = 0, this.pos = 0;
47
- }
48
- update(t) {
49
- k(this);
50
- const { blockLen: s, state: n } = this;
51
- t = P(t);
52
- const o = t.length;
53
- for (let r = 0; r < o; ) {
54
- const i = Math.min(s - this.pos, o - r);
55
- for (let h = 0; h < i; h++)
56
- n[this.pos++] ^= t[r++];
57
- this.pos === s && this.keccak();
58
- }
59
- return this;
60
- }
61
- finish() {
62
- if (this.finished)
63
- return;
64
- this.finished = !0;
65
- const { state: t, suffix: s, pos: n, blockLen: o } = this;
66
- t[n] ^= s, s & 128 && n === o - 1 && this.keccak(), t[o - 1] ^= 128, this.keccak();
67
- }
68
- writeInto(t) {
69
- k(this, !1), B(t), this.finish();
70
- const s = this.state, { blockLen: n } = this;
71
- for (let o = 0, r = t.length; o < r; ) {
72
- this.posOut >= n && this.keccak();
73
- const i = Math.min(n - this.posOut, r - o);
74
- t.set(s.subarray(this.posOut, this.posOut + i), o), this.posOut += i, o += i;
75
- }
76
- return t;
77
- }
78
- xofInto(t) {
79
- if (!this.enableXOF)
80
- throw new Error("XOF is not possible for this instance");
81
- return this.writeInto(t);
82
- }
83
- xof(t) {
84
- return d(t), this.xofInto(new Uint8Array(t));
85
- }
86
- digestInto(t) {
87
- if (A(t, this), this.finished)
88
- throw new Error("digest() was already called");
89
- return this.writeInto(t), this.destroy(), t;
90
- }
91
- digest() {
92
- return this.digestInto(new Uint8Array(this.outputLen));
93
- }
94
- destroy() {
95
- this.destroyed = !0, this.state.fill(0);
96
- }
97
- _cloneInto(t) {
98
- const { blockLen: s, suffix: n, outputLen: o, rounds: r, enableXOF: i } = this;
99
- return t || (t = new p(s, n, o, i, r)), t.state32.set(this.state32), t.pos = this.pos, t.posOut = this.posOut, t.finished = this.finished, t.rounds = r, t.suffix = n, t.outputLen = o, t.enableXOF = i, t.destroyed = this.destroyed, t;
100
- }
101
- }
102
- const G = (e, t, s) => X(() => new p(t, e, s)), Q = /* @__PURE__ */ G(1, 136, 256 / 8);
103
16
  export {
104
- p as Keccak,
105
- D as keccakP,
106
- Q as keccak_256
17
+ p as createCurve,
18
+ i as getHash
107
19
  };
package/dist/index95.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index43.cjs"),u=require("./index100.cjs"),f=require("./index55.cjs"),g=require("./index24.cjs");function c(n,e="hex"){const i=o(n),s=u.createCursor(new Uint8Array(i.length));return i.encode(s),e==="hex"?g.bytesToHex(s.bytes):s.bytes}function o(n){return Array.isArray(n)?p(n.map(e=>o(e))):y(n)}function p(n){const e=n.reduce((t,h)=>t+h.length,0),i=l(e);return{length:e<=55?1+e:1+i+e,encode(t){e<=55?t.pushByte(192+e):(t.pushByte(247+i),i===1?t.pushUint8(e):i===2?t.pushUint16(e):i===3?t.pushUint24(e):t.pushUint32(e));for(const{encode:h}of n)h(t)}}}function y(n){const e=typeof n=="string"?f.hexToBytes(n):n,i=l(e.length);return{length:e.length===1&&e[0]<128?1:e.length<=55?1+e.length:1+i+e.length,encode(t){e.length===1&&e[0]<128?t.pushBytes(e):e.length<=55?(t.pushByte(128+e.length),t.pushBytes(e)):(t.pushByte(183+i),i===1?t.pushUint8(e.length):i===2?t.pushUint16(e.length):i===3?t.pushUint24(e.length):t.pushUint32(e.length),t.pushBytes(e))}}}function l(n){if(n<2**8)return 1;if(n<2**16)return 2;if(n<2**24)return 3;if(n<2**32)return 4;throw new r.BaseError("Length is too large.")}exports.toRlp=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index96.cjs");/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const d=BigInt(0),c=BigInt(1),w=BigInt(2),j=BigInt(3),E=BigInt(4),S=BigInt(5),I=BigInt(8);function g(t,i){const r=t%i;return r>=d?r:i+r}function L(t,i,r){if(i<d)throw new Error("invalid exponent, negatives unsupported");if(r<=d)throw new Error("invalid modulus");if(r===c)return d;let n=c;for(;i>d;)i&c&&(n=n*t%r),t=t*t%r,i>>=c;return n}function H(t,i,r){let n=t;for(;i-- >d;)n*=n,n%=r;return n}function m(t,i){if(t===d)throw new Error("invert: expected non-zero number");if(i<=d)throw new Error("invert: expected positive modulus, got "+i);let r=g(t,i),n=i,s=d,u=c;for(;r!==d;){const o=n/r,e=n%r,l=s-u*o;n=r,r=e,s=u,u=l}if(n!==c)throw new Error("invert: does not exist");return g(s,i)}function T(t){const i=(t-c)/w;let r,n,s;for(r=t-c,n=0;r%w===d;r/=w,n++);for(s=w;s<t&&L(s,i,t)!==t-c;s++)if(s>1e3)throw new Error("Cannot find square root: likely non-prime P");if(n===1){const f=(t+c)/E;return function(e,l){const h=e.pow(l,f);if(!e.eql(e.sqr(h),l))throw new Error("Cannot find square root");return h}}const u=(r+c)/w;return function(o,e){if(o.pow(e,i)===o.neg(o.ONE))throw new Error("Cannot find square root");let l=n,h=o.pow(o.mul(o.ONE,s),r),v=o.pow(e,u),q=o.pow(e,r);for(;!o.eql(q,o.ONE);){if(o.eql(q,o.ZERO))return o.ZERO;let b=1;for(let B=o.sqr(q);b<l&&!o.eql(B,o.ONE);b++)B=o.sqr(B);const y=o.pow(h,c<<BigInt(l-b-1));h=o.sqr(y),v=o.mul(v,y),q=o.mul(q,h),l=b}return v}}function x(t){if(t%E===j){const i=(t+c)/E;return function(n,s){const u=n.pow(s,i);if(!n.eql(n.sqr(u),s))throw new Error("Cannot find square root");return u}}if(t%I===S){const i=(t-S)/I;return function(n,s){const u=n.mul(s,w),f=n.pow(u,i),o=n.mul(s,f),e=n.mul(n.mul(o,w),f),l=n.mul(o,n.sub(e,n.ONE));if(!n.eql(n.sqr(l),s))throw new Error("Cannot find square root");return l}}return T(t)}const Z=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function k(t){const i={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=Z.reduce((n,s)=>(n[s]="function",n),i);return a.validateObject(t,r)}function M(t,i,r){if(r<d)throw new Error("invalid exponent, negatives unsupported");if(r===d)return t.ONE;if(r===c)return i;let n=t.ONE,s=i;for(;r>d;)r&c&&(n=t.mul(n,s)),s=t.sqr(s),r>>=c;return n}function _(t,i){const r=new Array(i.length),n=i.reduce((u,f,o)=>t.is0(f)?u:(r[o]=u,t.mul(u,f)),t.ONE),s=t.inv(n);return i.reduceRight((u,f,o)=>t.is0(f)?u:(r[o]=t.mul(u,r[o]),t.mul(u,f)),s),r}function p(t,i){const r=i!==void 0?i:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function z(t,i,r=!1,n={}){if(t<=d)throw new Error("invalid field: expected ORDER > 0, got "+t);const{nBitLength:s,nByteLength:u}=p(t,i);if(u>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let f;const o=Object.freeze({ORDER:t,isLE:r,BITS:s,BYTES:u,MASK:a.bitMask(s),ZERO:d,ONE:c,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&c)===c,neg:e=>g(-e,t),eql:(e,l)=>e===l,sqr:e=>g(e*e,t),add:(e,l)=>g(e+l,t),sub:(e,l)=>g(e-l,t),mul:(e,l)=>g(e*l,t),pow:(e,l)=>M(o,e,l),div:(e,l)=>g(e*m(l,t),t),sqrN:e=>e*e,addN:(e,l)=>e+l,subN:(e,l)=>e-l,mulN:(e,l)=>e*l,inv:e=>m(e,t),sqrt:n.sqrt||(e=>(f||(f=x(t)),f(o,e))),invertBatch:e=>_(o,e),cmov:(e,l,h)=>h?l:e,toBytes:e=>r?a.numberToBytesLE(e,u):a.numberToBytesBE(e,u),fromBytes:e=>{if(e.length!==u)throw new Error("Field.fromBytes: expected "+u+" bytes, got "+e.length);return r?a.bytesToNumberLE(e):a.bytesToNumberBE(e)}});return Object.freeze(o)}function N(t){if(typeof t!="bigint")throw new Error("field order must be bigint");const i=t.toString(2).length;return Math.ceil(i/8)}function C(t){const i=N(t);return i+Math.ceil(i/2)}function A(t,i,r=!1){const n=t.length,s=N(i),u=C(i);if(n<16||n<u||n>1024)throw new Error("expected "+u+"-1024 bytes of input, got "+n);const f=r?a.bytesToNumberLE(t):a.bytesToNumberBE(t),o=g(f,i-c)+c;return r?a.numberToBytesLE(o,s):a.numberToBytesBE(o,s)}exports.Field=z;exports.FpInvertBatch=_;exports.FpPow=M;exports.FpSqrt=x;exports.getFieldBytesLength=N;exports.getMinHashLength=C;exports.invert=m;exports.mapHashToField=A;exports.mod=g;exports.nLength=p;exports.pow=L;exports.pow2=H;exports.tonelliShanks=T;exports.validateField=k;
package/dist/index95.js CHANGED
@@ -1,45 +1,226 @@
1
- import { BaseError as l } from "./index43.js";
2
- import { createCursor as r } from "./index100.js";
3
- import { hexToBytes as g } from "./index55.js";
4
- import { bytesToHex as u } from "./index24.js";
5
- function m(n, e = "hex") {
6
- const i = s(n), h = r(new Uint8Array(i.length));
7
- return i.encode(h), e === "hex" ? u(h.bytes) : h.bytes;
8
- }
9
- function s(n) {
10
- return Array.isArray(n) ? p(n.map((e) => s(e))) : y(n);
11
- }
12
- function p(n) {
13
- const e = n.reduce((t, f) => t + f.length, 0), i = o(e);
14
- return {
15
- length: e <= 55 ? 1 + e : 1 + i + e,
16
- encode(t) {
17
- e <= 55 ? t.pushByte(192 + e) : (t.pushByte(247 + i), i === 1 ? t.pushUint8(e) : i === 2 ? t.pushUint16(e) : i === 3 ? t.pushUint24(e) : t.pushUint32(e));
18
- for (const { encode: f } of n)
19
- f(t);
1
+ import { numberToBytesLE as S, numberToBytesBE as x, bitMask as _, bytesToNumberLE as y, bytesToNumberBE as L, validateObject as M } from "./index96.js";
2
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
3
+ const d = BigInt(0), c = BigInt(1), w = /* @__PURE__ */ BigInt(2), C = /* @__PURE__ */ BigInt(3), b = /* @__PURE__ */ BigInt(4), N = /* @__PURE__ */ BigInt(5), m = /* @__PURE__ */ BigInt(8);
4
+ function g(t, i) {
5
+ const r = t % i;
6
+ return r >= d ? r : i + r;
7
+ }
8
+ function Z(t, i, r) {
9
+ if (i < d)
10
+ throw new Error("invalid exponent, negatives unsupported");
11
+ if (r <= d)
12
+ throw new Error("invalid modulus");
13
+ if (r === c)
14
+ return d;
15
+ let e = c;
16
+ for (; i > d; )
17
+ i & c && (e = e * t % r), t = t * t % r, i >>= c;
18
+ return e;
19
+ }
20
+ function V(t, i, r) {
21
+ let e = t;
22
+ for (; i-- > d; )
23
+ e *= e, e %= r;
24
+ return e;
25
+ }
26
+ function I(t, i) {
27
+ if (t === d)
28
+ throw new Error("invert: expected non-zero number");
29
+ if (i <= d)
30
+ throw new Error("invert: expected positive modulus, got " + i);
31
+ let r = g(t, i), e = i, s = d, u = c;
32
+ for (; r !== d; ) {
33
+ const o = e / r, n = e % r, l = s - u * o;
34
+ e = r, r = n, s = u, u = l;
35
+ }
36
+ if (e !== c)
37
+ throw new Error("invert: does not exist");
38
+ return g(s, i);
39
+ }
40
+ function j(t) {
41
+ const i = (t - c) / w;
42
+ let r, e, s;
43
+ for (r = t - c, e = 0; r % w === d; r /= w, e++)
44
+ ;
45
+ for (s = w; s < t && Z(s, i, t) !== t - c; s++)
46
+ if (s > 1e3)
47
+ throw new Error("Cannot find square root: likely non-prime P");
48
+ if (e === 1) {
49
+ const f = (t + c) / b;
50
+ return function(n, l) {
51
+ const h = n.pow(l, f);
52
+ if (!n.eql(n.sqr(h), l))
53
+ throw new Error("Cannot find square root");
54
+ return h;
55
+ };
56
+ }
57
+ const u = (r + c) / w;
58
+ return function(o, n) {
59
+ if (o.pow(n, i) === o.neg(o.ONE))
60
+ throw new Error("Cannot find square root");
61
+ let l = e, h = o.pow(o.mul(o.ONE, s), r), v = o.pow(n, u), a = o.pow(n, r);
62
+ for (; !o.eql(a, o.ONE); ) {
63
+ if (o.eql(a, o.ZERO))
64
+ return o.ZERO;
65
+ let q = 1;
66
+ for (let B = o.sqr(a); q < l && !o.eql(B, o.ONE); q++)
67
+ B = o.sqr(B);
68
+ const E = o.pow(h, c << BigInt(l - q - 1));
69
+ h = o.sqr(E), v = o.mul(v, E), a = o.mul(a, h), l = q;
20
70
  }
71
+ return v;
21
72
  };
22
73
  }
23
- function y(n) {
24
- const e = typeof n == "string" ? g(n) : n, i = o(e.length);
25
- return {
26
- length: e.length === 1 && e[0] < 128 ? 1 : e.length <= 55 ? 1 + e.length : 1 + i + e.length,
27
- encode(t) {
28
- e.length === 1 && e[0] < 128 ? t.pushBytes(e) : e.length <= 55 ? (t.pushByte(128 + e.length), t.pushBytes(e)) : (t.pushByte(183 + i), i === 1 ? t.pushUint8(e.length) : i === 2 ? t.pushUint16(e.length) : i === 3 ? t.pushUint24(e.length) : t.pushUint32(e.length), t.pushBytes(e));
74
+ function z(t) {
75
+ if (t % b === C) {
76
+ const i = (t + c) / b;
77
+ return function(e, s) {
78
+ const u = e.pow(s, i);
79
+ if (!e.eql(e.sqr(u), s))
80
+ throw new Error("Cannot find square root");
81
+ return u;
82
+ };
83
+ }
84
+ if (t % m === N) {
85
+ const i = (t - N) / m;
86
+ return function(e, s) {
87
+ const u = e.mul(s, w), f = e.pow(u, i), o = e.mul(s, f), n = e.mul(e.mul(o, w), f), l = e.mul(o, e.sub(n, e.ONE));
88
+ if (!e.eql(e.sqr(l), s))
89
+ throw new Error("Cannot find square root");
90
+ return l;
91
+ };
92
+ }
93
+ return j(t);
94
+ }
95
+ const A = [
96
+ "create",
97
+ "isValid",
98
+ "is0",
99
+ "neg",
100
+ "inv",
101
+ "sqrt",
102
+ "sqr",
103
+ "eql",
104
+ "add",
105
+ "sub",
106
+ "mul",
107
+ "pow",
108
+ "div",
109
+ "addN",
110
+ "subN",
111
+ "mulN",
112
+ "sqrN"
113
+ ];
114
+ function Y(t) {
115
+ const i = {
116
+ ORDER: "bigint",
117
+ MASK: "bigint",
118
+ BYTES: "isSafeInteger",
119
+ BITS: "isSafeInteger"
120
+ }, r = A.reduce((e, s) => (e[s] = "function", e), i);
121
+ return M(t, r);
122
+ }
123
+ function k(t, i, r) {
124
+ if (r < d)
125
+ throw new Error("invalid exponent, negatives unsupported");
126
+ if (r === d)
127
+ return t.ONE;
128
+ if (r === c)
129
+ return i;
130
+ let e = t.ONE, s = i;
131
+ for (; r > d; )
132
+ r & c && (e = t.mul(e, s)), s = t.sqr(s), r >>= c;
133
+ return e;
134
+ }
135
+ function H(t, i) {
136
+ const r = new Array(i.length), e = i.reduce((u, f, o) => t.is0(f) ? u : (r[o] = u, t.mul(u, f)), t.ONE), s = t.inv(e);
137
+ return i.reduceRight((u, f, o) => t.is0(f) ? u : (r[o] = t.mul(u, r[o]), t.mul(u, f)), s), r;
138
+ }
139
+ function K(t, i) {
140
+ const r = i !== void 0 ? i : t.toString(2).length, e = Math.ceil(r / 8);
141
+ return { nBitLength: r, nByteLength: e };
142
+ }
143
+ function p(t, i, r = !1, e = {}) {
144
+ if (t <= d)
145
+ throw new Error("invalid field: expected ORDER > 0, got " + t);
146
+ const { nBitLength: s, nByteLength: u } = K(t, i);
147
+ if (u > 2048)
148
+ throw new Error("invalid field: expected ORDER of <= 2048 bytes");
149
+ let f;
150
+ const o = Object.freeze({
151
+ ORDER: t,
152
+ isLE: r,
153
+ BITS: s,
154
+ BYTES: u,
155
+ MASK: _(s),
156
+ ZERO: d,
157
+ ONE: c,
158
+ create: (n) => g(n, t),
159
+ isValid: (n) => {
160
+ if (typeof n != "bigint")
161
+ throw new Error("invalid field element: expected bigint, got " + typeof n);
162
+ return d <= n && n < t;
163
+ },
164
+ is0: (n) => n === d,
165
+ isOdd: (n) => (n & c) === c,
166
+ neg: (n) => g(-n, t),
167
+ eql: (n, l) => n === l,
168
+ sqr: (n) => g(n * n, t),
169
+ add: (n, l) => g(n + l, t),
170
+ sub: (n, l) => g(n - l, t),
171
+ mul: (n, l) => g(n * l, t),
172
+ pow: (n, l) => k(o, n, l),
173
+ div: (n, l) => g(n * I(l, t), t),
174
+ // Same as above, but doesn't normalize
175
+ sqrN: (n) => n * n,
176
+ addN: (n, l) => n + l,
177
+ subN: (n, l) => n - l,
178
+ mulN: (n, l) => n * l,
179
+ inv: (n) => I(n, t),
180
+ sqrt: e.sqrt || ((n) => (f || (f = z(t)), f(o, n))),
181
+ invertBatch: (n) => H(o, n),
182
+ // TODO: do we really need constant cmov?
183
+ // We don't have const-time bigints anyway, so probably will be not very useful
184
+ cmov: (n, l, h) => h ? l : n,
185
+ toBytes: (n) => r ? S(n, u) : x(n, u),
186
+ fromBytes: (n) => {
187
+ if (n.length !== u)
188
+ throw new Error("Field.fromBytes: expected " + u + " bytes, got " + n.length);
189
+ return r ? y(n) : L(n);
29
190
  }
30
- };
191
+ });
192
+ return Object.freeze(o);
193
+ }
194
+ function T(t) {
195
+ if (typeof t != "bigint")
196
+ throw new Error("field order must be bigint");
197
+ const i = t.toString(2).length;
198
+ return Math.ceil(i / 8);
199
+ }
200
+ function O(t) {
201
+ const i = T(t);
202
+ return i + Math.ceil(i / 2);
31
203
  }
32
- function o(n) {
33
- if (n < 2 ** 8)
34
- return 1;
35
- if (n < 2 ** 16)
36
- return 2;
37
- if (n < 2 ** 24)
38
- return 3;
39
- if (n < 2 ** 32)
40
- return 4;
41
- throw new l("Length is too large.");
204
+ function G(t, i, r = !1) {
205
+ const e = t.length, s = T(i), u = O(i);
206
+ if (e < 16 || e < u || e > 1024)
207
+ throw new Error("expected " + u + "-1024 bytes of input, got " + e);
208
+ const f = r ? y(t) : L(t), o = g(f, i - c) + c;
209
+ return r ? S(o, s) : x(o, s);
42
210
  }
43
211
  export {
44
- m as toRlp
212
+ p as Field,
213
+ H as FpInvertBatch,
214
+ k as FpPow,
215
+ z as FpSqrt,
216
+ T as getFieldBytesLength,
217
+ O as getMinHashLength,
218
+ I as invert,
219
+ G as mapHashToField,
220
+ g as mod,
221
+ K as nLength,
222
+ Z as pow,
223
+ V as pow2,
224
+ j as tonelliShanks,
225
+ Y as validateField
45
226
  };