@coinbase/cdp-hooks 0.0.20 → 0.0.21

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