@coinbase/cdp-hooks 0.0.36 → 0.0.37

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 (251) hide show
  1. package/README.md +84 -5
  2. package/dist/esm/index.js +25 -23
  3. package/dist/esm/index10.js +10 -33
  4. package/dist/esm/index100.js +24 -32
  5. package/dist/esm/index101.js +22 -182
  6. package/dist/esm/index102.js +32 -6
  7. package/dist/esm/index103.js +194 -2
  8. package/dist/esm/index104.js +6 -10
  9. package/dist/esm/index105.js +2 -19
  10. package/dist/esm/index106.js +10 -25
  11. package/dist/esm/index107.js +18 -8
  12. package/dist/esm/index108.js +24 -52
  13. package/dist/esm/index109.js +8 -45
  14. package/dist/esm/index11.js +8 -3
  15. package/dist/esm/index110.js +55 -8
  16. package/dist/esm/index111.js +45 -7
  17. package/dist/esm/index112.js +8 -16
  18. package/dist/esm/index113.js +7 -18
  19. package/dist/esm/index114.js +16 -24
  20. package/dist/esm/index115.js +18 -16
  21. package/dist/esm/index116.js +22 -52
  22. package/dist/esm/index117.js +16 -11
  23. package/dist/esm/index118.js +53 -159
  24. package/dist/esm/index119.js +11 -21
  25. package/dist/esm/index12.js +31 -8
  26. package/dist/esm/index120.js +157 -124
  27. package/dist/esm/index121.js +20 -37
  28. package/dist/esm/index122.js +127 -6
  29. package/dist/esm/index123.js +35 -24
  30. package/dist/esm/index124.js +6 -191
  31. package/dist/esm/index125.js +28 -4
  32. package/dist/esm/index126.js +184 -57
  33. package/dist/esm/index127.js +4 -3
  34. package/dist/esm/index128.js +60 -16
  35. package/dist/esm/index129.js +3 -17
  36. package/dist/esm/index13.js +3 -68
  37. package/dist/esm/index130.js +19 -22
  38. package/dist/esm/index131.js +16 -11
  39. package/dist/esm/index132.js +22 -33
  40. package/dist/esm/index133.js +12 -3
  41. package/dist/esm/index134.js +33 -17
  42. package/dist/esm/index135.js +3 -28
  43. package/dist/esm/index136.js +18 -35
  44. package/dist/esm/index137.js +27 -7
  45. package/dist/esm/index138.js +34 -24
  46. package/dist/esm/index139.js +7 -28
  47. package/dist/esm/index14.js +8 -8
  48. package/dist/esm/index140.js +24 -63
  49. package/dist/esm/index141.js +28 -9
  50. package/dist/esm/index142.js +62 -31
  51. package/dist/esm/index143.js +9 -27
  52. package/dist/esm/index144.js +32 -23
  53. package/dist/esm/index145.js +27 -3
  54. package/dist/esm/index146.js +24 -14
  55. package/dist/esm/index147.js +3 -103
  56. package/dist/esm/index148.js +14 -64
  57. package/dist/esm/index149.js +103 -5
  58. package/dist/esm/index15.js +67 -27
  59. package/dist/esm/index150.js +64 -6
  60. package/dist/esm/index151.js +5 -27
  61. package/dist/esm/index152.js +6 -39
  62. package/dist/esm/index153.js +27 -13
  63. package/dist/esm/index154.js +38 -41
  64. package/dist/esm/index155.js +13 -5
  65. package/dist/esm/index156.js +42 -11
  66. package/dist/esm/index157.js +5 -19
  67. package/dist/esm/index158.js +11 -78
  68. package/dist/esm/index159.js +20 -2
  69. package/dist/esm/index16.js +9 -70
  70. package/dist/esm/index160.js +74 -33
  71. package/dist/esm/index161.js +2 -111
  72. package/dist/esm/index162.js +27 -38
  73. package/dist/esm/index163.js +108 -30
  74. package/dist/esm/index164.js +48 -8
  75. package/dist/esm/index165.js +32 -6
  76. package/dist/esm/index166.js +8 -6
  77. package/dist/esm/index167.js +6 -11
  78. package/dist/esm/index168.js +6 -10
  79. package/dist/esm/index169.js +11 -13
  80. package/dist/esm/index17.js +26 -17
  81. package/dist/esm/index170.js +9 -31
  82. package/dist/esm/index171.js +14 -5
  83. package/dist/esm/index172.js +32 -8
  84. package/dist/esm/index173.js +5 -20
  85. package/dist/esm/index174.js +19 -31
  86. package/dist/esm/index175.js +31 -20
  87. package/dist/esm/index176.js +20 -3
  88. package/dist/esm/index177.js +3 -17
  89. package/dist/esm/index178.js +17 -10
  90. package/dist/esm/index179.js +10 -21
  91. package/dist/esm/index18.js +68 -108
  92. package/dist/esm/index180.js +21 -22
  93. package/dist/esm/index181.js +22 -5
  94. package/dist/esm/index182.js +5 -5
  95. package/dist/esm/index183.js +5 -8
  96. package/dist/esm/index184.js +8 -104
  97. package/dist/esm/index185.js +105 -3
  98. package/dist/esm/index186.js +3 -19
  99. package/dist/esm/index187.js +17 -170
  100. package/dist/esm/index188.js +170 -16
  101. package/dist/esm/index189.js +18 -10
  102. package/dist/esm/index19.js +19 -60
  103. package/dist/esm/index190.js +12 -40
  104. package/dist/esm/index191.js +36 -2
  105. package/dist/esm/index192.js +41 -4
  106. package/dist/esm/index193.js +39 -9
  107. package/dist/esm/index194.js +2 -20
  108. package/dist/esm/index195.js +4 -7
  109. package/dist/esm/index196.js +9 -10
  110. package/dist/esm/index197.js +19 -66
  111. package/dist/esm/index198.js +7 -65
  112. package/dist/esm/index199.js +10 -184
  113. package/dist/esm/index20.js +110 -24
  114. package/dist/esm/index200.js +66 -22
  115. package/dist/esm/index201.js +61 -38
  116. package/dist/esm/index202.js +178 -69
  117. package/dist/esm/index203.js +21 -39
  118. package/dist/esm/index204.js +35 -9
  119. package/dist/esm/index205.js +70 -7
  120. package/dist/esm/index206.js +40 -7
  121. package/dist/esm/index207.js +16 -6
  122. package/dist/esm/index208.js +13 -36
  123. package/dist/esm/index209.js +7 -15
  124. package/dist/esm/index21.js +51 -31
  125. package/dist/esm/index210.js +6 -8
  126. package/dist/esm/index211.js +35 -11
  127. package/dist/esm/index212.js +15 -9
  128. package/dist/esm/index213.js +8 -16
  129. package/dist/esm/index214.js +12 -22
  130. package/dist/esm/index215.js +9 -30
  131. package/dist/esm/index216.js +17 -2
  132. package/dist/esm/index217.js +21 -12
  133. package/dist/esm/index218.js +30 -12
  134. package/dist/esm/index219.js +2 -48
  135. package/dist/esm/index22.js +23 -36
  136. package/dist/esm/index220.js +12 -8
  137. package/dist/esm/index221.js +12 -13
  138. package/dist/esm/index222.js +46 -13
  139. package/dist/esm/index223.js +9 -8
  140. package/dist/esm/index224.js +13 -15
  141. package/dist/esm/index225.js +14 -24
  142. package/dist/esm/index226.js +8 -11
  143. package/dist/esm/index227.js +14 -23
  144. package/dist/esm/index228.js +24 -51
  145. package/dist/esm/index229.js +11 -17
  146. package/dist/esm/index23.js +28 -46
  147. package/dist/esm/index230.js +24 -14
  148. package/dist/esm/index231.js +51 -11
  149. package/dist/esm/index232.js +17 -103
  150. package/dist/esm/index233.js +14 -6
  151. package/dist/esm/index234.js +11 -224
  152. package/dist/esm/index235.js +103 -6
  153. package/dist/esm/index236.js +7 -7
  154. package/dist/esm/index237.js +223 -25
  155. package/dist/esm/index238.js +6 -19
  156. package/dist/esm/index239.js +7 -147
  157. package/dist/esm/index24.js +34 -160
  158. package/dist/esm/index240.js +26 -12
  159. package/dist/esm/index241.js +20 -36
  160. package/dist/esm/index242.js +146 -41
  161. package/dist/esm/index245.js +2 -2
  162. package/dist/esm/index248.js +5 -5
  163. package/dist/esm/index249.js +2 -2
  164. package/dist/esm/index25.js +55 -36
  165. package/dist/esm/index251.js +1 -1
  166. package/dist/esm/index253.js +2 -2
  167. package/dist/esm/index254.js +2 -2
  168. package/dist/esm/index255.js +1 -1
  169. package/dist/esm/index256.js +1 -1
  170. package/dist/esm/index26.js +162 -8
  171. package/dist/esm/index260.js +1 -1
  172. package/dist/esm/index27.js +39 -31
  173. package/dist/esm/index28.js +8 -35
  174. package/dist/esm/index29.js +30 -8
  175. package/dist/esm/index3.js +75 -73
  176. package/dist/esm/index30.js +35 -28
  177. package/dist/esm/index31.js +9 -46
  178. package/dist/esm/index32.js +24 -83
  179. package/dist/esm/index33.js +43 -37
  180. package/dist/esm/index34.js +88 -8
  181. package/dist/esm/index35.js +40 -6
  182. package/dist/esm/index36.js +8 -16
  183. package/dist/esm/index37.js +6 -8
  184. package/dist/esm/index38.js +16 -13
  185. package/dist/esm/index39.js +8 -7
  186. package/dist/esm/index40.js +13 -9
  187. package/dist/esm/index41.js +7 -16
  188. package/dist/esm/index42.js +9 -46
  189. package/dist/esm/index43.js +16 -13
  190. package/dist/esm/index44.js +46 -16
  191. package/dist/esm/index45.js +13 -13
  192. package/dist/esm/index46.js +15 -5
  193. package/dist/esm/index47.js +13 -35
  194. package/dist/esm/index48.js +5 -8
  195. package/dist/esm/index49.js +34 -7
  196. package/dist/esm/index50.js +9 -25
  197. package/dist/esm/index51.js +8 -10
  198. package/dist/esm/index52.js +25 -14
  199. package/dist/esm/index53.js +10 -11
  200. package/dist/esm/index54.js +14 -116
  201. package/dist/esm/index55.js +11 -33
  202. package/dist/esm/index56.js +113 -76
  203. package/dist/esm/index57.js +30 -174
  204. package/dist/esm/index58.js +77 -42
  205. package/dist/esm/index59.js +177 -6
  206. package/dist/esm/index6.js +2 -2
  207. package/dist/esm/index60.js +44 -13
  208. package/dist/esm/index61.js +5 -12
  209. package/dist/esm/index62.js +13 -99
  210. package/dist/esm/index63.js +13 -72
  211. package/dist/esm/index64.js +95 -83
  212. package/dist/esm/index65.js +62 -138
  213. package/dist/esm/index66.js +71 -120
  214. package/dist/esm/index67.js +126 -46
  215. package/dist/esm/index68.js +136 -23
  216. package/dist/esm/index69.js +65 -102
  217. package/dist/esm/index7.js +2 -2
  218. package/dist/esm/index70.js +23 -6
  219. package/dist/esm/index71.js +102 -128
  220. package/dist/esm/index72.js +7 -276
  221. package/dist/esm/index73.js +132 -3
  222. package/dist/esm/index74.js +276 -4
  223. package/dist/esm/index75.js +3 -9
  224. package/dist/esm/index76.js +4 -2
  225. package/dist/esm/index77.js +9 -2
  226. package/dist/esm/index78.js +2 -3
  227. package/dist/esm/index79.js +2 -327
  228. package/dist/esm/index8.js +5 -5
  229. package/dist/esm/index80.js +3 -14
  230. package/dist/esm/index81.js +326 -4
  231. package/dist/esm/index82.js +12 -54
  232. package/dist/esm/index83.js +5 -2
  233. package/dist/esm/index84.js +54 -6
  234. package/dist/esm/index85.js +2 -215
  235. package/dist/esm/index86.js +8 -32
  236. package/dist/esm/index87.js +213 -20
  237. package/dist/esm/index88.js +32 -6
  238. package/dist/esm/index89.js +21 -73
  239. package/dist/esm/index9.js +2 -2
  240. package/dist/esm/index90.js +5 -5
  241. package/dist/esm/index91.js +73 -5
  242. package/dist/esm/index92.js +5 -35
  243. package/dist/esm/index93.js +5 -75
  244. package/dist/esm/index94.js +36 -3
  245. package/dist/esm/index95.js +67 -15
  246. package/dist/esm/index96.js +3 -452
  247. package/dist/esm/index97.js +15 -22
  248. package/dist/esm/index98.js +440 -15
  249. package/dist/esm/index99.js +21 -24
  250. package/dist/types/index.d.ts +16 -0
  251. package/package.json +3 -3
@@ -1,25 +1,69 @@
1
- import { InvalidAbiItemError as f } from "./index201.js";
2
- import { isStructSignature as p } from "./index197.js";
3
- import { parseStructs as c } from "./index198.js";
4
- import { parseSignature as i } from "./index199.js";
5
- function u(t) {
6
- let r;
7
- if (typeof t == "string")
8
- r = i(t);
9
- else {
10
- const m = c(t), n = t.length;
11
- for (let o = 0; o < n; o++) {
12
- const e = t[o];
13
- if (!p(e)) {
14
- r = i(e, m);
15
- break;
16
- }
17
- }
18
- }
19
- if (!r)
20
- throw new f({ signature: t });
21
- return r;
1
+ import { execTyped as t } from "./index198.js";
2
+ const n = /^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;
3
+ function g(e) {
4
+ return n.test(e);
22
5
  }
6
+ function S(e) {
7
+ return t(n, e);
8
+ }
9
+ const r = /^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;
10
+ function l(e) {
11
+ return r.test(e);
12
+ }
13
+ function f(e) {
14
+ return t(r, e);
15
+ }
16
+ const a = /^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;
17
+ function x(e) {
18
+ return a.test(e);
19
+ }
20
+ function p(e) {
21
+ return t(a, e);
22
+ }
23
+ const u = /^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;
24
+ function $(e) {
25
+ return u.test(e);
26
+ }
27
+ function b(e) {
28
+ return t(u, e);
29
+ }
30
+ const i = /^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;
31
+ function m(e) {
32
+ return i.test(e);
33
+ }
34
+ function y(e) {
35
+ return t(i, e);
36
+ }
37
+ const c = /^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;
38
+ function v(e) {
39
+ return c.test(e);
40
+ }
41
+ function z(e) {
42
+ return t(c, e);
43
+ }
44
+ const o = /^receive\(\) external payable$/;
45
+ function A(e) {
46
+ return o.test(e);
47
+ }
48
+ const R = /* @__PURE__ */ new Set(["indexed"]), Z = /* @__PURE__ */ new Set([
49
+ "calldata",
50
+ "memory",
51
+ "storage"
52
+ ]);
23
53
  export {
24
- u as parseAbiItem
54
+ R as eventModifiers,
55
+ y as execConstructorSignature,
56
+ S as execErrorSignature,
57
+ f as execEventSignature,
58
+ z as execFallbackSignature,
59
+ p as execFunctionSignature,
60
+ b as execStructSignature,
61
+ Z as functionModifiers,
62
+ m as isConstructorSignature,
63
+ g as isErrorSignature,
64
+ l as isEventSignature,
65
+ v as isFallbackSignature,
66
+ x as isFunctionSignature,
67
+ A as isReceiveSignature,
68
+ $ as isStructSignature
25
69
  };
@@ -1,45 +1,68 @@
1
- import { BaseError as r } from "./index190.js";
2
- class a extends r {
3
- constructor({ signature: e }) {
4
- super("Failed to parse ABI item.", {
5
- details: `parseAbiItem(${JSON.stringify(e, null, 2)})`,
6
- docsPath: "/api/human#parseabiitem-1"
7
- }), Object.defineProperty(this, "name", {
8
- enumerable: !0,
9
- configurable: !0,
10
- writable: !0,
11
- value: "InvalidAbiItemError"
12
- });
1
+ import { isTupleRegex as g, execTyped as w } from "./index198.js";
2
+ import { UnknownTypeError as S } from "./index204.js";
3
+ import { InvalidAbiTypeParameterError as d } from "./index205.js";
4
+ import { InvalidSignatureError as T, InvalidStructSignatureError as v } from "./index206.js";
5
+ import { CircularReferenceError as x } from "./index208.js";
6
+ import { isStructSignature as E, execStructSignature as b } from "./index200.js";
7
+ import { parseAbiParameter as A, isSolidityType as $ } from "./index202.js";
8
+ function C(s) {
9
+ const n = {}, c = s.length;
10
+ for (let t = 0; t < c; t++) {
11
+ const i = s[t];
12
+ if (!E(i))
13
+ continue;
14
+ const r = b(i);
15
+ if (!r)
16
+ throw new T({ signature: i, type: "struct" });
17
+ const u = r.properties.split(";"), e = [], h = u.length;
18
+ for (let l = 0; l < h; l++) {
19
+ const m = u[l].trim();
20
+ if (!m)
21
+ continue;
22
+ const y = A(m, {
23
+ type: "struct"
24
+ });
25
+ e.push(y);
26
+ }
27
+ if (!e.length)
28
+ throw new v({ signature: i });
29
+ n[r.name] = e;
13
30
  }
14
- }
15
- class o extends r {
16
- constructor({ type: e }) {
17
- super("Unknown type.", {
18
- metaMessages: [
19
- `Type "${e}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`
20
- ]
21
- }), Object.defineProperty(this, "name", {
22
- enumerable: !0,
23
- configurable: !0,
24
- writable: !0,
25
- value: "UnknownTypeError"
26
- });
31
+ const o = {}, a = Object.entries(n), p = a.length;
32
+ for (let t = 0; t < p; t++) {
33
+ const [i, r] = a[t];
34
+ o[i] = f(r, n);
27
35
  }
36
+ return o;
28
37
  }
29
- class i extends r {
30
- constructor({ type: e }) {
31
- super("Unknown type.", {
32
- metaMessages: [`Type "${e}" is not a valid ABI type.`]
33
- }), Object.defineProperty(this, "name", {
34
- enumerable: !0,
35
- configurable: !0,
36
- writable: !0,
37
- value: "UnknownSolidityTypeError"
38
- });
38
+ const I = /^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/;
39
+ function f(s, n, c = /* @__PURE__ */ new Set()) {
40
+ const o = [], a = s.length;
41
+ for (let p = 0; p < a; p++) {
42
+ const t = s[p];
43
+ if (g.test(t.type))
44
+ o.push(t);
45
+ else {
46
+ const r = w(I, t.type);
47
+ if (!r?.type)
48
+ throw new d({ abiParameter: t });
49
+ const { array: u, type: e } = r;
50
+ if (e in n) {
51
+ if (c.has(e))
52
+ throw new x({ type: e });
53
+ o.push({
54
+ ...t,
55
+ type: `tuple${u ?? ""}`,
56
+ components: f(n[e] ?? [], n, /* @__PURE__ */ new Set([...c, e]))
57
+ });
58
+ } else if ($(e))
59
+ o.push(t);
60
+ else
61
+ throw new S({ type: e });
62
+ }
39
63
  }
64
+ return o;
40
65
  }
41
66
  export {
42
- a as InvalidAbiItemError,
43
- i as UnknownSolidityTypeError,
44
- o as UnknownTypeError
67
+ C as parseStructs
45
68
  };
@@ -1,79 +1,188 @@
1
- import { BaseError as t } from "./index190.js";
2
- class n extends t {
3
- constructor({ param: e }) {
4
- super("Invalid ABI parameter.", {
5
- details: e
6
- }), Object.defineProperty(this, "name", {
7
- enumerable: !0,
8
- configurable: !0,
9
- writable: !0,
10
- value: "InvalidParameterError"
11
- });
12
- }
1
+ import { execTyped as $, bytesRegex as w, integerRegex as S, isTupleRegex as v } from "./index198.js";
2
+ import { UnknownSolidityTypeError as E } from "./index204.js";
3
+ import { InvalidParameterError as P, SolidityProtectedKeywordError as M, InvalidModifierError as R, InvalidFunctionModifierError as k } from "./index205.js";
4
+ import { UnknownSignatureError as z, InvalidSignatureError as p } from "./index206.js";
5
+ import { InvalidParenthesisError as A } from "./index207.js";
6
+ import { getParameterCacheKey as F, parameterCache as y } from "./index243.js";
7
+ import { isFunctionSignature as T, isEventSignature as _, isErrorSignature as C, isConstructorSignature as I, isFallbackSignature as Z, isReceiveSignature as K, functionModifiers as d, execFunctionSignature as L, execEventSignature as U, eventModifiers as W, execErrorSignature as D, execConstructorSignature as V, execFallbackSignature as j } from "./index200.js";
8
+ function ue(e, t = {}) {
9
+ if (T(e))
10
+ return q(e, t);
11
+ if (_(e))
12
+ return B(e, t);
13
+ if (C(e))
14
+ return G(e, t);
15
+ if (I(e))
16
+ return H(e, t);
17
+ if (Z(e))
18
+ return J(e);
19
+ if (K(e))
20
+ return {
21
+ type: "receive",
22
+ stateMutability: "payable"
23
+ };
24
+ throw new z({ signature: e });
13
25
  }
14
- class s extends t {
15
- constructor({ param: e, name: r }) {
16
- super("Invalid ABI parameter.", {
17
- details: e,
18
- metaMessages: [
19
- `"${r}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`
20
- ]
21
- }), Object.defineProperty(this, "name", {
22
- enumerable: !0,
23
- configurable: !0,
24
- writable: !0,
25
- value: "SolidityProtectedKeywordError"
26
- });
26
+ function q(e, t = {}) {
27
+ const n = L(e);
28
+ if (!n)
29
+ throw new p({ signature: e, type: "function" });
30
+ const i = c(n.parameters), r = [], s = i.length;
31
+ for (let a = 0; a < s; a++)
32
+ r.push(l(i[a], {
33
+ modifiers: d,
34
+ structs: t,
35
+ type: "function"
36
+ }));
37
+ const o = [];
38
+ if (n.returns) {
39
+ const a = c(n.returns), u = a.length;
40
+ for (let f = 0; f < u; f++)
41
+ o.push(l(a[f], {
42
+ modifiers: d,
43
+ structs: t,
44
+ type: "function"
45
+ }));
27
46
  }
47
+ return {
48
+ name: n.name,
49
+ type: "function",
50
+ stateMutability: n.stateMutability ?? "nonpayable",
51
+ inputs: r,
52
+ outputs: o
53
+ };
28
54
  }
29
- class l extends t {
30
- constructor({ param: e, type: r, modifier: i }) {
31
- super("Invalid ABI parameter.", {
32
- details: e,
33
- metaMessages: [
34
- `Modifier "${i}" not allowed${r ? ` in "${r}" type` : ""}.`
35
- ]
36
- }), Object.defineProperty(this, "name", {
37
- enumerable: !0,
38
- configurable: !0,
39
- writable: !0,
40
- value: "InvalidModifierError"
41
- });
42
- }
55
+ function B(e, t = {}) {
56
+ const n = U(e);
57
+ if (!n)
58
+ throw new p({ signature: e, type: "event" });
59
+ const i = c(n.parameters), r = [], s = i.length;
60
+ for (let o = 0; o < s; o++)
61
+ r.push(l(i[o], {
62
+ modifiers: W,
63
+ structs: t,
64
+ type: "event"
65
+ }));
66
+ return { name: n.name, type: "event", inputs: r };
67
+ }
68
+ function G(e, t = {}) {
69
+ const n = D(e);
70
+ if (!n)
71
+ throw new p({ signature: e, type: "error" });
72
+ const i = c(n.parameters), r = [], s = i.length;
73
+ for (let o = 0; o < s; o++)
74
+ r.push(l(i[o], { structs: t, type: "error" }));
75
+ return { name: n.name, type: "error", inputs: r };
76
+ }
77
+ function H(e, t = {}) {
78
+ const n = V(e);
79
+ if (!n)
80
+ throw new p({ signature: e, type: "constructor" });
81
+ const i = c(n.parameters), r = [], s = i.length;
82
+ for (let o = 0; o < s; o++)
83
+ r.push(l(i[o], { structs: t, type: "constructor" }));
84
+ return {
85
+ type: "constructor",
86
+ stateMutability: n.stateMutability ?? "nonpayable",
87
+ inputs: r
88
+ };
43
89
  }
44
- class d extends t {
45
- constructor({ param: e, type: r, modifier: i }) {
46
- super("Invalid ABI parameter.", {
47
- details: e,
48
- metaMessages: [
49
- `Modifier "${i}" not allowed${r ? ` in "${r}" type` : ""}.`,
50
- `Data location can only be specified for array, struct, or mapping types, but "${i}" was given.`
51
- ]
52
- }), Object.defineProperty(this, "name", {
53
- enumerable: !0,
54
- configurable: !0,
55
- writable: !0,
56
- value: "InvalidFunctionModifierError"
57
- });
90
+ function J(e) {
91
+ const t = j(e);
92
+ if (!t)
93
+ throw new p({ signature: e, type: "fallback" });
94
+ return {
95
+ type: "fallback",
96
+ stateMutability: t.stateMutability ?? "nonpayable"
97
+ };
98
+ }
99
+ const N = /^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/, O = /^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/, Q = /^u?int$/;
100
+ function l(e, t) {
101
+ const n = F(e, t?.type, t?.structs);
102
+ if (y.has(n))
103
+ return y.get(n);
104
+ const i = v.test(e), r = $(i ? O : N, e);
105
+ if (!r)
106
+ throw new P({ param: e });
107
+ if (r.name && ee(r.name))
108
+ throw new M({ param: e, name: r.name });
109
+ const s = r.name ? { name: r.name } : {}, o = r.modifier === "indexed" ? { indexed: !0 } : {}, a = t?.structs ?? {};
110
+ let u, f = {};
111
+ if (i) {
112
+ u = "tuple";
113
+ const g = c(r.type), b = [], x = g.length;
114
+ for (let m = 0; m < x; m++)
115
+ b.push(l(g[m], { structs: a }));
116
+ f = { components: b };
117
+ } else if (r.type in a)
118
+ u = "tuple", f = { components: a[r.type] };
119
+ else if (Q.test(r.type))
120
+ u = `${r.type}256`;
121
+ else if (u = r.type, t?.type !== "struct" && !X(u))
122
+ throw new E({ type: u });
123
+ if (r.modifier) {
124
+ if (!t?.modifiers?.has?.(r.modifier))
125
+ throw new R({
126
+ param: e,
127
+ type: t?.type,
128
+ modifier: r.modifier
129
+ });
130
+ if (d.has(r.modifier) && !te(u, !!r.array))
131
+ throw new k({
132
+ param: e,
133
+ type: t?.type,
134
+ modifier: r.modifier
135
+ });
58
136
  }
137
+ const h = {
138
+ type: `${u}${r.array ?? ""}`,
139
+ ...s,
140
+ ...o,
141
+ ...f
142
+ };
143
+ return y.set(n, h), h;
59
144
  }
60
- class u extends t {
61
- constructor({ abiParameter: e }) {
62
- super("Invalid ABI parameter.", {
63
- details: JSON.stringify(e, null, 2),
64
- metaMessages: ["ABI parameter type is invalid."]
65
- }), Object.defineProperty(this, "name", {
66
- enumerable: !0,
67
- configurable: !0,
68
- writable: !0,
69
- value: "InvalidAbiTypeParameterError"
70
- });
145
+ function c(e, t = [], n = "", i = 0) {
146
+ const r = e.trim().length;
147
+ for (let s = 0; s < r; s++) {
148
+ const o = e[s], a = e.slice(s + 1);
149
+ switch (o) {
150
+ case ",":
151
+ return i === 0 ? c(a, [...t, n.trim()]) : c(a, t, `${n}${o}`, i);
152
+ case "(":
153
+ return c(a, t, `${n}${o}`, i + 1);
154
+ case ")":
155
+ return c(a, t, `${n}${o}`, i - 1);
156
+ default:
157
+ return c(a, t, `${n}${o}`, i);
158
+ }
71
159
  }
160
+ if (n === "")
161
+ return t;
162
+ if (i !== 0)
163
+ throw new A({ current: n, depth: i });
164
+ return t.push(n.trim()), t;
165
+ }
166
+ function X(e) {
167
+ return e === "address" || e === "bool" || e === "function" || e === "string" || w.test(e) || S.test(e);
168
+ }
169
+ const Y = /^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;
170
+ function ee(e) {
171
+ return e === "address" || e === "bool" || e === "function" || e === "string" || e === "tuple" || w.test(e) || S.test(e) || Y.test(e);
172
+ }
173
+ function te(e, t) {
174
+ return t || e === "bytes" || e === "string" || e === "tuple";
72
175
  }
73
176
  export {
74
- u as InvalidAbiTypeParameterError,
75
- d as InvalidFunctionModifierError,
76
- l as InvalidModifierError,
77
- n as InvalidParameterError,
78
- s as SolidityProtectedKeywordError
177
+ ee as isSolidityKeyword,
178
+ X as isSolidityType,
179
+ te as isValidDataLocation,
180
+ l as parseAbiParameter,
181
+ H as parseConstructorSignature,
182
+ G as parseErrorSignature,
183
+ B as parseEventSignature,
184
+ J as parseFallbackSignature,
185
+ q as parseFunctionSignature,
186
+ ue as parseSignature,
187
+ c as splitParameters
79
188
  };
@@ -1,43 +1,25 @@
1
- import { BaseError as r } from "./index190.js";
2
- class u extends r {
3
- constructor({ signature: e, type: n }) {
4
- super(`Invalid ${n} signature.`, {
5
- details: e
6
- }), Object.defineProperty(this, "name", {
7
- enumerable: !0,
8
- configurable: !0,
9
- writable: !0,
10
- value: "InvalidSignatureError"
11
- });
12
- }
13
- }
14
- class i extends r {
15
- constructor({ signature: e }) {
16
- super("Unknown signature.", {
17
- details: e
18
- }), Object.defineProperty(this, "name", {
19
- enumerable: !0,
20
- configurable: !0,
21
- writable: !0,
22
- value: "UnknownSignatureError"
23
- });
24
- }
25
- }
26
- class s extends r {
27
- constructor({ signature: e }) {
28
- super("Invalid struct signature.", {
29
- details: e,
30
- metaMessages: ["No properties exist."]
31
- }), Object.defineProperty(this, "name", {
32
- enumerable: !0,
33
- configurable: !0,
34
- writable: !0,
35
- value: "InvalidStructSignatureError"
36
- });
1
+ import { InvalidAbiItemError as f } from "./index204.js";
2
+ import { isStructSignature as p } from "./index200.js";
3
+ import { parseStructs as c } from "./index201.js";
4
+ import { parseSignature as i } from "./index202.js";
5
+ function u(t) {
6
+ let r;
7
+ if (typeof t == "string")
8
+ r = i(t);
9
+ else {
10
+ const m = c(t), n = t.length;
11
+ for (let o = 0; o < n; o++) {
12
+ const e = t[o];
13
+ if (!p(e)) {
14
+ r = i(e, m);
15
+ break;
16
+ }
17
+ }
37
18
  }
19
+ if (!r)
20
+ throw new f({ signature: t });
21
+ return r;
38
22
  }
39
23
  export {
40
- u as InvalidSignatureError,
41
- s as InvalidStructSignatureError,
42
- i as UnknownSignatureError
24
+ u as parseAbiItem
43
25
  };
@@ -1,19 +1,45 @@
1
- import { BaseError as s } from "./index190.js";
2
- class n extends s {
3
- constructor({ current: r, depth: e }) {
4
- super("Unbalanced parentheses.", {
1
+ import { BaseError as r } from "./index193.js";
2
+ class a extends r {
3
+ constructor({ signature: e }) {
4
+ super("Failed to parse ABI item.", {
5
+ details: `parseAbiItem(${JSON.stringify(e, null, 2)})`,
6
+ docsPath: "/api/human#parseabiitem-1"
7
+ }), Object.defineProperty(this, "name", {
8
+ enumerable: !0,
9
+ configurable: !0,
10
+ writable: !0,
11
+ value: "InvalidAbiItemError"
12
+ });
13
+ }
14
+ }
15
+ class o extends r {
16
+ constructor({ type: e }) {
17
+ super("Unknown type.", {
5
18
  metaMessages: [
6
- `"${r.trim()}" has too many ${e > 0 ? "opening" : "closing"} parentheses.`
7
- ],
8
- details: `Depth "${e}"`
19
+ `Type "${e}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`
20
+ ]
21
+ }), Object.defineProperty(this, "name", {
22
+ enumerable: !0,
23
+ configurable: !0,
24
+ writable: !0,
25
+ value: "UnknownTypeError"
26
+ });
27
+ }
28
+ }
29
+ class i extends r {
30
+ constructor({ type: e }) {
31
+ super("Unknown type.", {
32
+ metaMessages: [`Type "${e}" is not a valid ABI type.`]
9
33
  }), Object.defineProperty(this, "name", {
10
34
  enumerable: !0,
11
35
  configurable: !0,
12
36
  writable: !0,
13
- value: "InvalidParenthesisError"
37
+ value: "UnknownSolidityTypeError"
14
38
  });
15
39
  }
16
40
  }
17
41
  export {
18
- n as InvalidParenthesisError
42
+ a as InvalidAbiItemError,
43
+ i as UnknownSolidityTypeError,
44
+ o as UnknownTypeError
19
45
  };
@@ -1,16 +1,79 @@
1
- import { BaseError as r } from "./index190.js";
2
- class a extends r {
3
- constructor({ type: e }) {
4
- super("Circular reference detected.", {
5
- metaMessages: [`Struct "${e}" is a circular reference.`]
1
+ import { BaseError as t } from "./index193.js";
2
+ class n extends t {
3
+ constructor({ param: e }) {
4
+ super("Invalid ABI parameter.", {
5
+ details: e
6
6
  }), Object.defineProperty(this, "name", {
7
7
  enumerable: !0,
8
8
  configurable: !0,
9
9
  writable: !0,
10
- value: "CircularReferenceError"
10
+ value: "InvalidParameterError"
11
+ });
12
+ }
13
+ }
14
+ class s extends t {
15
+ constructor({ param: e, name: r }) {
16
+ super("Invalid ABI parameter.", {
17
+ details: e,
18
+ metaMessages: [
19
+ `"${r}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`
20
+ ]
21
+ }), Object.defineProperty(this, "name", {
22
+ enumerable: !0,
23
+ configurable: !0,
24
+ writable: !0,
25
+ value: "SolidityProtectedKeywordError"
26
+ });
27
+ }
28
+ }
29
+ class l extends t {
30
+ constructor({ param: e, type: r, modifier: i }) {
31
+ super("Invalid ABI parameter.", {
32
+ details: e,
33
+ metaMessages: [
34
+ `Modifier "${i}" not allowed${r ? ` in "${r}" type` : ""}.`
35
+ ]
36
+ }), Object.defineProperty(this, "name", {
37
+ enumerable: !0,
38
+ configurable: !0,
39
+ writable: !0,
40
+ value: "InvalidModifierError"
41
+ });
42
+ }
43
+ }
44
+ class d extends t {
45
+ constructor({ param: e, type: r, modifier: i }) {
46
+ super("Invalid ABI parameter.", {
47
+ details: e,
48
+ metaMessages: [
49
+ `Modifier "${i}" not allowed${r ? ` in "${r}" type` : ""}.`,
50
+ `Data location can only be specified for array, struct, or mapping types, but "${i}" was given.`
51
+ ]
52
+ }), Object.defineProperty(this, "name", {
53
+ enumerable: !0,
54
+ configurable: !0,
55
+ writable: !0,
56
+ value: "InvalidFunctionModifierError"
57
+ });
58
+ }
59
+ }
60
+ class u extends t {
61
+ constructor({ abiParameter: e }) {
62
+ super("Invalid ABI parameter.", {
63
+ details: JSON.stringify(e, null, 2),
64
+ metaMessages: ["ABI parameter type is invalid."]
65
+ }), Object.defineProperty(this, "name", {
66
+ enumerable: !0,
67
+ configurable: !0,
68
+ writable: !0,
69
+ value: "InvalidAbiTypeParameterError"
11
70
  });
12
71
  }
13
72
  }
14
73
  export {
15
- a as CircularReferenceError
74
+ u as InvalidAbiTypeParameterError,
75
+ d as InvalidFunctionModifierError,
76
+ l as InvalidModifierError,
77
+ n as InvalidParameterError,
78
+ s as SolidityProtectedKeywordError
16
79
  };