@coinbase/cdp-hooks 0.0.19 → 0.0.21

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