@coinbase/cdp-hooks 0.0.78 → 0.0.79

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 (122) hide show
  1. package/dist/esm/index100.js +1 -1
  2. package/dist/esm/index181.js +3 -3
  3. package/dist/esm/index210.js +2 -2
  4. package/dist/esm/index213.js +2 -2
  5. package/dist/esm/index214.js +1 -1
  6. package/dist/esm/index218.js +3 -3
  7. package/dist/esm/index219.js +38 -40
  8. package/dist/esm/index220.js +2 -2
  9. package/dist/esm/index221.js +69 -4
  10. package/dist/esm/index222.js +34 -10
  11. package/dist/esm/index223.js +13 -18
  12. package/dist/esm/index224.js +40 -7
  13. package/dist/esm/index225.js +2 -12
  14. package/dist/esm/index226.js +4 -66
  15. package/dist/esm/index227.js +9 -64
  16. package/dist/esm/index228.js +17 -183
  17. package/dist/esm/index229.js +7 -22
  18. package/dist/esm/index230.js +10 -41
  19. package/dist/esm/index231.js +62 -72
  20. package/dist/esm/index232.js +61 -36
  21. package/dist/esm/index233.js +184 -15
  22. package/dist/esm/index234.js +21 -12
  23. package/dist/esm/index235.js +42 -7
  24. package/dist/esm/index236.js +76 -6
  25. package/dist/esm/index237.js +40 -36
  26. package/dist/esm/index238.js +16 -15
  27. package/dist/esm/index239.js +13 -8
  28. package/dist/esm/index240.js +7 -12
  29. package/dist/esm/index241.js +6 -9
  30. package/dist/esm/index242.js +36 -16
  31. package/dist/esm/index243.js +15 -22
  32. package/dist/esm/index244.js +7 -29
  33. package/dist/esm/index245.js +13 -2
  34. package/dist/esm/index246.js +9 -13
  35. package/dist/esm/index247.js +15 -11
  36. package/dist/esm/index248.js +20 -45
  37. package/dist/esm/index249.js +30 -9
  38. package/dist/esm/index250.js +2 -14
  39. package/dist/esm/index251.js +13 -14
  40. package/dist/esm/index252.js +12 -8
  41. package/dist/esm/index253.js +46 -14
  42. package/dist/esm/index254.js +8 -23
  43. package/dist/esm/index255.js +13 -11
  44. package/dist/esm/index256.js +14 -24
  45. package/dist/esm/index257.js +8 -51
  46. package/dist/esm/index258.js +13 -15
  47. package/dist/esm/index259.js +24 -14
  48. package/dist/esm/index260.js +11 -11
  49. package/dist/esm/index261.js +24 -103
  50. package/dist/esm/index262.js +51 -5
  51. package/dist/esm/index263.js +16 -222
  52. package/dist/esm/index264.js +14 -6
  53. package/dist/esm/index265.js +12 -7
  54. package/dist/esm/index266.js +101 -24
  55. package/dist/esm/index267.js +5 -19
  56. package/dist/esm/index268.js +218 -140
  57. package/dist/esm/index269.js +7 -13
  58. package/dist/esm/index270.js +6 -35
  59. package/dist/esm/index271.js +26 -41
  60. package/dist/esm/index272.js +19 -38
  61. package/dist/esm/index273.js +146 -2
  62. package/dist/esm/index274.js +13 -70
  63. package/dist/esm/index275.js +35 -34
  64. package/dist/esm/index276.js +41 -14
  65. package/dist/esm/index281.js +3 -3
  66. package/dist/esm/index284.js +5 -5
  67. package/dist/esm/index285.js +4 -4
  68. package/dist/esm/index286.js +1 -1
  69. package/dist/esm/index288.js +2 -2
  70. package/dist/esm/index289.js +2 -2
  71. package/dist/esm/index290.js +1 -1
  72. package/dist/esm/index291.js +1 -1
  73. package/dist/esm/index292.js +3 -65
  74. package/dist/esm/index293.js +65 -4
  75. package/dist/esm/index294.js +4 -40
  76. package/dist/esm/index295.js +40 -7
  77. package/dist/esm/index296.js +7 -62
  78. package/dist/esm/index297.js +57 -72
  79. package/dist/esm/index298.js +78 -4
  80. package/dist/esm/index299.js +4 -195
  81. package/dist/esm/index3.js +1 -1
  82. package/dist/esm/index300.js +194 -3
  83. package/dist/esm/index301.js +2 -2
  84. package/dist/esm/index37.js +2 -2
  85. package/dist/esm/index44.js +1 -1
  86. package/dist/esm/index45.js +1 -1
  87. package/dist/esm/index48.js +3 -3
  88. package/dist/esm/index49.js +2 -2
  89. package/dist/esm/index50.js +3 -3
  90. package/dist/esm/index51.js +2 -2
  91. package/dist/esm/index52.js +3 -3
  92. package/dist/esm/index53.js +6 -6
  93. package/dist/esm/index54.js +2 -2
  94. package/dist/esm/index55.js +1 -1
  95. package/dist/esm/index56.js +1 -1
  96. package/dist/esm/index57.js +1 -1
  97. package/dist/esm/index58.js +1 -1
  98. package/dist/esm/index59.js +1 -1
  99. package/dist/esm/index60.js +1 -1
  100. package/dist/esm/index61.js +4 -4
  101. package/dist/esm/index62.js +1 -1
  102. package/dist/esm/index70.js +1 -1
  103. package/dist/esm/index71.js +2 -2
  104. package/dist/esm/index72.js +1 -1
  105. package/dist/esm/index77.js +1 -1
  106. package/dist/esm/index80.js +1 -1
  107. package/dist/esm/index83.js +1 -1
  108. package/dist/esm/index84.js +1 -1
  109. package/dist/esm/index85.js +3 -3
  110. package/dist/esm/index86.js +2 -2
  111. package/dist/esm/index87.js +1 -1
  112. package/dist/esm/index89.js +1 -1
  113. package/dist/esm/index90.js +1 -1
  114. package/dist/esm/index91.js +3 -3
  115. package/dist/esm/index92.js +3 -3
  116. package/dist/esm/index93.js +3 -3
  117. package/dist/esm/index94.js +3 -3
  118. package/dist/esm/index95.js +3 -3
  119. package/dist/esm/index96.js +3 -3
  120. package/dist/esm/index97.js +3 -3
  121. package/dist/esm/index98.js +1 -1
  122. package/package.json +3 -3
@@ -1,188 +1,22 @@
1
- import { execTyped as $, bytesRegex as w, integerRegex as S, isTupleRegex as v } from "./index224.js";
2
- import { UnknownSolidityTypeError as E } from "./index230.js";
3
- import { InvalidParameterError as P, SolidityProtectedKeywordError as M, InvalidModifierError as R, InvalidFunctionModifierError as k } from "./index231.js";
4
- import { UnknownSignatureError as z, InvalidSignatureError as p } from "./index232.js";
5
- import { InvalidParenthesisError as A } from "./index233.js";
6
- import { getParameterCacheKey as F, parameterCache as y } from "./index278.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 "./index226.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
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);
1
+ import { execTyped as f } from "./index229.js";
2
+ const p = /^tuple(?<array>(\[(\d*)\])*)$/;
3
+ function c(n) {
4
+ let t = n.type;
5
+ if (p.test(n.type) && "components" in n) {
6
+ t = "(";
7
+ const e = n.components.length;
8
+ for (let o = 0; o < e; o++) {
9
+ const d = n.components[o];
10
+ t += c(d), o < e - 1 && (t += ", ");
158
11
  }
12
+ const s = f(p, n.type);
13
+ return t += `)${s?.array ?? ""}`, c({
14
+ ...n,
15
+ type: t
16
+ });
159
17
  }
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";
18
+ return "indexed" in n && n.indexed && (t = `${t} indexed`), n.name ? `${t} ${n.name}` : t;
175
19
  }
176
20
  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
21
+ c as formatAbiParameter
188
22
  };
@@ -1,25 +1,10 @@
1
- import { InvalidAbiItemError as f } from "./index230.js";
2
- import { isStructSignature as p } from "./index226.js";
3
- import { parseStructs as c } from "./index227.js";
4
- import { parseSignature as i } from "./index228.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
+ function n(e, t) {
2
+ return e.exec(t)?.groups;
22
3
  }
4
+ const s = /^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/, o = /^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/, x = /^\(.+?\).*?$/;
23
5
  export {
24
- u as parseAbiItem
6
+ s as bytesRegex,
7
+ n as execTyped,
8
+ o as integerRegex,
9
+ x as isTupleRegex
25
10
  };
@@ -1,45 +1,14 @@
1
- import { BaseError as r } from "./index219.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 { isStructSignature as c } from "./index231.js";
2
+ import { parseStructs as s } from "./index232.js";
3
+ import { parseSignature as p } from "./index233.js";
4
+ function a(t) {
5
+ const i = s(t), o = [], e = t.length;
6
+ for (let r = 0; r < e; r++) {
7
+ const n = t[r];
8
+ c(n) || o.push(p(n, i));
39
9
  }
10
+ return o;
40
11
  }
41
12
  export {
42
- a as InvalidAbiItemError,
43
- i as UnknownSolidityTypeError,
44
- o as UnknownTypeError
13
+ a as parseAbi
45
14
  };
@@ -1,79 +1,69 @@
1
- import { BaseError as t } from "./index219.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 t } from "./index229.js";
2
+ const n = /^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;
3
+ function g(e) {
4
+ return n.test(e);
13
5
  }
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
- }
6
+ function S(e) {
7
+ return t(n, e);
28
8
  }
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
- }
9
+ const r = /^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;
10
+ function l(e) {
11
+ return r.test(e);
43
12
  }
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
- }
13
+ function f(e) {
14
+ return t(r, e);
59
15
  }
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
- });
71
- }
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);
72
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
+ ]);
73
53
  export {
74
- u as InvalidAbiTypeParameterError,
75
- d as InvalidFunctionModifierError,
76
- l as InvalidModifierError,
77
- n as InvalidParameterError,
78
- s as SolidityProtectedKeywordError
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
79
69
  };
@@ -1,43 +1,68 @@
1
- import { BaseError as r } from "./index219.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
- });
1
+ import { isTupleRegex as g, execTyped as w } from "./index229.js";
2
+ import { UnknownTypeError as S } from "./index235.js";
3
+ import { InvalidAbiTypeParameterError as d } from "./index236.js";
4
+ import { InvalidSignatureError as T, InvalidStructSignatureError as v } from "./index237.js";
5
+ import { CircularReferenceError as x } from "./index239.js";
6
+ import { isStructSignature as E, execStructSignature as b } from "./index231.js";
7
+ import { parseAbiParameter as A, isSolidityType as $ } from "./index233.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;
12
30
  }
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
- });
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);
24
35
  }
36
+ return o;
25
37
  }
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
- });
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
+ }
37
63
  }
64
+ return o;
38
65
  }
39
66
  export {
40
- u as InvalidSignatureError,
41
- s as InvalidStructSignatureError,
42
- i as UnknownSignatureError
67
+ C as parseStructs
43
68
  };