@coinbase/cdp-hooks 0.0.56 → 0.0.57

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 (264) hide show
  1. package/dist/esm/index100.js +5 -32
  2. package/dist/esm/index101.js +55 -21
  3. package/dist/esm/index102.js +2 -6
  4. package/dist/esm/index103.js +6 -72
  5. package/dist/esm/index104.js +214 -5
  6. package/dist/esm/index105.js +32 -6
  7. package/dist/esm/index106.js +20 -34
  8. package/dist/esm/index107.js +5 -75
  9. package/dist/esm/index108.js +74 -3
  10. package/dist/esm/index109.js +5 -23
  11. package/dist/esm/index110.js +5 -451
  12. package/dist/esm/index111.js +28 -23
  13. package/dist/esm/index112.js +67 -18
  14. package/dist/esm/index113.js +3 -34
  15. package/dist/esm/index114.js +21 -32
  16. package/dist/esm/index115.js +370 -112
  17. package/dist/esm/index116.js +28 -6
  18. package/dist/esm/index117.js +27 -2
  19. package/dist/esm/index118.js +29 -8
  20. package/dist/esm/index119.js +33 -17
  21. package/dist/esm/index120.js +184 -18
  22. package/dist/esm/index121.js +8 -8
  23. package/dist/esm/index122.js +2 -56
  24. package/dist/esm/index123.js +10 -43
  25. package/dist/esm/index124.js +18 -8
  26. package/dist/esm/index125.js +27 -7
  27. package/dist/esm/index126.js +8 -16
  28. package/dist/esm/index127.js +53 -16
  29. package/dist/esm/index128.js +45 -24
  30. package/dist/esm/index129.js +8 -16
  31. package/dist/esm/index130.js +7 -54
  32. package/dist/esm/index131.js +16 -11
  33. package/dist/esm/index132.js +18 -160
  34. package/dist/esm/index133.js +24 -21
  35. package/dist/esm/index134.js +16 -127
  36. package/dist/esm/index135.js +53 -37
  37. package/dist/esm/index136.js +11 -6
  38. package/dist/esm/index137.js +160 -27
  39. package/dist/esm/index138.js +21 -191
  40. package/dist/esm/index139.js +128 -4
  41. package/dist/esm/index140.js +36 -62
  42. package/dist/esm/index141.js +7 -3
  43. package/dist/esm/index142.js +25 -18
  44. package/dist/esm/index143.js +188 -13
  45. package/dist/esm/index144.js +4 -24
  46. package/dist/esm/index145.js +64 -11
  47. package/dist/esm/index146.js +3 -35
  48. package/dist/esm/index147.js +21 -3
  49. package/dist/esm/index148.js +15 -17
  50. package/dist/esm/index149.js +22 -26
  51. package/dist/esm/index150.js +11 -35
  52. package/dist/esm/index151.js +34 -7
  53. package/dist/esm/index152.js +3 -26
  54. package/dist/esm/index153.js +18 -28
  55. package/dist/esm/index154.js +26 -63
  56. package/dist/esm/index155.js +35 -9
  57. package/dist/esm/index156.js +7 -33
  58. package/dist/esm/index157.js +24 -26
  59. package/dist/esm/index158.js +28 -24
  60. package/dist/esm/index159.js +64 -3
  61. package/dist/esm/index160.js +9 -14
  62. package/dist/esm/index161.js +31 -101
  63. package/dist/esm/index162.js +26 -63
  64. package/dist/esm/index163.js +24 -5
  65. package/dist/esm/index164.js +3 -6
  66. package/dist/esm/index165.js +14 -27
  67. package/dist/esm/index166.js +103 -39
  68. package/dist/esm/index167.js +64 -13
  69. package/dist/esm/index168.js +5 -42
  70. package/dist/esm/index169.js +6 -5
  71. package/dist/esm/index170.js +27 -11
  72. package/dist/esm/index171.js +39 -19
  73. package/dist/esm/index172.js +13 -78
  74. package/dist/esm/index173.js +43 -2
  75. package/dist/esm/index174.js +5 -37
  76. package/dist/esm/index175.js +11 -110
  77. package/dist/esm/index176.js +19 -48
  78. package/dist/esm/index177.js +76 -30
  79. package/dist/esm/index178.js +2 -9
  80. package/dist/esm/index179.js +37 -6
  81. package/dist/esm/index18.js +2 -2
  82. package/dist/esm/index180.js +110 -6
  83. package/dist/esm/index181.js +48 -11
  84. package/dist/esm/index182.js +31 -9
  85. package/dist/esm/index183.js +8 -13
  86. package/dist/esm/index184.js +6 -32
  87. package/dist/esm/index185.js +7 -5
  88. package/dist/esm/index186.js +11 -8
  89. package/dist/esm/index187.js +10 -19
  90. package/dist/esm/index188.js +13 -31
  91. package/dist/esm/index189.js +31 -19
  92. package/dist/esm/index19.js +2 -2
  93. package/dist/esm/index190.js +5 -4
  94. package/dist/esm/index191.js +8 -17
  95. package/dist/esm/index192.js +19 -10
  96. package/dist/esm/index193.js +30 -20
  97. package/dist/esm/index194.js +19 -21
  98. package/dist/esm/index195.js +3 -5
  99. package/dist/esm/index196.js +17 -5
  100. package/dist/esm/index197.js +10 -8
  101. package/dist/esm/index198.js +18 -101
  102. package/dist/esm/index199.js +23 -3
  103. package/dist/esm/index20.js +5 -5
  104. package/dist/esm/index200.js +4 -17
  105. package/dist/esm/index201.js +5 -171
  106. package/dist/esm/index202.js +8 -17
  107. package/dist/esm/index203.js +105 -10
  108. package/dist/esm/index204.js +3 -39
  109. package/dist/esm/index205.js +19 -2
  110. package/dist/esm/index206.js +171 -69
  111. package/dist/esm/index207.js +17 -34
  112. package/dist/esm/index208.js +10 -21
  113. package/dist/esm/index209.js +2 -41
  114. package/dist/esm/index21.js +2 -2
  115. package/dist/esm/index210.js +41 -2
  116. package/dist/esm/index211.js +2 -5
  117. package/dist/esm/index212.js +4 -10
  118. package/dist/esm/index213.js +9 -18
  119. package/dist/esm/index214.js +19 -7
  120. package/dist/esm/index215.js +7 -11
  121. package/dist/esm/index216.js +11 -66
  122. package/dist/esm/index217.js +65 -64
  123. package/dist/esm/index218.js +60 -180
  124. package/dist/esm/index219.js +183 -20
  125. package/dist/esm/index22.js +2 -2
  126. package/dist/esm/index220.js +21 -41
  127. package/dist/esm/index221.js +20 -54
  128. package/dist/esm/index222.js +54 -18
  129. package/dist/esm/index223.js +34 -10
  130. package/dist/esm/index224.js +10 -7
  131. package/dist/esm/index225.js +13 -7
  132. package/dist/esm/index226.js +7 -6
  133. package/dist/esm/index227.js +6 -36
  134. package/dist/esm/index228.js +35 -14
  135. package/dist/esm/index229.js +15 -8
  136. package/dist/esm/index230.js +7 -11
  137. package/dist/esm/index231.js +12 -9
  138. package/dist/esm/index232.js +9 -16
  139. package/dist/esm/index233.js +15 -21
  140. package/dist/esm/index234.js +22 -30
  141. package/dist/esm/index235.js +31 -2
  142. package/dist/esm/index236.js +2 -14
  143. package/dist/esm/index237.js +13 -12
  144. package/dist/esm/index238.js +10 -45
  145. package/dist/esm/index239.js +47 -9
  146. package/dist/esm/index24.js +37 -31
  147. package/dist/esm/index240.js +8 -12
  148. package/dist/esm/index241.js +13 -14
  149. package/dist/esm/index242.js +14 -8
  150. package/dist/esm/index243.js +6 -13
  151. package/dist/esm/index244.js +15 -24
  152. package/dist/esm/index245.js +24 -11
  153. package/dist/esm/index246.js +10 -23
  154. package/dist/esm/index247.js +24 -51
  155. package/dist/esm/index248.js +51 -17
  156. package/dist/esm/index249.js +17 -14
  157. package/dist/esm/index25.js +2 -4
  158. package/dist/esm/index250.js +14 -11
  159. package/dist/esm/index251.js +11 -103
  160. package/dist/esm/index252.js +103 -6
  161. package/dist/esm/index253.js +5 -223
  162. package/dist/esm/index254.js +224 -6
  163. package/dist/esm/index255.js +7 -7
  164. package/dist/esm/index256.js +7 -27
  165. package/dist/esm/index257.js +25 -18
  166. package/dist/esm/index258.js +18 -145
  167. package/dist/esm/index259.js +146 -12
  168. package/dist/esm/index26.js +69 -9
  169. package/dist/esm/index260.js +12 -35
  170. package/dist/esm/index261.js +35 -41
  171. package/dist/esm/index262.js +42 -2
  172. package/dist/esm/index263.js +3 -68
  173. package/dist/esm/index264.js +68 -3
  174. package/dist/esm/index265.js +3 -136
  175. package/dist/esm/index266.js +125 -144
  176. package/dist/esm/index267.js +155 -9
  177. package/dist/esm/index268.js +9 -16
  178. package/dist/esm/index269.js +16 -113
  179. package/dist/esm/index27.js +34 -68
  180. package/dist/esm/index270.js +95 -116
  181. package/dist/esm/index271.js +126 -70
  182. package/dist/esm/index272.js +79 -2
  183. package/dist/esm/index273.js +2 -699
  184. package/dist/esm/index274.js +685 -126
  185. package/dist/esm/index275.js +138 -41
  186. package/dist/esm/index276.js +40 -199
  187. package/dist/esm/index277.js +201 -3
  188. package/dist/esm/index28.js +19 -8
  189. package/dist/esm/index280.js +1 -1
  190. package/dist/esm/index281.js +2 -2
  191. package/dist/esm/index285.js +2 -2
  192. package/dist/esm/index286.js +1 -1
  193. package/dist/esm/index29.js +31 -27
  194. package/dist/esm/index30.js +3 -70
  195. package/dist/esm/index31.js +9 -19
  196. package/dist/esm/index32.js +68 -110
  197. package/dist/esm/index33.js +7 -58
  198. package/dist/esm/index34.js +27 -23
  199. package/dist/esm/index35.js +70 -40
  200. package/dist/esm/index36.js +19 -37
  201. package/dist/esm/index37.js +110 -58
  202. package/dist/esm/index38.js +57 -160
  203. package/dist/esm/index39.js +21 -36
  204. package/dist/esm/index40.js +40 -9
  205. package/dist/esm/index41.js +34 -28
  206. package/dist/esm/index42.js +58 -36
  207. package/dist/esm/index43.js +162 -8
  208. package/dist/esm/index44.js +35 -25
  209. package/dist/esm/index45.js +9 -46
  210. package/dist/esm/index46.js +31 -88
  211. package/dist/esm/index47.js +36 -40
  212. package/dist/esm/index48.js +8 -7
  213. package/dist/esm/index49.js +28 -5
  214. package/dist/esm/index50.js +46 -16
  215. package/dist/esm/index51.js +88 -8
  216. package/dist/esm/index52.js +40 -13
  217. package/dist/esm/index53.js +8 -7
  218. package/dist/esm/index54.js +6 -9
  219. package/dist/esm/index55.js +16 -16
  220. package/dist/esm/index56.js +8 -46
  221. package/dist/esm/index57.js +13 -13
  222. package/dist/esm/index58.js +7 -16
  223. package/dist/esm/index59.js +9 -13
  224. package/dist/esm/index60.js +15 -5
  225. package/dist/esm/index61.js +46 -35
  226. package/dist/esm/index62.js +13 -9
  227. package/dist/esm/index63.js +15 -7
  228. package/dist/esm/index64.js +13 -25
  229. package/dist/esm/index65.js +6 -10
  230. package/dist/esm/index66.js +32 -11
  231. package/dist/esm/index67.js +9 -11
  232. package/dist/esm/index68.js +8 -116
  233. package/dist/esm/index69.js +24 -32
  234. package/dist/esm/index70.js +10 -79
  235. package/dist/esm/index71.js +13 -176
  236. package/dist/esm/index72.js +11 -44
  237. package/dist/esm/index73.js +116 -6
  238. package/dist/esm/index74.js +32 -12
  239. package/dist/esm/index75.js +79 -13
  240. package/dist/esm/index76.js +173 -95
  241. package/dist/esm/index77.js +42 -70
  242. package/dist/esm/index78.js +6 -87
  243. package/dist/esm/index79.js +13 -148
  244. package/dist/esm/index80.js +13 -136
  245. package/dist/esm/index81.js +94 -63
  246. package/dist/esm/index82.js +72 -23
  247. package/dist/esm/index83.js +83 -101
  248. package/dist/esm/index84.js +148 -6
  249. package/dist/esm/index85.js +133 -128
  250. package/dist/esm/index86.js +66 -273
  251. package/dist/esm/index87.js +24 -3
  252. package/dist/esm/index88.js +106 -4
  253. package/dist/esm/index89.js +7 -9
  254. package/dist/esm/index90.js +132 -2
  255. package/dist/esm/index91.js +276 -2
  256. package/dist/esm/index92.js +3 -3
  257. package/dist/esm/index93.js +4 -327
  258. package/dist/esm/index94.js +9 -14
  259. package/dist/esm/index95.js +2 -5
  260. package/dist/esm/index96.js +2 -56
  261. package/dist/esm/index97.js +3 -2
  262. package/dist/esm/index98.js +325 -6
  263. package/dist/esm/index99.js +11 -212
  264. package/package.json +3 -3
@@ -1,6 +1,71 @@
1
- function n(e) {
2
- return `[${e.slice(2)}]`;
1
+ function d(n, y, i) {
2
+ let a = "";
3
+ if (i)
4
+ for (const e of Object.entries(i)) {
5
+ if (!e)
6
+ continue;
7
+ let s = "";
8
+ for (const t of e[1])
9
+ s += `[${t.type}${t.name ? `:${t.name}` : ""}]`;
10
+ a += `(${e[0]}{${s}})`;
11
+ }
12
+ return y ? `${y}:${n}${a}` : n;
3
13
  }
14
+ const p = /* @__PURE__ */ new Map([
15
+ // Unnamed
16
+ ["address", { type: "address" }],
17
+ ["bool", { type: "bool" }],
18
+ ["bytes", { type: "bytes" }],
19
+ ["bytes32", { type: "bytes32" }],
20
+ ["int", { type: "int256" }],
21
+ ["int256", { type: "int256" }],
22
+ ["string", { type: "string" }],
23
+ ["uint", { type: "uint256" }],
24
+ ["uint8", { type: "uint8" }],
25
+ ["uint16", { type: "uint16" }],
26
+ ["uint24", { type: "uint24" }],
27
+ ["uint32", { type: "uint32" }],
28
+ ["uint64", { type: "uint64" }],
29
+ ["uint96", { type: "uint96" }],
30
+ ["uint112", { type: "uint112" }],
31
+ ["uint160", { type: "uint160" }],
32
+ ["uint192", { type: "uint192" }],
33
+ ["uint256", { type: "uint256" }],
34
+ // Named
35
+ ["address owner", { type: "address", name: "owner" }],
36
+ ["address to", { type: "address", name: "to" }],
37
+ ["bool approved", { type: "bool", name: "approved" }],
38
+ ["bytes _data", { type: "bytes", name: "_data" }],
39
+ ["bytes data", { type: "bytes", name: "data" }],
40
+ ["bytes signature", { type: "bytes", name: "signature" }],
41
+ ["bytes32 hash", { type: "bytes32", name: "hash" }],
42
+ ["bytes32 r", { type: "bytes32", name: "r" }],
43
+ ["bytes32 root", { type: "bytes32", name: "root" }],
44
+ ["bytes32 s", { type: "bytes32", name: "s" }],
45
+ ["string name", { type: "string", name: "name" }],
46
+ ["string symbol", { type: "string", name: "symbol" }],
47
+ ["string tokenURI", { type: "string", name: "tokenURI" }],
48
+ ["uint tokenId", { type: "uint256", name: "tokenId" }],
49
+ ["uint8 v", { type: "uint8", name: "v" }],
50
+ ["uint256 balance", { type: "uint256", name: "balance" }],
51
+ ["uint256 tokenId", { type: "uint256", name: "tokenId" }],
52
+ ["uint256 value", { type: "uint256", name: "value" }],
53
+ // Indexed
54
+ [
55
+ "event:address indexed from",
56
+ { type: "address", name: "from", indexed: !0 }
57
+ ],
58
+ ["event:address indexed to", { type: "address", name: "to", indexed: !0 }],
59
+ [
60
+ "event:uint indexed tokenId",
61
+ { type: "uint256", name: "tokenId", indexed: !0 }
62
+ ],
63
+ [
64
+ "event:uint256 indexed tokenId",
65
+ { type: "uint256", name: "tokenId", indexed: !0 }
66
+ ]
67
+ ]);
4
68
  export {
5
- n as encodeLabelhash
69
+ d as getParameterCacheKey,
70
+ p as parameterCache
6
71
  };
@@ -1,139 +1,6 @@
1
- import { readContract as w } from "./index69.js";
2
- import { EnsAvatarUriResolutionError as d, EnsAvatarInvalidNftUriError as p, EnsAvatarUnsupportedNamespaceError as I, EnsAvatarInvalidMetadataError as y } from "./index113.js";
3
- const v = /(?<protocol>https?:\/\/[^\/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/, A = /^(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>\/.*)?$/, b = /^data:([a-zA-Z\-/+]*);base64,([^"].*)/, E = /^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;
4
- async function k(e) {
5
- try {
6
- const t = await fetch(e, { method: "HEAD" });
7
- return t.status === 200 ? t.headers.get("content-type")?.startsWith("image/") : !1;
8
- } catch (t) {
9
- return typeof t == "object" && typeof t.response < "u" || !globalThis.hasOwnProperty("Image") ? !1 : new Promise((n) => {
10
- const a = new Image();
11
- a.onload = () => {
12
- n(!0);
13
- }, a.onerror = () => {
14
- n(!1);
15
- }, a.src = e;
16
- });
17
- }
18
- }
19
- function l(e, t) {
20
- return e ? e.endsWith("/") ? e.slice(0, -1) : e : t;
21
- }
22
- function C({ uri: e, gatewayUrls: t }) {
23
- const n = b.test(e);
24
- if (n)
25
- return { uri: e, isOnChain: !0, isEncoded: n };
26
- const a = l(t?.ipfs, "https://ipfs.io"), r = l(t?.arweave, "https://arweave.net"), f = e.match(v), { protocol: i, subpath: c, target: s, subtarget: h = "" } = f?.groups || {}, u = i === "ipns:/" || c === "ipns/", m = i === "ipfs:/" || c === "ipfs/" || A.test(e);
27
- if (e.startsWith("http") && !u && !m) {
28
- let g = e;
29
- return t?.arweave && (g = e.replace(/https:\/\/arweave.net/g, t?.arweave)), { uri: g, isOnChain: !1, isEncoded: !1 };
30
- }
31
- if ((u || m) && s)
32
- return {
33
- uri: `${a}/${u ? "ipns" : "ipfs"}/${s}${h}`,
34
- isOnChain: !1,
35
- isEncoded: !1
36
- };
37
- if (i === "ar:/" && s)
38
- return {
39
- uri: `${r}/${s}${h || ""}`,
40
- isOnChain: !1,
41
- isEncoded: !1
42
- };
43
- let o = e.replace(E, "");
44
- if (o.startsWith("<svg") && (o = `data:image/svg+xml;base64,${btoa(o)}`), o.startsWith("data:") || o.startsWith("{"))
45
- return {
46
- uri: o,
47
- isOnChain: !0,
48
- isEncoded: !1
49
- };
50
- throw new d({ uri: e });
51
- }
52
- function U(e) {
53
- if (typeof e != "object" || !("image" in e) && !("image_url" in e) && !("image_data" in e))
54
- throw new y({ data: e });
55
- return e.image || e.image_url || e.image_data;
56
- }
57
- async function $({ gatewayUrls: e, uri: t }) {
58
- try {
59
- const n = await fetch(t).then((r) => r.json());
60
- return await R({
61
- gatewayUrls: e,
62
- uri: U(n)
63
- });
64
- } catch {
65
- throw new d({ uri: t });
66
- }
67
- }
68
- async function R({ gatewayUrls: e, uri: t }) {
69
- const { uri: n, isOnChain: a } = C({ uri: t, gatewayUrls: e });
70
- if (a || await k(n))
71
- return n;
72
- throw new d({ uri: t });
73
- }
74
- function D(e) {
75
- let t = e;
76
- t.startsWith("did:nft:") && (t = t.replace("did:nft:", "").replace(/_/g, "/"));
77
- const [n, a, r] = t.split("/"), [f, i] = n.split(":"), [c, s] = a.split(":");
78
- if (!f || f.toLowerCase() !== "eip155")
79
- throw new p({ reason: "Only EIP-155 supported" });
80
- if (!i)
81
- throw new p({ reason: "Chain ID not found" });
82
- if (!s)
83
- throw new p({
84
- reason: "Contract address not found"
85
- });
86
- if (!r)
87
- throw new p({ reason: "Token ID not found" });
88
- if (!c)
89
- throw new p({ reason: "ERC namespace not found" });
90
- return {
91
- chainID: Number.parseInt(i),
92
- namespace: c.toLowerCase(),
93
- contractAddress: s,
94
- tokenID: r
95
- };
96
- }
97
- async function O(e, { nft: t }) {
98
- if (t.namespace === "erc721")
99
- return w(e, {
100
- address: t.contractAddress,
101
- abi: [
102
- {
103
- name: "tokenURI",
104
- type: "function",
105
- stateMutability: "view",
106
- inputs: [{ name: "tokenId", type: "uint256" }],
107
- outputs: [{ name: "", type: "string" }]
108
- }
109
- ],
110
- functionName: "tokenURI",
111
- args: [BigInt(t.tokenID)]
112
- });
113
- if (t.namespace === "erc1155")
114
- return w(e, {
115
- address: t.contractAddress,
116
- abi: [
117
- {
118
- name: "uri",
119
- type: "function",
120
- stateMutability: "view",
121
- inputs: [{ name: "_id", type: "uint256" }],
122
- outputs: [{ name: "", type: "string" }]
123
- }
124
- ],
125
- functionName: "uri",
126
- args: [BigInt(t.tokenID)]
127
- });
128
- throw new I({ namespace: t.namespace });
1
+ function n(e) {
2
+ return `[${e.slice(2)}]`;
129
3
  }
130
4
  export {
131
- l as getGateway,
132
- U as getJsonImage,
133
- $ as getMetadataAvatarUri,
134
- O as getNftTokenUri,
135
- k as isImageUri,
136
- R as parseAvatarUri,
137
- D as parseNftUri,
138
- C as resolveAvatarUri
5
+ n as encodeLabelhash
139
6
  };
@@ -1,158 +1,139 @@
1
- import { BaseError as o } from "./index278.js";
2
- import { stringify as b } from "./index279.js";
3
- import { pad as d, assertEndOffset as m, assertSize as g, assertStartOffset as p } from "./index280.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 w } from "./index74.js";
2
+ import { EnsAvatarUriResolutionError as d, EnsAvatarInvalidNftUriError as p, EnsAvatarUnsupportedNamespaceError as I, EnsAvatarInvalidMetadataError as y } from "./index118.js";
3
+ const v = /(?<protocol>https?:\/\/[^\/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/, A = /^(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>\/.*)?$/, b = /^data:([a-zA-Z\-/+]*);base64,([^"].*)/, E = /^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;
4
+ async function k(e) {
68
5
  try {
69
- return y(t, { strict: r }), !0;
70
- } catch {
71
- 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"
6
+ const t = await fetch(e, { method: "HEAD" });
7
+ return t.status === 200 ? t.headers.get("content-type")?.startsWith("image/") : !1;
8
+ } catch (t) {
9
+ return typeof t == "object" && typeof t.response < "u" || !globalThis.hasOwnProperty("Image") ? !1 : new Promise((n) => {
10
+ const a = new Image();
11
+ a.onload = () => {
12
+ n(!0);
13
+ }, a.onerror = () => {
14
+ n(!1);
15
+ }, a.src = e;
81
16
  });
82
17
  }
83
18
  }
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
- });
19
+ function l(e, t) {
20
+ return e ? e.endsWith("/") ? e.slice(0, -1) : e : t;
21
+ }
22
+ function C({ uri: e, gatewayUrls: t }) {
23
+ const n = b.test(e);
24
+ if (n)
25
+ return { uri: e, isOnChain: !0, isEncoded: n };
26
+ const a = l(t?.ipfs, "https://ipfs.io"), r = l(t?.arweave, "https://arweave.net"), f = e.match(v), { protocol: i, subpath: c, target: s, subtarget: h = "" } = f?.groups || {}, u = i === "ipns:/" || c === "ipns/", m = i === "ipfs:/" || c === "ipfs/" || A.test(e);
27
+ if (e.startsWith("http") && !u && !m) {
28
+ let g = e;
29
+ return t?.arweave && (g = e.replace(/https:\/\/arweave.net/g, t?.arweave)), { uri: g, isOnChain: !1, isEncoded: !1 };
94
30
  }
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"
31
+ if ((u || m) && s)
32
+ return {
33
+ uri: `${a}/${u ? "ipns" : "ipfs"}/${s}${h}`,
34
+ isOnChain: !1,
35
+ isEncoded: !1
36
+ };
37
+ if (i === "ar:/" && s)
38
+ return {
39
+ uri: `${r}/${s}${h || ""}`,
40
+ isOnChain: !1,
41
+ isEncoded: !1
42
+ };
43
+ let o = e.replace(E, "");
44
+ if (o.startsWith("<svg") && (o = `data:image/svg+xml;base64,${btoa(o)}`), o.startsWith("data:") || o.startsWith("{"))
45
+ return {
46
+ uri: o,
47
+ isOnChain: !0,
48
+ isEncoded: !1
49
+ };
50
+ throw new d({ uri: e });
51
+ }
52
+ function U(e) {
53
+ if (typeof e != "object" || !("image" in e) && !("image_url" in e) && !("image_data" in e))
54
+ throw new y({ data: e });
55
+ return e.image || e.image_url || e.image_data;
56
+ }
57
+ async function $({ gatewayUrls: e, uri: t }) {
58
+ try {
59
+ const n = await fetch(t).then((r) => r.json());
60
+ return await R({
61
+ gatewayUrls: e,
62
+ uri: U(n)
107
63
  });
64
+ } catch {
65
+ throw new d({ uri: t });
108
66
  }
109
67
  }
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"
68
+ async function R({ gatewayUrls: e, uri: t }) {
69
+ const { uri: n, isOnChain: a } = C({ uri: t, gatewayUrls: e });
70
+ if (a || await k(n))
71
+ return n;
72
+ throw new d({ uri: t });
73
+ }
74
+ function D(e) {
75
+ let t = e;
76
+ t.startsWith("did:nft:") && (t = t.replace("did:nft:", "").replace(/_/g, "/"));
77
+ const [n, a, r] = t.split("/"), [f, i] = n.split(":"), [c, s] = a.split(":");
78
+ if (!f || f.toLowerCase() !== "eip155")
79
+ throw new p({ reason: "Only EIP-155 supported" });
80
+ if (!i)
81
+ throw new p({ reason: "Chain ID not found" });
82
+ if (!s)
83
+ throw new p({
84
+ reason: "Contract address not found"
117
85
  });
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"
86
+ if (!r)
87
+ throw new p({ reason: "Token ID not found" });
88
+ if (!c)
89
+ throw new p({ reason: "ERC namespace not found" });
90
+ return {
91
+ chainID: Number.parseInt(i),
92
+ namespace: c.toLowerCase(),
93
+ contractAddress: s,
94
+ tokenID: r
95
+ };
96
+ }
97
+ async function O(e, { nft: t }) {
98
+ if (t.namespace === "erc721")
99
+ return w(e, {
100
+ address: t.contractAddress,
101
+ abi: [
102
+ {
103
+ name: "tokenURI",
104
+ type: "function",
105
+ stateMutability: "view",
106
+ inputs: [{ name: "tokenId", type: "uint256" }],
107
+ outputs: [{ name: "", type: "string" }]
108
+ }
109
+ ],
110
+ functionName: "tokenURI",
111
+ args: [BigInt(t.tokenID)]
127
112
  });
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"
113
+ if (t.namespace === "erc1155")
114
+ return w(e, {
115
+ address: t.contractAddress,
116
+ abi: [
117
+ {
118
+ name: "uri",
119
+ type: "function",
120
+ stateMutability: "view",
121
+ inputs: [{ name: "_id", type: "uint256" }],
122
+ outputs: [{ name: "", type: "string" }]
123
+ }
124
+ ],
125
+ functionName: "uri",
126
+ args: [BigInt(t.tokenID)]
137
127
  });
138
- }
128
+ throw new I({ namespace: t.namespace });
139
129
  }
140
130
  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
131
+ l as getGateway,
132
+ U as getJsonImage,
133
+ $ as getMetadataAvatarUri,
134
+ O as getNftTokenUri,
135
+ k as isImageUri,
136
+ R as parseAvatarUri,
137
+ D as parseNftUri,
138
+ C as resolveAvatarUri
158
139
  };
@@ -1,12 +1,158 @@
1
- import { fromNumber as e } from "./index266.js";
2
- function r(o) {
3
- return {
4
- address: o.address,
5
- amount: e(o.amount),
6
- index: e(o.index),
7
- validatorIndex: e(o.validatorIndex)
8
- };
1
+ import { BaseError as o } from "./index278.js";
2
+ import { stringify as b } from "./index279.js";
3
+ import { pad as d, assertEndOffset as m, assertSize as g, assertStartOffset as p } from "./index280.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;
68
+ try {
69
+ return y(t, { strict: r }), !0;
70
+ } catch {
71
+ 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"
81
+ });
82
+ }
83
+ }
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
+ });
94
+ }
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"
107
+ });
108
+ }
109
+ }
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"
117
+ });
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"
127
+ });
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"
137
+ });
138
+ }
9
139
  }
10
140
  export {
11
- r as toRpc
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
12
158
  };