@coinbase/cdp-hooks 0.0.49 → 0.0.51

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 (280) hide show
  1. package/README.md +238 -0
  2. package/dist/esm/index.js +38 -28
  3. package/dist/esm/index10.js +4 -11
  4. package/dist/esm/index100.js +5 -451
  5. package/dist/esm/index101.js +28 -23
  6. package/dist/esm/index102.js +67 -18
  7. package/dist/esm/index103.js +3 -34
  8. package/dist/esm/index104.js +21 -32
  9. package/dist/esm/index105.js +370 -112
  10. package/dist/esm/index106.js +28 -6
  11. package/dist/esm/index107.js +27 -2
  12. package/dist/esm/index108.js +29 -8
  13. package/dist/esm/index109.js +33 -17
  14. package/dist/esm/index11.js +10 -54
  15. package/dist/esm/index110.js +184 -18
  16. package/dist/esm/index111.js +8 -8
  17. package/dist/esm/index112.js +2 -56
  18. package/dist/esm/index113.js +10 -43
  19. package/dist/esm/index114.js +18 -8
  20. package/dist/esm/index115.js +27 -7
  21. package/dist/esm/index116.js +8 -16
  22. package/dist/esm/index117.js +53 -16
  23. package/dist/esm/index118.js +45 -24
  24. package/dist/esm/index119.js +8 -16
  25. package/dist/esm/index12.js +34 -58
  26. package/dist/esm/index120.js +7 -54
  27. package/dist/esm/index121.js +16 -11
  28. package/dist/esm/index122.js +18 -160
  29. package/dist/esm/index123.js +24 -21
  30. package/dist/esm/index124.js +16 -127
  31. package/dist/esm/index125.js +53 -37
  32. package/dist/esm/index126.js +11 -6
  33. package/dist/esm/index127.js +160 -27
  34. package/dist/esm/index128.js +21 -191
  35. package/dist/esm/index129.js +128 -4
  36. package/dist/esm/index13.js +18 -56
  37. package/dist/esm/index130.js +36 -62
  38. package/dist/esm/index131.js +7 -3
  39. package/dist/esm/index132.js +25 -18
  40. package/dist/esm/index133.js +188 -13
  41. package/dist/esm/index134.js +4 -24
  42. package/dist/esm/index135.js +64 -11
  43. package/dist/esm/index136.js +3 -35
  44. package/dist/esm/index137.js +21 -3
  45. package/dist/esm/index138.js +15 -17
  46. package/dist/esm/index139.js +22 -26
  47. package/dist/esm/index14.js +11 -32
  48. package/dist/esm/index140.js +11 -35
  49. package/dist/esm/index141.js +34 -7
  50. package/dist/esm/index142.js +3 -26
  51. package/dist/esm/index143.js +18 -28
  52. package/dist/esm/index144.js +26 -63
  53. package/dist/esm/index145.js +35 -9
  54. package/dist/esm/index146.js +7 -33
  55. package/dist/esm/index147.js +24 -26
  56. package/dist/esm/index148.js +28 -24
  57. package/dist/esm/index149.js +64 -3
  58. package/dist/esm/index15.js +11 -3
  59. package/dist/esm/index150.js +9 -14
  60. package/dist/esm/index151.js +31 -101
  61. package/dist/esm/index152.js +26 -63
  62. package/dist/esm/index153.js +24 -5
  63. package/dist/esm/index154.js +3 -6
  64. package/dist/esm/index155.js +14 -27
  65. package/dist/esm/index156.js +103 -39
  66. package/dist/esm/index157.js +64 -13
  67. package/dist/esm/index158.js +5 -42
  68. package/dist/esm/index159.js +6 -5
  69. package/dist/esm/index16.js +54 -10
  70. package/dist/esm/index160.js +27 -11
  71. package/dist/esm/index161.js +39 -19
  72. package/dist/esm/index162.js +13 -78
  73. package/dist/esm/index163.js +43 -2
  74. package/dist/esm/index164.js +5 -37
  75. package/dist/esm/index165.js +11 -110
  76. package/dist/esm/index166.js +19 -48
  77. package/dist/esm/index167.js +76 -30
  78. package/dist/esm/index168.js +2 -9
  79. package/dist/esm/index169.js +37 -6
  80. package/dist/esm/index17.js +56 -67
  81. package/dist/esm/index170.js +110 -6
  82. package/dist/esm/index171.js +48 -11
  83. package/dist/esm/index172.js +31 -9
  84. package/dist/esm/index173.js +8 -13
  85. package/dist/esm/index174.js +6 -32
  86. package/dist/esm/index175.js +7 -5
  87. package/dist/esm/index176.js +11 -8
  88. package/dist/esm/index177.js +10 -19
  89. package/dist/esm/index178.js +13 -31
  90. package/dist/esm/index179.js +31 -19
  91. package/dist/esm/index18.js +56 -10
  92. package/dist/esm/index180.js +5 -4
  93. package/dist/esm/index181.js +8 -17
  94. package/dist/esm/index182.js +19 -10
  95. package/dist/esm/index183.js +30 -20
  96. package/dist/esm/index184.js +19 -21
  97. package/dist/esm/index185.js +3 -5
  98. package/dist/esm/index186.js +17 -5
  99. package/dist/esm/index187.js +10 -8
  100. package/dist/esm/index188.js +18 -101
  101. package/dist/esm/index189.js +23 -3
  102. package/dist/esm/index19.js +31 -27
  103. package/dist/esm/index190.js +4 -17
  104. package/dist/esm/index191.js +5 -171
  105. package/dist/esm/index192.js +8 -17
  106. package/dist/esm/index193.js +105 -10
  107. package/dist/esm/index194.js +3 -41
  108. package/dist/esm/index195.js +19 -2
  109. package/dist/esm/index196.js +171 -4
  110. package/dist/esm/index197.js +16 -9
  111. package/dist/esm/index198.js +10 -20
  112. package/dist/esm/index199.js +40 -7
  113. package/dist/esm/index20.js +3 -70
  114. package/dist/esm/index200.js +2 -12
  115. package/dist/esm/index201.js +4 -66
  116. package/dist/esm/index202.js +9 -64
  117. package/dist/esm/index203.js +17 -183
  118. package/dist/esm/index204.js +7 -22
  119. package/dist/esm/index205.js +10 -41
  120. package/dist/esm/index206.js +62 -72
  121. package/dist/esm/index207.js +61 -36
  122. package/dist/esm/index208.js +184 -15
  123. package/dist/esm/index209.js +21 -12
  124. package/dist/esm/index21.js +9 -19
  125. package/dist/esm/index210.js +42 -36
  126. package/dist/esm/index211.js +76 -15
  127. package/dist/esm/index212.js +40 -8
  128. package/dist/esm/index213.js +16 -12
  129. package/dist/esm/index214.js +13 -7
  130. package/dist/esm/index215.js +7 -6
  131. package/dist/esm/index216.js +6 -9
  132. package/dist/esm/index217.js +36 -16
  133. package/dist/esm/index218.js +15 -22
  134. package/dist/esm/index219.js +7 -29
  135. package/dist/esm/index22.js +68 -110
  136. package/dist/esm/index220.js +13 -2
  137. package/dist/esm/index221.js +9 -13
  138. package/dist/esm/index222.js +15 -11
  139. package/dist/esm/index223.js +20 -45
  140. package/dist/esm/index224.js +30 -9
  141. package/dist/esm/index225.js +2 -14
  142. package/dist/esm/index226.js +13 -14
  143. package/dist/esm/index227.js +12 -8
  144. package/dist/esm/index228.js +46 -14
  145. package/dist/esm/index229.js +8 -23
  146. package/dist/esm/index23.js +7 -58
  147. package/dist/esm/index230.js +13 -11
  148. package/dist/esm/index231.js +14 -24
  149. package/dist/esm/index232.js +8 -51
  150. package/dist/esm/index233.js +13 -15
  151. package/dist/esm/index234.js +24 -14
  152. package/dist/esm/index235.js +11 -11
  153. package/dist/esm/index236.js +24 -103
  154. package/dist/esm/index237.js +51 -6
  155. package/dist/esm/index238.js +16 -223
  156. package/dist/esm/index239.js +14 -6
  157. package/dist/esm/index24.js +27 -23
  158. package/dist/esm/index240.js +12 -7
  159. package/dist/esm/index241.js +101 -24
  160. package/dist/esm/index242.js +6 -19
  161. package/dist/esm/index243.js +219 -141
  162. package/dist/esm/index244.js +7 -13
  163. package/dist/esm/index245.js +6 -35
  164. package/dist/esm/index246.js +26 -41
  165. package/dist/esm/index247.js +19 -68
  166. package/dist/esm/index248.js +146 -3
  167. package/dist/esm/index249.js +12 -136
  168. package/dist/esm/index25.js +70 -40
  169. package/dist/esm/index250.js +36 -156
  170. package/dist/esm/index251.js +41 -9
  171. package/dist/esm/index252.js +68 -16
  172. package/dist/esm/index253.js +3 -113
  173. package/dist/esm/index254.js +124 -122
  174. package/dist/esm/index255.js +149 -72
  175. package/dist/esm/index256.js +10 -2
  176. package/dist/esm/index257.js +16 -698
  177. package/dist/esm/index258.js +104 -130
  178. package/dist/esm/index259.js +127 -35
  179. package/dist/esm/index26.js +19 -37
  180. package/dist/esm/index260.js +71 -194
  181. package/dist/esm/index261.js +2 -66
  182. package/dist/esm/index262.js +698 -4
  183. package/dist/esm/index263.js +139 -40
  184. package/dist/esm/index264.js +42 -7
  185. package/dist/esm/index265.js +194 -55
  186. package/dist/esm/index266.js +55 -67
  187. package/dist/esm/index267.js +5 -4
  188. package/dist/esm/index268.js +40 -194
  189. package/dist/esm/index269.js +7 -63
  190. package/dist/esm/index27.js +110 -58
  191. package/dist/esm/index270.js +59 -41
  192. package/dist/esm/index271.js +77 -4
  193. package/dist/esm/index272.js +4 -5
  194. package/dist/esm/index273.js +195 -2
  195. package/dist/esm/index274.js +58 -16
  196. package/dist/esm/index275.js +47 -0
  197. package/dist/esm/index276.js +7 -0
  198. package/dist/esm/index277.js +7 -0
  199. package/dist/esm/index278.js +4 -0
  200. package/dist/esm/index279.js +24 -0
  201. package/dist/esm/index28.js +57 -160
  202. package/dist/esm/index29.js +21 -36
  203. package/dist/esm/index3.js +27 -27
  204. package/dist/esm/index30.js +40 -9
  205. package/dist/esm/index31.js +34 -28
  206. package/dist/esm/index32.js +58 -36
  207. package/dist/esm/index33.js +162 -8
  208. package/dist/esm/index34.js +35 -25
  209. package/dist/esm/index35.js +9 -46
  210. package/dist/esm/index36.js +31 -88
  211. package/dist/esm/index37.js +36 -40
  212. package/dist/esm/index38.js +8 -7
  213. package/dist/esm/index39.js +28 -5
  214. package/dist/esm/index4.js +1 -1
  215. package/dist/esm/index40.js +46 -16
  216. package/dist/esm/index41.js +88 -8
  217. package/dist/esm/index42.js +40 -13
  218. package/dist/esm/index43.js +8 -7
  219. package/dist/esm/index44.js +6 -9
  220. package/dist/esm/index45.js +16 -16
  221. package/dist/esm/index46.js +8 -46
  222. package/dist/esm/index47.js +13 -13
  223. package/dist/esm/index48.js +7 -16
  224. package/dist/esm/index49.js +9 -13
  225. package/dist/esm/index50.js +15 -5
  226. package/dist/esm/index51.js +46 -35
  227. package/dist/esm/index52.js +13 -9
  228. package/dist/esm/index53.js +15 -7
  229. package/dist/esm/index54.js +13 -25
  230. package/dist/esm/index55.js +6 -10
  231. package/dist/esm/index56.js +32 -11
  232. package/dist/esm/index57.js +9 -11
  233. package/dist/esm/index58.js +8 -116
  234. package/dist/esm/index59.js +24 -32
  235. package/dist/esm/index6.js +1 -1
  236. package/dist/esm/index60.js +10 -79
  237. package/dist/esm/index61.js +13 -176
  238. package/dist/esm/index62.js +11 -44
  239. package/dist/esm/index63.js +116 -6
  240. package/dist/esm/index64.js +32 -12
  241. package/dist/esm/index65.js +79 -13
  242. package/dist/esm/index66.js +173 -95
  243. package/dist/esm/index67.js +42 -70
  244. package/dist/esm/index68.js +6 -87
  245. package/dist/esm/index69.js +13 -148
  246. package/dist/esm/index7.js +9 -34
  247. package/dist/esm/index70.js +13 -136
  248. package/dist/esm/index71.js +94 -63
  249. package/dist/esm/index72.js +72 -23
  250. package/dist/esm/index73.js +83 -101
  251. package/dist/esm/index74.js +148 -6
  252. package/dist/esm/index75.js +133 -128
  253. package/dist/esm/index76.js +66 -273
  254. package/dist/esm/index77.js +24 -3
  255. package/dist/esm/index78.js +106 -4
  256. package/dist/esm/index79.js +7 -9
  257. package/dist/esm/index8.js +9 -18
  258. package/dist/esm/index80.js +132 -2
  259. package/dist/esm/index81.js +276 -2
  260. package/dist/esm/index82.js +3 -3
  261. package/dist/esm/index83.js +4 -327
  262. package/dist/esm/index84.js +9 -14
  263. package/dist/esm/index85.js +2 -5
  264. package/dist/esm/index86.js +2 -56
  265. package/dist/esm/index87.js +3 -2
  266. package/dist/esm/index88.js +325 -6
  267. package/dist/esm/index89.js +11 -212
  268. package/dist/esm/index9.js +4 -11
  269. package/dist/esm/index90.js +5 -32
  270. package/dist/esm/index91.js +55 -21
  271. package/dist/esm/index92.js +2 -6
  272. package/dist/esm/index93.js +6 -72
  273. package/dist/esm/index94.js +214 -5
  274. package/dist/esm/index95.js +32 -6
  275. package/dist/esm/index96.js +20 -34
  276. package/dist/esm/index97.js +5 -75
  277. package/dist/esm/index98.js +74 -3
  278. package/dist/esm/index99.js +5 -23
  279. package/dist/types/index.d.ts +25 -0
  280. package/package.json +3 -3
@@ -1,19 +1,71 @@
1
- import { concatHex as i } from "./index117.js";
2
- import { hexToBytes as m } from "./index112.js";
3
- import { numberToHex as c } from "./index113.js";
4
- import { toRlp as d } from "./index158.js";
5
- import { keccak256 as f } from "./index114.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
+ 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;
16
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
+ ]);
17
68
  export {
18
- b as hashAuthorization
69
+ d as getParameterCacheKey,
70
+ p as parameterCache
19
71
  };
@@ -1,116 +1,6 @@
1
- import { BaseError as y } from "./index261.js";
2
- import { keccak256 as v } from "./index264.js";
3
- import { validate as $, slice as A, fromString as S } from "./index250.js";
4
- import { isArgOfType as E, normalizeSignature as p, getAmbiguousTypes as B } from "./index265.js";
5
- import { parseAbiItem as l } from "./index204.js";
6
- import { formatAbiItem as h } from "./index196.js";
7
- function H(e, r = {}) {
8
- const { prepare: i = !0 } = r, n = Array.isArray(e) ? l(e) : typeof e == "string" ? l(e) : e;
9
- return {
10
- ...n,
11
- ...i ? { hash: s(n) } : {}
12
- };
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
- }
1
+ function n(e) {
2
+ return `[${e.slice(2)}]`;
107
3
  }
108
4
  export {
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
5
+ n as encodeLabelhash
116
6
  };
@@ -1,137 +1,139 @@
1
- import { assert as p } from "./index266.js";
2
- import { BaseError as u } from "./index261.js";
3
- import { size as y, padLeft as f, fromString as x, fromBoolean as w, fromNumber as E, padRight as P, concat as g } from "./index250.js";
4
- import { integerRegex as A, bytesRegex as $, arrayRegex as L } from "./index267.js";
5
- import { prepareParameters as z, encode as I } from "./index268.js";
6
- function N(n, e, t) {
7
- const { checksumAddress: r = !1 } = {};
8
- if (n.length !== e.length)
9
- throw new b({
10
- expectedLength: n.length,
11
- givenLength: e.length
1
+ import { readContract as w } from "./index64.js";
2
+ import { EnsAvatarUriResolutionError as d, EnsAvatarInvalidNftUriError as p, EnsAvatarUnsupportedNamespaceError as I, EnsAvatarInvalidMetadataError as y } from "./index108.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;
12
16
  });
13
- const a = z({
14
- checksumAddress: r,
15
- parameters: n,
16
- values: e
17
- }), s = I(a);
18
- return s.length === 0 ? "0x" : s;
19
- }
20
- function m(n, e) {
21
- if (n.length !== e.length)
22
- throw new b({
23
- expectedLength: n.length,
24
- givenLength: e.length
25
- });
26
- const t = [];
27
- for (let r = 0; r < n.length; r++) {
28
- const a = n[r], s = e[r];
29
- t.push(m.encode(a, s));
30
17
  }
31
- return g(...t);
32
18
  }
33
- (function(n) {
34
- function e(t, r, a = !1) {
35
- if (t === "address") {
36
- const i = r;
37
- return p(i), f(i.toLowerCase(), a ? 32 : 0);
38
- }
39
- if (t === "string")
40
- return x(r);
41
- if (t === "bytes")
42
- return r;
43
- if (t === "bool")
44
- return f(w(r), a ? 32 : 1);
45
- const s = t.match(A);
46
- if (s) {
47
- const [i, o, c = "256"] = s, h = Number.parseInt(c) / 8;
48
- return E(r, {
49
- size: a ? 32 : h,
50
- signed: o === "int"
51
- });
52
- }
53
- const d = t.match($);
54
- if (d) {
55
- const [i, o] = d;
56
- if (Number.parseInt(o) !== (r.length - 2) / 2)
57
- throw new M({
58
- expectedSize: Number.parseInt(o),
59
- value: r
60
- });
61
- return P(r, a ? 32 : 0);
62
- }
63
- const l = t.match(L);
64
- if (l && Array.isArray(r)) {
65
- const [i, o] = l, c = [];
66
- for (let h = 0; h < r.length; h++)
67
- c.push(e(o, r[h], !0));
68
- return c.length === 0 ? "0x" : g(...c);
69
- }
70
- throw new j(t);
71
- }
72
- n.encode = e;
73
- })(m || (m = {}));
74
- class R extends u {
75
- constructor({ expectedLength: e, givenLength: t, type: r }) {
76
- super(`Array length mismatch for type \`${r}\`. Expected: \`${e}\`. Given: \`${t}\`.`), Object.defineProperty(this, "name", {
77
- enumerable: !0,
78
- configurable: !0,
79
- writable: !0,
80
- value: "AbiParameters.ArrayLengthMismatchError"
81
- });
82
- }
19
+ function l(e, t) {
20
+ return e ? e.endsWith("/") ? e.slice(0, -1) : e : t;
83
21
  }
84
- class M extends u {
85
- constructor({ expectedSize: e, value: t }) {
86
- super(`Size of bytes "${t}" (bytes${y(t)}) does not match expected size (bytes${e}).`), Object.defineProperty(this, "name", {
87
- enumerable: !0,
88
- configurable: !0,
89
- writable: !0,
90
- value: "AbiParameters.BytesSizeMismatchError"
91
- });
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 };
92
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 });
93
51
  }
94
- class b extends u {
95
- constructor({ expectedLength: e, givenLength: t }) {
96
- super([
97
- "ABI encoding parameters/values length mismatch.",
98
- `Expected length (parameters): ${e}`,
99
- `Given length (values): ${t}`
100
- ].join(`
101
- `)), Object.defineProperty(this, "name", {
102
- enumerable: !0,
103
- configurable: !0,
104
- writable: !0,
105
- value: "AbiParameters.LengthMismatchError"
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)
106
63
  });
64
+ } catch {
65
+ throw new d({ uri: t });
107
66
  }
108
67
  }
109
- class _ extends u {
110
- constructor(e) {
111
- super(`Value \`${e}\` is not a valid array.`), Object.defineProperty(this, "name", {
112
- enumerable: !0,
113
- configurable: !0,
114
- writable: !0,
115
- value: "AbiParameters.InvalidArrayError"
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"
116
85
  });
117
- }
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
+ };
118
96
  }
119
- class j extends u {
120
- constructor(e) {
121
- super(`Type \`${e}\` is not a valid ABI Type.`), Object.defineProperty(this, "name", {
122
- enumerable: !0,
123
- configurable: !0,
124
- writable: !0,
125
- value: "AbiParameters.InvalidTypeError"
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)]
126
112
  });
127
- }
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 });
128
129
  }
129
130
  export {
130
- R as ArrayLengthMismatchError,
131
- M as BytesSizeMismatchError,
132
- _ as InvalidArrayError,
133
- j as InvalidTypeError,
134
- b as LengthMismatchError,
135
- N as encode,
136
- m as encodePacked
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
137
139
  };