@coinbase/cdp-hooks 0.0.63 → 0.0.65

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 (294) hide show
  1. package/README.md +229 -0
  2. package/dist/esm/index.js +11 -9
  3. package/dist/esm/index10.js +1 -1
  4. package/dist/esm/index100.js +215 -32
  5. package/dist/esm/index101.js +32 -22
  6. package/dist/esm/index102.js +21 -5
  7. package/dist/esm/index103.js +5 -73
  8. package/dist/esm/index104.js +73 -5
  9. package/dist/esm/index105.js +4 -4
  10. package/dist/esm/index106.js +5 -35
  11. package/dist/esm/index107.js +29 -69
  12. package/dist/esm/index108.js +76 -3
  13. package/dist/esm/index109.js +3 -24
  14. package/dist/esm/index11.js +1 -1
  15. package/dist/esm/index110.js +16 -444
  16. package/dist/esm/index111.js +444 -23
  17. package/dist/esm/index112.js +24 -20
  18. package/dist/esm/index113.js +18 -25
  19. package/dist/esm/index114.js +31 -32
  20. package/dist/esm/index115.js +32 -191
  21. package/dist/esm/index116.js +191 -6
  22. package/dist/esm/index117.js +9 -2
  23. package/dist/esm/index118.js +2 -13
  24. package/dist/esm/index119.js +11 -17
  25. package/dist/esm/index12.js +1 -1
  26. package/dist/esm/index120.js +13 -22
  27. package/dist/esm/index121.js +27 -8
  28. package/dist/esm/index122.js +8 -55
  29. package/dist/esm/index123.js +50 -40
  30. package/dist/esm/index124.js +45 -8
  31. package/dist/esm/index125.js +8 -7
  32. package/dist/esm/index126.js +7 -16
  33. package/dist/esm/index127.js +16 -18
  34. package/dist/esm/index128.js +18 -24
  35. package/dist/esm/index129.js +24 -16
  36. package/dist/esm/index13.js +1 -1
  37. package/dist/esm/index130.js +16 -54
  38. package/dist/esm/index131.js +53 -10
  39. package/dist/esm/index132.js +11 -160
  40. package/dist/esm/index133.js +160 -21
  41. package/dist/esm/index134.js +21 -127
  42. package/dist/esm/index135.js +127 -38
  43. package/dist/esm/index136.js +38 -6
  44. package/dist/esm/index137.js +6 -27
  45. package/dist/esm/index138.js +27 -191
  46. package/dist/esm/index139.js +192 -4
  47. package/dist/esm/index14.js +4 -8
  48. package/dist/esm/index140.js +4 -65
  49. package/dist/esm/index141.js +65 -3
  50. package/dist/esm/index142.js +3 -21
  51. package/dist/esm/index143.js +19 -15
  52. package/dist/esm/index144.js +16 -23
  53. package/dist/esm/index145.js +23 -11
  54. package/dist/esm/index146.js +11 -34
  55. package/dist/esm/index147.js +35 -3
  56. package/dist/esm/index148.js +3 -19
  57. package/dist/esm/index149.js +18 -27
  58. package/dist/esm/index15.js +9 -34
  59. package/dist/esm/index150.js +25 -33
  60. package/dist/esm/index151.js +35 -7
  61. package/dist/esm/index152.js +7 -25
  62. package/dist/esm/index153.js +20 -23
  63. package/dist/esm/index154.js +27 -63
  64. package/dist/esm/index155.js +64 -9
  65. package/dist/esm/index156.js +9 -33
  66. package/dist/esm/index157.js +33 -27
  67. package/dist/esm/index158.js +26 -23
  68. package/dist/esm/index159.js +24 -3
  69. package/dist/esm/index16.js +33 -17
  70. package/dist/esm/index160.js +3 -14
  71. package/dist/esm/index161.js +14 -103
  72. package/dist/esm/index162.js +99 -60
  73. package/dist/esm/index163.js +64 -5
  74. package/dist/esm/index164.js +5 -6
  75. package/dist/esm/index165.js +6 -27
  76. package/dist/esm/index166.js +27 -38
  77. package/dist/esm/index167.js +38 -13
  78. package/dist/esm/index168.js +13 -42
  79. package/dist/esm/index169.js +42 -5
  80. package/dist/esm/index17.js +18 -12
  81. package/dist/esm/index170.js +5 -11
  82. package/dist/esm/index171.js +11 -19
  83. package/dist/esm/index172.js +18 -77
  84. package/dist/esm/index173.js +79 -2
  85. package/dist/esm/index174.js +2 -38
  86. package/dist/esm/index175.js +32 -105
  87. package/dist/esm/index176.js +105 -43
  88. package/dist/esm/index177.js +47 -31
  89. package/dist/esm/index178.js +32 -8
  90. package/dist/esm/index179.js +8 -6
  91. package/dist/esm/index18.js +11 -11
  92. package/dist/esm/index180.js +6 -6
  93. package/dist/esm/index181.js +6 -11
  94. package/dist/esm/index182.js +11 -10
  95. package/dist/esm/index183.js +10 -13
  96. package/dist/esm/index184.js +12 -31
  97. package/dist/esm/index185.js +33 -5
  98. package/dist/esm/index186.js +5 -9
  99. package/dist/esm/index187.js +8 -19
  100. package/dist/esm/index188.js +19 -31
  101. package/dist/esm/index189.js +31 -20
  102. package/dist/esm/index19.js +12 -54
  103. package/dist/esm/index190.js +20 -3
  104. package/dist/esm/index191.js +3 -17
  105. package/dist/esm/index192.js +17 -10
  106. package/dist/esm/index193.js +10 -21
  107. package/dist/esm/index194.js +21 -22
  108. package/dist/esm/index195.js +22 -5
  109. package/dist/esm/index196.js +5 -5
  110. package/dist/esm/index197.js +5 -8
  111. package/dist/esm/index198.js +8 -104
  112. package/dist/esm/index199.js +105 -3
  113. package/dist/esm/index2.js +2 -2
  114. package/dist/esm/index20.js +54 -58
  115. package/dist/esm/index200.js +3 -19
  116. package/dist/esm/index201.js +17 -170
  117. package/dist/esm/index202.js +170 -16
  118. package/dist/esm/index203.js +18 -10
  119. package/dist/esm/index204.js +10 -39
  120. package/dist/esm/index205.js +39 -2
  121. package/dist/esm/index206.js +2 -70
  122. package/dist/esm/index207.js +66 -31
  123. package/dist/esm/index208.js +33 -13
  124. package/dist/esm/index209.js +13 -39
  125. package/dist/esm/index21.js +58 -56
  126. package/dist/esm/index210.js +41 -2
  127. package/dist/esm/index211.js +2 -5
  128. package/dist/esm/index212.js +4 -10
  129. package/dist/esm/index213.js +9 -18
  130. package/dist/esm/index214.js +19 -7
  131. package/dist/esm/index215.js +7 -11
  132. package/dist/esm/index216.js +11 -66
  133. package/dist/esm/index217.js +65 -64
  134. package/dist/esm/index218.js +60 -180
  135. package/dist/esm/index219.js +183 -20
  136. package/dist/esm/index22.js +56 -5
  137. package/dist/esm/index220.js +21 -41
  138. package/dist/esm/index221.js +20 -54
  139. package/dist/esm/index222.js +54 -18
  140. package/dist/esm/index223.js +34 -10
  141. package/dist/esm/index224.js +10 -7
  142. package/dist/esm/index225.js +13 -7
  143. package/dist/esm/index226.js +7 -6
  144. package/dist/esm/index227.js +6 -36
  145. package/dist/esm/index228.js +35 -14
  146. package/dist/esm/index229.js +15 -8
  147. package/dist/esm/index23.js +5 -48
  148. package/dist/esm/index230.js +7 -11
  149. package/dist/esm/index231.js +12 -9
  150. package/dist/esm/index232.js +9 -16
  151. package/dist/esm/index233.js +15 -21
  152. package/dist/esm/index234.js +22 -30
  153. package/dist/esm/index235.js +31 -2
  154. package/dist/esm/index236.js +2 -14
  155. package/dist/esm/index237.js +13 -12
  156. package/dist/esm/index238.js +10 -45
  157. package/dist/esm/index239.js +47 -9
  158. package/dist/esm/index24.js +46 -31
  159. package/dist/esm/index240.js +8 -12
  160. package/dist/esm/index241.js +13 -14
  161. package/dist/esm/index242.js +14 -8
  162. package/dist/esm/index243.js +6 -13
  163. package/dist/esm/index244.js +15 -24
  164. package/dist/esm/index245.js +24 -11
  165. package/dist/esm/index246.js +10 -23
  166. package/dist/esm/index247.js +24 -51
  167. package/dist/esm/index248.js +51 -17
  168. package/dist/esm/index249.js +17 -14
  169. package/dist/esm/index25.js +32 -3
  170. package/dist/esm/index250.js +14 -11
  171. package/dist/esm/index251.js +11 -103
  172. package/dist/esm/index252.js +103 -5
  173. package/dist/esm/index253.js +5 -223
  174. package/dist/esm/index254.js +223 -6
  175. package/dist/esm/index255.js +7 -7
  176. package/dist/esm/index256.js +7 -27
  177. package/dist/esm/index257.js +25 -18
  178. package/dist/esm/index258.js +18 -144
  179. package/dist/esm/index259.js +145 -12
  180. package/dist/esm/index26.js +3 -9
  181. package/dist/esm/index260.js +2 -36
  182. package/dist/esm/index261.js +12 -41
  183. package/dist/esm/index262.js +36 -2
  184. package/dist/esm/index263.js +41 -68
  185. package/dist/esm/index264.js +68 -3
  186. package/dist/esm/index265.js +3 -136
  187. package/dist/esm/index266.js +125 -144
  188. package/dist/esm/index267.js +155 -9
  189. package/dist/esm/index268.js +9 -16
  190. package/dist/esm/index269.js +16 -113
  191. package/dist/esm/index27.js +8 -67
  192. package/dist/esm/index270.js +95 -116
  193. package/dist/esm/index271.js +126 -70
  194. package/dist/esm/index272.js +79 -2
  195. package/dist/esm/index273.js +2 -698
  196. package/dist/esm/index274.js +685 -126
  197. package/dist/esm/index275.js +137 -41
  198. package/dist/esm/index276.js +40 -198
  199. package/dist/esm/index277.js +200 -3
  200. package/dist/esm/index278.js +3 -65
  201. package/dist/esm/index279.js +65 -4
  202. package/dist/esm/index28.js +66 -7
  203. package/dist/esm/index280.js +4 -40
  204. package/dist/esm/index281.js +40 -7
  205. package/dist/esm/index282.js +7 -62
  206. package/dist/esm/index283.js +57 -72
  207. package/dist/esm/index284.js +78 -4
  208. package/dist/esm/index285.js +4 -195
  209. package/dist/esm/index286.js +183 -52
  210. package/dist/esm/index287.js +59 -40
  211. package/dist/esm/index288.js +44 -4
  212. package/dist/esm/index289.js +5 -5
  213. package/dist/esm/index29.js +8 -27
  214. package/dist/esm/index290.js +5 -2
  215. package/dist/esm/index291.js +2 -22
  216. package/dist/esm/index292.js +24 -0
  217. package/dist/esm/index3.js +1 -1
  218. package/dist/esm/index30.js +25 -67
  219. package/dist/esm/index31.js +68 -17
  220. package/dist/esm/index32.js +17 -108
  221. package/dist/esm/index33.js +110 -60
  222. package/dist/esm/index34.js +56 -20
  223. package/dist/esm/index35.js +22 -38
  224. package/dist/esm/index36.js +37 -34
  225. package/dist/esm/index37.js +34 -55
  226. package/dist/esm/index38.js +55 -160
  227. package/dist/esm/index39.js +156 -32
  228. package/dist/esm/index40.js +39 -9
  229. package/dist/esm/index41.js +8 -30
  230. package/dist/esm/index42.js +21 -26
  231. package/dist/esm/index43.js +35 -8
  232. package/dist/esm/index44.js +8 -28
  233. package/dist/esm/index45.js +27 -44
  234. package/dist/esm/index46.js +44 -86
  235. package/dist/esm/index47.js +83 -35
  236. package/dist/esm/index48.js +40 -8
  237. package/dist/esm/index49.js +7 -5
  238. package/dist/esm/index5.js +3 -3
  239. package/dist/esm/index50.js +6 -16
  240. package/dist/esm/index51.js +16 -8
  241. package/dist/esm/index52.js +8 -13
  242. package/dist/esm/index53.js +13 -7
  243. package/dist/esm/index54.js +7 -9
  244. package/dist/esm/index55.js +9 -16
  245. package/dist/esm/index56.js +16 -46
  246. package/dist/esm/index57.js +46 -13
  247. package/dist/esm/index58.js +13 -16
  248. package/dist/esm/index59.js +14 -11
  249. package/dist/esm/index6.js +2 -2
  250. package/dist/esm/index60.js +13 -6
  251. package/dist/esm/index61.js +5 -34
  252. package/dist/esm/index62.js +34 -8
  253. package/dist/esm/index63.js +8 -7
  254. package/dist/esm/index64.js +8 -25
  255. package/dist/esm/index65.js +25 -10
  256. package/dist/esm/index66.js +10 -14
  257. package/dist/esm/index67.js +14 -11
  258. package/dist/esm/index68.js +11 -116
  259. package/dist/esm/index69.js +114 -31
  260. package/dist/esm/index7.js +1 -1
  261. package/dist/esm/index70.js +30 -76
  262. package/dist/esm/index71.js +78 -176
  263. package/dist/esm/index72.js +174 -41
  264. package/dist/esm/index73.js +44 -6
  265. package/dist/esm/index74.js +5 -12
  266. package/dist/esm/index75.js +12 -12
  267. package/dist/esm/index76.js +13 -99
  268. package/dist/esm/index77.js +96 -69
  269. package/dist/esm/index78.js +61 -76
  270. package/dist/esm/index79.js +74 -135
  271. package/dist/esm/index8.js +2 -2
  272. package/dist/esm/index80.js +108 -96
  273. package/dist/esm/index81.js +113 -45
  274. package/dist/esm/index82.js +68 -23
  275. package/dist/esm/index83.js +23 -105
  276. package/dist/esm/index84.js +105 -6
  277. package/dist/esm/index85.js +6 -131
  278. package/dist/esm/index86.js +130 -274
  279. package/dist/esm/index87.js +276 -3
  280. package/dist/esm/index88.js +3 -4
  281. package/dist/esm/index89.js +4 -9
  282. package/dist/esm/index9.js +1 -1
  283. package/dist/esm/index90.js +9 -2
  284. package/dist/esm/index91.js +2 -2
  285. package/dist/esm/index92.js +2 -3
  286. package/dist/esm/index93.js +3 -327
  287. package/dist/esm/index94.js +324 -11
  288. package/dist/esm/index95.js +13 -4
  289. package/dist/esm/index96.js +4 -55
  290. package/dist/esm/index97.js +56 -2
  291. package/dist/esm/index98.js +2 -8
  292. package/dist/esm/index99.js +6 -213
  293. package/dist/types/index.d.ts +8 -0
  294. package/package.json +3 -3
@@ -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 "./index70.js";
2
+ import { EnsAvatarUriResolutionError as d, EnsAvatarInvalidNftUriError as p, EnsAvatarUnsupportedNamespaceError as I, EnsAvatarInvalidMetadataError as y } from "./index114.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 "./index279.js";
2
+ import { stringify as b } from "./index280.js";
3
+ import { pad as d, assertEndOffset as m, assertSize as g, assertStartOffset as p } from "./index281.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
  };
@@ -1,19 +1,12 @@
1
- import { concatHex as i } from "./index127.js";
2
- import { hexToBytes as m } from "./index122.js";
3
- import { numberToHex as c } from "./index123.js";
4
- import { toRlp as d } from "./index168.js";
5
- import { keccak256 as f } from "./index124.js";
6
- function b(o) {
7
- const { chainId: t, nonce: r, to: s } = o, e = o.contractAddress ?? o.address, n = f(i([
8
- "0x05",
9
- d([
10
- t ? c(t) : "0x",
11
- e,
12
- r ? c(r) : "0x"
13
- ])
14
- ]));
15
- return s === "bytes" ? m(n) : n;
1
+ import { fromNumber as e } from "./index267.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
+ };
16
9
  }
17
10
  export {
18
- b as hashAuthorization
11
+ r as toRpc
19
12
  };