@gardenfi/utils 3.1.1-beta.2 → 3.1.1-beta.3

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 (93) hide show
  1. package/dist/index142.cjs +1 -1
  2. package/dist/index142.js +1 -1
  3. package/dist/index145.cjs +1 -1
  4. package/dist/index145.js +1 -1
  5. package/dist/index191.cjs +1 -1
  6. package/dist/index191.js +2 -2
  7. package/dist/index192.cjs +1 -1
  8. package/dist/index192.js +1 -1
  9. package/dist/index193.cjs +1 -1
  10. package/dist/index193.js +2 -2
  11. package/dist/index202.cjs +1 -1
  12. package/dist/index202.js +3 -3
  13. package/dist/index217.cjs +1 -1
  14. package/dist/index217.js +24 -11
  15. package/dist/index218.cjs +1 -1
  16. package/dist/index218.js +45 -18
  17. package/dist/index219.cjs +1 -1
  18. package/dist/index219.js +9 -24
  19. package/dist/index220.cjs +2 -1
  20. package/dist/index220.js +34 -39
  21. package/dist/index221.cjs +1 -1
  22. package/dist/index221.js +2 -10
  23. package/dist/index222.cjs +1 -2
  24. package/dist/index222.js +5 -41
  25. package/dist/index223.cjs +1 -1
  26. package/dist/index223.js +11 -2
  27. package/dist/index224.cjs +1 -1
  28. package/dist/index224.js +19 -5
  29. package/dist/index225.cjs +1 -1
  30. package/dist/index225.js +8 -10
  31. package/dist/index226.cjs +1 -1
  32. package/dist/index226.js +66 -19
  33. package/dist/index227.cjs +1 -1
  34. package/dist/index227.js +65 -8
  35. package/dist/index228.cjs +1 -1
  36. package/dist/index228.js +178 -56
  37. package/dist/index229.cjs +1 -1
  38. package/dist/index229.js +25 -62
  39. package/dist/index230.cjs +1 -1
  40. package/dist/index230.js +69 -181
  41. package/dist/index231.cjs +1 -1
  42. package/dist/index231.js +27 -15
  43. package/dist/index232.cjs +1 -1
  44. package/dist/index232.js +9 -69
  45. package/dist/index233.cjs +1 -1
  46. package/dist/index233.js +7 -34
  47. package/dist/index234.cjs +1 -1
  48. package/dist/index234.js +11 -16
  49. package/dist/index235.cjs +1 -1
  50. package/dist/index235.js +12 -13
  51. package/dist/index236.cjs +1 -1
  52. package/dist/index236.js +19 -11
  53. package/dist/index237.cjs +1 -1
  54. package/dist/index237.js +109 -13
  55. package/dist/index238.cjs +1 -1
  56. package/dist/index238.js +6 -19
  57. package/dist/index239.cjs +1 -1
  58. package/dist/index239.js +7 -109
  59. package/dist/index240.cjs +1 -1
  60. package/dist/index240.js +103 -6
  61. package/dist/index241.cjs +1 -1
  62. package/dist/index241.js +27 -7
  63. package/dist/index242.cjs +1 -1
  64. package/dist/index242.js +16 -26
  65. package/dist/index243.cjs +1 -1
  66. package/dist/index243.js +212 -101
  67. package/dist/index244.cjs +1 -1
  68. package/dist/index244.js +11 -16
  69. package/dist/index245.cjs +1 -1
  70. package/dist/index245.js +19 -214
  71. package/dist/index247.cjs +1 -1
  72. package/dist/index247.js +1 -1
  73. package/dist/index248.cjs +1 -1
  74. package/dist/index248.js +1 -1
  75. package/dist/index25.cjs +1 -1
  76. package/dist/index25.js +2 -2
  77. package/dist/index251.cjs +1 -1
  78. package/dist/index251.js +1 -1
  79. package/dist/index253.cjs +1 -1
  80. package/dist/index253.js +1 -1
  81. package/dist/index254.cjs +1 -1
  82. package/dist/index254.js +1 -1
  83. package/dist/index31.cjs +1 -1
  84. package/dist/index31.js +2 -2
  85. package/dist/index43.cjs +1 -1
  86. package/dist/index43.js +1 -1
  87. package/dist/index49.cjs +1 -1
  88. package/dist/index49.js +3 -3
  89. package/dist/index63.cjs +1 -1
  90. package/dist/index63.js +1 -1
  91. package/dist/index67.cjs +1 -1
  92. package/dist/index67.js +1 -1
  93. package/package.json +1 -1
package/dist/index226.js CHANGED
@@ -1,22 +1,69 @@
1
- import { execTyped as s } from "./index227.js";
2
- const c = /^tuple(?<array>(\[(\d*)\])*)$/;
3
- function d(n) {
4
- let o = n.type;
5
- if (c.test(n.type) && "components" in n) {
6
- o = "(";
7
- const p = n.components.length;
8
- for (let t = 0; t < p; t++) {
9
- const f = n.components[t];
10
- o += d(f), t < p - 1 && (o += ", ");
11
- }
12
- const e = s(c, n.type);
13
- return o += `)${(e == null ? void 0 : e.array) || ""}`, d({
14
- ...n,
15
- type: o
16
- });
17
- }
18
- return "indexed" in n && n.indexed && (o = `${o} indexed`), n.name ? `${o} ${n.name}` : o;
1
+ import { execTyped as t } from "./index225.js";
2
+ const n = /^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;
3
+ function g(e) {
4
+ return n.test(e);
19
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
+ ]);
20
53
  export {
21
- d as formatAbiParameter
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
22
69
  };
package/dist/index227.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function s(t,n){const e=t.exec(n);return e==null?void 0:e.groups}const g=/^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)?$/,c=/^\(.+?\).*?$/;exports.bytesRegex=g;exports.execTyped=s;exports.integerRegex=o;exports.isTupleRegex=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("./index225.cjs"),b=require("./index229.cjs"),T=require("./index230.cjs"),y=require("./index231.cjs"),q=require("./index233.cjs"),f=require("./index226.cjs"),S=require("./index228.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;
package/dist/index227.js CHANGED
@@ -1,11 +1,68 @@
1
- function s(t, n) {
2
- const e = t.exec(n);
3
- return e == null ? void 0 : e.groups;
1
+ import { isTupleRegex as g, execTyped as w } from "./index225.js";
2
+ import { UnknownTypeError as S } from "./index229.js";
3
+ import { InvalidAbiTypeParameterError as d } from "./index230.js";
4
+ import { InvalidSignatureError as T, InvalidStructSignatureError as v } from "./index231.js";
5
+ import { CircularReferenceError as x } from "./index233.js";
6
+ import { isStructSignature as E, execStructSignature as b } from "./index226.js";
7
+ import { parseAbiParameter as A, isSolidityType as $ } from "./index228.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;
37
+ }
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
+ }
63
+ }
64
+ return o;
4
65
  }
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
66
  export {
7
- o as bytesRegex,
8
- s as execTyped,
9
- c as integerRegex,
10
- x as isTupleRegex
67
+ C as parseStructs
11
68
  };
package/dist/index228.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index227.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 m=require("./index225.cjs"),A=require("./index229.cjs"),g=require("./index230.cjs"),d=require("./index231.cjs"),q=require("./index232.cjs"),h=require("./index252.cjs"),o=require("./index226.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 a=o.execFunctionSignature(e);if(!a)throw new d.InvalidSignatureError({signature:e,type:"function"});const n=u(a.parameters),r=[],c=n.length;for(let s=0;s<c;s++)r.push(y(n[s],{modifiers:o.functionModifiers,structs:t,type:"function"}));const i=[];if(a.returns){const s=u(a.returns),l=s.length;for(let f=0;f<l;f++)i.push(y(s[f],{modifiers:o.functionModifiers,structs:t,type:"function"}))}return{name:a.name,type:"function",stateMutability:a.stateMutability??"nonpayable",inputs:r,outputs:i}}function P(e,t={}){const a=o.execEventSignature(e);if(!a)throw new d.InvalidSignatureError({signature:e,type:"event"});const n=u(a.parameters),r=[],c=n.length;for(let i=0;i<c;i++)r.push(y(n[i],{modifiers:o.eventModifiers,structs:t,type:"event"}));return{name:a.name,type:"event",inputs:r}}function M(e,t={}){const a=o.execErrorSignature(e);if(!a)throw new d.InvalidSignatureError({signature:e,type:"error"});const n=u(a.parameters),r=[],c=n.length;for(let i=0;i<c;i++)r.push(y(n[i],{structs:t,type:"error"}));return{name:a.name,type:"error",inputs:r}}function I(e,t={}){const a=o.execConstructorSignature(e);if(!a)throw new d.InvalidSignatureError({signature:e,type:"constructor"});const n=u(a.parameters),r=[],c=n.length;for(let i=0;i<c;i++)r.push(y(n[i],{structs:t,type:"constructor"}));return{type:"constructor",stateMutability:a.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$_]*(?:\spayable)?)(?<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 y(e,t){var p,w;const a=h.getParameterCacheKey(e,t==null?void 0:t.type,t==null?void 0:t.structs);if(h.parameterCache.has(a))return h.parameterCache.get(a);const n=m.isTupleRegex.test(e),r=m.execTyped(n?$:_,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(n){l="tuple";const v=u(r.type),x=[],k=v.length;for(let b=0;b<k;b++)x.push(y(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(r.type==="address payable")l="address";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(a,S),S}function u(e,t=[],a="",n=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 n===0?u(s,[...t,a.trim()]):u(s,t,`${a}${i}`,n);case"(":return u(s,t,`${a}${i}`,n+1);case")":return u(s,t,`${a}${i}`,n-1);default:return u(s,t,`${a}${i}`,n)}}if(a==="")return t;if(n!==0)throw new q.InvalidParenthesisError({current:a,depth:n});return t.push(a.trim()),t}function C(e){return e==="address"||e==="bool"||e==="function"||e==="string"||m.bytesRegex.test(e)||m.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"||m.bytesRegex.test(e)||m.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=y;exports.parseConstructorSignature=I;exports.parseErrorSignature=M;exports.parseEventSignature=P;exports.parseFallbackSignature=R;exports.parseFunctionSignature=E;exports.parseSignature=z;exports.splitParameters=u;
package/dist/index228.js CHANGED
@@ -1,69 +1,191 @@
1
- import { execTyped as t } from "./index227.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 { execTyped as E, isTupleRegex as P, bytesRegex as x, integerRegex as $ } from "./index225.js";
2
+ import { UnknownSolidityTypeError as M } from "./index229.js";
3
+ import { InvalidParameterError as R, SolidityProtectedKeywordError as k, InvalidModifierError as z, InvalidFunctionModifierError as A } from "./index230.js";
4
+ import { UnknownSignatureError as F, InvalidSignatureError as m } from "./index231.js";
5
+ import { InvalidParenthesisError as T } from "./index232.js";
6
+ import { getParameterCacheKey as _, parameterCache as p } from "./index252.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 "./index226.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 });
5
25
  }
6
- function S(e) {
7
- return t(n, e);
26
+ function G(e, t = {}) {
27
+ const n = W(e);
28
+ if (!n)
29
+ throw new m({ signature: e, type: "function" });
30
+ const a = u(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 = u(n.returns), s = o.length;
40
+ for (let f = 0; f < s; 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
+ };
8
54
  }
9
- const r = /^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;
10
- function l(e) {
11
- return r.test(e);
55
+ function H(e, t = {}) {
56
+ const n = D(e);
57
+ if (!n)
58
+ throw new m({ signature: e, type: "event" });
59
+ const a = u(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 };
12
67
  }
13
- function f(e) {
14
- return t(r, e);
68
+ function J(e, t = {}) {
69
+ const n = j(e);
70
+ if (!n)
71
+ throw new m({ signature: e, type: "error" });
72
+ const a = u(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 };
15
76
  }
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);
77
+ function N(e, t = {}) {
78
+ const n = q(e);
79
+ if (!n)
80
+ throw new m({ signature: e, type: "constructor" });
81
+ const a = u(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
+ };
19
89
  }
20
- function p(e) {
21
- return t(a, e);
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
+ };
22
98
  }
23
- const u = /^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;
24
- function $(e) {
25
- return u.test(e);
99
+ const Q = /^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?<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 s, f = {};
112
+ if (a) {
113
+ s = "tuple";
114
+ const w = u(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
+ s = "tuple", f = { components: o[r.type] };
120
+ else if (Y.test(r.type))
121
+ s = `${r.type}256`;
122
+ else if (r.type === "address payable")
123
+ s = "address";
124
+ else if (s = r.type, (t == null ? void 0 : t.type) !== "struct" && !ee(s))
125
+ throw new M({ type: s });
126
+ if (r.modifier) {
127
+ if (!((b = (y = t == null ? void 0 : t.modifiers) == null ? void 0 : y.has) != null && b.call(y, r.modifier)))
128
+ throw new z({
129
+ param: e,
130
+ type: t == null ? void 0 : t.type,
131
+ modifier: r.modifier
132
+ });
133
+ if (h.has(r.modifier) && !ne(s, !!r.array))
134
+ throw new A({
135
+ param: e,
136
+ type: t == null ? void 0 : t.type,
137
+ modifier: r.modifier
138
+ });
139
+ }
140
+ const g = {
141
+ type: `${s}${r.array ?? ""}`,
142
+ ...c,
143
+ ...i,
144
+ ...f
145
+ };
146
+ return p.set(n, g), g;
26
147
  }
27
- function b(e) {
28
- return t(u, e);
148
+ function u(e, t = [], n = "", a = 0) {
149
+ const r = e.trim().length;
150
+ for (let c = 0; c < r; c++) {
151
+ const i = e[c], o = e.slice(c + 1);
152
+ switch (i) {
153
+ case ",":
154
+ return a === 0 ? u(o, [...t, n.trim()]) : u(o, t, `${n}${i}`, a);
155
+ case "(":
156
+ return u(o, t, `${n}${i}`, a + 1);
157
+ case ")":
158
+ return u(o, t, `${n}${i}`, a - 1);
159
+ default:
160
+ return u(o, t, `${n}${i}`, a);
161
+ }
162
+ }
163
+ if (n === "")
164
+ return t;
165
+ if (a !== 0)
166
+ throw new T({ current: n, depth: a });
167
+ return t.push(n.trim()), t;
29
168
  }
30
- const i = /^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;
31
- function m(e) {
32
- return i.test(e);
169
+ function ee(e) {
170
+ return e === "address" || e === "bool" || e === "function" || e === "string" || x.test(e) || $.test(e);
33
171
  }
34
- function y(e) {
35
- return t(i, e);
172
+ 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)$/;
173
+ function re(e) {
174
+ return e === "address" || e === "bool" || e === "function" || e === "string" || e === "tuple" || x.test(e) || $.test(e) || te.test(e);
36
175
  }
37
- const c = /^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;
38
- function v(e) {
39
- return c.test(e);
176
+ function ne(e, t) {
177
+ return t || e === "bytes" || e === "string" || e === "tuple";
40
178
  }
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
179
  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
180
+ re as isSolidityKeyword,
181
+ ee as isSolidityType,
182
+ ne as isValidDataLocation,
183
+ l as parseAbiParameter,
184
+ N as parseConstructorSignature,
185
+ J as parseErrorSignature,
186
+ H as parseEventSignature,
187
+ O as parseFallbackSignature,
188
+ G as parseFunctionSignature,
189
+ le as parseSignature,
190
+ u as splitParameters
69
191
  };
package/dist/index229.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("./index227.cjs"),b=require("./index231.cjs"),T=require("./index232.cjs"),y=require("./index233.cjs"),q=require("./index235.cjs"),f=require("./index228.cjs"),S=require("./index230.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("./index220.cjs");class t 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 o 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.UnknownSolidityTypeError=o;exports.UnknownTypeError=t;
package/dist/index229.js CHANGED
@@ -1,68 +1,31 @@
1
- import { isTupleRegex as g, execTyped as w } from "./index227.js";
2
- import { UnknownTypeError as S } from "./index231.js";
3
- import { InvalidAbiTypeParameterError as d } from "./index232.js";
4
- import { InvalidSignatureError as T, InvalidStructSignatureError as v } from "./index233.js";
5
- import { CircularReferenceError as x } from "./index235.js";
6
- import { isStructSignature as E, execStructSignature as b } from "./index228.js";
7
- import { parseAbiParameter as A, isSolidityType as $ } from "./index230.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 "./index220.js";
2
+ class o extends r {
3
+ constructor({ type: e }) {
4
+ super("Unknown type.", {
5
+ metaMessages: [
6
+ `Type "${e}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`
7
+ ]
8
+ }), Object.defineProperty(this, "name", {
9
+ enumerable: !0,
10
+ configurable: !0,
11
+ writable: !0,
12
+ value: "UnknownTypeError"
13
+ });
30
14
  }
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;
37
15
  }
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
- }
16
+ class a extends r {
17
+ constructor({ type: e }) {
18
+ super("Unknown type.", {
19
+ metaMessages: [`Type "${e}" is not a valid ABI type.`]
20
+ }), Object.defineProperty(this, "name", {
21
+ enumerable: !0,
22
+ configurable: !0,
23
+ writable: !0,
24
+ value: "UnknownSolidityTypeError"
25
+ });
63
26
  }
64
- return o;
65
27
  }
66
28
  export {
67
- C as parseStructs
29
+ a as UnknownSolidityTypeError,
30
+ o as UnknownTypeError
68
31
  };
package/dist/index230.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./index227.cjs"),A=require("./index231.cjs"),g=require("./index232.cjs"),d=require("./index233.cjs"),q=require("./index234.cjs"),h=require("./index252.cjs"),o=require("./index228.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 a=o.execFunctionSignature(e);if(!a)throw new d.InvalidSignatureError({signature:e,type:"function"});const n=u(a.parameters),r=[],c=n.length;for(let s=0;s<c;s++)r.push(y(n[s],{modifiers:o.functionModifiers,structs:t,type:"function"}));const i=[];if(a.returns){const s=u(a.returns),l=s.length;for(let f=0;f<l;f++)i.push(y(s[f],{modifiers:o.functionModifiers,structs:t,type:"function"}))}return{name:a.name,type:"function",stateMutability:a.stateMutability??"nonpayable",inputs:r,outputs:i}}function P(e,t={}){const a=o.execEventSignature(e);if(!a)throw new d.InvalidSignatureError({signature:e,type:"event"});const n=u(a.parameters),r=[],c=n.length;for(let i=0;i<c;i++)r.push(y(n[i],{modifiers:o.eventModifiers,structs:t,type:"event"}));return{name:a.name,type:"event",inputs:r}}function M(e,t={}){const a=o.execErrorSignature(e);if(!a)throw new d.InvalidSignatureError({signature:e,type:"error"});const n=u(a.parameters),r=[],c=n.length;for(let i=0;i<c;i++)r.push(y(n[i],{structs:t,type:"error"}));return{name:a.name,type:"error",inputs:r}}function I(e,t={}){const a=o.execConstructorSignature(e);if(!a)throw new d.InvalidSignatureError({signature:e,type:"constructor"});const n=u(a.parameters),r=[],c=n.length;for(let i=0;i<c;i++)r.push(y(n[i],{structs:t,type:"constructor"}));return{type:"constructor",stateMutability:a.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$_]*(?:\spayable)?)(?<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 y(e,t){var p,w;const a=h.getParameterCacheKey(e,t==null?void 0:t.type,t==null?void 0:t.structs);if(h.parameterCache.has(a))return h.parameterCache.get(a);const n=m.isTupleRegex.test(e),r=m.execTyped(n?$:_,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(n){l="tuple";const v=u(r.type),x=[],k=v.length;for(let b=0;b<k;b++)x.push(y(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(r.type==="address payable")l="address";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(a,S),S}function u(e,t=[],a="",n=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 n===0?u(s,[...t,a.trim()]):u(s,t,`${a}${i}`,n);case"(":return u(s,t,`${a}${i}`,n+1);case")":return u(s,t,`${a}${i}`,n-1);default:return u(s,t,`${a}${i}`,n)}}if(a==="")return t;if(n!==0)throw new q.InvalidParenthesisError({current:a,depth:n});return t.push(a.trim()),t}function C(e){return e==="address"||e==="bool"||e==="function"||e==="string"||m.bytesRegex.test(e)||m.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"||m.bytesRegex.test(e)||m.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=y;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("./index220.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;