@coinbase/cdp-hooks 0.0.89 → 0.0.90

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 (343) hide show
  1. package/dist/esm/index.js +43 -41
  2. package/dist/esm/index10.js +1 -1
  3. package/dist/esm/index100.js +40 -8
  4. package/dist/esm/index101.js +7 -5
  5. package/dist/esm/index102.js +6 -16
  6. package/dist/esm/index103.js +16 -8
  7. package/dist/esm/index104.js +8 -13
  8. package/dist/esm/index105.js +13 -7
  9. package/dist/esm/index106.js +7 -9
  10. package/dist/esm/index107.js +9 -16
  11. package/dist/esm/index108.js +16 -46
  12. package/dist/esm/index109.js +46 -13
  13. package/dist/esm/index11.js +1 -1
  14. package/dist/esm/index110.js +13 -16
  15. package/dist/esm/index111.js +14 -11
  16. package/dist/esm/index112.js +13 -6
  17. package/dist/esm/index113.js +5 -34
  18. package/dist/esm/index114.js +34 -8
  19. package/dist/esm/index115.js +8 -7
  20. package/dist/esm/index116.js +8 -25
  21. package/dist/esm/index117.js +25 -10
  22. package/dist/esm/index118.js +10 -14
  23. package/dist/esm/index119.js +14 -11
  24. package/dist/esm/index12.js +1 -1
  25. package/dist/esm/index120.js +11 -116
  26. package/dist/esm/index121.js +114 -31
  27. package/dist/esm/index122.js +30 -76
  28. package/dist/esm/index123.js +78 -176
  29. package/dist/esm/index124.js +174 -41
  30. package/dist/esm/index125.js +44 -6
  31. package/dist/esm/index126.js +5 -12
  32. package/dist/esm/index127.js +12 -12
  33. package/dist/esm/index128.js +13 -99
  34. package/dist/esm/index129.js +96 -69
  35. package/dist/esm/index13.js +1 -1
  36. package/dist/esm/index130.js +61 -76
  37. package/dist/esm/index131.js +74 -135
  38. package/dist/esm/index132.js +108 -96
  39. package/dist/esm/index133.js +113 -45
  40. package/dist/esm/index134.js +68 -23
  41. package/dist/esm/index135.js +23 -105
  42. package/dist/esm/index136.js +105 -6
  43. package/dist/esm/index137.js +6 -131
  44. package/dist/esm/index138.js +130 -274
  45. package/dist/esm/index139.js +276 -3
  46. package/dist/esm/index14.js +1 -1
  47. package/dist/esm/index140.js +3 -4
  48. package/dist/esm/index141.js +4 -9
  49. package/dist/esm/index142.js +9 -2
  50. package/dist/esm/index143.js +2 -2
  51. package/dist/esm/index144.js +2 -3
  52. package/dist/esm/index145.js +3 -327
  53. package/dist/esm/index146.js +324 -11
  54. package/dist/esm/index147.js +13 -4
  55. package/dist/esm/index148.js +4 -55
  56. package/dist/esm/index149.js +56 -2
  57. package/dist/esm/index15.js +1 -1
  58. package/dist/esm/index150.js +2 -8
  59. package/dist/esm/index151.js +6 -213
  60. package/dist/esm/index152.js +215 -32
  61. package/dist/esm/index153.js +32 -22
  62. package/dist/esm/index154.js +21 -5
  63. package/dist/esm/index155.js +5 -73
  64. package/dist/esm/index156.js +73 -5
  65. package/dist/esm/index157.js +4 -4
  66. package/dist/esm/index158.js +5 -35
  67. package/dist/esm/index159.js +29 -69
  68. package/dist/esm/index16.js +1 -1
  69. package/dist/esm/index160.js +76 -3
  70. package/dist/esm/index161.js +3 -24
  71. package/dist/esm/index162.js +16 -444
  72. package/dist/esm/index163.js +444 -23
  73. package/dist/esm/index164.js +24 -20
  74. package/dist/esm/index165.js +18 -25
  75. package/dist/esm/index166.js +31 -32
  76. package/dist/esm/index167.js +32 -191
  77. package/dist/esm/index168.js +191 -6
  78. package/dist/esm/index169.js +9 -2
  79. package/dist/esm/index17.js +1 -1
  80. package/dist/esm/index170.js +2 -13
  81. package/dist/esm/index171.js +11 -17
  82. package/dist/esm/index172.js +13 -22
  83. package/dist/esm/index173.js +27 -8
  84. package/dist/esm/index174.js +8 -55
  85. package/dist/esm/index175.js +50 -40
  86. package/dist/esm/index176.js +45 -8
  87. package/dist/esm/index177.js +8 -7
  88. package/dist/esm/index178.js +7 -16
  89. package/dist/esm/index179.js +16 -18
  90. package/dist/esm/index18.js +1 -1
  91. package/dist/esm/index180.js +18 -24
  92. package/dist/esm/index181.js +24 -16
  93. package/dist/esm/index182.js +16 -54
  94. package/dist/esm/index183.js +53 -10
  95. package/dist/esm/index184.js +11 -160
  96. package/dist/esm/index185.js +160 -21
  97. package/dist/esm/index186.js +21 -127
  98. package/dist/esm/index187.js +127 -38
  99. package/dist/esm/index188.js +38 -6
  100. package/dist/esm/index189.js +6 -27
  101. package/dist/esm/index19.js +1 -1
  102. package/dist/esm/index190.js +27 -191
  103. package/dist/esm/index191.js +192 -4
  104. package/dist/esm/index192.js +4 -65
  105. package/dist/esm/index193.js +65 -3
  106. package/dist/esm/index194.js +3 -21
  107. package/dist/esm/index195.js +19 -15
  108. package/dist/esm/index196.js +16 -23
  109. package/dist/esm/index197.js +23 -11
  110. package/dist/esm/index198.js +11 -34
  111. package/dist/esm/index199.js +35 -3
  112. package/dist/esm/index2.js +2 -2
  113. package/dist/esm/index20.js +1 -1
  114. package/dist/esm/index200.js +3 -19
  115. package/dist/esm/index201.js +18 -27
  116. package/dist/esm/index202.js +25 -33
  117. package/dist/esm/index203.js +35 -7
  118. package/dist/esm/index204.js +7 -25
  119. package/dist/esm/index205.js +20 -23
  120. package/dist/esm/index206.js +27 -63
  121. package/dist/esm/index207.js +64 -9
  122. package/dist/esm/index208.js +9 -33
  123. package/dist/esm/index209.js +33 -27
  124. package/dist/esm/index21.js +1 -1
  125. package/dist/esm/index210.js +26 -23
  126. package/dist/esm/index211.js +24 -3
  127. package/dist/esm/index212.js +3 -14
  128. package/dist/esm/index213.js +14 -103
  129. package/dist/esm/index214.js +99 -60
  130. package/dist/esm/index215.js +64 -5
  131. package/dist/esm/index216.js +5 -6
  132. package/dist/esm/index217.js +6 -27
  133. package/dist/esm/index218.js +27 -38
  134. package/dist/esm/index219.js +38 -13
  135. package/dist/esm/index22.js +1 -1
  136. package/dist/esm/index220.js +13 -42
  137. package/dist/esm/index221.js +42 -5
  138. package/dist/esm/index222.js +5 -11
  139. package/dist/esm/index223.js +11 -19
  140. package/dist/esm/index224.js +18 -77
  141. package/dist/esm/index225.js +79 -2
  142. package/dist/esm/index226.js +2 -38
  143. package/dist/esm/index227.js +32 -105
  144. package/dist/esm/index228.js +105 -43
  145. package/dist/esm/index229.js +47 -31
  146. package/dist/esm/index23.js +1 -1
  147. package/dist/esm/index230.js +32 -8
  148. package/dist/esm/index231.js +8 -6
  149. package/dist/esm/index232.js +6 -6
  150. package/dist/esm/index233.js +6 -11
  151. package/dist/esm/index234.js +11 -10
  152. package/dist/esm/index235.js +10 -13
  153. package/dist/esm/index236.js +12 -31
  154. package/dist/esm/index237.js +33 -5
  155. package/dist/esm/index238.js +5 -9
  156. package/dist/esm/index239.js +8 -19
  157. package/dist/esm/index24.js +1 -1
  158. package/dist/esm/index240.js +19 -31
  159. package/dist/esm/index241.js +31 -20
  160. package/dist/esm/index242.js +20 -3
  161. package/dist/esm/index243.js +3 -17
  162. package/dist/esm/index244.js +17 -10
  163. package/dist/esm/index245.js +10 -21
  164. package/dist/esm/index246.js +21 -22
  165. package/dist/esm/index247.js +22 -5
  166. package/dist/esm/index248.js +5 -5
  167. package/dist/esm/index249.js +5 -8
  168. package/dist/esm/index25.js +2 -2
  169. package/dist/esm/index250.js +8 -104
  170. package/dist/esm/index251.js +105 -3
  171. package/dist/esm/index252.js +3 -19
  172. package/dist/esm/index253.js +17 -170
  173. package/dist/esm/index254.js +170 -16
  174. package/dist/esm/index255.js +18 -10
  175. package/dist/esm/index256.js +10 -41
  176. package/dist/esm/index257.js +39 -2
  177. package/dist/esm/index258.js +2 -5
  178. package/dist/esm/index259.js +69 -10
  179. package/dist/esm/index26.js +1 -1
  180. package/dist/esm/index260.js +33 -18
  181. package/dist/esm/index261.js +14 -7
  182. package/dist/esm/index262.js +39 -10
  183. package/dist/esm/index263.js +2 -67
  184. package/dist/esm/index264.js +4 -65
  185. package/dist/esm/index265.js +9 -184
  186. package/dist/esm/index266.js +17 -20
  187. package/dist/esm/index267.js +7 -42
  188. package/dist/esm/index268.js +10 -75
  189. package/dist/esm/index269.js +66 -40
  190. package/dist/esm/index27.js +1 -1
  191. package/dist/esm/index270.js +64 -15
  192. package/dist/esm/index271.js +184 -12
  193. package/dist/esm/index272.js +22 -7
  194. package/dist/esm/index273.js +42 -6
  195. package/dist/esm/index274.js +76 -36
  196. package/dist/esm/index275.js +40 -15
  197. package/dist/esm/index276.js +16 -8
  198. package/dist/esm/index277.js +13 -12
  199. package/dist/esm/index278.js +7 -9
  200. package/dist/esm/index279.js +6 -16
  201. package/dist/esm/index28.js +1 -1
  202. package/dist/esm/index280.js +36 -22
  203. package/dist/esm/index281.js +15 -30
  204. package/dist/esm/index282.js +9 -2
  205. package/dist/esm/index283.js +12 -13
  206. package/dist/esm/index284.js +9 -12
  207. package/dist/esm/index285.js +15 -46
  208. package/dist/esm/index286.js +21 -8
  209. package/dist/esm/index287.js +30 -13
  210. package/dist/esm/index288.js +2 -15
  211. package/dist/esm/index289.js +13 -8
  212. package/dist/esm/index29.js +1 -1
  213. package/dist/esm/index290.js +12 -15
  214. package/dist/esm/index291.js +47 -24
  215. package/dist/esm/index292.js +9 -11
  216. package/dist/esm/index293.js +13 -24
  217. package/dist/esm/index294.js +13 -50
  218. package/dist/esm/index295.js +6 -15
  219. package/dist/esm/index296.js +15 -14
  220. package/dist/esm/index297.js +24 -11
  221. package/dist/esm/index298.js +11 -103
  222. package/dist/esm/index299.js +24 -5
  223. package/dist/esm/index3.js +1 -1
  224. package/dist/esm/index30.js +1 -1
  225. package/dist/esm/index300.js +50 -222
  226. package/dist/esm/index301.js +17 -6
  227. package/dist/esm/index302.js +15 -7
  228. package/dist/esm/index303.js +11 -26
  229. package/dist/esm/index304.js +102 -18
  230. package/dist/esm/index305.js +5 -145
  231. package/dist/esm/index306.js +223 -12
  232. package/dist/esm/index307.js +7 -36
  233. package/dist/esm/index308.js +6 -41
  234. package/dist/esm/index309.js +25 -37
  235. package/dist/esm/index31.js +1 -1
  236. package/dist/esm/index310.js +20 -2
  237. package/dist/esm/index311.js +145 -69
  238. package/dist/esm/index312.js +13 -35
  239. package/dist/esm/index313.js +36 -15
  240. package/dist/esm/index314.js +42 -2
  241. package/dist/esm/index315.js +2 -69
  242. package/dist/esm/index316.js +68 -3
  243. package/dist/esm/index317.js +3 -136
  244. package/dist/esm/index318.js +125 -144
  245. package/dist/esm/index319.js +155 -9
  246. package/dist/esm/index32.js +1 -1
  247. package/dist/esm/index320.js +9 -16
  248. package/dist/esm/index321.js +16 -113
  249. package/dist/esm/index322.js +95 -116
  250. package/dist/esm/index323.js +126 -70
  251. package/dist/esm/index324.js +79 -2
  252. package/dist/esm/index325.js +2 -698
  253. package/dist/esm/index326.js +685 -126
  254. package/dist/esm/index327.js +137 -41
  255. package/dist/esm/index328.js +40 -198
  256. package/dist/esm/index329.js +197 -62
  257. package/dist/esm/index330.js +3 -4
  258. package/dist/esm/index331.js +64 -39
  259. package/dist/esm/index332.js +4 -7
  260. package/dist/esm/index333.js +38 -60
  261. package/dist/esm/index334.js +7 -77
  262. package/dist/esm/index335.js +63 -4
  263. package/dist/esm/index336.js +64 -181
  264. package/dist/esm/index337.js +4 -4
  265. package/dist/esm/index338.js +183 -52
  266. package/dist/esm/index339.js +59 -40
  267. package/dist/esm/index340.js +44 -4
  268. package/dist/esm/index341.js +5 -5
  269. package/dist/esm/index342.js +5 -2
  270. package/dist/esm/index343.js +2 -22
  271. package/dist/esm/index344.js +24 -0
  272. package/dist/esm/index35.js +1 -1
  273. package/dist/esm/index36.js +2 -2
  274. package/dist/esm/index37.js +2 -2
  275. package/dist/esm/index38.js +1 -1
  276. package/dist/esm/index39.js +2 -2
  277. package/dist/esm/index40.js +1 -1
  278. package/dist/esm/index41.js +1 -1
  279. package/dist/esm/index42.js +1 -1
  280. package/dist/esm/index43.js +1 -1
  281. package/dist/esm/index44.js +1 -1
  282. package/dist/esm/index45.js +1 -1
  283. package/dist/esm/index46.js +1 -1
  284. package/dist/esm/index47.js +1 -1
  285. package/dist/esm/index48.js +5 -5
  286. package/dist/esm/index49.js +7 -35
  287. package/dist/esm/index5.js +1 -1
  288. package/dist/esm/index50.js +32 -27
  289. package/dist/esm/index51.js +29 -8
  290. package/dist/esm/index52.js +9 -96
  291. package/dist/esm/index53.js +96 -4
  292. package/dist/esm/index54.js +4 -7
  293. package/dist/esm/index55.js +5 -5
  294. package/dist/esm/index56.js +5 -8
  295. package/dist/esm/index57.js +8 -8
  296. package/dist/esm/index58.js +8 -5
  297. package/dist/esm/index59.js +5 -5
  298. package/dist/esm/index6.js +1 -1
  299. package/dist/esm/index60.js +5 -5
  300. package/dist/esm/index61.js +5 -5
  301. package/dist/esm/index62.js +5 -5
  302. package/dist/esm/index63.js +5 -5
  303. package/dist/esm/index64.js +6 -20
  304. package/dist/esm/index65.js +20 -59
  305. package/dist/esm/index66.js +60 -8
  306. package/dist/esm/index67.js +8 -11
  307. package/dist/esm/index68.js +12 -18
  308. package/dist/esm/index69.js +17 -33
  309. package/dist/esm/index7.js +1 -1
  310. package/dist/esm/index70.js +34 -12
  311. package/dist/esm/index71.js +12 -54
  312. package/dist/esm/index72.js +54 -58
  313. package/dist/esm/index73.js +58 -56
  314. package/dist/esm/index74.js +56 -5
  315. package/dist/esm/index75.js +5 -48
  316. package/dist/esm/index76.js +46 -31
  317. package/dist/esm/index77.js +32 -3
  318. package/dist/esm/index78.js +3 -9
  319. package/dist/esm/index79.js +8 -67
  320. package/dist/esm/index8.js +1 -1
  321. package/dist/esm/index80.js +66 -7
  322. package/dist/esm/index81.js +8 -27
  323. package/dist/esm/index82.js +25 -67
  324. package/dist/esm/index83.js +68 -17
  325. package/dist/esm/index84.js +17 -108
  326. package/dist/esm/index85.js +110 -60
  327. package/dist/esm/index86.js +56 -20
  328. package/dist/esm/index87.js +22 -38
  329. package/dist/esm/index88.js +37 -34
  330. package/dist/esm/index89.js +34 -55
  331. package/dist/esm/index9.js +1 -1
  332. package/dist/esm/index90.js +55 -160
  333. package/dist/esm/index91.js +156 -32
  334. package/dist/esm/index92.js +39 -9
  335. package/dist/esm/index93.js +8 -30
  336. package/dist/esm/index94.js +21 -26
  337. package/dist/esm/index95.js +35 -8
  338. package/dist/esm/index96.js +8 -28
  339. package/dist/esm/index97.js +27 -44
  340. package/dist/esm/index98.js +44 -86
  341. package/dist/esm/index99.js +83 -35
  342. package/dist/types/index.d.ts +8 -0
  343. package/package.json +3 -3
@@ -1,68 +1,203 @@
1
- import { getVersion as n } from "./index340.js";
2
- class s extends Error {
3
- constructor(r, e = {}) {
4
- const a = (() => {
5
- if (e.cause instanceof s) {
6
- if (e.cause.details)
7
- return e.cause.details;
8
- if (e.cause.shortMessage)
9
- return e.cause.shortMessage;
1
+ import { bitLen as B, bitMask as z } from "./index327.js";
2
+ import { validateField as Z, Field as O, FpInvertBatch as R } from "./index306.js";
3
+ const g = BigInt(0), h = BigInt(1);
4
+ function b(t, r) {
5
+ const e = r.negate();
6
+ return t ? e : r;
7
+ }
8
+ function L(t, r, e) {
9
+ const n = (s) => s.pz, i = R(t.Fp, e.map(n));
10
+ return e.map((s, f) => s.toAffine(i[f])).map(t.fromAffine);
11
+ }
12
+ function I(t, r) {
13
+ if (!Number.isSafeInteger(t) || t <= 0 || t > r)
14
+ throw new Error("invalid window size, expected [1.." + r + "], got W=" + t);
15
+ }
16
+ function E(t, r) {
17
+ I(t, r);
18
+ const e = Math.ceil(r / t) + 1, n = 2 ** (t - 1), i = 2 ** t, o = z(t), s = BigInt(t);
19
+ return { windows: e, windowSize: n, mask: o, maxNumber: i, shiftBy: s };
20
+ }
21
+ function v(t, r, e) {
22
+ const { windowSize: n, mask: i, maxNumber: o, shiftBy: s } = e;
23
+ let f = Number(t & i), a = t >> s;
24
+ f > n && (f -= o, a += h);
25
+ const d = r * n, c = d + Math.abs(f) - 1, p = f === 0, l = f < 0, u = r % 2 !== 0;
26
+ return { nextN: a, offset: c, isZero: p, isNeg: l, isNegF: u, offsetF: d };
27
+ }
28
+ function j(t, r) {
29
+ if (!Array.isArray(t))
30
+ throw new Error("array expected");
31
+ t.forEach((e, n) => {
32
+ if (!(e instanceof r))
33
+ throw new Error("invalid point at index " + n);
34
+ });
35
+ }
36
+ function _(t, r) {
37
+ if (!Array.isArray(t))
38
+ throw new Error("array of scalars expected");
39
+ t.forEach((e, n) => {
40
+ if (!r.isValid(e))
41
+ throw new Error("invalid scalar at index " + n);
42
+ });
43
+ }
44
+ const N = /* @__PURE__ */ new WeakMap(), M = /* @__PURE__ */ new WeakMap();
45
+ function A(t) {
46
+ return M.get(t) || 1;
47
+ }
48
+ function S(t) {
49
+ if (t !== g)
50
+ throw new Error("invalid wNAF");
51
+ }
52
+ function U(t, r) {
53
+ return {
54
+ constTimeNegate: b,
55
+ hasPrecomputes(e) {
56
+ return A(e) !== 1;
57
+ },
58
+ // non-const time multiplication ladder
59
+ unsafeLadder(e, n, i = t.ZERO) {
60
+ let o = e;
61
+ for (; n > g; )
62
+ n & h && (i = i.add(o)), o = o.double(), n >>= h;
63
+ return i;
64
+ },
65
+ /**
66
+ * Creates a wNAF precomputation window. Used for caching.
67
+ * Default window size is set by `utils.precompute()` and is equal to 8.
68
+ * Number of precomputed points depends on the curve size:
69
+ * 2^(𝑊−1) * (Math.ceil(𝑛 / 𝑊) + 1), where:
70
+ * - 𝑊 is the window size
71
+ * - 𝑛 is the bitlength of the curve order.
72
+ * For a 256-bit curve and window size 8, the number of precomputed points is 128 * 33 = 4224.
73
+ * @param elm Point instance
74
+ * @param W window size
75
+ * @returns precomputed point tables flattened to a single array
76
+ */
77
+ precomputeWindow(e, n) {
78
+ const { windows: i, windowSize: o } = E(n, r), s = [];
79
+ let f = e, a = f;
80
+ for (let d = 0; d < i; d++) {
81
+ a = f, s.push(a);
82
+ for (let c = 1; c < o; c++)
83
+ a = a.add(f), s.push(a);
84
+ f = a.double();
10
85
  }
11
- return e.cause && "details" in e.cause && typeof e.cause.details == "string" ? e.cause.details : e.cause?.message ? e.cause.message : e.details;
12
- })(), u = e.cause instanceof s && e.cause.docsPath || e.docsPath, c = `https://oxlib.sh${u ?? ""}`, l = [
13
- r || "An error occurred.",
14
- ...e.metaMessages ? ["", ...e.metaMessages] : [],
15
- ...a || u ? [
16
- "",
17
- a ? `Details: ${a}` : void 0,
18
- u ? `See: ${c}` : void 0
19
- ] : []
20
- ].filter((d) => typeof d == "string").join(`
21
- `);
22
- super(l, e.cause ? { cause: e.cause } : void 0), Object.defineProperty(this, "details", {
23
- enumerable: !0,
24
- configurable: !0,
25
- writable: !0,
26
- value: void 0
27
- }), Object.defineProperty(this, "docs", {
28
- enumerable: !0,
29
- configurable: !0,
30
- writable: !0,
31
- value: void 0
32
- }), Object.defineProperty(this, "docsPath", {
33
- enumerable: !0,
34
- configurable: !0,
35
- writable: !0,
36
- value: void 0
37
- }), Object.defineProperty(this, "shortMessage", {
38
- enumerable: !0,
39
- configurable: !0,
40
- writable: !0,
41
- value: void 0
42
- }), Object.defineProperty(this, "cause", {
43
- enumerable: !0,
44
- configurable: !0,
45
- writable: !0,
46
- value: void 0
47
- }), Object.defineProperty(this, "name", {
48
- enumerable: !0,
49
- configurable: !0,
50
- writable: !0,
51
- value: "BaseError"
52
- }), Object.defineProperty(this, "version", {
53
- enumerable: !0,
54
- configurable: !0,
55
- writable: !0,
56
- value: `ox@${n()}`
57
- }), this.cause = e.cause, this.details = a, this.docs = c, this.docsPath = u, this.shortMessage = r;
58
- }
59
- walk(r) {
60
- return i(this, r);
86
+ return s;
87
+ },
88
+ /**
89
+ * Implements ec multiplication using precomputed tables and w-ary non-adjacent form.
90
+ * @param W window size
91
+ * @param precomputes precomputed tables
92
+ * @param n scalar (we don't check here, but should be less than curve order)
93
+ * @returns real and fake (for const-time) points
94
+ */
95
+ wNAF(e, n, i) {
96
+ let o = t.ZERO, s = t.BASE;
97
+ const f = E(e, r);
98
+ for (let a = 0; a < f.windows; a++) {
99
+ const { nextN: d, offset: c, isZero: p, isNeg: l, isNegF: u, offsetF: m } = v(i, a, f);
100
+ i = d, p ? s = s.add(b(u, n[m])) : o = o.add(b(l, n[c]));
101
+ }
102
+ return S(i), { p: o, f: s };
103
+ },
104
+ /**
105
+ * Implements ec unsafe (non const-time) multiplication using precomputed tables and w-ary non-adjacent form.
106
+ * @param W window size
107
+ * @param precomputes precomputed tables
108
+ * @param n scalar (we don't check here, but should be less than curve order)
109
+ * @param acc accumulator point to add result of multiplication
110
+ * @returns point
111
+ */
112
+ wNAFUnsafe(e, n, i, o = t.ZERO) {
113
+ const s = E(e, r);
114
+ for (let f = 0; f < s.windows && i !== g; f++) {
115
+ const { nextN: a, offset: d, isZero: c, isNeg: p } = v(i, f, s);
116
+ if (i = a, !c) {
117
+ const l = n[d];
118
+ o = o.add(p ? l.negate() : l);
119
+ }
120
+ }
121
+ return S(i), o;
122
+ },
123
+ getPrecomputes(e, n, i) {
124
+ let o = N.get(n);
125
+ return o || (o = this.precomputeWindow(n, e), e !== 1 && (typeof i == "function" && (o = i(o)), N.set(n, o))), o;
126
+ },
127
+ wNAFCached(e, n, i) {
128
+ const o = A(e);
129
+ return this.wNAF(o, this.getPrecomputes(o, e, i), n);
130
+ },
131
+ wNAFCachedUnsafe(e, n, i, o) {
132
+ const s = A(e);
133
+ return s === 1 ? this.unsafeLadder(e, n, o) : this.wNAFUnsafe(s, this.getPrecomputes(s, e, i), n, o);
134
+ },
135
+ // We calculate precomputes for elliptic curve point multiplication
136
+ // using windowed method. This specifies window size and
137
+ // stores precomputed values. Usually only base point would be precomputed.
138
+ setWindowSize(e, n) {
139
+ I(n, r), M.set(e, n), N.delete(e);
140
+ }
141
+ };
142
+ }
143
+ function $(t, r, e, n) {
144
+ let i = r, o = t.ZERO, s = t.ZERO;
145
+ for (; e > g || n > g; )
146
+ e & h && (o = o.add(i)), n & h && (s = s.add(i)), i = i.double(), e >>= h, n >>= h;
147
+ return { p1: o, p2: s };
148
+ }
149
+ function D(t, r, e, n) {
150
+ j(e, t), _(n, r);
151
+ const i = e.length, o = n.length;
152
+ if (i !== o)
153
+ throw new Error("arrays of points and scalars must have equal length");
154
+ const s = t.ZERO, f = B(BigInt(i));
155
+ let a = 1;
156
+ f > 12 ? a = f - 3 : f > 4 ? a = f - 2 : f > 0 && (a = 2);
157
+ const d = z(a), c = new Array(Number(d) + 1).fill(s), p = Math.floor((r.BITS - 1) / a) * a;
158
+ let l = s;
159
+ for (let u = p; u >= 0; u -= a) {
160
+ c.fill(s);
161
+ for (let w = 0; w < o; w++) {
162
+ const F = n[w], y = Number(F >> BigInt(u) & d);
163
+ c[y] = c[y].add(e[w]);
164
+ }
165
+ let m = s;
166
+ for (let w = c.length - 1, F = s; w > 0; w--)
167
+ F = F.add(c[w]), m = m.add(F);
168
+ if (l = l.add(m), u !== 0)
169
+ for (let w = 0; w < a; w++)
170
+ l = l.double();
61
171
  }
172
+ return l;
62
173
  }
63
- function i(t, r) {
64
- return r?.(t) ? t : t && typeof t == "object" && "cause" in t && t.cause ? i(t.cause, r) : r ? null : t;
174
+ function x(t, r) {
175
+ if (r) {
176
+ if (r.ORDER !== t)
177
+ throw new Error("Field.ORDER must match order: Fp == p, Fn == n");
178
+ return Z(r), r;
179
+ } else
180
+ return O(t);
181
+ }
182
+ function G(t, r, e = {}) {
183
+ if (!r || typeof r != "object")
184
+ throw new Error(`expected valid ${t} CURVE object`);
185
+ for (const f of ["p", "n", "h"]) {
186
+ const a = r[f];
187
+ if (!(typeof a == "bigint" && a > g))
188
+ throw new Error(`CURVE.${f} must be positive bigint`);
189
+ }
190
+ const n = x(r.p, e.Fp), i = x(r.n, e.Fn), s = ["Gx", "Gy", "a", "b"];
191
+ for (const f of s)
192
+ if (!n.isValid(r[f]))
193
+ throw new Error(`CURVE.${f} must be valid field element of CURVE.Fp`);
194
+ return { Fp: n, Fn: i };
65
195
  }
66
196
  export {
67
- s as BaseError
197
+ G as _createCurveFields,
198
+ $ as mulEndoUnsafe,
199
+ b as negateCt,
200
+ L as normalizeZ,
201
+ D as pippenger,
202
+ U as wNAF
68
203
  };
@@ -1,7 +1,6 @@
1
- const r = "#__bigint";
2
- function g(i, f, n) {
3
- return JSON.stringify(i, (e, t) => typeof t == "bigint" ? t.toString() + r : t, n);
1
+ function e(t) {
2
+ return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
4
3
  }
5
4
  export {
6
- g as stringify
5
+ e as getDefaultExportFromCjs
7
6
  };
@@ -1,43 +1,68 @@
1
- import { SizeExceedsPaddingSizeError as s, size as i, SliceOffsetOutOfBoundsError as f, SizeOverflowError as p } from "./index318.js";
2
- function c(t, e) {
3
- if (i(t) > e)
4
- throw new p({
5
- givenSize: i(t),
6
- maxSize: e
7
- });
1
+ import { getVersion as n } from "./index341.js";
2
+ class s extends Error {
3
+ constructor(r, e = {}) {
4
+ const a = (() => {
5
+ if (e.cause instanceof s) {
6
+ if (e.cause.details)
7
+ return e.cause.details;
8
+ if (e.cause.shortMessage)
9
+ return e.cause.shortMessage;
10
+ }
11
+ return e.cause && "details" in e.cause && typeof e.cause.details == "string" ? e.cause.details : e.cause?.message ? e.cause.message : e.details;
12
+ })(), u = e.cause instanceof s && e.cause.docsPath || e.docsPath, c = `https://oxlib.sh${u ?? ""}`, l = [
13
+ r || "An error occurred.",
14
+ ...e.metaMessages ? ["", ...e.metaMessages] : [],
15
+ ...a || u ? [
16
+ "",
17
+ a ? `Details: ${a}` : void 0,
18
+ u ? `See: ${c}` : void 0
19
+ ] : []
20
+ ].filter((d) => typeof d == "string").join(`
21
+ `);
22
+ super(l, e.cause ? { cause: e.cause } : void 0), Object.defineProperty(this, "details", {
23
+ enumerable: !0,
24
+ configurable: !0,
25
+ writable: !0,
26
+ value: void 0
27
+ }), Object.defineProperty(this, "docs", {
28
+ enumerable: !0,
29
+ configurable: !0,
30
+ writable: !0,
31
+ value: void 0
32
+ }), Object.defineProperty(this, "docsPath", {
33
+ enumerable: !0,
34
+ configurable: !0,
35
+ writable: !0,
36
+ value: void 0
37
+ }), Object.defineProperty(this, "shortMessage", {
38
+ enumerable: !0,
39
+ configurable: !0,
40
+ writable: !0,
41
+ value: void 0
42
+ }), Object.defineProperty(this, "cause", {
43
+ enumerable: !0,
44
+ configurable: !0,
45
+ writable: !0,
46
+ value: void 0
47
+ }), Object.defineProperty(this, "name", {
48
+ enumerable: !0,
49
+ configurable: !0,
50
+ writable: !0,
51
+ value: "BaseError"
52
+ }), Object.defineProperty(this, "version", {
53
+ enumerable: !0,
54
+ configurable: !0,
55
+ writable: !0,
56
+ value: `ox@${n()}`
57
+ }), this.cause = e.cause, this.details = a, this.docs = c, this.docsPath = u, this.shortMessage = r;
58
+ }
59
+ walk(r) {
60
+ return i(this, r);
61
+ }
8
62
  }
9
- function S(t, e) {
10
- if (typeof e == "number" && e > 0 && e > i(t) - 1)
11
- throw new f({
12
- offset: e,
13
- position: "start",
14
- size: i(t)
15
- });
16
- }
17
- function d(t, e, r) {
18
- if (typeof e == "number" && typeof r == "number" && i(t) !== r - e)
19
- throw new f({
20
- offset: r,
21
- position: "end",
22
- size: i(t)
23
- });
24
- }
25
- function u(t, e = {}) {
26
- const { dir: r, size: n = 32 } = e;
27
- if (n === 0)
28
- return t;
29
- const o = t.replace("0x", "");
30
- if (o.length > n * 2)
31
- throw new s({
32
- size: Math.ceil(o.length / 2),
33
- targetSize: n,
34
- type: "Hex"
35
- });
36
- return `0x${o[r === "right" ? "padEnd" : "padStart"](n * 2, "0")}`;
63
+ function i(t, r) {
64
+ return r?.(t) ? t : t && typeof t == "object" && "cause" in t && t.cause ? i(t.cause, r) : r ? null : t;
37
65
  }
38
66
  export {
39
- d as assertEndOffset,
40
- c as assertSize,
41
- S as assertStartOffset,
42
- u as pad
67
+ s as BaseError
43
68
  };
@@ -1,10 +1,7 @@
1
- import { keccak_256 as f } from "./index250.js";
2
- import { from as m } from "./index338.js";
3
- import { fromBytes as s } from "./index318.js";
4
- function p(t, o = {}) {
5
- const { as: e = typeof t == "string" ? "Hex" : "Bytes" } = o, r = f(m(t));
6
- return e === "Bytes" ? r : s(r);
1
+ const r = "#__bigint";
2
+ function g(i, f, n) {
3
+ return JSON.stringify(i, (e, t) => typeof t == "bigint" ? t.toString() + r : t, n);
7
4
  }
8
5
  export {
9
- p as keccak256
6
+ g as stringify
10
7
  };
@@ -1,65 +1,43 @@
1
- import { validate as c } from "./index334.js";
2
- import { BaseError as f } from "./index329.js";
3
- function y(r) {
4
- let i = !0, t = "", e = 0, n = "", o = !1;
5
- for (let s = 0; s < r.length; s++) {
6
- const u = r[s];
7
- if (["(", ")", ","].includes(u) && (i = !0), u === "(" && e++, u === ")" && e--, !!i) {
8
- if (e === 0) {
9
- if (u === " " && ["event", "function", "error", ""].includes(n))
10
- n = "";
11
- else if (n += u, u === ")") {
12
- o = !0;
13
- break;
14
- }
15
- continue;
16
- }
17
- if (u === " ") {
18
- r[s - 1] !== "," && t !== "," && t !== ",(" && (t = "", i = !1);
19
- continue;
20
- }
21
- n += u, t += u;
22
- }
23
- }
24
- if (!o)
25
- throw new f("Unable to normalize signature.");
26
- return n;
1
+ import { SizeExceedsPaddingSizeError as s, size as i, SliceOffsetOutOfBoundsError as f, SizeOverflowError as p } from "./index319.js";
2
+ function c(t, e) {
3
+ if (i(t) > e)
4
+ throw new p({
5
+ givenSize: i(t),
6
+ maxSize: e
7
+ });
27
8
  }
28
- function l(r, i) {
29
- const t = typeof r, e = i.type;
30
- switch (e) {
31
- case "address":
32
- return c(r, { strict: !1 });
33
- case "bool":
34
- return t === "boolean";
35
- case "function":
36
- return t === "string";
37
- case "string":
38
- return t === "string";
39
- default:
40
- return e === "tuple" && "components" in i ? Object.values(i.components).every((n, o) => l(Object.values(r)[o], n)) : /^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(e) ? t === "number" || t === "bigint" : /^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(e) ? t === "string" || r instanceof Uint8Array : /[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(e) ? Array.isArray(r) && r.every((n) => l(n, {
41
- ...i,
42
- // Pop off `[]` or `[M]` from end of type
43
- type: e.replace(/(\[[0-9]{0,}\])$/, "")
44
- })) : !1;
45
- }
9
+ function S(t, e) {
10
+ if (typeof e == "number" && e > 0 && e > i(t) - 1)
11
+ throw new f({
12
+ offset: e,
13
+ position: "start",
14
+ size: i(t)
15
+ });
46
16
  }
47
- function a(r, i, t) {
48
- for (const e in r) {
49
- const n = r[e], o = i[e];
50
- if (n.type === "tuple" && o.type === "tuple" && "components" in n && "components" in o)
51
- return a(n.components, o.components, t[e]);
52
- const s = [n.type, o.type];
53
- if (s.includes("address") && s.includes("bytes20") ? !0 : s.includes("address") && s.includes("string") ? c(t[e], {
54
- strict: !1
55
- }) : s.includes("address") && s.includes("bytes") ? c(t[e], {
56
- strict: !1
57
- }) : !1)
58
- return s;
59
- }
17
+ function d(t, e, r) {
18
+ if (typeof e == "number" && typeof r == "number" && i(t) !== r - e)
19
+ throw new f({
20
+ offset: r,
21
+ position: "end",
22
+ size: i(t)
23
+ });
24
+ }
25
+ function u(t, e = {}) {
26
+ const { dir: r, size: n = 32 } = e;
27
+ if (n === 0)
28
+ return t;
29
+ const o = t.replace("0x", "");
30
+ if (o.length > n * 2)
31
+ throw new s({
32
+ size: Math.ceil(o.length / 2),
33
+ targetSize: n,
34
+ type: "Hex"
35
+ });
36
+ return `0x${o[r === "right" ? "padEnd" : "padStart"](n * 2, "0")}`;
60
37
  }
61
38
  export {
62
- a as getAmbiguousTypes,
63
- l as isArgOfType,
64
- y as normalizeSignature
39
+ d as assertEndOffset,
40
+ c as assertSize,
41
+ S as assertStartOffset,
42
+ u as pad
65
43
  };
@@ -1,80 +1,10 @@
1
- import { fromString as d } from "./index338.js";
2
- import { checksum as o } from "./index341.js";
3
- import { BaseError as c } from "./index329.js";
4
- import { keccak256 as f } from "./index332.js";
5
- const l = /^0x[a-fA-F0-9]{40}$/;
6
- function u(r, t = {}) {
7
- const { strict: s = !0 } = t;
8
- if (!l.test(r))
9
- throw new i({
10
- address: r,
11
- cause: new h()
12
- });
13
- if (s) {
14
- if (r.toLowerCase() === r)
15
- return;
16
- if (m(r) !== r)
17
- throw new i({
18
- address: r,
19
- cause: new p()
20
- });
21
- }
22
- }
23
- function m(r) {
24
- if (o.has(r))
25
- return o.get(r);
26
- u(r, { strict: !1 });
27
- const t = r.substring(2).toLowerCase(), s = f(d(t), { as: "Bytes" }), n = t.split("");
28
- for (let e = 0; e < 40; e += 2)
29
- s[e >> 1] >> 4 >= 8 && n[e] && (n[e] = n[e].toUpperCase()), (s[e >> 1] & 15) >= 8 && n[e + 1] && (n[e + 1] = n[e + 1].toUpperCase());
30
- const a = `0x${n.join("")}`;
31
- return o.set(r, a), a;
32
- }
33
- function k(r, t = {}) {
34
- const { strict: s = !0 } = t ?? {};
35
- try {
36
- return u(r, { strict: s }), !0;
37
- } catch {
38
- return !1;
39
- }
40
- }
41
- class i extends c {
42
- constructor({ address: t, cause: s }) {
43
- super(`Address "${t}" is invalid.`, {
44
- cause: s
45
- }), Object.defineProperty(this, "name", {
46
- enumerable: !0,
47
- configurable: !0,
48
- writable: !0,
49
- value: "Address.InvalidAddressError"
50
- });
51
- }
52
- }
53
- class h extends c {
54
- constructor() {
55
- super("Address is not a 20 byte (40 hexadecimal character) value."), Object.defineProperty(this, "name", {
56
- enumerable: !0,
57
- configurable: !0,
58
- writable: !0,
59
- value: "Address.InvalidInputError"
60
- });
61
- }
62
- }
63
- class p extends c {
64
- constructor() {
65
- super("Address does not match its checksum counterpart."), Object.defineProperty(this, "name", {
66
- enumerable: !0,
67
- configurable: !0,
68
- writable: !0,
69
- value: "Address.InvalidChecksumError"
70
- });
71
- }
1
+ import { keccak_256 as f } from "./index251.js";
2
+ import { from as m } from "./index339.js";
3
+ import { fromBytes as s } from "./index319.js";
4
+ function p(t, o = {}) {
5
+ const { as: e = typeof t == "string" ? "Hex" : "Bytes" } = o, r = f(m(t));
6
+ return e === "Bytes" ? r : s(r);
72
7
  }
73
8
  export {
74
- i as InvalidAddressError,
75
- p as InvalidChecksumError,
76
- h as InvalidInputError,
77
- u as assert,
78
- m as checksum,
79
- k as validate
9
+ p as keccak256
80
10
  };
@@ -1,6 +1,65 @@
1
- const e = /^(.*)\[([0-9]*)\]$/, t = /^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/, n = /^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;
1
+ import { validate as c } from "./index336.js";
2
+ import { BaseError as f } from "./index331.js";
3
+ function y(r) {
4
+ let i = !0, t = "", e = 0, n = "", o = !1;
5
+ for (let s = 0; s < r.length; s++) {
6
+ const u = r[s];
7
+ if (["(", ")", ","].includes(u) && (i = !0), u === "(" && e++, u === ")" && e--, !!i) {
8
+ if (e === 0) {
9
+ if (u === " " && ["event", "function", "error", ""].includes(n))
10
+ n = "";
11
+ else if (n += u, u === ")") {
12
+ o = !0;
13
+ break;
14
+ }
15
+ continue;
16
+ }
17
+ if (u === " ") {
18
+ r[s - 1] !== "," && t !== "," && t !== ",(" && (t = "", i = !1);
19
+ continue;
20
+ }
21
+ n += u, t += u;
22
+ }
23
+ }
24
+ if (!o)
25
+ throw new f("Unable to normalize signature.");
26
+ return n;
27
+ }
28
+ function l(r, i) {
29
+ const t = typeof r, e = i.type;
30
+ switch (e) {
31
+ case "address":
32
+ return c(r, { strict: !1 });
33
+ case "bool":
34
+ return t === "boolean";
35
+ case "function":
36
+ return t === "string";
37
+ case "string":
38
+ return t === "string";
39
+ default:
40
+ return e === "tuple" && "components" in i ? Object.values(i.components).every((n, o) => l(Object.values(r)[o], n)) : /^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(e) ? t === "number" || t === "bigint" : /^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(e) ? t === "string" || r instanceof Uint8Array : /[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(e) ? Array.isArray(r) && r.every((n) => l(n, {
41
+ ...i,
42
+ // Pop off `[]` or `[M]` from end of type
43
+ type: e.replace(/(\[[0-9]{0,}\])$/, "")
44
+ })) : !1;
45
+ }
46
+ }
47
+ function a(r, i, t) {
48
+ for (const e in r) {
49
+ const n = r[e], o = i[e];
50
+ if (n.type === "tuple" && o.type === "tuple" && "components" in n && "components" in o)
51
+ return a(n.components, o.components, t[e]);
52
+ const s = [n.type, o.type];
53
+ if (s.includes("address") && s.includes("bytes20") ? !0 : s.includes("address") && s.includes("string") ? c(t[e], {
54
+ strict: !1
55
+ }) : s.includes("address") && s.includes("bytes") ? c(t[e], {
56
+ strict: !1
57
+ }) : !1)
58
+ return s;
59
+ }
60
+ }
2
61
  export {
3
- e as arrayRegex,
4
- t as bytesRegex,
5
- n as integerRegex
62
+ a as getAmbiguousTypes,
63
+ l as isArgOfType,
64
+ y as normalizeSignature
6
65
  };