@gardenfi/utils 2.3.3 → 2.4.0

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 (97) hide show
  1. package/dist/index10.cjs +1 -1
  2. package/dist/index10.js +4 -4
  3. package/dist/index119.cjs +1 -1
  4. package/dist/index119.js +1 -1
  5. package/dist/index16.cjs +1 -1
  6. package/dist/index16.js +4 -4
  7. package/dist/index195.cjs +1 -1
  8. package/dist/index195.js +3 -3
  9. package/dist/index229.cjs +1 -1
  10. package/dist/index229.js +1 -1
  11. package/dist/index24.cjs +1 -1
  12. package/dist/index24.js +31 -13
  13. package/dist/index241.cjs +1 -1
  14. package/dist/index241.js +3 -3
  15. package/dist/index25.cjs +1 -1
  16. package/dist/index25.js +32 -58
  17. package/dist/index26.cjs +1 -16
  18. package/dist/index26.js +11 -113
  19. package/dist/index261.cjs +2 -1
  20. package/dist/index261.js +40 -102
  21. package/dist/index262.cjs +1 -1
  22. package/dist/index262.js +2 -7
  23. package/dist/index263.cjs +1 -1
  24. package/dist/index263.js +5 -224
  25. package/dist/index264.cjs +1 -2
  26. package/dist/index264.js +9 -40
  27. package/dist/index265.cjs +1 -1
  28. package/dist/index265.js +20 -2
  29. package/dist/index266.cjs +1 -1
  30. package/dist/index266.js +8 -5
  31. package/dist/index267.cjs +1 -1
  32. package/dist/index267.js +65 -9
  33. package/dist/index268.cjs +1 -1
  34. package/dist/index268.js +63 -17
  35. package/dist/index269.cjs +1 -1
  36. package/dist/index269.js +186 -8
  37. package/dist/index27.cjs +1 -1
  38. package/dist/index27.js +58 -32
  39. package/dist/index270.cjs +1 -1
  40. package/dist/index270.js +22 -66
  41. package/dist/index271.cjs +1 -1
  42. package/dist/index271.js +38 -61
  43. package/dist/index272.cjs +1 -1
  44. package/dist/index272.js +69 -179
  45. package/dist/index273.cjs +1 -1
  46. package/dist/index273.js +39 -21
  47. package/dist/index274.cjs +1 -1
  48. package/dist/index274.js +9 -35
  49. package/dist/index275.cjs +1 -1
  50. package/dist/index275.js +7 -70
  51. package/dist/index276.cjs +1 -1
  52. package/dist/index276.js +12 -40
  53. package/dist/index277.cjs +2 -1
  54. package/dist/index277.js +18 -16
  55. package/dist/index278.cjs +1 -1
  56. package/dist/index278.js +13 -12
  57. package/dist/index279.cjs +1 -1
  58. package/dist/index279.js +11 -12
  59. package/dist/index28.cjs +1 -1
  60. package/dist/index28.js +13 -31
  61. package/dist/index280.cjs +1 -2
  62. package/dist/index280.js +103 -18
  63. package/dist/index281.cjs +1 -1
  64. package/dist/index281.js +6 -14
  65. package/dist/index282.cjs +1 -1
  66. package/dist/index282.js +224 -11
  67. package/dist/index284.cjs +1 -1
  68. package/dist/index284.js +1 -1
  69. package/dist/index287.cjs +1 -1
  70. package/dist/index287.js +1 -1
  71. package/dist/index29.cjs +16 -1
  72. package/dist/index29.js +113 -11
  73. package/dist/index292.cjs +1 -1
  74. package/dist/index292.js +2 -2
  75. package/dist/index294.cjs +1 -1
  76. package/dist/index294.js +138 -10
  77. package/dist/index295.cjs +1 -1
  78. package/dist/index295.js +42 -19
  79. package/dist/index296.cjs +1 -1
  80. package/dist/index296.js +73 -134
  81. package/dist/index297.cjs +1 -1
  82. package/dist/index297.js +2 -43
  83. package/dist/index298.cjs +1 -1
  84. package/dist/index298.js +10 -77
  85. package/dist/index299.cjs +1 -1
  86. package/dist/index299.js +20 -2
  87. package/dist/index300.cjs +1 -1
  88. package/dist/index300.js +68 -698
  89. package/dist/index301.cjs +1 -1
  90. package/dist/index301.js +675 -178
  91. package/dist/index302.cjs +1 -1
  92. package/dist/index302.js +200 -67
  93. package/dist/index53.cjs +1 -1
  94. package/dist/index53.js +1 -1
  95. package/dist/index98.cjs +1 -1
  96. package/dist/index98.js +2 -2
  97. package/package.json +1 -1
package/dist/index269.js CHANGED
@@ -1,11 +1,189 @@
1
- function s(t, n) {
2
- const e = t.exec(n);
3
- return e == null ? void 0 : e.groups;
1
+ import { execTyped as E, bytesRegex as x, integerRegex as $, isTupleRegex as P } from "./index266.js";
2
+ import { UnknownSolidityTypeError as M } from "./index271.js";
3
+ import { InvalidParameterError as R, SolidityProtectedKeywordError as k, InvalidModifierError as z, InvalidFunctionModifierError as A } from "./index272.js";
4
+ import { UnknownSignatureError as F, InvalidSignatureError as m } from "./index273.js";
5
+ import { InvalidParenthesisError as T } from "./index274.js";
6
+ import { getParameterCacheKey as _, parameterCache as p } from "./index300.js";
7
+ import { isFunctionSignature as C, isEventSignature as I, isErrorSignature as Z, isConstructorSignature as K, isFallbackSignature as L, isReceiveSignature as U, functionModifiers as h, execFunctionSignature as W, execEventSignature as D, eventModifiers as V, execErrorSignature as j, execConstructorSignature as q, execFallbackSignature as B } from "./index267.js";
8
+ function le(e, t = {}) {
9
+ if (C(e))
10
+ return G(e, t);
11
+ if (I(e))
12
+ return H(e, t);
13
+ if (Z(e))
14
+ return J(e, t);
15
+ if (K(e))
16
+ return N(e, t);
17
+ if (L(e))
18
+ return O(e);
19
+ if (U(e))
20
+ return {
21
+ type: "receive",
22
+ stateMutability: "payable"
23
+ };
24
+ throw new F({ signature: e });
25
+ }
26
+ function G(e, t = {}) {
27
+ const n = W(e);
28
+ if (!n)
29
+ throw new m({ signature: e, type: "function" });
30
+ const a = s(n.parameters), r = [], c = a.length;
31
+ for (let o = 0; o < c; o++)
32
+ r.push(l(a[o], {
33
+ modifiers: h,
34
+ structs: t,
35
+ type: "function"
36
+ }));
37
+ const i = [];
38
+ if (n.returns) {
39
+ const o = s(n.returns), u = o.length;
40
+ for (let f = 0; f < u; f++)
41
+ i.push(l(o[f], {
42
+ modifiers: h,
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: i
53
+ };
54
+ }
55
+ function H(e, t = {}) {
56
+ const n = D(e);
57
+ if (!n)
58
+ throw new m({ signature: e, type: "event" });
59
+ const a = s(n.parameters), r = [], c = a.length;
60
+ for (let i = 0; i < c; i++)
61
+ r.push(l(a[i], {
62
+ modifiers: V,
63
+ structs: t,
64
+ type: "event"
65
+ }));
66
+ return { name: n.name, type: "event", inputs: r };
67
+ }
68
+ function J(e, t = {}) {
69
+ const n = j(e);
70
+ if (!n)
71
+ throw new m({ signature: e, type: "error" });
72
+ const a = s(n.parameters), r = [], c = a.length;
73
+ for (let i = 0; i < c; i++)
74
+ r.push(l(a[i], { structs: t, type: "error" }));
75
+ return { name: n.name, type: "error", inputs: r };
76
+ }
77
+ function N(e, t = {}) {
78
+ const n = q(e);
79
+ if (!n)
80
+ throw new m({ signature: e, type: "constructor" });
81
+ const a = s(n.parameters), r = [], c = a.length;
82
+ for (let i = 0; i < c; i++)
83
+ r.push(l(a[i], { structs: t, type: "constructor" }));
84
+ return {
85
+ type: "constructor",
86
+ stateMutability: n.stateMutability ?? "nonpayable",
87
+ inputs: r
88
+ };
89
+ }
90
+ function O(e) {
91
+ const t = B(e);
92
+ if (!t)
93
+ throw new m({ signature: e, type: "fallback" });
94
+ return {
95
+ type: "fallback",
96
+ stateMutability: t.stateMutability ?? "nonpayable"
97
+ };
98
+ }
99
+ const Q = /^(?<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$_]*))?$/, X = /^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/, Y = /^u?int$/;
100
+ function l(e, t) {
101
+ var y, b;
102
+ const n = _(e, t == null ? void 0 : t.type, t == null ? void 0 : t.structs);
103
+ if (p.has(n))
104
+ return p.get(n);
105
+ const a = P.test(e), r = E(a ? X : Q, e);
106
+ if (!r)
107
+ throw new R({ param: e });
108
+ if (r.name && re(r.name))
109
+ throw new k({ param: e, name: r.name });
110
+ const c = r.name ? { name: r.name } : {}, i = r.modifier === "indexed" ? { indexed: !0 } : {}, o = (t == null ? void 0 : t.structs) ?? {};
111
+ let u, f = {};
112
+ if (a) {
113
+ u = "tuple";
114
+ const w = s(r.type), S = [], v = w.length;
115
+ for (let d = 0; d < v; d++)
116
+ S.push(l(w[d], { structs: o }));
117
+ f = { components: S };
118
+ } else if (r.type in o)
119
+ u = "tuple", f = { components: o[r.type] };
120
+ else if (Y.test(r.type))
121
+ u = `${r.type}256`;
122
+ else if (u = r.type, (t == null ? void 0 : t.type) !== "struct" && !ee(u))
123
+ throw new M({ type: u });
124
+ if (r.modifier) {
125
+ if (!((b = (y = t == null ? void 0 : t.modifiers) == null ? void 0 : y.has) != null && b.call(y, r.modifier)))
126
+ throw new z({
127
+ param: e,
128
+ type: t == null ? void 0 : t.type,
129
+ modifier: r.modifier
130
+ });
131
+ if (h.has(r.modifier) && !ne(u, !!r.array))
132
+ throw new A({
133
+ param: e,
134
+ type: t == null ? void 0 : t.type,
135
+ modifier: r.modifier
136
+ });
137
+ }
138
+ const g = {
139
+ type: `${u}${r.array ?? ""}`,
140
+ ...c,
141
+ ...i,
142
+ ...f
143
+ };
144
+ return p.set(n, g), g;
145
+ }
146
+ function s(e, t = [], n = "", a = 0) {
147
+ const r = e.trim().length;
148
+ for (let c = 0; c < r; c++) {
149
+ const i = e[c], o = e.slice(c + 1);
150
+ switch (i) {
151
+ case ",":
152
+ return a === 0 ? s(o, [...t, n.trim()]) : s(o, t, `${n}${i}`, a);
153
+ case "(":
154
+ return s(o, t, `${n}${i}`, a + 1);
155
+ case ")":
156
+ return s(o, t, `${n}${i}`, a - 1);
157
+ default:
158
+ return s(o, t, `${n}${i}`, a);
159
+ }
160
+ }
161
+ if (n === "")
162
+ return t;
163
+ if (a !== 0)
164
+ throw new T({ current: n, depth: a });
165
+ return t.push(n.trim()), t;
166
+ }
167
+ function ee(e) {
168
+ return e === "address" || e === "bool" || e === "function" || e === "string" || x.test(e) || $.test(e);
169
+ }
170
+ const te = /^(?: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)$/;
171
+ function re(e) {
172
+ return e === "address" || e === "bool" || e === "function" || e === "string" || e === "tuple" || x.test(e) || $.test(e) || te.test(e);
173
+ }
174
+ function ne(e, t) {
175
+ return t || e === "bytes" || e === "string" || e === "tuple";
4
176
  }
5
- const o = /^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/, c = /^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 = /^\(.+?\).*?$/;
6
177
  export {
7
- o as bytesRegex,
8
- s as execTyped,
9
- c as integerRegex,
10
- x as isTupleRegex
178
+ re as isSolidityKeyword,
179
+ ee as isSolidityType,
180
+ ne as isValidDataLocation,
181
+ l as parseAbiParameter,
182
+ N as parseConstructorSignature,
183
+ J as parseErrorSignature,
184
+ H as parseEventSignature,
185
+ O as parseFallbackSignature,
186
+ G as parseFunctionSignature,
187
+ le as parseSignature,
188
+ s as splitParameters
11
189
  };
package/dist/index27.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index216.cjs"),t=e.defineChain({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://eth.merkle.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0xce01f8eee7E479C928F8919abD53E553a36CeF67",blockCreated:19258213},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}});exports.mainnet=t;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const j=require("./index50.cjs"),E=require("./index51.cjs"),F=require("./index52.cjs"),H=require("./index53.cjs"),U=require("./index54.cjs");function _(k,r={}){const{batch:o,fetchOptions:u,key:l="http",methods:h,name:q="HTTP JSON-RPC",onFetchRequest:d,onFetchResponse:y,retryDelay:R,raw:f}=r;return({chain:n,retryCount:w,timeout:S})=>{const{batchSize:m=1e3,wait:C=0}=typeof o=="object"?o:{},b=r.retryCount??w,c=S??r.timeout??1e4,e=n==null?void 0:n.rpcUrls.default.http[0];if(!e)throw new E.UrlRequiredError;const a=H.getHttpRpcClient(e,{fetchOptions:u,onRequest:d,onResponse:y,timeout:c});return U.createTransport({key:l,methods:h,name:q,async request({method:T,params:B}){const i={method:T,params:B},{schedule:O}=F.createBatchScheduler({id:e,wait:C,shouldSplitBatch(t){return t.length>m},fn:t=>a.request({body:t}),sort:(t,g)=>t.id-g.id}),P=async t=>o?O(t):[await a.request({body:t})],[{error:s,result:p}]=await P(i);if(f)return{error:s,result:p};if(s)throw new j.RpcRequestError({body:i,error:s,url:e});return p},retryCount:b,retryDelay:R,timeout:c,type:"http"},{fetchOptions:u,url:e})}}exports.http=_;
package/dist/index27.js CHANGED
@@ -1,34 +1,60 @@
1
- import { defineChain as e } from "./index216.js";
2
- const t = /* @__PURE__ */ e({
3
- id: 1,
4
- name: "Ethereum",
5
- nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
6
- rpcUrls: {
7
- default: {
8
- http: ["https://eth.merkle.io"]
9
- }
10
- },
11
- blockExplorers: {
12
- default: {
13
- name: "Etherscan",
14
- url: "https://etherscan.io",
15
- apiUrl: "https://api.etherscan.io/api"
16
- }
17
- },
18
- contracts: {
19
- ensRegistry: {
20
- address: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"
21
- },
22
- ensUniversalResolver: {
23
- address: "0xce01f8eee7E479C928F8919abD53E553a36CeF67",
24
- blockCreated: 19258213
25
- },
26
- multicall3: {
27
- address: "0xca11bde05977b3631167028862be2a173976ca11",
28
- blockCreated: 14353601
29
- }
30
- }
31
- });
1
+ import { RpcRequestError as O } from "./index50.js";
2
+ import { UrlRequiredError as P } from "./index51.js";
3
+ import { createBatchScheduler as U } from "./index52.js";
4
+ import { getHttpRpcClient as _ } from "./index53.js";
5
+ import { createTransport as j } from "./index54.js";
6
+ function g(k, e = {}) {
7
+ const { batch: o, fetchOptions: u, key: m = "http", methods: a, name: h = "HTTP JSON-RPC", onFetchRequest: f, onFetchResponse: y, retryDelay: d, raw: R } = e;
8
+ return ({ chain: n, retryCount: w, timeout: q }) => {
9
+ const { batchSize: C = 1e3, wait: S = 0 } = typeof o == "object" ? o : {}, b = e.retryCount ?? w, c = q ?? e.timeout ?? 1e4, r = n == null ? void 0 : n.rpcUrls.default.http[0];
10
+ if (!r)
11
+ throw new P();
12
+ const p = _(r, {
13
+ fetchOptions: u,
14
+ onRequest: f,
15
+ onResponse: y,
16
+ timeout: c
17
+ });
18
+ return j({
19
+ key: m,
20
+ methods: a,
21
+ name: h,
22
+ async request({ method: T, params: B }) {
23
+ const i = { method: T, params: B }, { schedule: E } = U({
24
+ id: r,
25
+ wait: S,
26
+ shouldSplitBatch(t) {
27
+ return t.length > C;
28
+ },
29
+ fn: (t) => p.request({
30
+ body: t
31
+ }),
32
+ sort: (t, H) => t.id - H.id
33
+ }), F = async (t) => o ? E(t) : [
34
+ await p.request({
35
+ body: t
36
+ })
37
+ ], [{ error: s, result: l }] = await F(i);
38
+ if (R)
39
+ return { error: s, result: l };
40
+ if (s)
41
+ throw new O({
42
+ body: i,
43
+ error: s,
44
+ url: r
45
+ });
46
+ return l;
47
+ },
48
+ retryCount: b,
49
+ retryDelay: d,
50
+ timeout: c,
51
+ type: "http"
52
+ }, {
53
+ fetchOptions: u,
54
+ url: r
55
+ });
56
+ };
57
+ }
32
58
  export {
33
- t as mainnet
59
+ g as http
34
60
  };
package/dist/index270.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index269.cjs"),n=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function o(e){return n.test(e)}function s(e){return t.execTyped(n,e)}const r=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function g(e){return r.test(e)}function S(e){return t.execTyped(r,e)}const i=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;function x(e){return i.test(e)}function l(e){return t.execTyped(i,e)}const a=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;function f(e){return a.test(e)}function p(e){return t.execTyped(a,e)}const u=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;function b(e){return u.test(e)}function y(e){return t.execTyped(u,e)}const c=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;function d(e){return c.test(e)}function $(e){return t.execTyped(c,e)}const v=/^receive\(\) external payable$/;function m(e){return v.test(e)}const R=new Set(["indexed"]),z=new Set(["calldata","memory","storage"]);exports.eventModifiers=R;exports.execConstructorSignature=y;exports.execErrorSignature=s;exports.execEventSignature=S;exports.execFallbackSignature=$;exports.execFunctionSignature=l;exports.execStructSignature=p;exports.functionModifiers=z;exports.isConstructorSignature=b;exports.isErrorSignature=o;exports.isEventSignature=g;exports.isFallbackSignature=d;exports.isFunctionSignature=x;exports.isReceiveSignature=m;exports.isStructSignature=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./index271.cjs"),u=require("./index267.cjs"),a=require("./index268.cjs"),s=require("./index269.cjs");function l(t){let e;if(typeof t=="string")e=s.parseSignature(t);else{const n=a.parseStructs(t),o=t.length;for(let r=0;r<o;r++){const i=t[r];if(!u.isStructSignature(i)){e=s.parseSignature(i,n);break}}}if(!e)throw new c.InvalidAbiItemError({signature:t});return e}exports.parseAbiItem=l;
package/dist/index270.js CHANGED
@@ -1,69 +1,25 @@
1
- import { execTyped as t } from "./index269.js";
2
- const n = /^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;
3
- function g(e) {
4
- return n.test(e);
1
+ import { InvalidAbiItemError as f } from "./index271.js";
2
+ import { isStructSignature as p } from "./index267.js";
3
+ import { parseStructs as c } from "./index268.js";
4
+ import { parseSignature as i } from "./index269.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;
5
22
  }
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
- ]);
53
23
  export {
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
24
+ u as parseAbiItem
69
25
  };
package/dist/index271.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("./index269.cjs"),b=require("./index274.cjs"),T=require("./index275.cjs"),y=require("./index276.cjs"),q=require("./index278.cjs"),f=require("./index270.cjs"),S=require("./index272.cjs");function v(i){const n={},u=i.length;for(let e=0;e<u;e++){const o=i[e];if(!f.isStructSignature(o))continue;const r=f.execStructSignature(o);if(!r)throw new y.InvalidSignatureError({signature:o,type:"struct"});const p=r.properties.split(";"),t=[],w=p.length;for(let l=0;l<w;l++){const g=p[l].trim();if(!g)continue;const d=S.parseAbiParameter(g,{type:"struct"});t.push(d)}if(!t.length)throw new y.InvalidStructSignatureError({signature:o});n[r.name]=t}const s={},a=Object.entries(n),c=a.length;for(let e=0;e<c;e++){const[o,r]=a[e];s[o]=m(r,n)}return s}const P=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/;function m(i,n,u=new Set){const s=[],a=i.length;for(let c=0;c<a;c++){const e=i[c];if(h.isTupleRegex.test(e.type))s.push(e);else{const r=h.execTyped(P,e.type);if(!(r!=null&&r.type))throw new T.InvalidAbiTypeParameterError({abiParameter:e});const{array:p,type:t}=r;if(t in n){if(u.has(t))throw new q.CircularReferenceError({type:t});s.push({...e,type:`tuple${p??""}`,components:m(n[t]??[],n,new Set([...u,t]))})}else if(S.isSolidityType(t))s.push(e);else throw new b.UnknownTypeError({type:t})}}return s}exports.parseStructs=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index261.cjs");class n extends r.BaseError{constructor({signature:e}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiitem-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"})}}class o extends r.BaseError{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"})}}class a extends r.BaseError{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"})}}exports.InvalidAbiItemError=n;exports.UnknownSolidityTypeError=a;exports.UnknownTypeError=o;
package/dist/index271.js CHANGED
@@ -1,68 +1,45 @@
1
- import { isTupleRegex as g, execTyped as w } from "./index269.js";
2
- import { UnknownTypeError as S } from "./index274.js";
3
- import { InvalidAbiTypeParameterError as d } from "./index275.js";
4
- import { InvalidSignatureError as T, InvalidStructSignatureError as v } from "./index276.js";
5
- import { CircularReferenceError as x } from "./index278.js";
6
- import { isStructSignature as E, execStructSignature as b } from "./index270.js";
7
- import { parseAbiParameter as A, isSolidityType as $ } from "./index272.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;
1
+ import { BaseError as r } from "./index261.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
+ });
30
13
  }
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);
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
+ });
35
27
  }
36
- return o;
37
28
  }
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 != null && 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
- }
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
+ });
63
39
  }
64
- return o;
65
40
  }
66
41
  export {
67
- C as parseStructs
42
+ a as InvalidAbiItemError,
43
+ i as UnknownSolidityTypeError,
44
+ o as UnknownTypeError
68
45
  };
package/dist/index272.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("./index269.cjs"),A=require("./index274.cjs"),g=require("./index275.cjs"),d=require("./index276.cjs"),q=require("./index277.cjs"),h=require("./index302.cjs"),o=require("./index270.cjs");function z(e,t={}){if(o.isFunctionSignature(e))return E(e,t);if(o.isEventSignature(e))return P(e,t);if(o.isErrorSignature(e))return M(e,t);if(o.isConstructorSignature(e))return I(e,t);if(o.isFallbackSignature(e))return R(e);if(o.isReceiveSignature(e))return{type:"receive",stateMutability:"payable"};throw new d.UnknownSignatureError({signature:e})}function E(e,t={}){const n=o.execFunctionSignature(e);if(!n)throw new d.InvalidSignatureError({signature:e,type:"function"});const a=u(n.parameters),r=[],c=a.length;for(let s=0;s<c;s++)r.push(m(a[s],{modifiers:o.functionModifiers,structs:t,type:"function"}));const i=[];if(n.returns){const s=u(n.returns),l=s.length;for(let f=0;f<l;f++)i.push(m(s[f],{modifiers:o.functionModifiers,structs:t,type:"function"}))}return{name:n.name,type:"function",stateMutability:n.stateMutability??"nonpayable",inputs:r,outputs:i}}function P(e,t={}){const n=o.execEventSignature(e);if(!n)throw new d.InvalidSignatureError({signature:e,type:"event"});const a=u(n.parameters),r=[],c=a.length;for(let i=0;i<c;i++)r.push(m(a[i],{modifiers:o.eventModifiers,structs:t,type:"event"}));return{name:n.name,type:"event",inputs:r}}function M(e,t={}){const n=o.execErrorSignature(e);if(!n)throw new d.InvalidSignatureError({signature:e,type:"error"});const a=u(n.parameters),r=[],c=a.length;for(let i=0;i<c;i++)r.push(m(a[i],{structs:t,type:"error"}));return{name:n.name,type:"error",inputs:r}}function I(e,t={}){const n=o.execConstructorSignature(e);if(!n)throw new d.InvalidSignatureError({signature:e,type:"constructor"});const a=u(n.parameters),r=[],c=a.length;for(let i=0;i<c;i++)r.push(m(a[i],{structs:t,type:"constructor"}));return{type:"constructor",stateMutability:n.stateMutability??"nonpayable",inputs:r}}function R(e){const t=o.execFallbackSignature(e);if(!t)throw new d.InvalidSignatureError({signature:e,type:"fallback"});return{type:"fallback",stateMutability:t.stateMutability??"nonpayable"}}const _=/^(?<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$_]*))?$/,$=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,K=/^u?int$/;function m(e,t){var p,w;const n=h.getParameterCacheKey(e,t==null?void 0:t.type,t==null?void 0:t.structs);if(h.parameterCache.has(n))return h.parameterCache.get(n);const a=y.isTupleRegex.test(e),r=y.execTyped(a?$:_,e);if(!r)throw new g.InvalidParameterError({param:e});if(r.name&&F(r.name))throw new g.SolidityProtectedKeywordError({param:e,name:r.name});const c=r.name?{name:r.name}:{},i=r.modifier==="indexed"?{indexed:!0}:{},s=(t==null?void 0:t.structs)??{};let l,f={};if(a){l="tuple";const v=u(r.type),x=[],k=v.length;for(let b=0;b<k;b++)x.push(m(v[b],{structs:s}));f={components:x}}else if(r.type in s)l="tuple",f={components:s[r.type]};else if(K.test(r.type))l=`${r.type}256`;else if(l=r.type,(t==null?void 0:t.type)!=="struct"&&!C(l))throw new A.UnknownSolidityTypeError({type:l});if(r.modifier){if(!((w=(p=t==null?void 0:t.modifiers)==null?void 0:p.has)!=null&&w.call(p,r.modifier)))throw new g.InvalidModifierError({param:e,type:t==null?void 0:t.type,modifier:r.modifier});if(o.functionModifiers.has(r.modifier)&&!T(l,!!r.array))throw new g.InvalidFunctionModifierError({param:e,type:t==null?void 0:t.type,modifier:r.modifier})}const S={type:`${l}${r.array??""}`,...c,...i,...f};return h.parameterCache.set(n,S),S}function u(e,t=[],n="",a=0){const r=e.trim().length;for(let c=0;c<r;c++){const i=e[c],s=e.slice(c+1);switch(i){case",":return a===0?u(s,[...t,n.trim()]):u(s,t,`${n}${i}`,a);case"(":return u(s,t,`${n}${i}`,a+1);case")":return u(s,t,`${n}${i}`,a-1);default:return u(s,t,`${n}${i}`,a)}}if(n==="")return t;if(a!==0)throw new q.InvalidParenthesisError({current:n,depth:a});return t.push(n.trim()),t}function C(e){return e==="address"||e==="bool"||e==="function"||e==="string"||y.bytesRegex.test(e)||y.integerRegex.test(e)}const Z=/^(?: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)$/;function F(e){return e==="address"||e==="bool"||e==="function"||e==="string"||e==="tuple"||y.bytesRegex.test(e)||y.integerRegex.test(e)||Z.test(e)}function T(e,t){return t||e==="bytes"||e==="string"||e==="tuple"}exports.isSolidityKeyword=F;exports.isSolidityType=C;exports.isValidDataLocation=T;exports.parseAbiParameter=m;exports.parseConstructorSignature=I;exports.parseErrorSignature=M;exports.parseEventSignature=P;exports.parseFallbackSignature=R;exports.parseFunctionSignature=E;exports.parseSignature=z;exports.splitParameters=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index261.cjs");class o extends t.BaseError{constructor({param:e}){super("Invalid ABI parameter.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}}class n extends t.BaseError{constructor({param:e,name:r}){super("Invalid ABI parameter.",{details:e,metaMessages:[`"${r}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"})}}class s extends t.BaseError{constructor({param:e,type:r,modifier:i}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${i}" not allowed${r?` in "${r}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}}class l extends t.BaseError{constructor({param:e,type:r,modifier:i}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${i}" not allowed${r?` in "${r}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${i}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"})}}class d extends t.BaseError{constructor({abiParameter:e}){super("Invalid ABI parameter.",{details:JSON.stringify(e,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}exports.InvalidAbiTypeParameterError=d;exports.InvalidFunctionModifierError=l;exports.InvalidModifierError=s;exports.InvalidParameterError=o;exports.SolidityProtectedKeywordError=n;