@coinbase/cdp-hooks 0.0.96 → 0.0.97

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 (282) hide show
  1. package/dist/esm/index100.js +35 -25
  2. package/dist/esm/index101.js +9 -46
  3. package/dist/esm/index102.js +31 -69
  4. package/dist/esm/index103.js +36 -40
  5. package/dist/esm/index104.js +9 -75
  6. package/dist/esm/index105.js +25 -27
  7. package/dist/esm/index106.js +46 -6
  8. package/dist/esm/index107.js +69 -16
  9. package/dist/esm/index108.js +40 -8
  10. package/dist/esm/index109.js +75 -13
  11. package/dist/esm/index110.js +31 -7
  12. package/dist/esm/index111.js +6 -9
  13. package/dist/esm/index112.js +16 -16
  14. package/dist/esm/index113.js +8 -12
  15. package/dist/esm/index114.js +13 -46
  16. package/dist/esm/index115.js +7 -13
  17. package/dist/esm/index116.js +9 -16
  18. package/dist/esm/index117.js +16 -13
  19. package/dist/esm/index118.js +11 -5
  20. package/dist/esm/index119.js +46 -35
  21. package/dist/esm/index120.js +13 -9
  22. package/dist/esm/index121.js +15 -7
  23. package/dist/esm/index122.js +13 -28
  24. package/dist/esm/index123.js +6 -10
  25. package/dist/esm/index124.js +32 -11
  26. package/dist/esm/index125.js +9 -11
  27. package/dist/esm/index126.js +8 -120
  28. package/dist/esm/index127.js +27 -32
  29. package/dist/esm/index128.js +10 -80
  30. package/dist/esm/index129.js +13 -176
  31. package/dist/esm/index130.js +11 -44
  32. package/dist/esm/index131.js +120 -6
  33. package/dist/esm/index132.js +30 -151
  34. package/dist/esm/index133.js +80 -14
  35. package/dist/esm/index134.js +177 -14
  36. package/dist/esm/index135.js +42 -97
  37. package/dist/esm/index136.js +6 -72
  38. package/dist/esm/index137.js +153 -86
  39. package/dist/esm/index138.js +14 -148
  40. package/dist/esm/index139.js +14 -136
  41. package/dist/esm/index140.js +94 -63
  42. package/dist/esm/index141.js +72 -23
  43. package/dist/esm/index142.js +83 -154
  44. package/dist/esm/index143.js +148 -6
  45. package/dist/esm/index144.js +136 -11
  46. package/dist/esm/index145.js +68 -19
  47. package/dist/esm/index146.js +23 -135
  48. package/dist/esm/index147.js +155 -75
  49. package/dist/esm/index148.js +6 -9
  50. package/dist/esm/index149.js +11 -28
  51. package/dist/esm/index150.js +17 -87
  52. package/dist/esm/index151.js +135 -350
  53. package/dist/esm/index152.js +79 -3
  54. package/dist/esm/index153.js +10 -5
  55. package/dist/esm/index154.js +29 -2
  56. package/dist/esm/index155.js +90 -3
  57. package/dist/esm/index156.js +351 -9
  58. package/dist/esm/index157.js +3 -327
  59. package/dist/esm/index158.js +5 -14
  60. package/dist/esm/index159.js +2 -5
  61. package/dist/esm/index160.js +3 -56
  62. package/dist/esm/index161.js +9 -13
  63. package/dist/esm/index162.js +327 -2
  64. package/dist/esm/index163.js +13 -7
  65. package/dist/esm/index164.js +4 -30
  66. package/dist/esm/index165.js +29 -188
  67. package/dist/esm/index166.js +13 -32
  68. package/dist/esm/index167.js +2 -22
  69. package/dist/esm/index168.js +7 -5
  70. package/dist/esm/index169.js +25 -68
  71. package/dist/esm/index170.js +214 -5
  72. package/dist/esm/index171.js +32 -6
  73. package/dist/esm/index172.js +20 -34
  74. package/dist/esm/index173.js +5 -119
  75. package/dist/esm/index174.js +74 -3
  76. package/dist/esm/index175.js +5 -18
  77. package/dist/esm/index176.js +5 -26
  78. package/dist/esm/index177.js +28 -26
  79. package/dist/esm/index178.js +105 -20
  80. package/dist/esm/index179.js +3 -24
  81. package/dist/esm/index180.js +17 -7
  82. package/dist/esm/index181.js +18 -185
  83. package/dist/esm/index182.js +34 -2
  84. package/dist/esm/index183.js +28 -461
  85. package/dist/esm/index184.js +16 -20
  86. package/dist/esm/index185.js +6 -158
  87. package/dist/esm/index186.js +193 -21
  88. package/dist/esm/index187.js +2 -128
  89. package/dist/esm/index188.js +467 -38
  90. package/dist/esm/index189.js +27 -6
  91. package/dist/esm/index190.js +160 -27
  92. package/dist/esm/index191.js +20 -54
  93. package/dist/esm/index192.js +126 -44
  94. package/dist/esm/index193.js +31 -184
  95. package/dist/esm/index194.js +7 -4
  96. package/dist/esm/index195.js +26 -72
  97. package/dist/esm/index196.js +52 -17
  98. package/dist/esm/index197.js +46 -3
  99. package/dist/esm/index198.js +188 -13
  100. package/dist/esm/index199.js +4 -24
  101. package/dist/esm/index200.js +73 -11
  102. package/dist/esm/index201.js +18 -16
  103. package/dist/esm/index202.js +3 -35
  104. package/dist/esm/index203.js +17 -3
  105. package/dist/esm/index204.js +23 -18
  106. package/dist/esm/index205.js +11 -27
  107. package/dist/esm/index206.js +17 -34
  108. package/dist/esm/index207.js +34 -8
  109. package/dist/esm/index208.js +3 -8
  110. package/dist/esm/index209.js +18 -25
  111. package/dist/esm/index210.js +26 -27
  112. package/dist/esm/index211.js +35 -3
  113. package/dist/esm/index212.js +8 -79
  114. package/dist/esm/index213.js +7 -9
  115. package/dist/esm/index214.js +23 -10
  116. package/dist/esm/index215.js +27 -20
  117. package/dist/esm/index216.js +3 -8
  118. package/dist/esm/index217.js +78 -9
  119. package/dist/esm/index218.js +9 -11
  120. package/dist/esm/index219.js +12 -6
  121. package/dist/esm/index220.js +21 -6
  122. package/dist/esm/index221.js +8 -13
  123. package/dist/esm/index222.js +9 -31
  124. package/dist/esm/index223.js +12 -5
  125. package/dist/esm/index224.js +6 -37
  126. package/dist/esm/index225.js +6 -110
  127. package/dist/esm/index226.js +12 -47
  128. package/dist/esm/index227.js +31 -31
  129. package/dist/esm/index228.js +5 -18
  130. package/dist/esm/index229.js +35 -17
  131. package/dist/esm/index230.js +108 -40
  132. package/dist/esm/index231.js +46 -40
  133. package/dist/esm/index232.js +32 -8
  134. package/dist/esm/index233.js +17 -7
  135. package/dist/esm/index234.js +19 -16
  136. package/dist/esm/index235.js +42 -22
  137. package/dist/esm/index236.js +40 -22
  138. package/dist/esm/index237.js +8 -16
  139. package/dist/esm/index238.js +7 -54
  140. package/dist/esm/index239.js +16 -27
  141. package/dist/esm/index240.js +22 -24
  142. package/dist/esm/index241.js +24 -104
  143. package/dist/esm/index242.js +17 -3
  144. package/dist/esm/index243.js +54 -5
  145. package/dist/esm/index244.js +26 -30
  146. package/dist/esm/index245.js +24 -20
  147. package/dist/esm/index246.js +104 -3
  148. package/dist/esm/index247.js +3 -18
  149. package/dist/esm/index248.js +5 -5
  150. package/dist/esm/index249.js +31 -8
  151. package/dist/esm/index250.js +19 -102
  152. package/dist/esm/index251.js +3 -64
  153. package/dist/esm/index252.js +17 -5
  154. package/dist/esm/index253.js +5 -6
  155. package/dist/esm/index254.js +8 -27
  156. package/dist/esm/index255.js +103 -33
  157. package/dist/esm/index256.js +64 -13
  158. package/dist/esm/index257.js +5 -16
  159. package/dist/esm/index258.js +6 -78
  160. package/dist/esm/index259.js +28 -2
  161. package/dist/esm/index260.js +33 -14
  162. package/dist/esm/index261.js +13 -18
  163. package/dist/esm/index262.js +16 -171
  164. package/dist/esm/index263.js +77 -16
  165. package/dist/esm/index264.js +2 -11
  166. package/dist/esm/index265.js +15 -10
  167. package/dist/esm/index266.js +18 -38
  168. package/dist/esm/index267.js +172 -2
  169. package/dist/esm/index268.js +17 -69
  170. package/dist/esm/index269.js +10 -34
  171. package/dist/esm/index270.js +10 -15
  172. package/dist/esm/index271.js +2 -41
  173. package/dist/esm/index272.js +41 -2
  174. package/dist/esm/index273.js +2 -5
  175. package/dist/esm/index274.js +4 -10
  176. package/dist/esm/index275.js +9 -18
  177. package/dist/esm/index276.js +19 -7
  178. package/dist/esm/index277.js +7 -11
  179. package/dist/esm/index278.js +11 -72
  180. package/dist/esm/index279.js +71 -64
  181. package/dist/esm/index280.js +60 -182
  182. package/dist/esm/index281.js +185 -20
  183. package/dist/esm/index282.js +21 -41
  184. package/dist/esm/index283.js +41 -24
  185. package/dist/esm/index284.js +24 -89
  186. package/dist/esm/index285.js +68 -18
  187. package/dist/esm/index286.js +34 -10
  188. package/dist/esm/index287.js +10 -7
  189. package/dist/esm/index288.js +13 -7
  190. package/dist/esm/index289.js +7 -6
  191. package/dist/esm/index290.js +6 -36
  192. package/dist/esm/index291.js +35 -14
  193. package/dist/esm/index292.js +15 -8
  194. package/dist/esm/index293.js +8 -8
  195. package/dist/esm/index294.js +8 -16
  196. package/dist/esm/index295.js +15 -21
  197. package/dist/esm/index296.js +22 -30
  198. package/dist/esm/index297.js +31 -2
  199. package/dist/esm/index298.js +2 -14
  200. package/dist/esm/index299.js +13 -12
  201. package/dist/esm/index3.js +1 -1
  202. package/dist/esm/index300.js +10 -45
  203. package/dist/esm/index301.js +47 -9
  204. package/dist/esm/index302.js +8 -12
  205. package/dist/esm/index303.js +10 -10
  206. package/dist/esm/index304.js +13 -14
  207. package/dist/esm/index305.js +14 -8
  208. package/dist/esm/index306.js +6 -13
  209. package/dist/esm/index307.js +15 -24
  210. package/dist/esm/index308.js +24 -24
  211. package/dist/esm/index309.js +20 -27
  212. package/dist/esm/index310.js +31 -9
  213. package/dist/esm/index311.js +9 -51
  214. package/dist/esm/index312.js +38 -24
  215. package/dist/esm/index313.js +37 -17
  216. package/dist/esm/index314.js +17 -14
  217. package/dist/esm/index315.js +14 -11
  218. package/dist/esm/index316.js +11 -12
  219. package/dist/esm/index317.js +12 -19
  220. package/dist/esm/index318.js +18 -106
  221. package/dist/esm/index319.js +105 -101
  222. package/dist/esm/index320.js +103 -6
  223. package/dist/esm/index321.js +7 -7
  224. package/dist/esm/index322.js +7 -27
  225. package/dist/esm/index323.js +26 -15
  226. package/dist/esm/index324.js +13 -211
  227. package/dist/esm/index325.js +213 -12
  228. package/dist/esm/index326.js +12 -35
  229. package/dist/esm/index327.js +35 -41
  230. package/dist/esm/index328.js +42 -2
  231. package/dist/esm/index329.js +3 -68
  232. package/dist/esm/index330.js +68 -3
  233. package/dist/esm/index331.js +3 -136
  234. package/dist/esm/index332.js +125 -163
  235. package/dist/esm/index333.js +174 -9
  236. package/dist/esm/index334.js +9 -16
  237. package/dist/esm/index335.js +16 -133
  238. package/dist/esm/index336.js +112 -172
  239. package/dist/esm/index337.js +194 -2
  240. package/dist/esm/index338.js +2 -79
  241. package/dist/esm/index339.js +77 -13
  242. package/dist/esm/index340.js +13 -89
  243. package/dist/esm/index341.js +70 -143
  244. package/dist/esm/index342.js +157 -36
  245. package/dist/esm/index343.js +41 -654
  246. package/dist/esm/index344.js +646 -196
  247. package/dist/esm/index345.js +201 -172
  248. package/dist/esm/index346.js +176 -3
  249. package/dist/esm/index347.js +1 -1
  250. package/dist/esm/index349.js +2 -2
  251. package/dist/esm/index350.js +1 -1
  252. package/dist/esm/index351.js +1 -1
  253. package/dist/esm/index352.js +2 -2
  254. package/dist/esm/index353.js +3 -3
  255. package/dist/esm/index354.js +1 -1
  256. package/dist/esm/index73.js +2 -2
  257. package/dist/esm/index74.js +1 -1
  258. package/dist/esm/index75.js +2 -2
  259. package/dist/esm/index76.js +1 -1
  260. package/dist/esm/index77.js +1 -1
  261. package/dist/esm/index78.js +1 -1
  262. package/dist/esm/index79.js +1 -1
  263. package/dist/esm/index80.js +2 -2
  264. package/dist/esm/index81.js +2 -2
  265. package/dist/esm/index82.js +5 -5
  266. package/dist/esm/index83.js +2 -2
  267. package/dist/esm/index85.js +37 -33
  268. package/dist/esm/index86.js +2 -4
  269. package/dist/esm/index87.js +69 -9
  270. package/dist/esm/index88.js +33 -117
  271. package/dist/esm/index89.js +13 -60
  272. package/dist/esm/index90.js +33 -23
  273. package/dist/esm/index91.js +3 -36
  274. package/dist/esm/index92.js +9 -41
  275. package/dist/esm/index93.js +118 -58
  276. package/dist/esm/index94.js +58 -165
  277. package/dist/esm/index95.js +21 -36
  278. package/dist/esm/index96.js +36 -9
  279. package/dist/esm/index97.js +38 -28
  280. package/dist/esm/index98.js +58 -36
  281. package/dist/esm/index99.js +167 -8
  282. package/package.json +3 -3
@@ -1,30 +1,163 @@
1
- import { InvalidBytesBooleanError as f } from "./index176.js";
2
- import { trim as o } from "./index189.js";
3
- import { assertSize as r, hexToNumber as s, hexToBigInt as u } from "./index230.js";
4
- import { bytesToHex as t } from "./index192.js";
5
- function c(n, i = {}) {
6
- typeof i.size < "u" && r(n, { size: i.size });
7
- const e = t(n, i);
8
- return u(e, i);
9
- }
10
- function T(n, i = {}) {
11
- let e = n;
12
- if (typeof i.size < "u" && (r(e, { size: i.size }), e = o(e)), e.length > 1 || e[0] > 1)
13
- throw new f(e);
14
- return !!e[0];
15
- }
16
- function b(n, i = {}) {
17
- typeof i.size < "u" && r(n, { size: i.size });
18
- const e = t(n, i);
19
- return s(e, i);
20
- }
21
- function h(n, i = {}) {
22
- let e = n;
23
- return typeof i.size < "u" && (r(e, { size: i.size }), e = o(e, { dir: "right" })), new TextDecoder().decode(e);
1
+ import { AbiDecodingZeroDataError as a, AbiDecodingDataSizeTooSmallError as C, InvalidAbiDecodingTypeError as D } from "./index162.js";
2
+ import { checksumAddress as w } from "./index191.js";
3
+ import { createCursor as _ } from "./index192.js";
4
+ import { size as p } from "./index164.js";
5
+ import { sliceBytes as W } from "./index193.js";
6
+ import { trim as x } from "./index194.js";
7
+ import { bytesToNumber as y, bytesToBool as I, bytesToBigInt as N, bytesToString as O } from "./index195.js";
8
+ import { hexToBytes as S } from "./index196.js";
9
+ import { bytesToHex as g } from "./index197.js";
10
+ import { getArrayComponents as A } from "./index198.js";
11
+ function Y(t, e) {
12
+ const n = typeof e == "string" ? S(e) : e, i = _(n);
13
+ if (p(n) === 0 && t.length > 0)
14
+ throw new a();
15
+ if (p(e) && p(e) < 32)
16
+ throw new C({
17
+ data: typeof e == "string" ? e : g(e),
18
+ params: t,
19
+ size: p(e)
20
+ });
21
+ let s = 0;
22
+ const d = [];
23
+ for (let o = 0; o < t.length; ++o) {
24
+ const r = t[o];
25
+ i.setPosition(s);
26
+ const [f, c] = u(i, r, {
27
+ staticPosition: 0
28
+ });
29
+ s += c, d.push(f);
30
+ }
31
+ return d;
32
+ }
33
+ function u(t, e, { staticPosition: n }) {
34
+ const i = A(e.type);
35
+ if (i) {
36
+ const [s, d] = i;
37
+ return k(t, { ...e, type: d }, { length: s, staticPosition: n });
38
+ }
39
+ if (e.type === "tuple")
40
+ return Z(t, e, { staticPosition: n });
41
+ if (e.type === "address")
42
+ return E(t);
43
+ if (e.type === "bool")
44
+ return H(t);
45
+ if (e.type.startsWith("bytes"))
46
+ return L(t, e, { staticPosition: n });
47
+ if (e.type.startsWith("uint") || e.type.startsWith("int"))
48
+ return U(t, e);
49
+ if (e.type === "string")
50
+ return j(t, { staticPosition: n });
51
+ throw new D(e.type, {
52
+ docsPath: "/docs/contract/decodeAbiParameters"
53
+ });
54
+ }
55
+ const P = 32, b = 32;
56
+ function E(t) {
57
+ const e = t.readBytes(32);
58
+ return [w(g(W(e, -20))), 32];
59
+ }
60
+ function k(t, e, { length: n, staticPosition: i }) {
61
+ if (!n) {
62
+ const o = y(t.readBytes(b)), r = i + o, f = r + P;
63
+ t.setPosition(r);
64
+ const c = y(t.readBytes(P)), l = m(e);
65
+ let h = 0;
66
+ const v = [];
67
+ for (let B = 0; B < c; ++B) {
68
+ t.setPosition(f + (l ? B * 32 : h));
69
+ const [T, z] = u(t, e, {
70
+ staticPosition: f
71
+ });
72
+ h += z, v.push(T);
73
+ }
74
+ return t.setPosition(i + 32), [v, 32];
75
+ }
76
+ if (m(e)) {
77
+ const o = y(t.readBytes(b)), r = i + o, f = [];
78
+ for (let c = 0; c < n; ++c) {
79
+ t.setPosition(r + c * 32);
80
+ const [l] = u(t, e, {
81
+ staticPosition: r
82
+ });
83
+ f.push(l);
84
+ }
85
+ return t.setPosition(i + 32), [f, 32];
86
+ }
87
+ let s = 0;
88
+ const d = [];
89
+ for (let o = 0; o < n; ++o) {
90
+ const [r, f] = u(t, e, {
91
+ staticPosition: i + s
92
+ });
93
+ s += f, d.push(r);
94
+ }
95
+ return [d, s];
96
+ }
97
+ function H(t) {
98
+ return [I(t.readBytes(32), { size: 32 }), 32];
99
+ }
100
+ function L(t, e, { staticPosition: n }) {
101
+ const [i, s] = e.type.split("bytes");
102
+ if (!s) {
103
+ const o = y(t.readBytes(32));
104
+ t.setPosition(n + o);
105
+ const r = y(t.readBytes(32));
106
+ if (r === 0)
107
+ return t.setPosition(n + 32), ["0x", 32];
108
+ const f = t.readBytes(r);
109
+ return t.setPosition(n + 32), [g(f), 32];
110
+ }
111
+ return [g(t.readBytes(Number.parseInt(s, 10), 32)), 32];
112
+ }
113
+ function U(t, e) {
114
+ const n = e.type.startsWith("int"), i = Number.parseInt(e.type.split("int")[1] || "256", 10), s = t.readBytes(32);
115
+ return [
116
+ i > 48 ? N(s, { signed: n }) : y(s, { signed: n }),
117
+ 32
118
+ ];
119
+ }
120
+ function Z(t, e, { staticPosition: n }) {
121
+ const i = e.components.length === 0 || e.components.some(({ name: o }) => !o), s = i ? [] : {};
122
+ let d = 0;
123
+ if (m(e)) {
124
+ const o = y(t.readBytes(b)), r = n + o;
125
+ for (let f = 0; f < e.components.length; ++f) {
126
+ const c = e.components[f];
127
+ t.setPosition(r + d);
128
+ const [l, h] = u(t, c, {
129
+ staticPosition: r
130
+ });
131
+ d += h, s[i ? f : c?.name] = l;
132
+ }
133
+ return t.setPosition(n + 32), [s, 32];
134
+ }
135
+ for (let o = 0; o < e.components.length; ++o) {
136
+ const r = e.components[o], [f, c] = u(t, r, {
137
+ staticPosition: n
138
+ });
139
+ s[i ? o : r?.name] = f, d += c;
140
+ }
141
+ return [s, d];
142
+ }
143
+ function j(t, { staticPosition: e }) {
144
+ const n = y(t.readBytes(32)), i = e + n;
145
+ t.setPosition(i);
146
+ const s = y(t.readBytes(32));
147
+ if (s === 0)
148
+ return t.setPosition(e + 32), ["", 32];
149
+ const d = t.readBytes(s, 32), o = O(x(d));
150
+ return t.setPosition(e + 32), [o, 32];
151
+ }
152
+ function m(t) {
153
+ const { type: e } = t;
154
+ if (e === "string" || e === "bytes" || e.endsWith("[]"))
155
+ return !0;
156
+ if (e === "tuple")
157
+ return t.components?.some(m);
158
+ const n = A(t.type);
159
+ return !!(n && m({ ...t, type: n[1] }));
24
160
  }
25
161
  export {
26
- c as bytesToBigInt,
27
- T as bytesToBool,
28
- b as bytesToNumber,
29
- h as bytesToString
162
+ Y as decodeAbiParameters
30
163
  };
@@ -1,58 +1,24 @@
1
- import { BaseError as g } from "./index160.js";
2
- import { isHex as x } from "./index211.js";
3
- import { pad as s } from "./index202.js";
4
- import { assertSize as u } from "./index230.js";
5
- import { numberToHex as h } from "./index192.js";
6
- const A = /* @__PURE__ */ new TextEncoder();
7
- function F(e, n = {}) {
8
- return typeof e == "number" || typeof e == "bigint" ? T(e, n) : typeof e == "boolean" ? B(e, n) : x(e) ? y(e, n) : l(e, n);
1
+ import { InvalidAddressError as c } from "./index166.js";
2
+ import { stringToBytes as m } from "./index196.js";
3
+ import { keccak256 as p } from "./index212.js";
4
+ import { LruMap as u } from "./index220.js";
5
+ import { isAddress as $ } from "./index205.js";
6
+ const s = /* @__PURE__ */ new u(8192);
7
+ function h(t, o) {
8
+ if (s.has(`${t}.${o}`))
9
+ return s.get(`${t}.${o}`);
10
+ const i = t.substring(2).toLowerCase(), n = p(m(i), "bytes"), e = i.split("");
11
+ for (let r = 0; r < 40; r += 2)
12
+ n[r >> 1] >> 4 >= 8 && e[r] && (e[r] = e[r].toUpperCase()), (n[r >> 1] & 15) >= 8 && e[r + 1] && (e[r + 1] = e[r + 1].toUpperCase());
13
+ const f = `0x${e.join("")}`;
14
+ return s.set(`${t}.${o}`, f), f;
9
15
  }
10
- function B(e, n = {}) {
11
- const r = new Uint8Array(1);
12
- return r[0] = Number(e), typeof n.size == "number" ? (u(r, { size: n.size }), s(r, { size: n.size })) : r;
13
- }
14
- const t = {
15
- zero: 48,
16
- nine: 57,
17
- A: 65,
18
- F: 70,
19
- a: 97,
20
- f: 102
21
- };
22
- function m(e) {
23
- if (e >= t.zero && e <= t.nine)
24
- return e - t.zero;
25
- if (e >= t.A && e <= t.F)
26
- return e - (t.A - 10);
27
- if (e >= t.a && e <= t.f)
28
- return e - (t.a - 10);
29
- }
30
- function y(e, n = {}) {
31
- let r = e;
32
- n.size && (u(r, { size: n.size }), r = s(r, { dir: "right", size: n.size }));
33
- let i = r.slice(2);
34
- i.length % 2 && (i = `0${i}`);
35
- const z = i.length / 2, d = new Uint8Array(z);
36
- for (let f = 0, o = 0; f < z; f++) {
37
- const b = m(i.charCodeAt(o++)), c = m(i.charCodeAt(o++));
38
- if (b === void 0 || c === void 0)
39
- throw new g(`Invalid byte sequence ("${i[o - 2]}${i[o - 1]}" in "${i}").`);
40
- d[f] = b * 16 + c;
41
- }
42
- return d;
43
- }
44
- function T(e, n) {
45
- const r = h(e, n);
46
- return y(r);
47
- }
48
- function l(e, n = {}) {
49
- const r = A.encode(e);
50
- return typeof n.size == "number" ? (u(r, { size: n.size }), s(r, { dir: "right", size: n.size })) : r;
16
+ function w(t, o) {
17
+ if (!$(t, { strict: !1 }))
18
+ throw new c({ address: t });
19
+ return h(t, o);
51
20
  }
52
21
  export {
53
- B as boolToBytes,
54
- y as hexToBytes,
55
- T as numberToBytes,
56
- l as stringToBytes,
57
- F as toBytes
22
+ h as checksumAddress,
23
+ w as getAddress
58
24
  };
@@ -1,48 +1,130 @@
1
- import { IntegerOutOfRangeError as x } from "./index176.js";
2
- import { pad as s } from "./index202.js";
3
- import { assertSize as c } from "./index230.js";
4
- const b = /* @__PURE__ */ Array.from({ length: 256 }, (n, e) => e.toString(16).padStart(2, "0"));
5
- function B(n, e = {}) {
6
- return typeof n == "number" || typeof n == "bigint" ? y(n, e) : typeof n == "string" ? $(n, e) : typeof n == "boolean" ? z(n, e) : m(n, e);
7
- }
8
- function z(n, e = {}) {
9
- const t = `0x${Number(n)}`;
10
- return typeof e.size == "number" ? (c(t, { size: e.size }), s(t, { size: e.size })) : t;
11
- }
12
- function m(n, e = {}) {
13
- let t = "";
14
- for (let i = 0; i < n.length; i++)
15
- t += b[n[i]];
16
- const r = `0x${t}`;
17
- return typeof e.size == "number" ? (c(r, { size: e.size }), s(r, { dir: "right", size: e.size })) : r;
18
- }
19
- function y(n, e = {}) {
20
- const { signed: t, size: r } = e, i = BigInt(n);
21
- let o;
22
- r ? t ? o = (1n << BigInt(r) * 8n - 1n) - 1n : o = 2n ** (BigInt(r) * 8n) - 1n : typeof n == "number" && (o = BigInt(Number.MAX_SAFE_INTEGER));
23
- const g = typeof o == "bigint" && t ? -o - 1n : 0;
24
- if (o && i > o || i < g) {
25
- const f = typeof n == "bigint" ? "n" : "";
26
- throw new x({
27
- max: o ? `${o}${f}` : void 0,
28
- min: `${g}${f}`,
29
- signed: t,
30
- size: r,
31
- value: `${n}${f}`
32
- });
1
+ import { NegativeOffsetError as o, PositionOutOfBoundsError as e, RecursiveReadLimitExceededError as n } from "./index201.js";
2
+ const h = {
3
+ bytes: new Uint8Array(),
4
+ dataView: new DataView(new ArrayBuffer(0)),
5
+ position: 0,
6
+ positionReadCount: /* @__PURE__ */ new Map(),
7
+ recursiveReadCount: 0,
8
+ recursiveReadLimit: Number.POSITIVE_INFINITY,
9
+ assertReadLimit() {
10
+ if (this.recursiveReadCount >= this.recursiveReadLimit)
11
+ throw new n({
12
+ count: this.recursiveReadCount + 1,
13
+ limit: this.recursiveReadLimit
14
+ });
15
+ },
16
+ assertPosition(t) {
17
+ if (t < 0 || t > this.bytes.length - 1)
18
+ throw new e({
19
+ length: this.bytes.length,
20
+ position: t
21
+ });
22
+ },
23
+ decrementPosition(t) {
24
+ if (t < 0)
25
+ throw new o({ offset: t });
26
+ const i = this.position - t;
27
+ this.assertPosition(i), this.position = i;
28
+ },
29
+ getReadCount(t) {
30
+ return this.positionReadCount.get(t || this.position) || 0;
31
+ },
32
+ incrementPosition(t) {
33
+ if (t < 0)
34
+ throw new o({ offset: t });
35
+ const i = this.position + t;
36
+ this.assertPosition(i), this.position = i;
37
+ },
38
+ inspectByte(t) {
39
+ const i = t ?? this.position;
40
+ return this.assertPosition(i), this.bytes[i];
41
+ },
42
+ inspectBytes(t, i) {
43
+ const s = i ?? this.position;
44
+ return this.assertPosition(s + t - 1), this.bytes.subarray(s, s + t);
45
+ },
46
+ inspectUint8(t) {
47
+ const i = t ?? this.position;
48
+ return this.assertPosition(i), this.bytes[i];
49
+ },
50
+ inspectUint16(t) {
51
+ const i = t ?? this.position;
52
+ return this.assertPosition(i + 1), this.dataView.getUint16(i);
53
+ },
54
+ inspectUint24(t) {
55
+ const i = t ?? this.position;
56
+ return this.assertPosition(i + 2), (this.dataView.getUint16(i) << 8) + this.dataView.getUint8(i + 2);
57
+ },
58
+ inspectUint32(t) {
59
+ const i = t ?? this.position;
60
+ return this.assertPosition(i + 3), this.dataView.getUint32(i);
61
+ },
62
+ pushByte(t) {
63
+ this.assertPosition(this.position), this.bytes[this.position] = t, this.position++;
64
+ },
65
+ pushBytes(t) {
66
+ this.assertPosition(this.position + t.length - 1), this.bytes.set(t, this.position), this.position += t.length;
67
+ },
68
+ pushUint8(t) {
69
+ this.assertPosition(this.position), this.bytes[this.position] = t, this.position++;
70
+ },
71
+ pushUint16(t) {
72
+ this.assertPosition(this.position + 1), this.dataView.setUint16(this.position, t), this.position += 2;
73
+ },
74
+ pushUint24(t) {
75
+ this.assertPosition(this.position + 2), this.dataView.setUint16(this.position, t >> 8), this.dataView.setUint8(this.position + 2, t & 255), this.position += 3;
76
+ },
77
+ pushUint32(t) {
78
+ this.assertPosition(this.position + 3), this.dataView.setUint32(this.position, t), this.position += 4;
79
+ },
80
+ readByte() {
81
+ this.assertReadLimit(), this._touch();
82
+ const t = this.inspectByte();
83
+ return this.position++, t;
84
+ },
85
+ readBytes(t, i) {
86
+ this.assertReadLimit(), this._touch();
87
+ const s = this.inspectBytes(t);
88
+ return this.position += i ?? t, s;
89
+ },
90
+ readUint8() {
91
+ this.assertReadLimit(), this._touch();
92
+ const t = this.inspectUint8();
93
+ return this.position += 1, t;
94
+ },
95
+ readUint16() {
96
+ this.assertReadLimit(), this._touch();
97
+ const t = this.inspectUint16();
98
+ return this.position += 2, t;
99
+ },
100
+ readUint24() {
101
+ this.assertReadLimit(), this._touch();
102
+ const t = this.inspectUint24();
103
+ return this.position += 3, t;
104
+ },
105
+ readUint32() {
106
+ this.assertReadLimit(), this._touch();
107
+ const t = this.inspectUint32();
108
+ return this.position += 4, t;
109
+ },
110
+ get remaining() {
111
+ return this.bytes.length - this.position;
112
+ },
113
+ setPosition(t) {
114
+ const i = this.position;
115
+ return this.assertPosition(t), this.position = t, () => this.position = i;
116
+ },
117
+ _touch() {
118
+ if (this.recursiveReadLimit === Number.POSITIVE_INFINITY)
119
+ return;
120
+ const t = this.getReadCount();
121
+ this.positionReadCount.set(this.position, t + 1), t > 0 && this.recursiveReadCount++;
33
122
  }
34
- const u = `0x${(t && i < 0 ? (1n << BigInt(r * 8)) + BigInt(i) : i).toString(16)}`;
35
- return r ? s(u, { size: r }) : u;
36
- }
37
- const d = /* @__PURE__ */ new TextEncoder();
38
- function $(n, e = {}) {
39
- const t = d.encode(n);
40
- return m(t, e);
123
+ };
124
+ function a(t, { recursiveReadLimit: i = 8192 } = {}) {
125
+ const s = Object.create(h);
126
+ return s.bytes = t, s.dataView = new DataView(t.buffer ?? t, t.byteOffset, t.byteLength), s.positionReadCount = /* @__PURE__ */ new Map(), s.recursiveReadLimit = i, s;
41
127
  }
42
128
  export {
43
- z as boolToHex,
44
- m as bytesToHex,
45
- y as numberToHex,
46
- $ as stringToHex,
47
- B as toHex
129
+ a as createCursor
48
130
  };
@@ -1,194 +1,41 @@
1
- import { AbiEncodingLengthMismatchError as y, InvalidAbiEncodingTypeError as u, InvalidArrayError as g, AbiEncodingArrayLengthMismatchError as l, AbiEncodingBytesSizeMismatchError as b } from "./index157.js";
2
- import { InvalidAddressError as w } from "./index161.js";
3
- import { BaseError as A } from "./index160.js";
4
- import { IntegerOutOfRangeError as x } from "./index176.js";
5
- import { isAddress as z } from "./index200.js";
6
- import { concat as f } from "./index201.js";
7
- import { padHex as d } from "./index202.js";
8
- import { size as a } from "./index159.js";
9
- import { slice as E } from "./index188.js";
10
- import { numberToHex as m, boolToHex as P, stringToHex as S } from "./index192.js";
11
- import { integerRegex as I } from "./index203.js";
12
- function K(e, t) {
13
- if (e.length !== t.length)
14
- throw new y({
15
- expectedLength: e.length,
16
- givenLength: t.length
17
- });
18
- const o = L({
19
- params: e,
20
- values: t
21
- }), n = h(o);
22
- return n.length === 0 ? "0x" : n;
23
- }
24
- function L({ params: e, values: t }) {
25
- const o = [];
26
- for (let n = 0; n < e.length; n++)
27
- o.push(p({ param: e[n], value: t[n] }));
28
- return o;
29
- }
30
- function p({ param: e, value: t }) {
31
- const o = W(e.type);
32
- if (o) {
33
- const [n, r] = o;
34
- return M(t, { length: n, param: { ...e, type: r } });
35
- }
36
- if (e.type === "tuple")
37
- return H(t, {
38
- param: e
39
- });
40
- if (e.type === "address")
41
- return B(t);
42
- if (e.type === "bool")
43
- return T(t);
44
- if (e.type.startsWith("uint") || e.type.startsWith("int")) {
45
- const n = e.type.startsWith("int"), [, , r = "256"] = I.exec(e.type) ?? [];
46
- return $(t, {
47
- signed: n,
48
- size: Number(r)
49
- });
50
- }
51
- if (e.type.startsWith("bytes"))
52
- return N(t, { param: e });
53
- if (e.type === "string")
54
- return C(t);
55
- throw new u(e.type, {
56
- docsPath: "/docs/contract/encodeAbiParameters"
1
+ import { SliceOffsetOutOfBoundsError as t } from "./index180.js";
2
+ import { isHex as p } from "./index216.js";
3
+ import { size as r } from "./index164.js";
4
+ function w(e, f, i, { strict: o } = {}) {
5
+ return p(e, { strict: !1 }) ? u(e, f, i, {
6
+ strict: o
7
+ }) : m(e, f, i, {
8
+ strict: o
57
9
  });
58
10
  }
59
- function h(e) {
60
- let t = 0;
61
- for (let i = 0; i < e.length; i++) {
62
- const { dynamic: c, encoded: s } = e[i];
63
- c ? t += 32 : t += a(s);
64
- }
65
- const o = [], n = [];
66
- let r = 0;
67
- for (let i = 0; i < e.length; i++) {
68
- const { dynamic: c, encoded: s } = e[i];
69
- c ? (o.push(m(t + r, { size: 32 })), n.push(s), r += a(s)) : o.push(s);
70
- }
71
- return f([...o, ...n]);
72
- }
73
- function B(e) {
74
- if (!z(e))
75
- throw new w({ address: e });
76
- return { dynamic: !1, encoded: d(e.toLowerCase()) };
77
- }
78
- function M(e, { length: t, param: o }) {
79
- const n = t === null;
80
- if (!Array.isArray(e))
81
- throw new g(e);
82
- if (!n && e.length !== t)
83
- throw new l({
84
- expectedLength: t,
85
- givenLength: e.length,
86
- type: `${o.type}[${t}]`
11
+ function s(e, f) {
12
+ if (typeof f == "number" && f > 0 && f > r(e) - 1)
13
+ throw new t({
14
+ offset: f,
15
+ position: "start",
16
+ size: r(e)
87
17
  });
88
- let r = !1;
89
- const i = [];
90
- for (let c = 0; c < e.length; c++) {
91
- const s = p({ param: o, value: e[c] });
92
- s.dynamic && (r = !0), i.push(s);
93
- }
94
- if (n || r) {
95
- const c = h(i);
96
- if (n) {
97
- const s = m(i.length, { size: 32 });
98
- return {
99
- dynamic: !0,
100
- encoded: i.length > 0 ? f([s, c]) : s
101
- };
102
- }
103
- if (r)
104
- return { dynamic: !0, encoded: c };
105
- }
106
- return {
107
- dynamic: !1,
108
- encoded: f(i.map(({ encoded: c }) => c))
109
- };
110
18
  }
111
- function N(e, { param: t }) {
112
- const [, o] = t.type.split("bytes"), n = a(e);
113
- if (!o) {
114
- let r = e;
115
- return n % 32 !== 0 && (r = d(r, {
116
- dir: "right",
117
- size: Math.ceil((e.length - 2) / 2 / 32) * 32
118
- })), {
119
- dynamic: !0,
120
- encoded: f([d(m(n, { size: 32 })), r])
121
- };
122
- }
123
- if (n !== Number.parseInt(o, 10))
124
- throw new b({
125
- expectedSize: Number.parseInt(o, 10),
126
- value: e
19
+ function c(e, f, i) {
20
+ if (typeof f == "number" && typeof i == "number" && r(e) !== i - f)
21
+ throw new t({
22
+ offset: i,
23
+ position: "end",
24
+ size: r(e)
127
25
  });
128
- return { dynamic: !1, encoded: d(e, { dir: "right" }) };
129
- }
130
- function T(e) {
131
- if (typeof e != "boolean")
132
- throw new A(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);
133
- return { dynamic: !1, encoded: d(P(e)) };
134
- }
135
- function $(e, { signed: t, size: o = 256 }) {
136
- if (typeof o == "number") {
137
- const n = 2n ** (BigInt(o) - (t ? 1n : 0n)) - 1n, r = t ? -n - 1n : 0n;
138
- if (e > n || e < r)
139
- throw new x({
140
- max: n.toString(),
141
- min: r.toString(),
142
- signed: t,
143
- size: o / 8,
144
- value: e.toString()
145
- });
146
- }
147
- return {
148
- dynamic: !1,
149
- encoded: m(e, {
150
- size: 32,
151
- signed: t
152
- })
153
- };
154
26
  }
155
- function C(e) {
156
- const t = S(e), o = Math.ceil(a(t) / 32), n = [];
157
- for (let r = 0; r < o; r++)
158
- n.push(d(E(t, r * 32, (r + 1) * 32), {
159
- dir: "right"
160
- }));
161
- return {
162
- dynamic: !0,
163
- encoded: f([
164
- d(m(a(t), { size: 32 })),
165
- ...n
166
- ])
167
- };
168
- }
169
- function H(e, { param: t }) {
170
- let o = !1;
171
- const n = [];
172
- for (let r = 0; r < t.components.length; r++) {
173
- const i = t.components[r], c = Array.isArray(e) ? r : i.name, s = p({
174
- param: i,
175
- value: e[c]
176
- });
177
- n.push(s), s.dynamic && (o = !0);
178
- }
179
- return {
180
- dynamic: o,
181
- encoded: o ? h(n) : f(n.map(({ encoded: r }) => r))
182
- };
27
+ function m(e, f, i, { strict: o } = {}) {
28
+ s(e, f);
29
+ const n = e.slice(f, i);
30
+ return o && c(n, f, i), n;
183
31
  }
184
- function W(e) {
185
- const t = e.match(/^(.*)\[(\d+)?\]$/);
186
- return t ? (
187
- // Return `null` if the array is dynamic.
188
- [t[2] ? Number(t[2]) : null, t[1]]
189
- ) : void 0;
32
+ function u(e, f, i, { strict: o } = {}) {
33
+ s(e, f);
34
+ const n = `0x${e.replace("0x", "").slice((f ?? 0) * 2, (i ?? e.length) * 2)}`;
35
+ return o && c(n, f, i), n;
190
36
  }
191
37
  export {
192
- K as encodeAbiParameters,
193
- W as getArrayComponents
38
+ w as slice,
39
+ m as sliceBytes,
40
+ u as sliceHex
194
41
  };