@coinbase/cdp-hooks 0.0.63 → 0.0.65

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 (294) hide show
  1. package/README.md +229 -0
  2. package/dist/esm/index.js +11 -9
  3. package/dist/esm/index10.js +1 -1
  4. package/dist/esm/index100.js +215 -32
  5. package/dist/esm/index101.js +32 -22
  6. package/dist/esm/index102.js +21 -5
  7. package/dist/esm/index103.js +5 -73
  8. package/dist/esm/index104.js +73 -5
  9. package/dist/esm/index105.js +4 -4
  10. package/dist/esm/index106.js +5 -35
  11. package/dist/esm/index107.js +29 -69
  12. package/dist/esm/index108.js +76 -3
  13. package/dist/esm/index109.js +3 -24
  14. package/dist/esm/index11.js +1 -1
  15. package/dist/esm/index110.js +16 -444
  16. package/dist/esm/index111.js +444 -23
  17. package/dist/esm/index112.js +24 -20
  18. package/dist/esm/index113.js +18 -25
  19. package/dist/esm/index114.js +31 -32
  20. package/dist/esm/index115.js +32 -191
  21. package/dist/esm/index116.js +191 -6
  22. package/dist/esm/index117.js +9 -2
  23. package/dist/esm/index118.js +2 -13
  24. package/dist/esm/index119.js +11 -17
  25. package/dist/esm/index12.js +1 -1
  26. package/dist/esm/index120.js +13 -22
  27. package/dist/esm/index121.js +27 -8
  28. package/dist/esm/index122.js +8 -55
  29. package/dist/esm/index123.js +50 -40
  30. package/dist/esm/index124.js +45 -8
  31. package/dist/esm/index125.js +8 -7
  32. package/dist/esm/index126.js +7 -16
  33. package/dist/esm/index127.js +16 -18
  34. package/dist/esm/index128.js +18 -24
  35. package/dist/esm/index129.js +24 -16
  36. package/dist/esm/index13.js +1 -1
  37. package/dist/esm/index130.js +16 -54
  38. package/dist/esm/index131.js +53 -10
  39. package/dist/esm/index132.js +11 -160
  40. package/dist/esm/index133.js +160 -21
  41. package/dist/esm/index134.js +21 -127
  42. package/dist/esm/index135.js +127 -38
  43. package/dist/esm/index136.js +38 -6
  44. package/dist/esm/index137.js +6 -27
  45. package/dist/esm/index138.js +27 -191
  46. package/dist/esm/index139.js +192 -4
  47. package/dist/esm/index14.js +4 -8
  48. package/dist/esm/index140.js +4 -65
  49. package/dist/esm/index141.js +65 -3
  50. package/dist/esm/index142.js +3 -21
  51. package/dist/esm/index143.js +19 -15
  52. package/dist/esm/index144.js +16 -23
  53. package/dist/esm/index145.js +23 -11
  54. package/dist/esm/index146.js +11 -34
  55. package/dist/esm/index147.js +35 -3
  56. package/dist/esm/index148.js +3 -19
  57. package/dist/esm/index149.js +18 -27
  58. package/dist/esm/index15.js +9 -34
  59. package/dist/esm/index150.js +25 -33
  60. package/dist/esm/index151.js +35 -7
  61. package/dist/esm/index152.js +7 -25
  62. package/dist/esm/index153.js +20 -23
  63. package/dist/esm/index154.js +27 -63
  64. package/dist/esm/index155.js +64 -9
  65. package/dist/esm/index156.js +9 -33
  66. package/dist/esm/index157.js +33 -27
  67. package/dist/esm/index158.js +26 -23
  68. package/dist/esm/index159.js +24 -3
  69. package/dist/esm/index16.js +33 -17
  70. package/dist/esm/index160.js +3 -14
  71. package/dist/esm/index161.js +14 -103
  72. package/dist/esm/index162.js +99 -60
  73. package/dist/esm/index163.js +64 -5
  74. package/dist/esm/index164.js +5 -6
  75. package/dist/esm/index165.js +6 -27
  76. package/dist/esm/index166.js +27 -38
  77. package/dist/esm/index167.js +38 -13
  78. package/dist/esm/index168.js +13 -42
  79. package/dist/esm/index169.js +42 -5
  80. package/dist/esm/index17.js +18 -12
  81. package/dist/esm/index170.js +5 -11
  82. package/dist/esm/index171.js +11 -19
  83. package/dist/esm/index172.js +18 -77
  84. package/dist/esm/index173.js +79 -2
  85. package/dist/esm/index174.js +2 -38
  86. package/dist/esm/index175.js +32 -105
  87. package/dist/esm/index176.js +105 -43
  88. package/dist/esm/index177.js +47 -31
  89. package/dist/esm/index178.js +32 -8
  90. package/dist/esm/index179.js +8 -6
  91. package/dist/esm/index18.js +11 -11
  92. package/dist/esm/index180.js +6 -6
  93. package/dist/esm/index181.js +6 -11
  94. package/dist/esm/index182.js +11 -10
  95. package/dist/esm/index183.js +10 -13
  96. package/dist/esm/index184.js +12 -31
  97. package/dist/esm/index185.js +33 -5
  98. package/dist/esm/index186.js +5 -9
  99. package/dist/esm/index187.js +8 -19
  100. package/dist/esm/index188.js +19 -31
  101. package/dist/esm/index189.js +31 -20
  102. package/dist/esm/index19.js +12 -54
  103. package/dist/esm/index190.js +20 -3
  104. package/dist/esm/index191.js +3 -17
  105. package/dist/esm/index192.js +17 -10
  106. package/dist/esm/index193.js +10 -21
  107. package/dist/esm/index194.js +21 -22
  108. package/dist/esm/index195.js +22 -5
  109. package/dist/esm/index196.js +5 -5
  110. package/dist/esm/index197.js +5 -8
  111. package/dist/esm/index198.js +8 -104
  112. package/dist/esm/index199.js +105 -3
  113. package/dist/esm/index2.js +2 -2
  114. package/dist/esm/index20.js +54 -58
  115. package/dist/esm/index200.js +3 -19
  116. package/dist/esm/index201.js +17 -170
  117. package/dist/esm/index202.js +170 -16
  118. package/dist/esm/index203.js +18 -10
  119. package/dist/esm/index204.js +10 -39
  120. package/dist/esm/index205.js +39 -2
  121. package/dist/esm/index206.js +2 -70
  122. package/dist/esm/index207.js +66 -31
  123. package/dist/esm/index208.js +33 -13
  124. package/dist/esm/index209.js +13 -39
  125. package/dist/esm/index21.js +58 -56
  126. package/dist/esm/index210.js +41 -2
  127. package/dist/esm/index211.js +2 -5
  128. package/dist/esm/index212.js +4 -10
  129. package/dist/esm/index213.js +9 -18
  130. package/dist/esm/index214.js +19 -7
  131. package/dist/esm/index215.js +7 -11
  132. package/dist/esm/index216.js +11 -66
  133. package/dist/esm/index217.js +65 -64
  134. package/dist/esm/index218.js +60 -180
  135. package/dist/esm/index219.js +183 -20
  136. package/dist/esm/index22.js +56 -5
  137. package/dist/esm/index220.js +21 -41
  138. package/dist/esm/index221.js +20 -54
  139. package/dist/esm/index222.js +54 -18
  140. package/dist/esm/index223.js +34 -10
  141. package/dist/esm/index224.js +10 -7
  142. package/dist/esm/index225.js +13 -7
  143. package/dist/esm/index226.js +7 -6
  144. package/dist/esm/index227.js +6 -36
  145. package/dist/esm/index228.js +35 -14
  146. package/dist/esm/index229.js +15 -8
  147. package/dist/esm/index23.js +5 -48
  148. package/dist/esm/index230.js +7 -11
  149. package/dist/esm/index231.js +12 -9
  150. package/dist/esm/index232.js +9 -16
  151. package/dist/esm/index233.js +15 -21
  152. package/dist/esm/index234.js +22 -30
  153. package/dist/esm/index235.js +31 -2
  154. package/dist/esm/index236.js +2 -14
  155. package/dist/esm/index237.js +13 -12
  156. package/dist/esm/index238.js +10 -45
  157. package/dist/esm/index239.js +47 -9
  158. package/dist/esm/index24.js +46 -31
  159. package/dist/esm/index240.js +8 -12
  160. package/dist/esm/index241.js +13 -14
  161. package/dist/esm/index242.js +14 -8
  162. package/dist/esm/index243.js +6 -13
  163. package/dist/esm/index244.js +15 -24
  164. package/dist/esm/index245.js +24 -11
  165. package/dist/esm/index246.js +10 -23
  166. package/dist/esm/index247.js +24 -51
  167. package/dist/esm/index248.js +51 -17
  168. package/dist/esm/index249.js +17 -14
  169. package/dist/esm/index25.js +32 -3
  170. package/dist/esm/index250.js +14 -11
  171. package/dist/esm/index251.js +11 -103
  172. package/dist/esm/index252.js +103 -5
  173. package/dist/esm/index253.js +5 -223
  174. package/dist/esm/index254.js +223 -6
  175. package/dist/esm/index255.js +7 -7
  176. package/dist/esm/index256.js +7 -27
  177. package/dist/esm/index257.js +25 -18
  178. package/dist/esm/index258.js +18 -144
  179. package/dist/esm/index259.js +145 -12
  180. package/dist/esm/index26.js +3 -9
  181. package/dist/esm/index260.js +2 -36
  182. package/dist/esm/index261.js +12 -41
  183. package/dist/esm/index262.js +36 -2
  184. package/dist/esm/index263.js +41 -68
  185. package/dist/esm/index264.js +68 -3
  186. package/dist/esm/index265.js +3 -136
  187. package/dist/esm/index266.js +125 -144
  188. package/dist/esm/index267.js +155 -9
  189. package/dist/esm/index268.js +9 -16
  190. package/dist/esm/index269.js +16 -113
  191. package/dist/esm/index27.js +8 -67
  192. package/dist/esm/index270.js +95 -116
  193. package/dist/esm/index271.js +126 -70
  194. package/dist/esm/index272.js +79 -2
  195. package/dist/esm/index273.js +2 -698
  196. package/dist/esm/index274.js +685 -126
  197. package/dist/esm/index275.js +137 -41
  198. package/dist/esm/index276.js +40 -198
  199. package/dist/esm/index277.js +200 -3
  200. package/dist/esm/index278.js +3 -65
  201. package/dist/esm/index279.js +65 -4
  202. package/dist/esm/index28.js +66 -7
  203. package/dist/esm/index280.js +4 -40
  204. package/dist/esm/index281.js +40 -7
  205. package/dist/esm/index282.js +7 -62
  206. package/dist/esm/index283.js +57 -72
  207. package/dist/esm/index284.js +78 -4
  208. package/dist/esm/index285.js +4 -195
  209. package/dist/esm/index286.js +183 -52
  210. package/dist/esm/index287.js +59 -40
  211. package/dist/esm/index288.js +44 -4
  212. package/dist/esm/index289.js +5 -5
  213. package/dist/esm/index29.js +8 -27
  214. package/dist/esm/index290.js +5 -2
  215. package/dist/esm/index291.js +2 -22
  216. package/dist/esm/index292.js +24 -0
  217. package/dist/esm/index3.js +1 -1
  218. package/dist/esm/index30.js +25 -67
  219. package/dist/esm/index31.js +68 -17
  220. package/dist/esm/index32.js +17 -108
  221. package/dist/esm/index33.js +110 -60
  222. package/dist/esm/index34.js +56 -20
  223. package/dist/esm/index35.js +22 -38
  224. package/dist/esm/index36.js +37 -34
  225. package/dist/esm/index37.js +34 -55
  226. package/dist/esm/index38.js +55 -160
  227. package/dist/esm/index39.js +156 -32
  228. package/dist/esm/index40.js +39 -9
  229. package/dist/esm/index41.js +8 -30
  230. package/dist/esm/index42.js +21 -26
  231. package/dist/esm/index43.js +35 -8
  232. package/dist/esm/index44.js +8 -28
  233. package/dist/esm/index45.js +27 -44
  234. package/dist/esm/index46.js +44 -86
  235. package/dist/esm/index47.js +83 -35
  236. package/dist/esm/index48.js +40 -8
  237. package/dist/esm/index49.js +7 -5
  238. package/dist/esm/index5.js +3 -3
  239. package/dist/esm/index50.js +6 -16
  240. package/dist/esm/index51.js +16 -8
  241. package/dist/esm/index52.js +8 -13
  242. package/dist/esm/index53.js +13 -7
  243. package/dist/esm/index54.js +7 -9
  244. package/dist/esm/index55.js +9 -16
  245. package/dist/esm/index56.js +16 -46
  246. package/dist/esm/index57.js +46 -13
  247. package/dist/esm/index58.js +13 -16
  248. package/dist/esm/index59.js +14 -11
  249. package/dist/esm/index6.js +2 -2
  250. package/dist/esm/index60.js +13 -6
  251. package/dist/esm/index61.js +5 -34
  252. package/dist/esm/index62.js +34 -8
  253. package/dist/esm/index63.js +8 -7
  254. package/dist/esm/index64.js +8 -25
  255. package/dist/esm/index65.js +25 -10
  256. package/dist/esm/index66.js +10 -14
  257. package/dist/esm/index67.js +14 -11
  258. package/dist/esm/index68.js +11 -116
  259. package/dist/esm/index69.js +114 -31
  260. package/dist/esm/index7.js +1 -1
  261. package/dist/esm/index70.js +30 -76
  262. package/dist/esm/index71.js +78 -176
  263. package/dist/esm/index72.js +174 -41
  264. package/dist/esm/index73.js +44 -6
  265. package/dist/esm/index74.js +5 -12
  266. package/dist/esm/index75.js +12 -12
  267. package/dist/esm/index76.js +13 -99
  268. package/dist/esm/index77.js +96 -69
  269. package/dist/esm/index78.js +61 -76
  270. package/dist/esm/index79.js +74 -135
  271. package/dist/esm/index8.js +2 -2
  272. package/dist/esm/index80.js +108 -96
  273. package/dist/esm/index81.js +113 -45
  274. package/dist/esm/index82.js +68 -23
  275. package/dist/esm/index83.js +23 -105
  276. package/dist/esm/index84.js +105 -6
  277. package/dist/esm/index85.js +6 -131
  278. package/dist/esm/index86.js +130 -274
  279. package/dist/esm/index87.js +276 -3
  280. package/dist/esm/index88.js +3 -4
  281. package/dist/esm/index89.js +4 -9
  282. package/dist/esm/index9.js +1 -1
  283. package/dist/esm/index90.js +9 -2
  284. package/dist/esm/index91.js +2 -2
  285. package/dist/esm/index92.js +2 -3
  286. package/dist/esm/index93.js +3 -327
  287. package/dist/esm/index94.js +324 -11
  288. package/dist/esm/index95.js +13 -4
  289. package/dist/esm/index96.js +4 -55
  290. package/dist/esm/index97.js +56 -2
  291. package/dist/esm/index98.js +2 -8
  292. package/dist/esm/index99.js +6 -213
  293. package/dist/types/index.d.ts +8 -0
  294. package/package.json +3 -3
@@ -1,226 +1,8 @@
1
- import { numberToBytesLE as y, numberToBytesBE as I, bitMask as Z, bytesToNumberLE as S, bytesToNumberBE as _, _validateObject as j } from "./index274.js";
2
- import { anumber as z } from "./index258.js";
3
- const g = BigInt(0), d = BigInt(1), q = /* @__PURE__ */ BigInt(2), V = /* @__PURE__ */ BigInt(3), x = /* @__PURE__ */ BigInt(4), T = /* @__PURE__ */ BigInt(5), L = /* @__PURE__ */ BigInt(8);
4
- function h(t, n) {
5
- const o = t % n;
6
- return o >= g ? o : n + o;
7
- }
8
- function O(t, n, o) {
9
- let r = t;
10
- for (; n-- > g; )
11
- r *= r, r %= o;
12
- return r;
13
- }
14
- function B(t, n) {
15
- if (t === g)
16
- throw new Error("invert: expected non-zero number");
17
- if (n <= g)
18
- throw new Error("invert: expected positive modulus, got " + n);
19
- let o = h(t, n), r = n, s = g, f = d;
20
- for (; o !== g; ) {
21
- const u = r / o, i = r % o, w = s - f * u;
22
- r = o, o = i, s = f, f = w;
23
- }
24
- if (r !== d)
25
- throw new Error("invert: does not exist");
26
- return h(s, n);
27
- }
28
- function M(t, n) {
29
- const o = (t.ORDER + d) / x, r = t.pow(n, o);
30
- if (!t.eql(t.sqr(r), n))
31
- throw new Error("Cannot find square root");
32
- return r;
33
- }
34
- function H(t, n) {
35
- const o = (t.ORDER - T) / L, r = t.mul(n, q), s = t.pow(r, o), f = t.mul(n, s), c = t.mul(t.mul(f, q), s), u = t.mul(f, t.sub(c, t.ONE));
36
- if (!t.eql(t.sqr(u), n))
37
- throw new Error("Cannot find square root");
38
- return u;
39
- }
40
- function K(t) {
41
- if (t < BigInt(3))
42
- throw new Error("sqrt is not defined for small field");
43
- let n = t - d, o = 0;
44
- for (; n % q === g; )
45
- n /= q, o++;
46
- let r = q;
47
- const s = U(t);
48
- for (; N(s, r) === 1; )
49
- if (r++ > 1e3)
50
- throw new Error("Cannot find square root: probably non-prime P");
51
- if (o === 1)
52
- return M;
53
- let f = s.pow(r, n);
54
- const c = (n + d) / q;
55
- return function(i, w) {
56
- if (i.is0(w))
57
- return w;
58
- if (N(i, w) !== 1)
59
- throw new Error("Cannot find square root");
60
- let e = o, l = i.mul(i.ONE, f), a = i.pow(w, n), b = i.pow(w, c);
61
- for (; !i.eql(a, i.ONE); ) {
62
- if (i.is0(a))
63
- return i.ZERO;
64
- let m = 1, E = i.sqr(a);
65
- for (; !i.eql(E, i.ONE); )
66
- if (m++, E = i.sqr(E), m === e)
67
- throw new Error("Cannot find square root");
68
- const C = d << BigInt(e - m - 1), v = i.pow(l, C);
69
- e = m, l = i.sqr(v), a = i.mul(a, l), b = i.mul(b, v);
70
- }
71
- return b;
72
- };
73
- }
74
- function Q(t) {
75
- return t % x === V ? M : t % L === T ? H : K(t);
76
- }
77
- const Y = [
78
- "create",
79
- "isValid",
80
- "is0",
81
- "neg",
82
- "inv",
83
- "sqrt",
84
- "sqr",
85
- "eql",
86
- "add",
87
- "sub",
88
- "mul",
89
- "pow",
90
- "div",
91
- "addN",
92
- "subN",
93
- "mulN",
94
- "sqrN"
95
- ];
96
- function P(t) {
97
- const n = {
98
- ORDER: "bigint",
99
- MASK: "bigint",
100
- BYTES: "number",
101
- BITS: "number"
102
- }, o = Y.reduce((r, s) => (r[s] = "function", r), n);
103
- return j(t, o), t;
104
- }
105
- function k(t, n, o) {
106
- if (o < g)
107
- throw new Error("invalid exponent, negatives unsupported");
108
- if (o === g)
109
- return t.ONE;
110
- if (o === d)
111
- return n;
112
- let r = t.ONE, s = n;
113
- for (; o > g; )
114
- o & d && (r = t.mul(r, s)), s = t.sqr(s), o >>= d;
115
- return r;
116
- }
117
- function G(t, n, o = !1) {
118
- const r = new Array(n.length).fill(o ? t.ZERO : void 0), s = n.reduce((c, u, i) => t.is0(u) ? c : (r[i] = c, t.mul(c, u)), t.ONE), f = t.inv(s);
119
- return n.reduceRight((c, u, i) => t.is0(u) ? c : (r[i] = t.mul(c, r[i]), t.mul(c, u)), f), r;
120
- }
121
- function N(t, n) {
122
- const o = (t.ORDER - d) / q, r = t.pow(n, o), s = t.eql(r, t.ONE), f = t.eql(r, t.ZERO), c = t.eql(r, t.neg(t.ONE));
123
- if (!s && !f && !c)
124
- throw new Error("invalid Legendre symbol result");
125
- return s ? 1 : f ? 0 : -1;
126
- }
127
- function J(t, n) {
128
- n !== void 0 && z(n);
129
- const o = n !== void 0 ? n : t.toString(2).length, r = Math.ceil(o / 8);
130
- return { nBitLength: o, nByteLength: r };
131
- }
132
- function U(t, n, o = !1, r = {}) {
133
- if (t <= g)
134
- throw new Error("invalid field: expected ORDER > 0, got " + t);
135
- let s, f;
136
- if (typeof n == "object" && n != null) {
137
- if (r.sqrt || o)
138
- throw new Error("cannot specify opts in two arguments");
139
- const e = n;
140
- e.BITS && (s = e.BITS), e.sqrt && (f = e.sqrt), typeof e.isLE == "boolean" && (o = e.isLE);
141
- } else
142
- typeof n == "number" && (s = n), r.sqrt && (f = r.sqrt);
143
- const { nBitLength: c, nByteLength: u } = J(t, s);
144
- if (u > 2048)
145
- throw new Error("invalid field: expected ORDER of <= 2048 bytes");
146
- let i;
147
- const w = Object.freeze({
148
- ORDER: t,
149
- isLE: o,
150
- BITS: c,
151
- BYTES: u,
152
- MASK: Z(c),
153
- ZERO: g,
154
- ONE: d,
155
- create: (e) => h(e, t),
156
- isValid: (e) => {
157
- if (typeof e != "bigint")
158
- throw new Error("invalid field element: expected bigint, got " + typeof e);
159
- return g <= e && e < t;
160
- },
161
- is0: (e) => e === g,
162
- // is valid and invertible
163
- isValidNot0: (e) => !w.is0(e) && w.isValid(e),
164
- isOdd: (e) => (e & d) === d,
165
- neg: (e) => h(-e, t),
166
- eql: (e, l) => e === l,
167
- sqr: (e) => h(e * e, t),
168
- add: (e, l) => h(e + l, t),
169
- sub: (e, l) => h(e - l, t),
170
- mul: (e, l) => h(e * l, t),
171
- pow: (e, l) => k(w, e, l),
172
- div: (e, l) => h(e * B(l, t), t),
173
- // Same as above, but doesn't normalize
174
- sqrN: (e) => e * e,
175
- addN: (e, l) => e + l,
176
- subN: (e, l) => e - l,
177
- mulN: (e, l) => e * l,
178
- inv: (e) => B(e, t),
179
- sqrt: f || ((e) => (i || (i = Q(t)), i(w, e))),
180
- toBytes: (e) => o ? y(e, u) : I(e, u),
181
- fromBytes: (e) => {
182
- if (e.length !== u)
183
- throw new Error("Field.fromBytes: expected " + u + " bytes, got " + e.length);
184
- return o ? S(e) : _(e);
185
- },
186
- // TODO: we don't need it here, move out to separate fn
187
- invertBatch: (e) => G(w, e),
188
- // We can't move this out because Fp6, Fp12 implement it
189
- // and it's unclear what to return in there.
190
- cmov: (e, l, a) => a ? l : e
191
- });
192
- return Object.freeze(w);
193
- }
194
- function A(t) {
195
- if (typeof t != "bigint")
196
- throw new Error("field order must be bigint");
197
- const n = t.toString(2).length;
198
- return Math.ceil(n / 8);
199
- }
200
- function W(t) {
201
- const n = A(t);
202
- return n + Math.ceil(n / 2);
203
- }
204
- function D(t, n, o = !1) {
205
- const r = t.length, s = A(n), f = W(n);
206
- if (r < 16 || r < f || r > 1024)
207
- throw new Error("expected " + f + "-1024 bytes of input, got " + r);
208
- const c = o ? S(t) : _(t), u = h(c, n - d) + d;
209
- return o ? y(u, s) : I(u, s);
1
+ import { weierstrass as s } from "./index274.js";
2
+ function c(e, t) {
3
+ const r = (o) => s({ ...e, hash: o });
4
+ return { ...r(t), create: r };
210
5
  }
211
6
  export {
212
- U as Field,
213
- G as FpInvertBatch,
214
- N as FpLegendre,
215
- k as FpPow,
216
- Q as FpSqrt,
217
- A as getFieldBytesLength,
218
- W as getMinHashLength,
219
- B as invert,
220
- D as mapHashToField,
221
- h as mod,
222
- J as nLength,
223
- O as pow2,
224
- K as tonelliShanks,
225
- P as validateField
7
+ c as createCurve
226
8
  };
@@ -1,9 +1,226 @@
1
- import { toBytes as o } from "./index122.js";
2
- import { keccak256 as r } from "./index124.js";
3
- const e = (t) => r(o(t));
4
- function c(t) {
5
- return e(t);
1
+ import { numberToBytesLE as y, numberToBytesBE as I, bitMask as Z, bytesToNumberLE as S, bytesToNumberBE as _, _validateObject as j } from "./index275.js";
2
+ import { anumber as z } from "./index259.js";
3
+ const g = BigInt(0), d = BigInt(1), q = /* @__PURE__ */ BigInt(2), V = /* @__PURE__ */ BigInt(3), x = /* @__PURE__ */ BigInt(4), T = /* @__PURE__ */ BigInt(5), L = /* @__PURE__ */ BigInt(8);
4
+ function h(t, n) {
5
+ const o = t % n;
6
+ return o >= g ? o : n + o;
7
+ }
8
+ function O(t, n, o) {
9
+ let r = t;
10
+ for (; n-- > g; )
11
+ r *= r, r %= o;
12
+ return r;
13
+ }
14
+ function B(t, n) {
15
+ if (t === g)
16
+ throw new Error("invert: expected non-zero number");
17
+ if (n <= g)
18
+ throw new Error("invert: expected positive modulus, got " + n);
19
+ let o = h(t, n), r = n, s = g, f = d;
20
+ for (; o !== g; ) {
21
+ const u = r / o, i = r % o, w = s - f * u;
22
+ r = o, o = i, s = f, f = w;
23
+ }
24
+ if (r !== d)
25
+ throw new Error("invert: does not exist");
26
+ return h(s, n);
27
+ }
28
+ function M(t, n) {
29
+ const o = (t.ORDER + d) / x, r = t.pow(n, o);
30
+ if (!t.eql(t.sqr(r), n))
31
+ throw new Error("Cannot find square root");
32
+ return r;
33
+ }
34
+ function H(t, n) {
35
+ const o = (t.ORDER - T) / L, r = t.mul(n, q), s = t.pow(r, o), f = t.mul(n, s), c = t.mul(t.mul(f, q), s), u = t.mul(f, t.sub(c, t.ONE));
36
+ if (!t.eql(t.sqr(u), n))
37
+ throw new Error("Cannot find square root");
38
+ return u;
39
+ }
40
+ function K(t) {
41
+ if (t < BigInt(3))
42
+ throw new Error("sqrt is not defined for small field");
43
+ let n = t - d, o = 0;
44
+ for (; n % q === g; )
45
+ n /= q, o++;
46
+ let r = q;
47
+ const s = U(t);
48
+ for (; N(s, r) === 1; )
49
+ if (r++ > 1e3)
50
+ throw new Error("Cannot find square root: probably non-prime P");
51
+ if (o === 1)
52
+ return M;
53
+ let f = s.pow(r, n);
54
+ const c = (n + d) / q;
55
+ return function(i, w) {
56
+ if (i.is0(w))
57
+ return w;
58
+ if (N(i, w) !== 1)
59
+ throw new Error("Cannot find square root");
60
+ let e = o, l = i.mul(i.ONE, f), a = i.pow(w, n), b = i.pow(w, c);
61
+ for (; !i.eql(a, i.ONE); ) {
62
+ if (i.is0(a))
63
+ return i.ZERO;
64
+ let m = 1, E = i.sqr(a);
65
+ for (; !i.eql(E, i.ONE); )
66
+ if (m++, E = i.sqr(E), m === e)
67
+ throw new Error("Cannot find square root");
68
+ const C = d << BigInt(e - m - 1), v = i.pow(l, C);
69
+ e = m, l = i.sqr(v), a = i.mul(a, l), b = i.mul(b, v);
70
+ }
71
+ return b;
72
+ };
73
+ }
74
+ function Q(t) {
75
+ return t % x === V ? M : t % L === T ? H : K(t);
76
+ }
77
+ const Y = [
78
+ "create",
79
+ "isValid",
80
+ "is0",
81
+ "neg",
82
+ "inv",
83
+ "sqrt",
84
+ "sqr",
85
+ "eql",
86
+ "add",
87
+ "sub",
88
+ "mul",
89
+ "pow",
90
+ "div",
91
+ "addN",
92
+ "subN",
93
+ "mulN",
94
+ "sqrN"
95
+ ];
96
+ function P(t) {
97
+ const n = {
98
+ ORDER: "bigint",
99
+ MASK: "bigint",
100
+ BYTES: "number",
101
+ BITS: "number"
102
+ }, o = Y.reduce((r, s) => (r[s] = "function", r), n);
103
+ return j(t, o), t;
104
+ }
105
+ function k(t, n, o) {
106
+ if (o < g)
107
+ throw new Error("invalid exponent, negatives unsupported");
108
+ if (o === g)
109
+ return t.ONE;
110
+ if (o === d)
111
+ return n;
112
+ let r = t.ONE, s = n;
113
+ for (; o > g; )
114
+ o & d && (r = t.mul(r, s)), s = t.sqr(s), o >>= d;
115
+ return r;
116
+ }
117
+ function G(t, n, o = !1) {
118
+ const r = new Array(n.length).fill(o ? t.ZERO : void 0), s = n.reduce((c, u, i) => t.is0(u) ? c : (r[i] = c, t.mul(c, u)), t.ONE), f = t.inv(s);
119
+ return n.reduceRight((c, u, i) => t.is0(u) ? c : (r[i] = t.mul(c, r[i]), t.mul(c, u)), f), r;
120
+ }
121
+ function N(t, n) {
122
+ const o = (t.ORDER - d) / q, r = t.pow(n, o), s = t.eql(r, t.ONE), f = t.eql(r, t.ZERO), c = t.eql(r, t.neg(t.ONE));
123
+ if (!s && !f && !c)
124
+ throw new Error("invalid Legendre symbol result");
125
+ return s ? 1 : f ? 0 : -1;
126
+ }
127
+ function J(t, n) {
128
+ n !== void 0 && z(n);
129
+ const o = n !== void 0 ? n : t.toString(2).length, r = Math.ceil(o / 8);
130
+ return { nBitLength: o, nByteLength: r };
131
+ }
132
+ function U(t, n, o = !1, r = {}) {
133
+ if (t <= g)
134
+ throw new Error("invalid field: expected ORDER > 0, got " + t);
135
+ let s, f;
136
+ if (typeof n == "object" && n != null) {
137
+ if (r.sqrt || o)
138
+ throw new Error("cannot specify opts in two arguments");
139
+ const e = n;
140
+ e.BITS && (s = e.BITS), e.sqrt && (f = e.sqrt), typeof e.isLE == "boolean" && (o = e.isLE);
141
+ } else
142
+ typeof n == "number" && (s = n), r.sqrt && (f = r.sqrt);
143
+ const { nBitLength: c, nByteLength: u } = J(t, s);
144
+ if (u > 2048)
145
+ throw new Error("invalid field: expected ORDER of <= 2048 bytes");
146
+ let i;
147
+ const w = Object.freeze({
148
+ ORDER: t,
149
+ isLE: o,
150
+ BITS: c,
151
+ BYTES: u,
152
+ MASK: Z(c),
153
+ ZERO: g,
154
+ ONE: d,
155
+ create: (e) => h(e, t),
156
+ isValid: (e) => {
157
+ if (typeof e != "bigint")
158
+ throw new Error("invalid field element: expected bigint, got " + typeof e);
159
+ return g <= e && e < t;
160
+ },
161
+ is0: (e) => e === g,
162
+ // is valid and invertible
163
+ isValidNot0: (e) => !w.is0(e) && w.isValid(e),
164
+ isOdd: (e) => (e & d) === d,
165
+ neg: (e) => h(-e, t),
166
+ eql: (e, l) => e === l,
167
+ sqr: (e) => h(e * e, t),
168
+ add: (e, l) => h(e + l, t),
169
+ sub: (e, l) => h(e - l, t),
170
+ mul: (e, l) => h(e * l, t),
171
+ pow: (e, l) => k(w, e, l),
172
+ div: (e, l) => h(e * B(l, t), t),
173
+ // Same as above, but doesn't normalize
174
+ sqrN: (e) => e * e,
175
+ addN: (e, l) => e + l,
176
+ subN: (e, l) => e - l,
177
+ mulN: (e, l) => e * l,
178
+ inv: (e) => B(e, t),
179
+ sqrt: f || ((e) => (i || (i = Q(t)), i(w, e))),
180
+ toBytes: (e) => o ? y(e, u) : I(e, u),
181
+ fromBytes: (e) => {
182
+ if (e.length !== u)
183
+ throw new Error("Field.fromBytes: expected " + u + " bytes, got " + e.length);
184
+ return o ? S(e) : _(e);
185
+ },
186
+ // TODO: we don't need it here, move out to separate fn
187
+ invertBatch: (e) => G(w, e),
188
+ // We can't move this out because Fp6, Fp12 implement it
189
+ // and it's unclear what to return in there.
190
+ cmov: (e, l, a) => a ? l : e
191
+ });
192
+ return Object.freeze(w);
193
+ }
194
+ function A(t) {
195
+ if (typeof t != "bigint")
196
+ throw new Error("field order must be bigint");
197
+ const n = t.toString(2).length;
198
+ return Math.ceil(n / 8);
199
+ }
200
+ function W(t) {
201
+ const n = A(t);
202
+ return n + Math.ceil(n / 2);
203
+ }
204
+ function D(t, n, o = !1) {
205
+ const r = t.length, s = A(n), f = W(n);
206
+ if (r < 16 || r < f || r > 1024)
207
+ throw new Error("expected " + f + "-1024 bytes of input, got " + r);
208
+ const c = o ? S(t) : _(t), u = h(c, n - d) + d;
209
+ return o ? y(u, s) : I(u, s);
6
210
  }
7
211
  export {
8
- c as hashSignature
212
+ U as Field,
213
+ G as FpInvertBatch,
214
+ N as FpLegendre,
215
+ k as FpPow,
216
+ Q as FpSqrt,
217
+ A as getFieldBytesLength,
218
+ W as getMinHashLength,
219
+ B as invert,
220
+ D as mapHashToField,
221
+ h as mod,
222
+ J as nLength,
223
+ O as pow2,
224
+ K as tonelliShanks,
225
+ P as validateField
9
226
  };
@@ -1,9 +1,9 @@
1
- import { normalizeSignature as o } from "./index256.js";
2
- import { formatAbiItem as n } from "./index211.js";
3
- const m = (r) => {
4
- const t = typeof r == "string" ? r : n(r);
5
- return o(t);
6
- };
1
+ import { toBytes as o } from "./index123.js";
2
+ import { keccak256 as r } from "./index125.js";
3
+ const e = (t) => r(o(t));
4
+ function c(t) {
5
+ return e(t);
6
+ }
7
7
  export {
8
- m as toSignature
8
+ c as hashSignature
9
9
  };
@@ -1,29 +1,9 @@
1
- import { BaseError as u } from "./index96.js";
2
- function a(r) {
3
- let l = !0, i = "", f = 0, t = "", o = !1;
4
- for (let n = 0; n < r.length; n++) {
5
- const e = r[n];
6
- if (["(", ")", ","].includes(e) && (l = !0), e === "(" && f++, e === ")" && f--, !!l) {
7
- if (f === 0) {
8
- if (e === " " && ["event", "function", ""].includes(t))
9
- t = "";
10
- else if (t += e, e === ")") {
11
- o = !0;
12
- break;
13
- }
14
- continue;
15
- }
16
- if (e === " ") {
17
- r[n - 1] !== "," && i !== "," && i !== ",(" && (i = "", l = !1);
18
- continue;
19
- }
20
- t += e, i += e;
21
- }
22
- }
23
- if (!o)
24
- throw new u("Unable to normalize signature.");
25
- return t;
26
- }
1
+ import { normalizeSignature as o } from "./index257.js";
2
+ import { formatAbiItem as n } from "./index212.js";
3
+ const m = (r) => {
4
+ const t = typeof r == "string" ? r : n(r);
5
+ return o(t);
6
+ };
27
7
  export {
28
- a as normalizeSignature
8
+ m as toSignature
29
9
  };
@@ -1,22 +1,29 @@
1
- const o = /* @__PURE__ */ BigInt(4294967295), i = /* @__PURE__ */ BigInt(32);
2
- function s(t, r = !1) {
3
- return r ? { h: Number(t & o), l: Number(t >> i & o) } : { h: Number(t >> i & o) | 0, l: Number(t & o) | 0 };
4
- }
5
- function h(t, r = !1) {
6
- const n = t.length;
7
- let l = new Uint32Array(n), c = new Uint32Array(n);
8
- for (let e = 0; e < n; e++) {
9
- const { h: u, l: f } = s(t[e], r);
10
- [l[e], c[e]] = [u, f];
1
+ import { BaseError as u } from "./index97.js";
2
+ function a(r) {
3
+ let l = !0, i = "", f = 0, t = "", o = !1;
4
+ for (let n = 0; n < r.length; n++) {
5
+ const e = r[n];
6
+ if (["(", ")", ","].includes(e) && (l = !0), e === "(" && f++, e === ")" && f--, !!l) {
7
+ if (f === 0) {
8
+ if (e === " " && ["event", "function", ""].includes(t))
9
+ t = "";
10
+ else if (t += e, e === ")") {
11
+ o = !0;
12
+ break;
13
+ }
14
+ continue;
15
+ }
16
+ if (e === " ") {
17
+ r[n - 1] !== "," && i !== "," && i !== ",(" && (i = "", l = !1);
18
+ continue;
19
+ }
20
+ t += e, i += e;
21
+ }
11
22
  }
12
- return [l, c];
23
+ if (!o)
24
+ throw new u("Unable to normalize signature.");
25
+ return t;
13
26
  }
14
- const m = (t, r, n) => t << n | r >>> 32 - n, A = (t, r, n) => r << n | t >>> 32 - n, B = (t, r, n) => r << n - 32 | t >>> 64 - n, a = (t, r, n) => t << n - 32 | r >>> 64 - n;
15
27
  export {
16
- s as fromBig,
17
- B as rotlBH,
18
- a as rotlBL,
19
- m as rotlSH,
20
- A as rotlSL,
21
- h as split
28
+ a as normalizeSignature
22
29
  };