@coinbase/cdp-hooks 0.0.44 → 0.0.45

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 (274) hide show
  1. package/README.md +92 -0
  2. package/dist/esm/index.js +26 -22
  3. package/dist/esm/index10.js +12 -56
  4. package/dist/esm/index100.js +439 -21
  5. package/dist/esm/index101.js +28 -32
  6. package/dist/esm/index102.js +18 -185
  7. package/dist/esm/index103.js +31 -6
  8. package/dist/esm/index104.js +35 -2
  9. package/dist/esm/index105.js +189 -8
  10. package/dist/esm/index106.js +7 -17
  11. package/dist/esm/index107.js +2 -28
  12. package/dist/esm/index108.js +12 -8
  13. package/dist/esm/index109.js +15 -52
  14. package/dist/esm/index11.js +54 -33
  15. package/dist/esm/index110.js +23 -41
  16. package/dist/esm/index111.js +8 -8
  17. package/dist/esm/index112.js +55 -7
  18. package/dist/esm/index113.js +44 -15
  19. package/dist/esm/index114.js +8 -18
  20. package/dist/esm/index115.js +7 -24
  21. package/dist/esm/index116.js +16 -16
  22. package/dist/esm/index117.js +17 -53
  23. package/dist/esm/index118.js +22 -9
  24. package/dist/esm/index119.js +15 -159
  25. package/dist/esm/index12.js +57 -3
  26. package/dist/esm/index120.js +53 -20
  27. package/dist/esm/index121.js +11 -127
  28. package/dist/esm/index122.js +153 -31
  29. package/dist/esm/index123.js +21 -6
  30. package/dist/esm/index124.js +127 -27
  31. package/dist/esm/index125.js +31 -184
  32. package/dist/esm/index126.js +7 -4
  33. package/dist/esm/index127.js +26 -63
  34. package/dist/esm/index128.js +192 -3
  35. package/dist/esm/index129.js +4 -21
  36. package/dist/esm/index13.js +56 -10
  37. package/dist/esm/index130.js +61 -13
  38. package/dist/esm/index131.js +3 -24
  39. package/dist/esm/index132.js +20 -11
  40. package/dist/esm/index133.js +15 -33
  41. package/dist/esm/index134.js +24 -3
  42. package/dist/esm/index135.js +11 -18
  43. package/dist/esm/index136.js +33 -26
  44. package/dist/esm/index137.js +3 -36
  45. package/dist/esm/index138.js +18 -7
  46. package/dist/esm/index139.js +26 -24
  47. package/dist/esm/index14.js +31 -67
  48. package/dist/esm/index140.js +34 -27
  49. package/dist/esm/index141.js +7 -64
  50. package/dist/esm/index142.js +25 -9
  51. package/dist/esm/index143.js +28 -33
  52. package/dist/esm/index144.js +64 -27
  53. package/dist/esm/index145.js +9 -24
  54. package/dist/esm/index146.js +33 -3
  55. package/dist/esm/index147.js +27 -14
  56. package/dist/esm/index148.js +24 -103
  57. package/dist/esm/index149.js +3 -64
  58. package/dist/esm/index15.js +3 -9
  59. package/dist/esm/index150.js +14 -5
  60. package/dist/esm/index151.js +103 -6
  61. package/dist/esm/index152.js +62 -25
  62. package/dist/esm/index153.js +5 -39
  63. package/dist/esm/index154.js +6 -13
  64. package/dist/esm/index155.js +24 -39
  65. package/dist/esm/index156.js +39 -5
  66. package/dist/esm/index157.js +13 -11
  67. package/dist/esm/index158.js +42 -19
  68. package/dist/esm/index159.js +5 -78
  69. package/dist/esm/index16.js +9 -28
  70. package/dist/esm/index160.js +12 -2
  71. package/dist/esm/index161.js +19 -37
  72. package/dist/esm/index162.js +73 -105
  73. package/dist/esm/index163.js +2 -49
  74. package/dist/esm/index164.js +36 -31
  75. package/dist/esm/index165.js +110 -8
  76. package/dist/esm/index166.js +48 -6
  77. package/dist/esm/index167.js +32 -6
  78. package/dist/esm/index168.js +8 -11
  79. package/dist/esm/index169.js +6 -10
  80. package/dist/esm/index17.js +68 -70
  81. package/dist/esm/index170.js +6 -13
  82. package/dist/esm/index171.js +11 -32
  83. package/dist/esm/index172.js +11 -5
  84. package/dist/esm/index173.js +13 -8
  85. package/dist/esm/index174.js +30 -17
  86. package/dist/esm/index175.js +5 -32
  87. package/dist/esm/index176.js +8 -20
  88. package/dist/esm/index177.js +19 -3
  89. package/dist/esm/index178.js +31 -17
  90. package/dist/esm/index179.js +20 -10
  91. package/dist/esm/index18.js +9 -19
  92. package/dist/esm/index180.js +3 -21
  93. package/dist/esm/index181.js +16 -21
  94. package/dist/esm/index182.js +10 -5
  95. package/dist/esm/index183.js +21 -5
  96. package/dist/esm/index184.js +22 -8
  97. package/dist/esm/index185.js +5 -104
  98. package/dist/esm/index186.js +6 -3
  99. package/dist/esm/index187.js +8 -18
  100. package/dist/esm/index188.js +99 -166
  101. package/dist/esm/index189.js +3 -18
  102. package/dist/esm/index19.js +26 -108
  103. package/dist/esm/index190.js +19 -10
  104. package/dist/esm/index191.js +170 -39
  105. package/dist/esm/index192.js +18 -2
  106. package/dist/esm/index193.js +10 -5
  107. package/dist/esm/index194.js +39 -9
  108. package/dist/esm/index195.js +2 -20
  109. package/dist/esm/index196.js +4 -7
  110. package/dist/esm/index197.js +9 -10
  111. package/dist/esm/index198.js +19 -66
  112. package/dist/esm/index199.js +7 -65
  113. package/dist/esm/index20.js +70 -60
  114. package/dist/esm/index200.js +10 -184
  115. package/dist/esm/index201.js +66 -22
  116. package/dist/esm/index202.js +61 -38
  117. package/dist/esm/index203.js +178 -69
  118. package/dist/esm/index204.js +21 -39
  119. package/dist/esm/index205.js +35 -9
  120. package/dist/esm/index206.js +70 -7
  121. package/dist/esm/index207.js +40 -36
  122. package/dist/esm/index208.js +16 -15
  123. package/dist/esm/index209.js +13 -8
  124. package/dist/esm/index21.js +19 -24
  125. package/dist/esm/index212.js +35 -11
  126. package/dist/esm/index213.js +15 -9
  127. package/dist/esm/index214.js +8 -16
  128. package/dist/esm/index215.js +12 -22
  129. package/dist/esm/index216.js +9 -30
  130. package/dist/esm/index217.js +17 -2
  131. package/dist/esm/index218.js +21 -12
  132. package/dist/esm/index219.js +30 -12
  133. package/dist/esm/index22.js +110 -40
  134. package/dist/esm/index220.js +2 -48
  135. package/dist/esm/index221.js +12 -8
  136. package/dist/esm/index222.js +12 -13
  137. package/dist/esm/index223.js +46 -13
  138. package/dist/esm/index224.js +9 -8
  139. package/dist/esm/index225.js +13 -15
  140. package/dist/esm/index226.js +14 -24
  141. package/dist/esm/index227.js +8 -11
  142. package/dist/esm/index228.js +14 -23
  143. package/dist/esm/index229.js +24 -51
  144. package/dist/esm/index23.js +57 -34
  145. package/dist/esm/index230.js +11 -17
  146. package/dist/esm/index231.js +24 -14
  147. package/dist/esm/index232.js +51 -11
  148. package/dist/esm/index233.js +17 -103
  149. package/dist/esm/index234.js +14 -6
  150. package/dist/esm/index235.js +11 -224
  151. package/dist/esm/index236.js +103 -6
  152. package/dist/esm/index237.js +7 -7
  153. package/dist/esm/index238.js +223 -25
  154. package/dist/esm/index239.js +6 -19
  155. package/dist/esm/index24.js +20 -54
  156. package/dist/esm/index240.js +7 -147
  157. package/dist/esm/index241.js +26 -12
  158. package/dist/esm/index242.js +20 -36
  159. package/dist/esm/index243.js +146 -41
  160. package/dist/esm/index244.js +13 -69
  161. package/dist/esm/index245.js +36 -4
  162. package/dist/esm/index246.js +41 -136
  163. package/dist/esm/index247.js +69 -156
  164. package/dist/esm/index248.js +3 -9
  165. package/dist/esm/index249.js +136 -16
  166. package/dist/esm/index25.js +37 -160
  167. package/dist/esm/index250.js +140 -98
  168. package/dist/esm/index251.js +9 -134
  169. package/dist/esm/index252.js +16 -78
  170. package/dist/esm/index253.js +114 -2
  171. package/dist/esm/index254.js +124 -688
  172. package/dist/esm/index255.js +73 -134
  173. package/dist/esm/index256.js +2 -43
  174. package/dist/esm/index257.js +675 -178
  175. package/dist/esm/index258.js +137 -63
  176. package/dist/esm/index259.js +42 -4
  177. package/dist/esm/index26.js +36 -38
  178. package/dist/esm/index260.js +201 -40
  179. package/dist/esm/index261.js +65 -7
  180. package/dist/esm/index262.js +4 -62
  181. package/dist/esm/index263.js +33 -70
  182. package/dist/esm/index264.js +8 -4
  183. package/dist/esm/index265.js +55 -187
  184. package/dist/esm/index266.js +61 -47
  185. package/dist/esm/index267.js +4 -45
  186. package/dist/esm/index268.js +194 -4
  187. package/dist/esm/index269.js +64 -5
  188. package/dist/esm/index27.js +58 -9
  189. package/dist/esm/index270.js +45 -2
  190. package/dist/esm/index271.js +4 -21
  191. package/dist/esm/index272.js +7 -0
  192. package/dist/esm/index273.js +4 -0
  193. package/dist/esm/index274.js +24 -0
  194. package/dist/esm/index28.js +161 -29
  195. package/dist/esm/index29.js +39 -36
  196. package/dist/esm/index3.js +2 -2
  197. package/dist/esm/index30.js +6 -6
  198. package/dist/esm/index31.js +30 -28
  199. package/dist/esm/index32.js +34 -44
  200. package/dist/esm/index33.js +9 -88
  201. package/dist/esm/index34.js +26 -37
  202. package/dist/esm/index35.js +46 -8
  203. package/dist/esm/index36.js +88 -6
  204. package/dist/esm/index37.js +40 -16
  205. package/dist/esm/index38.js +8 -8
  206. package/dist/esm/index39.js +6 -13
  207. package/dist/esm/index4.js +14 -16
  208. package/dist/esm/index40.js +16 -7
  209. package/dist/esm/index41.js +8 -9
  210. package/dist/esm/index42.js +13 -16
  211. package/dist/esm/index43.js +7 -46
  212. package/dist/esm/index44.js +9 -13
  213. package/dist/esm/index45.js +15 -15
  214. package/dist/esm/index46.js +46 -13
  215. package/dist/esm/index47.js +13 -6
  216. package/dist/esm/index48.js +15 -34
  217. package/dist/esm/index49.js +13 -9
  218. package/dist/esm/index5.js +46 -29
  219. package/dist/esm/index50.js +5 -7
  220. package/dist/esm/index51.js +35 -25
  221. package/dist/esm/index52.js +9 -10
  222. package/dist/esm/index53.js +7 -13
  223. package/dist/esm/index54.js +25 -11
  224. package/dist/esm/index55.js +10 -116
  225. package/dist/esm/index56.js +13 -32
  226. package/dist/esm/index57.js +11 -79
  227. package/dist/esm/index58.js +108 -169
  228. package/dist/esm/index59.js +26 -37
  229. package/dist/esm/index6.js +20 -17
  230. package/dist/esm/index60.js +79 -6
  231. package/dist/esm/index61.js +177 -13
  232. package/dist/esm/index62.js +44 -13
  233. package/dist/esm/index63.js +6 -99
  234. package/dist/esm/index64.js +13 -72
  235. package/dist/esm/index65.js +13 -87
  236. package/dist/esm/index66.js +93 -142
  237. package/dist/esm/index67.js +65 -129
  238. package/dist/esm/index68.js +73 -54
  239. package/dist/esm/index69.js +148 -23
  240. package/dist/esm/index7.js +34 -12
  241. package/dist/esm/index70.js +133 -102
  242. package/dist/esm/index71.js +68 -6
  243. package/dist/esm/index72.js +23 -131
  244. package/dist/esm/index73.js +101 -271
  245. package/dist/esm/index74.js +7 -3
  246. package/dist/esm/index75.js +132 -4
  247. package/dist/esm/index76.js +276 -9
  248. package/dist/esm/index77.js +3 -2
  249. package/dist/esm/index78.js +4 -2
  250. package/dist/esm/index79.js +9 -3
  251. package/dist/esm/index8.js +18 -54
  252. package/dist/esm/index80.js +2 -327
  253. package/dist/esm/index81.js +2 -14
  254. package/dist/esm/index82.js +3 -5
  255. package/dist/esm/index83.js +299 -28
  256. package/dist/esm/index84.js +14 -2
  257. package/dist/esm/index85.js +4 -7
  258. package/dist/esm/index86.js +29 -188
  259. package/dist/esm/index87.js +2 -32
  260. package/dist/esm/index88.js +7 -21
  261. package/dist/esm/index89.js +214 -5
  262. package/dist/esm/index9.js +11 -57
  263. package/dist/esm/index90.js +30 -72
  264. package/dist/esm/index91.js +21 -5
  265. package/dist/esm/index92.js +5 -5
  266. package/dist/esm/index93.js +69 -31
  267. package/dist/esm/index94.js +5 -75
  268. package/dist/esm/index95.js +6 -3
  269. package/dist/esm/index96.js +28 -16
  270. package/dist/esm/index97.js +57 -433
  271. package/dist/esm/index98.js +3 -31
  272. package/dist/esm/index99.js +17 -20
  273. package/dist/types/index.d.ts +36 -0
  274. package/package.json +3 -3
@@ -1,65 +1,7 @@
1
- import { validate as c } from "./index263.js";
2
- import { BaseError as f } from "./index258.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
- }
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);
60
4
  }
61
5
  export {
62
- a as getAmbiguousTypes,
63
- l as isArgOfType,
64
- y as normalizeSignature
6
+ g as stringify
65
7
  };
@@ -1,80 +1,43 @@
1
- import { fromString as d } from "./index266.js";
2
- import { checksum as o } from "./index269.js";
3
- import { BaseError as c } from "./index258.js";
4
- import { keccak256 as f } from "./index261.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()
1
+ import { SizeExceedsPaddingSizeError as s, size as i, SliceOffsetOutOfBoundsError as f, SizeOverflowError as p } from "./index250.js";
2
+ function c(t, e) {
3
+ if (i(t) > e)
4
+ throw new p({
5
+ givenSize: i(t),
6
+ maxSize: e
12
7
  });
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
8
  }
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"
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)
50
15
  });
51
- }
52
16
  }
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"
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)
60
23
  });
61
- }
62
24
  }
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"
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"
70
35
  });
71
- }
36
+ return `0x${o[r === "right" ? "padEnd" : "padStart"](n * 2, "0")}`;
72
37
  }
73
38
  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
39
+ d as assertEndOffset,
40
+ c as assertSize,
41
+ S as assertStartOffset,
42
+ u as pad
80
43
  };
@@ -1,6 +1,10 @@
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 { keccak_256 as f } from "./index188.js";
2
+ import { from as m } from "./index269.js";
3
+ import { fromBytes as s } from "./index250.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);
7
+ }
2
8
  export {
3
- e as arrayRegex,
4
- t as bytesRegex,
5
- n as integerRegex
9
+ p as keccak256
6
10
  };
@@ -1,197 +1,65 @@
1
- import { InvalidTypeError as g, InvalidArrayError as b, ArrayLengthMismatchError as w, BytesSizeMismatchError as z } from "./index251.js";
2
- import { assert as x } from "./index263.js";
3
- import { BaseError as S } from "./index258.js";
4
- import { size as d, fromNumber as f, concat as p, padLeft as h, fromBoolean as A, IntegerOutOfRangeError as E, padRight as y, fromString as I, slice as B } from "./index247.js";
5
- import { integerRegex as L } from "./index264.js";
6
- function q({ checksumAddress: e, parameters: n, values: r }) {
7
- const t = [];
8
- for (let o = 0; o < n.length; o++)
9
- t.push(u({
10
- checksumAddress: e,
11
- parameter: n[o],
12
- value: r[o]
13
- }));
14
- return t;
15
- }
16
- function u({ checksumAddress: e = !1, parameter: n, value: r }) {
17
- const t = n, o = k(t.type);
18
- if (o) {
19
- const [i, c] = o;
20
- return P(r, {
21
- checksumAddress: e,
22
- length: i,
23
- parameter: {
24
- ...t,
25
- type: c
1
+ import { validate as c } from "./index266.js";
2
+ import { BaseError as f } from "./index261.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;
26
16
  }
27
- });
28
- }
29
- if (t.type === "tuple")
30
- return R(r, {
31
- checksumAddress: e,
32
- parameter: t
33
- });
34
- if (t.type === "address")
35
- return N(r, {
36
- checksum: e
37
- });
38
- if (t.type === "bool")
39
- return C(r);
40
- if (t.type.startsWith("uint") || t.type.startsWith("int")) {
41
- const i = t.type.startsWith("int"), [, , c = "256"] = L.exec(t.type) ?? [];
42
- return M(r, {
43
- signed: i,
44
- size: Number(c)
45
- });
46
- }
47
- if (t.type.startsWith("bytes"))
48
- return $(r, { type: t.type });
49
- if (t.type === "string")
50
- return W(r);
51
- throw new g(t.type);
52
- }
53
- function l(e) {
54
- let n = 0;
55
- for (let i = 0; i < e.length; i++) {
56
- const { dynamic: c, encoded: s } = e[i];
57
- c ? n += 32 : n += d(s);
58
- }
59
- const r = [], t = [];
60
- let o = 0;
61
- for (let i = 0; i < e.length; i++) {
62
- const { dynamic: c, encoded: s } = e[i];
63
- c ? (r.push(f(n + o, { size: 32 })), t.push(s), o += d(s)) : r.push(s);
64
- }
65
- return p(...r, ...t);
66
- }
67
- function N(e, n) {
68
- const { checksum: r = !1 } = n;
69
- return x(e, { strict: r }), {
70
- dynamic: !1,
71
- encoded: h(e.toLowerCase())
72
- };
73
- }
74
- function P(e, n) {
75
- const { checksumAddress: r, length: t, parameter: o } = n, i = t === null;
76
- if (!Array.isArray(e))
77
- throw new b(e);
78
- if (!i && e.length !== t)
79
- throw new w({
80
- expectedLength: t,
81
- givenLength: e.length,
82
- type: `${o.type}[${t}]`
83
- });
84
- let c = !1;
85
- const s = [];
86
- for (let a = 0; a < e.length; a++) {
87
- const m = u({
88
- checksumAddress: r,
89
- parameter: o,
90
- value: e[a]
91
- });
92
- m.dynamic && (c = !0), s.push(m);
93
- }
94
- if (i || c) {
95
- const a = l(s);
96
- if (i) {
97
- const m = f(s.length, { size: 32 });
98
- return {
99
- dynamic: !0,
100
- encoded: s.length > 0 ? p(m, a) : m
101
- };
17
+ if (u === " ") {
18
+ r[s - 1] !== "," && t !== "," && t !== ",(" && (t = "", i = !1);
19
+ continue;
20
+ }
21
+ n += u, t += u;
102
22
  }
103
- if (c)
104
- return { dynamic: !0, encoded: a };
105
23
  }
106
- return {
107
- dynamic: !1,
108
- encoded: p(...s.map(({ encoded: a }) => a))
109
- };
24
+ if (!o)
25
+ throw new f("Unable to normalize signature.");
26
+ return n;
110
27
  }
111
- function $(e, { type: n }) {
112
- const [, r] = n.split("bytes"), t = d(e);
113
- if (!r) {
114
- let o = e;
115
- return t % 32 !== 0 && (o = y(o, Math.ceil((e.length - 2) / 2 / 32) * 32)), {
116
- dynamic: !0,
117
- encoded: p(h(f(t, { size: 32 })), o)
118
- };
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;
119
45
  }
120
- if (t !== Number.parseInt(r))
121
- throw new z({
122
- expectedSize: Number.parseInt(r),
123
- value: e
124
- });
125
- return { dynamic: !1, encoded: y(e) };
126
46
  }
127
- function C(e) {
128
- if (typeof e != "boolean")
129
- throw new S(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);
130
- return { dynamic: !1, encoded: h(A(e)) };
131
- }
132
- function M(e, { signed: n, size: r }) {
133
- if (typeof r == "number") {
134
- const t = 2n ** (BigInt(r) - (n ? 1n : 0n)) - 1n, o = n ? -t - 1n : 0n;
135
- if (e > t || e < o)
136
- throw new E({
137
- max: t.toString(),
138
- min: o.toString(),
139
- signed: n,
140
- size: r / 8,
141
- value: e.toString()
142
- });
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;
143
59
  }
144
- return {
145
- dynamic: !1,
146
- encoded: f(e, {
147
- size: 32,
148
- signed: n
149
- })
150
- };
151
- }
152
- function W(e) {
153
- const n = I(e), r = Math.ceil(d(n) / 32), t = [];
154
- for (let o = 0; o < r; o++)
155
- t.push(y(B(n, o * 32, (o + 1) * 32)));
156
- return {
157
- dynamic: !0,
158
- encoded: p(y(f(d(n), { size: 32 })), ...t)
159
- };
160
- }
161
- function R(e, n) {
162
- const { checksumAddress: r, parameter: t } = n;
163
- let o = !1;
164
- const i = [];
165
- for (let c = 0; c < t.components.length; c++) {
166
- const s = t.components[c], a = Array.isArray(e) ? c : s.name, m = u({
167
- checksumAddress: r,
168
- parameter: s,
169
- value: e[a]
170
- });
171
- i.push(m), m.dynamic && (o = !0);
172
- }
173
- return {
174
- dynamic: o,
175
- encoded: o ? l(i) : p(...i.map(({ encoded: c }) => c))
176
- };
177
- }
178
- function k(e) {
179
- const n = e.match(/^(.*)\[(\d+)?\]$/);
180
- return n ? (
181
- // Return `null` if the array is dynamic.
182
- [n[2] ? Number(n[2]) : null, n[1]]
183
- ) : void 0;
184
60
  }
185
61
  export {
186
- l as encode,
187
- N as encodeAddress,
188
- P as encodeArray,
189
- C as encodeBoolean,
190
- $ as encodeBytes,
191
- M as encodeNumber,
192
- W as encodeString,
193
- R as encodeTuple,
194
- k as getArrayComponents,
195
- u as prepareParameter,
196
- q as prepareParameters
62
+ a as getAmbiguousTypes,
63
+ l as isArgOfType,
64
+ y as normalizeSignature
197
65
  };
@@ -1,66 +1,80 @@
1
- import { BaseError as c } from "./index258.js";
2
- import { padRight as h } from "./index247.js";
3
- import { charCodeToBase16 as b, assertSize as g, pad as m } from "./index267.js";
4
- import { assertSize as p } from "./index260.js";
5
- const l = /* @__PURE__ */ new TextEncoder();
6
- function E(e) {
7
- return e instanceof Uint8Array ? e : typeof e == "string" ? y(e) : z(e);
8
- }
9
- function z(e) {
10
- return e instanceof Uint8Array ? e : new Uint8Array(e);
11
- }
12
- function y(e, t = {}) {
13
- const { size: r } = t;
14
- let n = e;
15
- r && (p(e, r), n = h(e, r));
16
- let i = n.slice(2);
17
- i.length % 2 && (i = `0${i}`);
18
- const f = i.length / 2, a = new Uint8Array(f);
19
- for (let s = 0, o = 0; s < f; s++) {
20
- const d = b(i.charCodeAt(o++)), u = b(i.charCodeAt(o++));
21
- if (d === void 0 || u === void 0)
22
- throw new c(`Invalid byte sequence ("${i[o - 2]}${i[o - 1]}" in "${i}").`);
23
- a[s] = d * 16 + u;
1
+ import { fromString as d } from "./index269.js";
2
+ import { checksum as o } from "./index272.js";
3
+ import { BaseError as c } from "./index261.js";
4
+ import { keccak256 as f } from "./index264.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
+ });
24
21
  }
25
- return a;
26
22
  }
27
- function C(e, t = {}) {
28
- const { size: r } = t, n = l.encode(e);
29
- return typeof r == "number" ? (g(n, r), x(n, r)) : n;
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;
30
32
  }
31
- function x(e, t) {
32
- return m(e, { dir: "right", size: t });
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
+ }
33
40
  }
34
- function U(e) {
35
- return e.length;
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
+ }
36
52
  }
37
- class B extends c {
38
- constructor({ givenSize: t, maxSize: r }) {
39
- super(`Size cannot exceed \`${r}\` bytes. Given size: \`${t}\` bytes.`), Object.defineProperty(this, "name", {
53
+ class h extends c {
54
+ constructor() {
55
+ super("Address is not a 20 byte (40 hexadecimal character) value."), Object.defineProperty(this, "name", {
40
56
  enumerable: !0,
41
57
  configurable: !0,
42
58
  writable: !0,
43
- value: "Bytes.SizeOverflowError"
59
+ value: "Address.InvalidInputError"
44
60
  });
45
61
  }
46
62
  }
47
- class O extends c {
48
- constructor({ size: t, targetSize: r, type: n }) {
49
- super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${t}\`) exceeds padding size (\`${r}\`).`), Object.defineProperty(this, "name", {
63
+ class p extends c {
64
+ constructor() {
65
+ super("Address does not match its checksum counterpart."), Object.defineProperty(this, "name", {
50
66
  enumerable: !0,
51
67
  configurable: !0,
52
68
  writable: !0,
53
- value: "Bytes.SizeExceedsPaddingSizeError"
69
+ value: "Address.InvalidChecksumError"
54
70
  });
55
71
  }
56
72
  }
57
73
  export {
58
- O as SizeExceedsPaddingSizeError,
59
- B as SizeOverflowError,
60
- E as from,
61
- z as fromArray,
62
- y as fromHex,
63
- C as fromString,
64
- x as padRight,
65
- U as size
74
+ i as InvalidAddressError,
75
+ p as InvalidChecksumError,
76
+ h as InvalidInputError,
77
+ u as assert,
78
+ m as checksum,
79
+ k as validate
66
80
  };
@@ -1,47 +1,6 @@
1
- import { size as d, SizeOverflowError as u, SizeExceedsPaddingSizeError as a } from "./index266.js";
2
- function p(e, t) {
3
- if (d(e) > t)
4
- throw new u({
5
- givenSize: d(e),
6
- maxSize: t
7
- });
8
- }
9
- const n = {
10
- zero: 48,
11
- nine: 57,
12
- A: 65,
13
- F: 70,
14
- a: 97,
15
- f: 102
16
- };
17
- function s(e) {
18
- if (e >= n.zero && e <= n.nine)
19
- return e - n.zero;
20
- if (e >= n.A && e <= n.F)
21
- return e - (n.A - 10);
22
- if (e >= n.a && e <= n.f)
23
- return e - (n.a - 10);
24
- }
25
- function S(e, t = {}) {
26
- const { dir: z, size: i = 32 } = t;
27
- if (i === 0)
28
- return e;
29
- if (e.length > i)
30
- throw new a({
31
- size: e.length,
32
- targetSize: i,
33
- type: "Bytes"
34
- });
35
- const o = new Uint8Array(i);
36
- for (let r = 0; r < i; r++) {
37
- const f = z === "right";
38
- o[f ? r : i - r - 1] = e[f ? r : e.length - r - 1];
39
- }
40
- return o;
41
- }
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)?$/;
42
2
  export {
43
- p as assertSize,
44
- n as charCodeMap,
45
- s as charCodeToBase16,
46
- S as pad
3
+ e as arrayRegex,
4
+ t as bytesRegex,
5
+ n as integerRegex
47
6
  };