@coinbase/cdp-hooks 0.0.64 → 0.0.66

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 (123) hide show
  1. package/README.md +1 -1
  2. package/dist/esm/index167.js +3 -3
  3. package/dist/esm/index196.js +2 -2
  4. package/dist/esm/index199.js +2 -2
  5. package/dist/esm/index200.js +1 -1
  6. package/dist/esm/index204.js +3 -3
  7. package/dist/esm/index205.js +38 -7
  8. package/dist/esm/index206.js +2 -7
  9. package/dist/esm/index207.js +68 -35
  10. package/dist/esm/index208.js +34 -15
  11. package/dist/esm/index209.js +13 -39
  12. package/dist/esm/index210.js +41 -2
  13. package/dist/esm/index211.js +2 -5
  14. package/dist/esm/index212.js +4 -10
  15. package/dist/esm/index213.js +9 -18
  16. package/dist/esm/index214.js +19 -7
  17. package/dist/esm/index215.js +7 -11
  18. package/dist/esm/index216.js +11 -66
  19. package/dist/esm/index217.js +65 -64
  20. package/dist/esm/index218.js +60 -180
  21. package/dist/esm/index219.js +183 -20
  22. package/dist/esm/index220.js +21 -41
  23. package/dist/esm/index221.js +20 -54
  24. package/dist/esm/index222.js +54 -18
  25. package/dist/esm/index223.js +34 -10
  26. package/dist/esm/index224.js +10 -7
  27. package/dist/esm/index225.js +13 -8
  28. package/dist/esm/index226.js +7 -12
  29. package/dist/esm/index227.js +6 -9
  30. package/dist/esm/index228.js +36 -16
  31. package/dist/esm/index229.js +15 -22
  32. package/dist/esm/index23.js +2 -2
  33. package/dist/esm/index230.js +7 -29
  34. package/dist/esm/index231.js +13 -2
  35. package/dist/esm/index232.js +9 -13
  36. package/dist/esm/index233.js +15 -11
  37. package/dist/esm/index234.js +20 -45
  38. package/dist/esm/index235.js +30 -9
  39. package/dist/esm/index236.js +2 -14
  40. package/dist/esm/index237.js +13 -14
  41. package/dist/esm/index238.js +12 -8
  42. package/dist/esm/index239.js +46 -14
  43. package/dist/esm/index240.js +8 -23
  44. package/dist/esm/index241.js +13 -11
  45. package/dist/esm/index242.js +14 -24
  46. package/dist/esm/index243.js +8 -51
  47. package/dist/esm/index244.js +13 -15
  48. package/dist/esm/index245.js +24 -14
  49. package/dist/esm/index246.js +11 -11
  50. package/dist/esm/index247.js +24 -103
  51. package/dist/esm/index248.js +51 -5
  52. package/dist/esm/index249.js +16 -222
  53. package/dist/esm/index250.js +14 -6
  54. package/dist/esm/index251.js +12 -7
  55. package/dist/esm/index252.js +101 -24
  56. package/dist/esm/index253.js +5 -19
  57. package/dist/esm/index254.js +218 -140
  58. package/dist/esm/index255.js +7 -13
  59. package/dist/esm/index256.js +6 -35
  60. package/dist/esm/index257.js +26 -41
  61. package/dist/esm/index258.js +19 -38
  62. package/dist/esm/index259.js +146 -2
  63. package/dist/esm/index260.js +13 -70
  64. package/dist/esm/index261.js +35 -34
  65. package/dist/esm/index262.js +41 -14
  66. package/dist/esm/index267.js +3 -3
  67. package/dist/esm/index270.js +5 -5
  68. package/dist/esm/index271.js +4 -4
  69. package/dist/esm/index272.js +1 -1
  70. package/dist/esm/index274.js +2 -2
  71. package/dist/esm/index275.js +2 -2
  72. package/dist/esm/index276.js +1 -1
  73. package/dist/esm/index277.js +1 -1
  74. package/dist/esm/index278.js +3 -65
  75. package/dist/esm/index279.js +65 -4
  76. package/dist/esm/index280.js +4 -40
  77. package/dist/esm/index281.js +40 -7
  78. package/dist/esm/index282.js +7 -62
  79. package/dist/esm/index283.js +57 -72
  80. package/dist/esm/index284.js +78 -4
  81. package/dist/esm/index285.js +4 -195
  82. package/dist/esm/index286.js +194 -3
  83. package/dist/esm/index287.js +2 -2
  84. package/dist/esm/index3.js +1 -1
  85. package/dist/esm/index30.js +1 -1
  86. package/dist/esm/index31.js +1 -1
  87. package/dist/esm/index34.js +3 -3
  88. package/dist/esm/index35.js +2 -2
  89. package/dist/esm/index36.js +3 -3
  90. package/dist/esm/index37.js +2 -2
  91. package/dist/esm/index38.js +3 -3
  92. package/dist/esm/index39.js +6 -6
  93. package/dist/esm/index40.js +2 -2
  94. package/dist/esm/index41.js +1 -1
  95. package/dist/esm/index42.js +1 -1
  96. package/dist/esm/index43.js +1 -1
  97. package/dist/esm/index44.js +1 -1
  98. package/dist/esm/index45.js +1 -1
  99. package/dist/esm/index46.js +1 -1
  100. package/dist/esm/index47.js +4 -4
  101. package/dist/esm/index48.js +1 -1
  102. package/dist/esm/index56.js +1 -1
  103. package/dist/esm/index57.js +2 -2
  104. package/dist/esm/index58.js +1 -1
  105. package/dist/esm/index63.js +1 -1
  106. package/dist/esm/index66.js +1 -1
  107. package/dist/esm/index69.js +1 -1
  108. package/dist/esm/index70.js +1 -1
  109. package/dist/esm/index71.js +3 -3
  110. package/dist/esm/index72.js +2 -2
  111. package/dist/esm/index73.js +1 -1
  112. package/dist/esm/index75.js +1 -1
  113. package/dist/esm/index76.js +1 -1
  114. package/dist/esm/index77.js +3 -3
  115. package/dist/esm/index78.js +3 -3
  116. package/dist/esm/index79.js +3 -3
  117. package/dist/esm/index80.js +3 -3
  118. package/dist/esm/index81.js +3 -3
  119. package/dist/esm/index82.js +3 -3
  120. package/dist/esm/index83.js +3 -3
  121. package/dist/esm/index84.js +1 -1
  122. package/dist/esm/index86.js +1 -1
  123. package/package.json +3 -3
@@ -1,68 +1,69 @@
1
- import { isTupleRegex as g, execTyped as w } from "./index214.js";
2
- import { UnknownTypeError as S } from "./index220.js";
3
- import { InvalidAbiTypeParameterError as d } from "./index221.js";
4
- import { InvalidSignatureError as T, InvalidStructSignatureError as v } from "./index222.js";
5
- import { CircularReferenceError as x } from "./index224.js";
6
- import { isStructSignature as E, execStructSignature as b } from "./index216.js";
7
- import { parseAbiParameter as A, isSolidityType as $ } from "./index218.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;
30
- }
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);
35
- }
36
- return o;
1
+ import { execTyped as t } from "./index215.js";
2
+ const n = /^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;
3
+ function g(e) {
4
+ return n.test(e);
37
5
  }
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
- }
63
- }
64
- return o;
6
+ function S(e) {
7
+ return t(n, e);
65
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
+ ]);
66
53
  export {
67
- C as parseStructs
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
68
69
  };
@@ -1,188 +1,68 @@
1
- import { execTyped as $, bytesRegex as w, integerRegex as S, isTupleRegex as v } from "./index214.js";
2
- import { UnknownSolidityTypeError as E } from "./index220.js";
3
- import { InvalidParameterError as P, SolidityProtectedKeywordError as M, InvalidModifierError as R, InvalidFunctionModifierError as k } from "./index221.js";
4
- import { UnknownSignatureError as z, InvalidSignatureError as p } from "./index222.js";
5
- import { InvalidParenthesisError as A } from "./index223.js";
6
- import { getParameterCacheKey as F, parameterCache as y } from "./index264.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 "./index216.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 });
25
- }
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
- }));
46
- }
47
- return {
48
- name: n.name,
49
- type: "function",
50
- stateMutability: n.stateMutability ?? "nonpayable",
51
- inputs: r,
52
- outputs: o
53
- };
54
- }
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
- };
89
- }
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
1
+ import { isTupleRegex as g, execTyped as w } from "./index215.js";
2
+ import { UnknownTypeError as S } from "./index221.js";
3
+ import { InvalidAbiTypeParameterError as d } from "./index222.js";
4
+ import { InvalidSignatureError as T, InvalidStructSignatureError as v } from "./index223.js";
5
+ import { CircularReferenceError as x } from "./index225.js";
6
+ import { isStructSignature as E, execStructSignature as b } from "./index217.js";
7
+ import { parseAbiParameter as A, isSolidityType as $ } from "./index219.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"
135
24
  });
25
+ e.push(y);
26
+ }
27
+ if (!e.length)
28
+ throw new v({ signature: i });
29
+ n[r.name] = e;
30
+ }
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);
136
35
  }
137
- const h = {
138
- type: `${u}${r.array ?? ""}`,
139
- ...s,
140
- ...o,
141
- ...f
142
- };
143
- return y.set(n, h), h;
36
+ return o;
144
37
  }
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);
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 });
158
62
  }
159
63
  }
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";
64
+ return o;
175
65
  }
176
66
  export {
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
67
+ C as parseStructs
188
68
  };
@@ -1,25 +1,188 @@
1
- import { InvalidAbiItemError as f } from "./index220.js";
2
- import { isStructSignature as p } from "./index216.js";
3
- import { parseStructs as c } from "./index217.js";
4
- import { parseSignature as i } from "./index218.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
- }
1
+ import { execTyped as $, bytesRegex as w, integerRegex as S, isTupleRegex as v } from "./index215.js";
2
+ import { UnknownSolidityTypeError as E } from "./index221.js";
3
+ import { InvalidParameterError as P, SolidityProtectedKeywordError as M, InvalidModifierError as R, InvalidFunctionModifierError as k } from "./index222.js";
4
+ import { UnknownSignatureError as z, InvalidSignatureError as p } from "./index223.js";
5
+ import { InvalidParenthesisError as A } from "./index224.js";
6
+ import { getParameterCacheKey as F, parameterCache as y } from "./index264.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 "./index217.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 });
25
+ }
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
+ }));
18
46
  }
47
+ return {
48
+ name: n.name,
49
+ type: "function",
50
+ stateMutability: n.stateMutability ?? "nonpayable",
51
+ inputs: r,
52
+ outputs: o
53
+ };
54
+ }
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
+ };
89
+ }
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);
19
105
  if (!r)
20
- throw new f({ signature: t });
21
- return 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
+ });
136
+ }
137
+ const h = {
138
+ type: `${u}${r.array ?? ""}`,
139
+ ...s,
140
+ ...o,
141
+ ...f
142
+ };
143
+ return y.set(n, h), h;
144
+ }
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
+ }
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";
22
175
  }
23
176
  export {
24
- u as parseAbiItem
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
25
188
  };
@@ -1,45 +1,25 @@
1
- import { BaseError as r } from "./index209.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.", {
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
- });
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.`]
33
- }), Object.defineProperty(this, "name", {
34
- enumerable: !0,
35
- configurable: !0,
36
- writable: !0,
37
- value: "UnknownSolidityTypeError"
38
- });
1
+ import { InvalidAbiItemError as f } from "./index221.js";
2
+ import { isStructSignature as p } from "./index217.js";
3
+ import { parseStructs as c } from "./index218.js";
4
+ import { parseSignature as i } from "./index219.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
+ }
39
18
  }
19
+ if (!r)
20
+ throw new f({ signature: t });
21
+ return r;
40
22
  }
41
23
  export {
42
- a as InvalidAbiItemError,
43
- i as UnknownSolidityTypeError,
44
- o as UnknownTypeError
24
+ u as parseAbiItem
45
25
  };