@gardenfi/utils 2.5.1 → 2.5.3-beta.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 (192) hide show
  1. package/README.md +9 -0
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.js +37 -36
  4. package/dist/index11.cjs +1 -1
  5. package/dist/index11.js +16 -20
  6. package/dist/index112.cjs +1 -1
  7. package/dist/index112.js +15 -15
  8. package/dist/index121.cjs +1 -1
  9. package/dist/index121.js +1 -1
  10. package/dist/index130.cjs +1 -1
  11. package/dist/index130.js +1 -1
  12. package/dist/index18.cjs +1 -1
  13. package/dist/index18.js +20 -9
  14. package/dist/index197.cjs +1 -1
  15. package/dist/index197.js +17 -30
  16. package/dist/index22.cjs +1 -1
  17. package/dist/index22.js +84 -51
  18. package/dist/index226.cjs +1 -1
  19. package/dist/index226.js +2 -2
  20. package/dist/index229.cjs +1 -1
  21. package/dist/index229.js +2 -2
  22. package/dist/index230.cjs +1 -1
  23. package/dist/index230.js +1 -1
  24. package/dist/index234.cjs +1 -1
  25. package/dist/index234.js +7 -8
  26. package/dist/index235.cjs +1 -1
  27. package/dist/index235.js +1 -1
  28. package/dist/index236.cjs +1 -1
  29. package/dist/index236.js +1 -1
  30. package/dist/index237.cjs +1 -1
  31. package/dist/index237.js +2 -2
  32. package/dist/index24.cjs +1 -1
  33. package/dist/index24.js +4 -5
  34. package/dist/index249.cjs +1 -1
  35. package/dist/index249.js +3 -3
  36. package/dist/index25.cjs +1 -1
  37. package/dist/index25.js +3 -5
  38. package/dist/index250.cjs +1 -1
  39. package/dist/index250.js +3 -3
  40. package/dist/index256.cjs +1 -1
  41. package/dist/index256.js +17 -12
  42. package/dist/index269.cjs +1 -1
  43. package/dist/index269.js +4 -4
  44. package/dist/index270.cjs +1 -1
  45. package/dist/index270.js +5 -5
  46. package/dist/index271.cjs +1 -1
  47. package/dist/index271.js +27 -21
  48. package/dist/index272.cjs +1 -1
  49. package/dist/index272.js +54 -20
  50. package/dist/index273.cjs +1 -1
  51. package/dist/index273.js +18 -54
  52. package/dist/index274.cjs +1 -1
  53. package/dist/index274.js +10 -34
  54. package/dist/index275.cjs +1 -1
  55. package/dist/index275.js +7 -10
  56. package/dist/index276.cjs +1 -1
  57. package/dist/index276.js +12 -13
  58. package/dist/index277.cjs +1 -1
  59. package/dist/index277.js +11 -12
  60. package/dist/index280.cjs +1 -1
  61. package/dist/index280.js +103 -11
  62. package/dist/index281.cjs +1 -1
  63. package/dist/index281.js +6 -103
  64. package/dist/index282.cjs +1 -1
  65. package/dist/index282.js +243 -5
  66. package/dist/index283.cjs +1 -1
  67. package/dist/index283.js +6 -224
  68. package/dist/index284.cjs +1 -1
  69. package/dist/index284.js +7 -7
  70. package/dist/index285.cjs +1 -1
  71. package/dist/index285.js +27 -7
  72. package/dist/index286.cjs +1 -1
  73. package/dist/index286.js +18 -25
  74. package/dist/index287.cjs +1 -1
  75. package/dist/index287.js +145 -18
  76. package/dist/index288.cjs +1 -1
  77. package/dist/index288.js +3 -146
  78. package/dist/index289.cjs +1 -1
  79. package/dist/index289.js +155 -3
  80. package/dist/index29.cjs +1 -1
  81. package/dist/index29.js +2 -2
  82. package/dist/index290.cjs +1 -1
  83. package/dist/index290.js +7 -138
  84. package/dist/index291.cjs +1 -1
  85. package/dist/index291.js +128 -143
  86. package/dist/index292.cjs +1 -1
  87. package/dist/index292.js +111 -7
  88. package/dist/index293.cjs +2 -1
  89. package/dist/index293.js +116 -95
  90. package/dist/index294.cjs +1 -2
  91. package/dist/index294.js +35 -127
  92. package/dist/index295.cjs +1 -1
  93. package/dist/index295.js +66 -30
  94. package/dist/index296.cjs +1 -1
  95. package/dist/index296.js +2 -79
  96. package/dist/index297.cjs +1 -1
  97. package/dist/index297.js +12 -2
  98. package/dist/index298.cjs +1 -1
  99. package/dist/index298.js +19 -11
  100. package/dist/index299.cjs +1 -1
  101. package/dist/index299.js +68 -19
  102. package/dist/index3.cjs +1 -1
  103. package/dist/index3.js +10 -8
  104. package/dist/index300.cjs +1 -1
  105. package/dist/index300.js +786 -66
  106. package/dist/index301.cjs +1 -1
  107. package/dist/index301.js +134 -684
  108. package/dist/index302.cjs +1 -1
  109. package/dist/index302.js +185 -124
  110. package/dist/index303.cjs +2 -1
  111. package/dist/index303.js +63 -198
  112. package/dist/index304.cjs +1 -2
  113. package/dist/index304.js +7 -66
  114. package/dist/index305.cjs +1 -1
  115. package/dist/index305.js +62 -4
  116. package/dist/index306.cjs +1 -1
  117. package/dist/index306.js +22 -40
  118. package/dist/index307.cjs +1 -1
  119. package/dist/index307.js +5 -7
  120. package/dist/index308.cjs +1 -1
  121. package/dist/index308.js +72 -57
  122. package/dist/index309.cjs +1 -1
  123. package/dist/index309.js +4 -78
  124. package/dist/index310.cjs +1 -1
  125. package/dist/index310.js +195 -4
  126. package/dist/index311.cjs +1 -1
  127. package/dist/index311.js +4 -194
  128. package/dist/index312.cjs +1 -1
  129. package/dist/index312.js +35 -58
  130. package/dist/index313.cjs +2 -1
  131. package/dist/index313.js +40 -43
  132. package/dist/index314.cjs +1 -1
  133. package/dist/index314.js +2 -5
  134. package/dist/index315.cjs +1 -1
  135. package/dist/index315.js +11 -5
  136. package/dist/index316.cjs +1 -1
  137. package/dist/index316.js +20 -2
  138. package/dist/index317.cjs +1 -1
  139. package/dist/index317.js +8 -21
  140. package/dist/index318.cjs +1 -0
  141. package/dist/index318.js +45 -0
  142. package/dist/index319.cjs +1 -0
  143. package/dist/index319.js +69 -0
  144. package/dist/index320.cjs +1 -0
  145. package/dist/index320.js +68 -0
  146. package/dist/index321.cjs +1 -0
  147. package/dist/index321.js +191 -0
  148. package/dist/index322.cjs +1 -0
  149. package/dist/index322.js +79 -0
  150. package/dist/index323.cjs +1 -0
  151. package/dist/index323.js +43 -0
  152. package/dist/index324.cjs +1 -0
  153. package/dist/index324.js +19 -0
  154. package/dist/index325.cjs +1 -0
  155. package/dist/index325.js +16 -0
  156. package/dist/index326.cjs +1 -0
  157. package/dist/index326.js +7 -0
  158. package/dist/index327.cjs +1 -0
  159. package/dist/index327.js +66 -0
  160. package/dist/index328.cjs +1 -0
  161. package/dist/index328.js +7 -0
  162. package/dist/index329.cjs +1 -0
  163. package/dist/index329.js +47 -0
  164. package/dist/index330.cjs +1 -0
  165. package/dist/index330.js +71 -0
  166. package/dist/index331.cjs +1 -0
  167. package/dist/index331.js +4 -0
  168. package/dist/index332.cjs +1 -0
  169. package/dist/index332.js +24 -0
  170. package/dist/index4.cjs +1 -1
  171. package/dist/index4.js +38 -38
  172. package/dist/index55.cjs +1 -1
  173. package/dist/index55.js +1 -1
  174. package/dist/index58.cjs +1 -1
  175. package/dist/index58.js +35 -34
  176. package/dist/index60.cjs +1 -1
  177. package/dist/index60.js +26 -30
  178. package/dist/index61.cjs +1 -1
  179. package/dist/index61.js +13 -9
  180. package/dist/index62.cjs +1 -1
  181. package/dist/index62.js +19 -19
  182. package/dist/index89.cjs +1 -1
  183. package/dist/index89.js +31 -30
  184. package/dist/index9.cjs +1 -1
  185. package/dist/index9.js +2 -2
  186. package/dist/index95.cjs +1 -1
  187. package/dist/index95.js +73 -73
  188. package/dist/src/lib/auth/apikey/apikey.d.ts +1 -1
  189. package/dist/src/lib/auth/auth.types.d.ts +1 -1
  190. package/dist/src/lib/fetcher/fetcher.d.ts +2 -0
  191. package/dist/src/lib/utils.d.ts +1 -0
  192. package/package.json +2 -2
package/dist/index290.js CHANGED
@@ -1,143 +1,12 @@
1
- import { readContract as g } from "./index36.js";
2
- import { EnsAvatarUriResolutionError as d, EnsAvatarInvalidNftUriError as f, EnsAvatarUnsupportedNamespaceError as v, EnsAvatarInvalidMetadataError as A } from "./index146.js";
3
- const b = /(?<protocol>https?:\/\/[^\/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/, l = /^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/, E = /^data:([a-zA-Z\-/+]*);base64,([^"].*)/, C = /^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;
4
- async function k(t) {
5
- try {
6
- const e = await fetch(t, { method: "HEAD" });
7
- if (e.status === 200) {
8
- const n = e.headers.get("content-type");
9
- return n == null ? void 0 : n.startsWith("image/");
10
- }
11
- return !1;
12
- } catch (e) {
13
- return typeof e == "object" && typeof e.response < "u" || !globalThis.hasOwnProperty("Image") ? !1 : new Promise((n) => {
14
- const r = new Image();
15
- r.onload = () => {
16
- n(!0);
17
- }, r.onerror = () => {
18
- n(!1);
19
- }, r.src = t;
20
- });
21
- }
22
- }
23
- function w(t, e) {
24
- return t ? t.endsWith("/") ? t.slice(0, -1) : t : e;
25
- }
26
- function N({ uri: t, gatewayUrls: e }) {
27
- const n = E.test(t);
28
- if (n)
29
- return { uri: t, isOnChain: !0, isEncoded: n };
30
- const r = w(e == null ? void 0 : e.ipfs, "https://ipfs.io"), a = w(e == null ? void 0 : e.arweave, "https://arweave.net"), i = t.match(b), { protocol: o, subpath: p, target: s, subtarget: m = "" } = (i == null ? void 0 : i.groups) || {}, u = o === "ipns:/" || p === "ipns/", h = o === "ipfs:/" || p === "ipfs/" || l.test(t);
31
- if (t.startsWith("http") && !u && !h) {
32
- let I = t;
33
- return e != null && e.arweave && (I = t.replace(/https:\/\/arweave.net/g, e == null ? void 0 : e.arweave)), { uri: I, isOnChain: !1, isEncoded: !1 };
34
- }
35
- if ((u || h) && s)
36
- return {
37
- uri: `${r}/${u ? "ipns" : "ipfs"}/${s}${m}`,
38
- isOnChain: !1,
39
- isEncoded: !1
40
- };
41
- if (o === "ar:/" && s)
42
- return {
43
- uri: `${a}/${s}${m || ""}`,
44
- isOnChain: !1,
45
- isEncoded: !1
46
- };
47
- let c = t.replace(C, "");
48
- if (c.startsWith("<svg") && (c = `data:image/svg+xml;base64,${btoa(c)}`), c.startsWith("data:") || c.startsWith("{"))
49
- return {
50
- uri: c,
51
- isOnChain: !0,
52
- isEncoded: !1
53
- };
54
- throw new d({ uri: t });
55
- }
56
- function R(t) {
57
- if (typeof t != "object" || !("image" in t) && !("image_url" in t) && !("image_data" in t))
58
- throw new A({ data: t });
59
- return t.image || t.image_url || t.image_data;
60
- }
61
- async function O({ gatewayUrls: t, uri: e }) {
62
- try {
63
- const n = await fetch(e).then((a) => a.json());
64
- return await _({
65
- gatewayUrls: t,
66
- uri: R(n)
67
- });
68
- } catch {
69
- throw new d({ uri: e });
70
- }
71
- }
72
- async function _({ gatewayUrls: t, uri: e }) {
73
- const { uri: n, isOnChain: r } = N({ uri: e, gatewayUrls: t });
74
- if (r || await k(n))
75
- return n;
76
- throw new d({ uri: e });
77
- }
78
- function z(t) {
79
- let e = t;
80
- e.startsWith("did:nft:") && (e = e.replace("did:nft:", "").replace(/_/g, "/"));
81
- const [n, r, a] = e.split("/"), [i, o] = n.split(":"), [p, s] = r.split(":");
82
- if (!i || i.toLowerCase() !== "eip155")
83
- throw new f({ reason: "Only EIP-155 supported" });
84
- if (!o)
85
- throw new f({ reason: "Chain ID not found" });
86
- if (!s)
87
- throw new f({
88
- reason: "Contract address not found"
89
- });
90
- if (!a)
91
- throw new f({ reason: "Token ID not found" });
92
- if (!p)
93
- throw new f({ reason: "ERC namespace not found" });
1
+ import { fromNumber as e } from "./index289.js";
2
+ function r(o) {
94
3
  return {
95
- chainID: Number.parseInt(o),
96
- namespace: p.toLowerCase(),
97
- contractAddress: s,
98
- tokenID: a
4
+ address: o.address,
5
+ amount: e(o.amount),
6
+ index: e(o.index),
7
+ validatorIndex: e(o.validatorIndex)
99
8
  };
100
9
  }
101
- async function P(t, { nft: e }) {
102
- if (e.namespace === "erc721")
103
- return g(t, {
104
- address: e.contractAddress,
105
- abi: [
106
- {
107
- name: "tokenURI",
108
- type: "function",
109
- stateMutability: "view",
110
- inputs: [{ name: "tokenId", type: "uint256" }],
111
- outputs: [{ name: "", type: "string" }]
112
- }
113
- ],
114
- functionName: "tokenURI",
115
- args: [BigInt(e.tokenID)]
116
- });
117
- if (e.namespace === "erc1155")
118
- return g(t, {
119
- address: e.contractAddress,
120
- abi: [
121
- {
122
- name: "uri",
123
- type: "function",
124
- stateMutability: "view",
125
- inputs: [{ name: "_id", type: "uint256" }],
126
- outputs: [{ name: "", type: "string" }]
127
- }
128
- ],
129
- functionName: "uri",
130
- args: [BigInt(e.tokenID)]
131
- });
132
- throw new v({ namespace: e.namespace });
133
- }
134
10
  export {
135
- w as getGateway,
136
- R as getJsonImage,
137
- O as getMetadataAvatarUri,
138
- P as getNftTokenUri,
139
- k as isImageUri,
140
- _ as parseAvatarUri,
141
- z as parseNftUri,
142
- N as resolveAvatarUri
11
+ r as toRpc
143
12
  };
package/dist/index291.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index304.cjs"),$=require("./index305.cjs"),o=require("./index306.cjs"),E=new TextEncoder,h=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function x(r,e={}){const{strict:t=!1}=e;if(!r)throw new c(r);if(typeof r!="string")throw new c(r);if(t&&!/^0x[0-9a-fA-F]*$/.test(r))throw new f(r);if(!r.startsWith("0x"))throw new f(r)}function y(...r){return`0x${r.reduce((e,t)=>e+t.replace("0x",""),"")}`}function O(r,e={}){const t=`0x${Number(r)}`;return typeof e.size=="number"?(o.assertSize(t,e.size),l(t,e.size)):t}function b(r,e={}){let t="";for(let i=0;i<r.length;i++)t+=h[r[i]];const n=`0x${t}`;return typeof e.size=="number"?(o.assertSize(n,e.size),m(n,e.size)):n}function S(r,e={}){const{signed:t,size:n}=e,i=BigInt(r);let s;n?t?s=(1n<<BigInt(n)*8n-1n)-1n:s=2n**(BigInt(n)*8n)-1n:typeof r=="number"&&(s=BigInt(Number.MAX_SAFE_INTEGER));const d=typeof s=="bigint"&&t?-s-1n:0;if(s&&i>s||i<d){const u=typeof r=="bigint"?"n":"";throw new p({max:s?`${s}${u}`:void 0,min:`${d}${u}`,signed:t,size:n,value:`${r}${u}`})}const g=`0x${(t&&i<0?(1n<<BigInt(n*8))+BigInt(i):i).toString(16)}`;return n?l(g,n):g}function z(r,e={}){return b(E.encode(r),e)}function l(r,e){return o.pad(r,{dir:"left",size:e})}function m(r,e){return o.pad(r,{dir:"right",size:e})}function w(r,e,t,n={}){const{strict:i}=n;o.assertStartOffset(r,e);const s=`0x${r.replace("0x","").slice((e??0)*2,(t??r.length)*2)}`;return i&&o.assertEndOffset(s,e,t),s}function B(r){return Math.ceil((r.length-2)/2)}function I(r,e={}){const{strict:t=!1}=e;try{return x(r,{strict:t}),!0}catch{return!1}}class p extends a.BaseError{constructor({max:e,min:t,signed:n,size:i,value:s}){super(`Number \`${s}\` is not in safe${i?` ${i*8}-bit`:""}${n?" signed":" unsigned"} integer range ${e?`(\`${t}\` to \`${e}\`)`:`(above \`${t}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}}class c extends a.BaseError{constructor(e){super(`Value \`${typeof e=="object"?$.stringify(e):e}\` of type \`${typeof e}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"})}}class f extends a.BaseError{constructor(e){super(`Value \`${e}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"})}}class H extends a.BaseError{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \`${t}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"})}}class v extends a.BaseError{constructor({offset:e,position:t,size:n}){super(`Slice ${t==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${n}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"})}}class P extends a.BaseError{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"})}}exports.IntegerOutOfRangeError=p;exports.InvalidHexTypeError=c;exports.InvalidHexValueError=f;exports.SizeExceedsPaddingSizeError=P;exports.SizeOverflowError=H;exports.SliceOffsetOutOfBoundsError=v;exports.assert=x;exports.concat=y;exports.fromBoolean=O;exports.fromBytes=b;exports.fromNumber=S;exports.fromString=z;exports.padLeft=l;exports.padRight=m;exports.size=B;exports.slice=w;exports.validate=I;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("./index36.cjs"),a=require("./index146.cjs"),w=/(?<protocol>https?:\/\/[^\/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,b=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,N=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,C=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function I(t){try{const e=await fetch(t,{method:"HEAD"});if(e.status===200){const r=e.headers.get("content-type");return r==null?void 0:r.startsWith("image/")}return!1}catch(e){return typeof e=="object"&&typeof e.response<"u"||!globalThis.hasOwnProperty("Image")?!1:new Promise(r=>{const n=new Image;n.onload=()=>{r(!0)},n.onerror=()=>{r(!1)},n.src=t})}}function d(t,e){return t?t.endsWith("/")?t.slice(0,-1):t:e}function A({uri:t,gatewayUrls:e}){const r=N.test(t);if(r)return{uri:t,isOnChain:!0,isEncoded:r};const n=d(e==null?void 0:e.ipfs,"https://ipfs.io"),s=d(e==null?void 0:e.arweave,"https://arweave.net"),o=t.match(w),{protocol:c,subpath:p,target:i,subtarget:h=""}=(o==null?void 0:o.groups)||{},u=c==="ipns:/"||p==="ipns/",m=c==="ipfs:/"||p==="ipfs/"||b.test(t);if(t.startsWith("http")&&!u&&!m){let v=t;return e!=null&&e.arweave&&(v=t.replace(/https:\/\/arweave.net/g,e==null?void 0:e.arweave)),{uri:v,isOnChain:!1,isEncoded:!1}}if((u||m)&&i)return{uri:`${n}/${u?"ipns":"ipfs"}/${i}${h}`,isOnChain:!1,isEncoded:!1};if(c==="ar:/"&&i)return{uri:`${s}/${i}${h||""}`,isOnChain:!1,isEncoded:!1};let f=t.replace(C,"");if(f.startsWith("<svg")&&(f=`data:image/svg+xml;base64,${btoa(f)}`),f.startsWith("data:")||f.startsWith("{"))return{uri:f,isOnChain:!0,isEncoded:!1};throw new a.EnsAvatarUriResolutionError({uri:t})}function l(t){if(typeof t!="object"||!("image"in t)&&!("image_url"in t)&&!("image_data"in t))throw new a.EnsAvatarInvalidMetadataError({data:t});return t.image||t.image_url||t.image_data}async function k({gatewayUrls:t,uri:e}){try{const r=await fetch(e).then(s=>s.json());return await E({gatewayUrls:t,uri:l(r)})}catch{throw new a.EnsAvatarUriResolutionError({uri:e})}}async function E({gatewayUrls:t,uri:e}){const{uri:r,isOnChain:n}=A({uri:e,gatewayUrls:t});if(n||await I(r))return r;throw new a.EnsAvatarUriResolutionError({uri:e})}function R(t){let e=t;e.startsWith("did:nft:")&&(e=e.replace("did:nft:","").replace(/_/g,"/"));const[r,n,s]=e.split("/"),[o,c]=r.split(":"),[p,i]=n.split(":");if(!o||o.toLowerCase()!=="eip155")throw new a.EnsAvatarInvalidNftUriError({reason:"Only EIP-155 supported"});if(!c)throw new a.EnsAvatarInvalidNftUriError({reason:"Chain ID not found"});if(!i)throw new a.EnsAvatarInvalidNftUriError({reason:"Contract address not found"});if(!s)throw new a.EnsAvatarInvalidNftUriError({reason:"Token ID not found"});if(!p)throw new a.EnsAvatarInvalidNftUriError({reason:"ERC namespace not found"});return{chainID:Number.parseInt(c),namespace:p.toLowerCase(),contractAddress:i,tokenID:s}}async function O(t,{nft:e}){if(e.namespace==="erc721")return g.readContract(t,{address:e.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(e.tokenID)]});if(e.namespace==="erc1155")return g.readContract(t,{address:e.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(e.tokenID)]});throw new a.EnsAvatarUnsupportedNamespaceError({namespace:e.namespace})}exports.getGateway=d;exports.getJsonImage=l;exports.getMetadataAvatarUri=k;exports.getNftTokenUri=O;exports.isImageUri=I;exports.parseAvatarUri=E;exports.parseNftUri=R;exports.resolveAvatarUri=A;
package/dist/index291.js CHANGED
@@ -1,158 +1,143 @@
1
- import { BaseError as o } from "./index304.js";
2
- import { stringify as b } from "./index305.js";
3
- import { pad as d, assertEndOffset as m, assertSize as g, assertStartOffset as p } from "./index306.js";
4
- const $ = /* @__PURE__ */ new TextEncoder(), h = /* @__PURE__ */ Array.from({ length: 256 }, (t, e) => e.toString(16).padStart(2, "0"));
5
- function y(t, e = {}) {
6
- const { strict: r = !1 } = e;
7
- if (!t)
8
- throw new f(t);
9
- if (typeof t != "string")
10
- throw new f(t);
11
- if (r && !/^0x[0-9a-fA-F]*$/.test(t))
12
- throw new l(t);
13
- if (!t.startsWith("0x"))
14
- throw new l(t);
15
- }
16
- function B(...t) {
17
- return `0x${t.reduce((e, r) => e + r.replace("0x", ""), "")}`;
18
- }
19
- function P(t, e = {}) {
20
- const r = `0x${Number(t)}`;
21
- return typeof e.size == "number" ? (g(r, e.size), x(r, e.size)) : r;
22
- }
23
- function w(t, e = {}) {
24
- let r = "";
25
- for (let i = 0; i < t.length; i++)
26
- r += h[t[i]];
27
- const n = `0x${r}`;
28
- return typeof e.size == "number" ? (g(n, e.size), E(n, e.size)) : n;
29
- }
30
- function V(t, e = {}) {
31
- const { signed: r, size: n } = e, i = BigInt(t);
32
- let s;
33
- n ? r ? s = (1n << BigInt(n) * 8n - 1n) - 1n : s = 2n ** (BigInt(n) * 8n) - 1n : typeof t == "number" && (s = BigInt(Number.MAX_SAFE_INTEGER));
34
- const u = typeof s == "bigint" && r ? -s - 1n : 0;
35
- if (s && i > s || i < u) {
36
- const a = typeof t == "bigint" ? "n" : "";
37
- throw new O({
38
- max: s ? `${s}${a}` : void 0,
39
- min: `${u}${a}`,
40
- signed: r,
41
- size: n,
42
- value: `${t}${a}`
43
- });
44
- }
45
- const c = `0x${(r && i < 0 ? (1n << BigInt(n * 8)) + BigInt(i) : i).toString(16)}`;
46
- return n ? x(c, n) : c;
47
- }
48
- function j(t, e = {}) {
49
- return w($.encode(t), e);
50
- }
51
- function x(t, e) {
52
- return d(t, { dir: "left", size: e });
53
- }
54
- function E(t, e) {
55
- return d(t, { dir: "right", size: e });
56
- }
57
- function v(t, e, r, n = {}) {
58
- const { strict: i } = n;
59
- p(t, e);
60
- const s = `0x${t.replace("0x", "").slice((e ?? 0) * 2, (r ?? t.length) * 2)}`;
61
- return i && m(s, e, r), s;
62
- }
63
- function A(t) {
64
- return Math.ceil((t.length - 2) / 2);
65
- }
66
- function N(t, e = {}) {
67
- const { strict: r = !1 } = e;
1
+ import { readContract as g } from "./index36.js";
2
+ import { EnsAvatarUriResolutionError as d, EnsAvatarInvalidNftUriError as f, EnsAvatarUnsupportedNamespaceError as v, EnsAvatarInvalidMetadataError as A } from "./index146.js";
3
+ const b = /(?<protocol>https?:\/\/[^\/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/, l = /^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/, E = /^data:([a-zA-Z\-/+]*);base64,([^"].*)/, C = /^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;
4
+ async function k(t) {
68
5
  try {
69
- return y(t, { strict: r }), !0;
70
- } catch {
6
+ const e = await fetch(t, { method: "HEAD" });
7
+ if (e.status === 200) {
8
+ const n = e.headers.get("content-type");
9
+ return n == null ? void 0 : n.startsWith("image/");
10
+ }
71
11
  return !1;
72
- }
73
- }
74
- class O extends o {
75
- constructor({ max: e, min: r, signed: n, size: i, value: s }) {
76
- super(`Number \`${s}\` is not in safe${i ? ` ${i * 8}-bit` : ""}${n ? " signed" : " unsigned"} integer range ${e ? `(\`${r}\` to \`${e}\`)` : `(above \`${r}\`)`}`), Object.defineProperty(this, "name", {
77
- enumerable: !0,
78
- configurable: !0,
79
- writable: !0,
80
- value: "Hex.IntegerOutOfRangeError"
12
+ } catch (e) {
13
+ return typeof e == "object" && typeof e.response < "u" || !globalThis.hasOwnProperty("Image") ? !1 : new Promise((n) => {
14
+ const r = new Image();
15
+ r.onload = () => {
16
+ n(!0);
17
+ }, r.onerror = () => {
18
+ n(!1);
19
+ }, r.src = t;
81
20
  });
82
21
  }
83
22
  }
84
- class f extends o {
85
- constructor(e) {
86
- super(`Value \`${typeof e == "object" ? b(e) : e}\` of type \`${typeof e}\` is an invalid hex type.`, {
87
- metaMessages: ['Hex types must be represented as `"0x${string}"`.']
88
- }), Object.defineProperty(this, "name", {
89
- enumerable: !0,
90
- configurable: !0,
91
- writable: !0,
92
- value: "Hex.InvalidHexTypeError"
93
- });
23
+ function w(t, e) {
24
+ return t ? t.endsWith("/") ? t.slice(0, -1) : t : e;
25
+ }
26
+ function N({ uri: t, gatewayUrls: e }) {
27
+ const n = E.test(t);
28
+ if (n)
29
+ return { uri: t, isOnChain: !0, isEncoded: n };
30
+ const r = w(e == null ? void 0 : e.ipfs, "https://ipfs.io"), a = w(e == null ? void 0 : e.arweave, "https://arweave.net"), i = t.match(b), { protocol: o, subpath: p, target: s, subtarget: m = "" } = (i == null ? void 0 : i.groups) || {}, u = o === "ipns:/" || p === "ipns/", h = o === "ipfs:/" || p === "ipfs/" || l.test(t);
31
+ if (t.startsWith("http") && !u && !h) {
32
+ let I = t;
33
+ return e != null && e.arweave && (I = t.replace(/https:\/\/arweave.net/g, e == null ? void 0 : e.arweave)), { uri: I, isOnChain: !1, isEncoded: !1 };
94
34
  }
95
- }
96
- class l extends o {
97
- constructor(e) {
98
- super(`Value \`${e}\` is an invalid hex value.`, {
99
- metaMessages: [
100
- 'Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).'
101
- ]
102
- }), Object.defineProperty(this, "name", {
103
- enumerable: !0,
104
- configurable: !0,
105
- writable: !0,
106
- value: "Hex.InvalidHexValueError"
35
+ if ((u || h) && s)
36
+ return {
37
+ uri: `${r}/${u ? "ipns" : "ipfs"}/${s}${m}`,
38
+ isOnChain: !1,
39
+ isEncoded: !1
40
+ };
41
+ if (o === "ar:/" && s)
42
+ return {
43
+ uri: `${a}/${s}${m || ""}`,
44
+ isOnChain: !1,
45
+ isEncoded: !1
46
+ };
47
+ let c = t.replace(C, "");
48
+ if (c.startsWith("<svg") && (c = `data:image/svg+xml;base64,${btoa(c)}`), c.startsWith("data:") || c.startsWith("{"))
49
+ return {
50
+ uri: c,
51
+ isOnChain: !0,
52
+ isEncoded: !1
53
+ };
54
+ throw new d({ uri: t });
55
+ }
56
+ function R(t) {
57
+ if (typeof t != "object" || !("image" in t) && !("image_url" in t) && !("image_data" in t))
58
+ throw new A({ data: t });
59
+ return t.image || t.image_url || t.image_data;
60
+ }
61
+ async function O({ gatewayUrls: t, uri: e }) {
62
+ try {
63
+ const n = await fetch(e).then((a) => a.json());
64
+ return await _({
65
+ gatewayUrls: t,
66
+ uri: R(n)
107
67
  });
68
+ } catch {
69
+ throw new d({ uri: e });
108
70
  }
109
71
  }
110
- class _ extends o {
111
- constructor({ givenSize: e, maxSize: r }) {
112
- super(`Size cannot exceed \`${r}\` bytes. Given size: \`${e}\` bytes.`), Object.defineProperty(this, "name", {
113
- enumerable: !0,
114
- configurable: !0,
115
- writable: !0,
116
- value: "Hex.SizeOverflowError"
72
+ async function _({ gatewayUrls: t, uri: e }) {
73
+ const { uri: n, isOnChain: r } = N({ uri: e, gatewayUrls: t });
74
+ if (r || await k(n))
75
+ return n;
76
+ throw new d({ uri: e });
77
+ }
78
+ function z(t) {
79
+ let e = t;
80
+ e.startsWith("did:nft:") && (e = e.replace("did:nft:", "").replace(/_/g, "/"));
81
+ const [n, r, a] = e.split("/"), [i, o] = n.split(":"), [p, s] = r.split(":");
82
+ if (!i || i.toLowerCase() !== "eip155")
83
+ throw new f({ reason: "Only EIP-155 supported" });
84
+ if (!o)
85
+ throw new f({ reason: "Chain ID not found" });
86
+ if (!s)
87
+ throw new f({
88
+ reason: "Contract address not found"
117
89
  });
118
- }
119
- }
120
- class M extends o {
121
- constructor({ offset: e, position: r, size: n }) {
122
- super(`Slice ${r === "start" ? "starting" : "ending"} at offset \`${e}\` is out-of-bounds (size: \`${n}\`).`), Object.defineProperty(this, "name", {
123
- enumerable: !0,
124
- configurable: !0,
125
- writable: !0,
126
- value: "Hex.SliceOffsetOutOfBoundsError"
90
+ if (!a)
91
+ throw new f({ reason: "Token ID not found" });
92
+ if (!p)
93
+ throw new f({ reason: "ERC namespace not found" });
94
+ return {
95
+ chainID: Number.parseInt(o),
96
+ namespace: p.toLowerCase(),
97
+ contractAddress: s,
98
+ tokenID: a
99
+ };
100
+ }
101
+ async function P(t, { nft: e }) {
102
+ if (e.namespace === "erc721")
103
+ return g(t, {
104
+ address: e.contractAddress,
105
+ abi: [
106
+ {
107
+ name: "tokenURI",
108
+ type: "function",
109
+ stateMutability: "view",
110
+ inputs: [{ name: "tokenId", type: "uint256" }],
111
+ outputs: [{ name: "", type: "string" }]
112
+ }
113
+ ],
114
+ functionName: "tokenURI",
115
+ args: [BigInt(e.tokenID)]
127
116
  });
128
- }
129
- }
130
- class R extends o {
131
- constructor({ size: e, targetSize: r, type: n }) {
132
- super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${r}\`).`), Object.defineProperty(this, "name", {
133
- enumerable: !0,
134
- configurable: !0,
135
- writable: !0,
136
- value: "Hex.SizeExceedsPaddingSizeError"
117
+ if (e.namespace === "erc1155")
118
+ return g(t, {
119
+ address: e.contractAddress,
120
+ abi: [
121
+ {
122
+ name: "uri",
123
+ type: "function",
124
+ stateMutability: "view",
125
+ inputs: [{ name: "_id", type: "uint256" }],
126
+ outputs: [{ name: "", type: "string" }]
127
+ }
128
+ ],
129
+ functionName: "uri",
130
+ args: [BigInt(e.tokenID)]
137
131
  });
138
- }
132
+ throw new v({ namespace: e.namespace });
139
133
  }
140
134
  export {
141
- O as IntegerOutOfRangeError,
142
- f as InvalidHexTypeError,
143
- l as InvalidHexValueError,
144
- R as SizeExceedsPaddingSizeError,
145
- _ as SizeOverflowError,
146
- M as SliceOffsetOutOfBoundsError,
147
- y as assert,
148
- B as concat,
149
- P as fromBoolean,
150
- w as fromBytes,
151
- V as fromNumber,
152
- j as fromString,
153
- x as padLeft,
154
- E as padRight,
155
- A as size,
156
- v as slice,
157
- N as validate
135
+ w as getGateway,
136
+ R as getJsonImage,
137
+ O as getMetadataAvatarUri,
138
+ P as getNftTokenUri,
139
+ k as isImageUri,
140
+ _ as parseAvatarUri,
141
+ z as parseNftUri,
142
+ N as resolveAvatarUri
158
143
  };
package/dist/index292.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index291.cjs");function r(e){return{address:e.address,amount:o.fromNumber(e.amount),index:o.fromNumber(e.index),validatorIndex:o.fromNumber(e.validatorIndex)}}exports.toRpc=r;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("./index303.cjs"),$=require("./index304.cjs"),g=require("./index289.cjs"),c=require("./index305.cjs"),y=require("./index306.cjs"),h=require("./index307.cjs");function I(t,r={}){const{prepare:i=!0}=r,n=Array.isArray(t)||typeof t=="string"?y.parseAbiItem(t):t;return{...n,...i?{hash:o(n)}:{}}}function q(t,r,i){const{args:n=[],prepare:a=!0}=i??{},v=g.validate(r,{strict:!1}),s=t.filter(e=>v?e.type==="function"||e.type==="error"?A(e)===g.slice(r,0,4):e.type==="event"?o(e)===r:!1:"name"in e&&e.name===r);if(s.length===0)throw new l({name:r});if(s.length===1)return{...s[0],...a?{hash:o(s[0])}:{}};let u;for(const e of s){if(!("inputs"in e))continue;if(!n||n.length===0){if(!e.inputs||e.inputs.length===0)return{...e,...a?{hash:o(e)}:{}};continue}if(!e.inputs||e.inputs.length===0||e.inputs.length!==n.length)continue;if(n.every((f,E)=>{const d="inputs"in e&&e.inputs[E];return d?c.isArgOfType(f,d):!1})){if(u&&"inputs"in u&&u.inputs){const f=c.getAmbiguousTypes(e.inputs,u.inputs,n);if(f)throw new w({abiItem:e,type:f[0]},{abiItem:u,type:f[1]})}u=e}}const p=(()=>{if(u)return u;const[e,...m]=s;return{...e,overloads:m}})();if(!p)throw new l({name:r});return{...p,...a?{hash:o(p)}:{}}}function A(t){return g.slice(o(t),0,4)}function S(t){const r=typeof t=="string"?t:h.formatAbiItem(t);return c.normalizeSignature(r)}function o(t){return typeof t!="string"&&"hash"in t&&t.hash?t.hash:$.keccak256(g.fromString(S(t)))}class w extends b.BaseError{constructor(r,i){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${r.type}\` in \`${c.normalizeSignature(h.formatAbiItem(r.abiItem))}\`, and`,`\`${i.type}\` in \`${c.normalizeSignature(h.formatAbiItem(i.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"})}}class l extends b.BaseError{constructor({name:r,data:i,type:n="item"}){const a=r?` with name "${r}"`:i?` with data "${i}"`:"";super(`ABI ${n}${a} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}}exports.AmbiguityError=w;exports.NotFoundError=l;exports.from=I;exports.fromAbi=q;exports.getSelector=A;exports.getSignature=S;exports.getSignatureHash=o;
package/dist/index292.js CHANGED
@@ -1,12 +1,116 @@
1
- import { fromNumber as e } from "./index291.js";
2
- function r(o) {
1
+ import { BaseError as y } from "./index303.js";
2
+ import { keccak256 as v } from "./index304.js";
3
+ import { validate as $, slice as A, fromString as S } from "./index289.js";
4
+ import { isArgOfType as E, normalizeSignature as p, getAmbiguousTypes as B } from "./index305.js";
5
+ import { parseAbiItem as l } from "./index306.js";
6
+ import { formatAbiItem as h } from "./index307.js";
7
+ function H(e, r = {}) {
8
+ const { prepare: i = !0 } = r, n = Array.isArray(e) ? l(e) : typeof e == "string" ? l(e) : e;
3
9
  return {
4
- address: o.address,
5
- amount: e(o.amount),
6
- index: e(o.index),
7
- validatorIndex: e(o.validatorIndex)
10
+ ...n,
11
+ ...i ? { hash: s(n) } : {}
8
12
  };
9
13
  }
14
+ function M(e, r, i) {
15
+ const { args: n = [], prepare: f = !0 } = i ?? {}, b = $(r, { strict: !1 }), u = e.filter((t) => b ? t.type === "function" || t.type === "error" ? T(t) === A(r, 0, 4) : t.type === "event" ? s(t) === r : !1 : "name" in t && t.name === r);
16
+ if (u.length === 0)
17
+ throw new d({ name: r });
18
+ if (u.length === 1)
19
+ return {
20
+ ...u[0],
21
+ ...f ? { hash: s(u[0]) } : {}
22
+ };
23
+ let o;
24
+ for (const t of u) {
25
+ if (!("inputs" in t))
26
+ continue;
27
+ if (!n || n.length === 0) {
28
+ if (!t.inputs || t.inputs.length === 0)
29
+ return {
30
+ ...t,
31
+ ...f ? { hash: s(t) } : {}
32
+ };
33
+ continue;
34
+ }
35
+ if (!t.inputs || t.inputs.length === 0 || t.inputs.length !== n.length)
36
+ continue;
37
+ if (n.every((a, w) => {
38
+ const g = "inputs" in t && t.inputs[w];
39
+ return g ? E(a, g) : !1;
40
+ })) {
41
+ if (o && "inputs" in o && o.inputs) {
42
+ const a = B(t.inputs, o.inputs, n);
43
+ if (a)
44
+ throw new O({
45
+ abiItem: t,
46
+ type: a[0]
47
+ }, {
48
+ abiItem: o,
49
+ type: a[1]
50
+ });
51
+ }
52
+ o = t;
53
+ }
54
+ }
55
+ const c = (() => {
56
+ if (o)
57
+ return o;
58
+ const [t, ...m] = u;
59
+ return { ...t, overloads: m };
60
+ })();
61
+ if (!c)
62
+ throw new d({ name: r });
63
+ return {
64
+ ...c,
65
+ ...f ? { hash: s(c) } : {}
66
+ };
67
+ }
68
+ function T(e) {
69
+ return A(s(e), 0, 4);
70
+ }
71
+ function F(e) {
72
+ const r = typeof e == "string" ? e : h(e);
73
+ return p(r);
74
+ }
75
+ function s(e) {
76
+ return typeof e != "string" && "hash" in e && e.hash ? e.hash : v(S(F(e)));
77
+ }
78
+ class O extends y {
79
+ constructor(r, i) {
80
+ super("Found ambiguous types in overloaded ABI Items.", {
81
+ metaMessages: [
82
+ // TODO: abitype to add support for signature-formatted ABI items.
83
+ `\`${r.type}\` in \`${p(h(r.abiItem))}\`, and`,
84
+ `\`${i.type}\` in \`${p(h(i.abiItem))}\``,
85
+ "",
86
+ "These types encode differently and cannot be distinguished at runtime.",
87
+ "Remove one of the ambiguous items in the ABI."
88
+ ]
89
+ }), Object.defineProperty(this, "name", {
90
+ enumerable: !0,
91
+ configurable: !0,
92
+ writable: !0,
93
+ value: "AbiItem.AmbiguityError"
94
+ });
95
+ }
96
+ }
97
+ class d extends y {
98
+ constructor({ name: r, data: i, type: n = "item" }) {
99
+ const f = r ? ` with name "${r}"` : i ? ` with data "${i}"` : "";
100
+ super(`ABI ${n}${f} not found.`), Object.defineProperty(this, "name", {
101
+ enumerable: !0,
102
+ configurable: !0,
103
+ writable: !0,
104
+ value: "AbiItem.NotFoundError"
105
+ });
106
+ }
107
+ }
10
108
  export {
11
- r as toRpc
109
+ O as AmbiguityError,
110
+ d as NotFoundError,
111
+ H as from,
112
+ M as fromAbi,
113
+ T as getSelector,
114
+ F as getSignature,
115
+ s as getSignatureHash
12
116
  };
package/dist/index293.cjs CHANGED
@@ -1 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("./index304.cjs"),$=require("./index307.cjs"),g=require("./index291.cjs"),c=require("./index308.cjs"),y=require("./index271.cjs"),h=require("./index264.cjs");function I(t,r={}){const{prepare:i=!0}=r,n=Array.isArray(t)||typeof t=="string"?y.parseAbiItem(t):t;return{...n,...i?{hash:o(n)}:{}}}function q(t,r,i){const{args:n=[],prepare:a=!0}=i??{},v=g.validate(r,{strict:!1}),s=t.filter(e=>v?e.type==="function"||e.type==="error"?A(e)===g.slice(r,0,4):e.type==="event"?o(e)===r:!1:"name"in e&&e.name===r);if(s.length===0)throw new l({name:r});if(s.length===1)return{...s[0],...a?{hash:o(s[0])}:{}};let u;for(const e of s){if(!("inputs"in e))continue;if(!n||n.length===0){if(!e.inputs||e.inputs.length===0)return{...e,...a?{hash:o(e)}:{}};continue}if(!e.inputs||e.inputs.length===0||e.inputs.length!==n.length)continue;if(n.every((f,E)=>{const d="inputs"in e&&e.inputs[E];return d?c.isArgOfType(f,d):!1})){if(u&&"inputs"in u&&u.inputs){const f=c.getAmbiguousTypes(e.inputs,u.inputs,n);if(f)throw new w({abiItem:e,type:f[0]},{abiItem:u,type:f[1]})}u=e}}const p=(()=>{if(u)return u;const[e,...m]=s;return{...e,overloads:m}})();if(!p)throw new l({name:r});return{...p,...a?{hash:o(p)}:{}}}function A(t){return g.slice(o(t),0,4)}function S(t){const r=typeof t=="string"?t:h.formatAbiItem(t);return c.normalizeSignature(r)}function o(t){return typeof t!="string"&&"hash"in t&&t.hash?t.hash:$.keccak256(g.fromString(S(t)))}class w extends b.BaseError{constructor(r,i){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${r.type}\` in \`${c.normalizeSignature(h.formatAbiItem(r.abiItem))}\`, and`,`\`${i.type}\` in \`${c.normalizeSignature(h.formatAbiItem(i.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"})}}class l extends b.BaseError{constructor({name:r,data:i,type:n="item"}){const a=r?` with name "${r}"`:i?` with data "${i}"`:"";super(`ABI ${n}${a} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}}exports.AmbiguityError=w;exports.NotFoundError=l;exports.from=I;exports.fromAbi=q;exports.getSelector=A;exports.getSignature=S;exports.getSignatureHash=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("./index308.cjs"),d=require("./index303.cjs"),a=require("./index289.cjs"),g=require("./index309.cjs"),p=require("./index310.cjs");function P(n,e,t){const{checksumAddress:r=!1}={};if(n.length!==e.length)throw new m({expectedLength:n.length,givenLength:e.length});const s=p.prepareParameters({checksumAddress:r,parameters:n,values:e}),o=p.encode(s);return o.length===0?"0x":o}function l(n,e){if(n.length!==e.length)throw new m({expectedLength:n.length,givenLength:e.length});const t=[];for(let r=0;r<n.length;r++){const s=n[r],o=e[r];t.push(l.encode(s,o))}return a.concat(...t)}(function(n){function e(t,r,s=!1){if(t==="address"){const c=r;return x.assert(c),a.padLeft(c.toLowerCase(),s?32:0)}if(t==="string")return a.fromString(r);if(t==="bytes")return r;if(t==="bool")return a.padLeft(a.fromBoolean(r),s?32:1);const o=t.match(g.integerRegex);if(o){const[c,i,u="256"]=o,h=Number.parseInt(u)/8;return a.fromNumber(r,{size:s?32:h,signed:i==="int"})}const b=t.match(g.bytesRegex);if(b){const[c,i]=b;if(Number.parseInt(i)!==(r.length-2)/2)throw new y({expectedSize:Number.parseInt(i),value:r});return a.padRight(r,s?32:0)}const f=t.match(g.arrayRegex);if(f&&Array.isArray(r)){const[c,i]=f,u=[];for(let h=0;h<r.length;h++)u.push(e(i,r[h],!0));return u.length===0?"0x":a.concat(...u)}throw new E(t)}n.encode=e})(l||(l={}));class A extends d.BaseError{constructor({expectedLength:e,givenLength:t,type:r}){super(`Array length mismatch for type \`${r}\`. Expected: \`${e}\`. Given: \`${t}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"})}}class y extends d.BaseError{constructor({expectedSize:e,value:t}){super(`Size of bytes "${t}" (bytes${a.size(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}}class m extends d.BaseError{constructor({expectedLength:e,givenLength:t}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${e}`,`Given length (values): ${t}`].join(`
2
+ `)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"})}}class w extends d.BaseError{constructor(e){super(`Value \`${e}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}}class E extends d.BaseError{constructor(e){super(`Type \`${e}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"})}}exports.ArrayLengthMismatchError=A;exports.BytesSizeMismatchError=y;exports.InvalidArrayError=w;exports.InvalidTypeError=E;exports.LengthMismatchError=m;exports.encode=P;exports.encodePacked=l;