@mezo-org/passport 0.4.0-dev.8 → 0.4.0-dev.81

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 (262) hide show
  1. package/README.md +18 -22
  2. package/dist/src/api/auth.d.ts +7 -3
  3. package/dist/src/api/auth.d.ts.map +1 -1
  4. package/dist/src/api/auth.js +3 -1
  5. package/dist/src/api/auth.js.map +1 -1
  6. package/dist/src/api/client.d.ts +4 -1
  7. package/dist/src/api/client.d.ts.map +1 -1
  8. package/dist/src/api/client.js +9 -2
  9. package/dist/src/api/client.js.map +1 -1
  10. package/dist/src/api/portal.d.ts +3 -9
  11. package/dist/src/api/portal.d.ts.map +1 -1
  12. package/dist/src/api/portal.js +8 -5
  13. package/dist/src/api/portal.js.map +1 -1
  14. package/dist/src/components/Dropdown/ConnectedTrigger.d.ts +2 -1
  15. package/dist/src/components/Dropdown/ConnectedTrigger.d.ts.map +1 -1
  16. package/dist/src/components/Dropdown/ConnectedTrigger.js +29 -20
  17. package/dist/src/components/Dropdown/ConnectedTrigger.js.map +1 -1
  18. package/dist/src/components/Dropdown/Content.d.ts +19 -5
  19. package/dist/src/components/Dropdown/Content.d.ts.map +1 -1
  20. package/dist/src/components/Dropdown/Content.js +19 -61
  21. package/dist/src/components/Dropdown/Content.js.map +1 -1
  22. package/dist/src/components/Dropdown/DisconnectedTrigger.d.ts.map +1 -1
  23. package/dist/src/components/Dropdown/DisconnectedTrigger.js +2 -2
  24. package/dist/src/components/Dropdown/DisconnectedTrigger.js.map +1 -1
  25. package/dist/src/components/Dropdown/Dropdown.d.ts +13 -6
  26. package/dist/src/components/Dropdown/Dropdown.d.ts.map +1 -1
  27. package/dist/src/components/Dropdown/Dropdown.js +32 -9
  28. package/dist/src/components/Dropdown/Dropdown.js.map +1 -1
  29. package/dist/src/components/Dropdown/ListingItem.d.ts +13 -0
  30. package/dist/src/components/Dropdown/ListingItem.d.ts.map +1 -0
  31. package/dist/src/components/Dropdown/ListingItem.js +34 -0
  32. package/dist/src/components/Dropdown/ListingItem.js.map +1 -0
  33. package/dist/src/components/Dropdown/NestedViewLayout.d.ts +7 -0
  34. package/dist/src/components/Dropdown/NestedViewLayout.d.ts.map +1 -0
  35. package/dist/src/components/Dropdown/NestedViewLayout.js +34 -0
  36. package/dist/src/components/Dropdown/NestedViewLayout.js.map +1 -0
  37. package/dist/src/components/Dropdown/Receive/Receive.d.ts +7 -0
  38. package/dist/src/components/Dropdown/Receive/Receive.d.ts.map +1 -0
  39. package/dist/src/components/Dropdown/Receive/Receive.js +53 -0
  40. package/dist/src/components/Dropdown/Receive/Receive.js.map +1 -0
  41. package/dist/src/components/Dropdown/Root/AccountAddressActions.d.ts +7 -0
  42. package/dist/src/components/Dropdown/Root/AccountAddressActions.d.ts.map +1 -0
  43. package/dist/src/components/Dropdown/Root/AccountAddressActions.js +48 -0
  44. package/dist/src/components/Dropdown/Root/AccountAddressActions.js.map +1 -0
  45. package/dist/src/components/Dropdown/Root/AccountAssetItem.d.ts +11 -0
  46. package/dist/src/components/Dropdown/Root/AccountAssetItem.d.ts.map +1 -0
  47. package/dist/src/components/Dropdown/Root/AccountAssetItem.js +9 -0
  48. package/dist/src/components/Dropdown/Root/AccountAssetItem.js.map +1 -0
  49. package/dist/src/components/Dropdown/{AccountBalance.d.ts → Root/AccountBalance.d.ts} +2 -1
  50. package/dist/src/components/Dropdown/Root/AccountBalance.d.ts.map +1 -0
  51. package/dist/src/components/Dropdown/Root/AccountBalance.js +15 -0
  52. package/dist/src/components/Dropdown/Root/AccountBalance.js.map +1 -0
  53. package/dist/src/components/Dropdown/Root/AccountOtherAssets.d.ts +9 -0
  54. package/dist/src/components/Dropdown/Root/AccountOtherAssets.d.ts.map +1 -0
  55. package/dist/src/components/Dropdown/Root/AccountOtherAssets.js +48 -0
  56. package/dist/src/components/Dropdown/Root/AccountOtherAssets.js.map +1 -0
  57. package/dist/src/components/Dropdown/Root/Root.d.ts +23 -0
  58. package/dist/src/components/Dropdown/Root/Root.d.ts.map +1 -0
  59. package/dist/src/components/Dropdown/Root/Root.js +57 -0
  60. package/dist/src/components/Dropdown/Root/Root.js.map +1 -0
  61. package/dist/src/components/Dropdown/Root/WalletAddress.d.ts +8 -0
  62. package/dist/src/components/Dropdown/Root/WalletAddress.d.ts.map +1 -0
  63. package/dist/src/components/Dropdown/{AccountAddress.js → Root/WalletAddress.js} +21 -15
  64. package/dist/src/components/Dropdown/Root/WalletAddress.js.map +1 -0
  65. package/dist/src/components/Dropdown/{WelcomeBlock.d.ts → Root/WelcomeBlock.d.ts} +1 -1
  66. package/dist/src/components/Dropdown/Root/WelcomeBlock.d.ts.map +1 -0
  67. package/dist/src/components/Dropdown/{WelcomeBlock.js → Root/WelcomeBlock.js} +5 -5
  68. package/dist/src/components/Dropdown/Root/WelcomeBlock.js.map +1 -0
  69. package/dist/src/components/Dropdown/TestnetTopBanner.d.ts +3 -0
  70. package/dist/src/components/Dropdown/TestnetTopBanner.d.ts.map +1 -0
  71. package/dist/src/components/Dropdown/TestnetTopBanner.js +14 -0
  72. package/dist/src/components/Dropdown/TestnetTopBanner.js.map +1 -0
  73. package/dist/src/config.d.ts +29 -6
  74. package/dist/src/config.d.ts.map +1 -1
  75. package/dist/src/config.js +88 -15
  76. package/dist/src/config.js.map +1 -1
  77. package/dist/src/constants.d.ts +13 -3
  78. package/dist/src/constants.d.ts.map +1 -1
  79. package/dist/src/constants.js +14 -4
  80. package/dist/src/constants.js.map +1 -1
  81. package/dist/src/hooks/index.d.ts +4 -0
  82. package/dist/src/hooks/index.d.ts.map +1 -1
  83. package/dist/src/hooks/index.js +4 -0
  84. package/dist/src/hooks/index.js.map +1 -1
  85. package/dist/src/hooks/useAssetsConversionRates.d.ts +23 -0
  86. package/dist/src/hooks/useAssetsConversionRates.d.ts.map +1 -0
  87. package/dist/src/hooks/useAssetsConversionRates.js +90 -0
  88. package/dist/src/hooks/useAssetsConversionRates.js.map +1 -0
  89. package/dist/src/hooks/useAuthenticateWithWallet.d.ts +13 -13
  90. package/dist/src/hooks/useAuthenticateWithWallet.d.ts.map +1 -1
  91. package/dist/src/hooks/useAuthenticateWithWallet.js +8 -7
  92. package/dist/src/hooks/useAuthenticateWithWallet.js.map +1 -1
  93. package/dist/src/hooks/useBorrowData.d.ts +82 -0
  94. package/dist/src/hooks/useBorrowData.d.ts.map +1 -0
  95. package/dist/src/hooks/useBorrowData.js +159 -0
  96. package/dist/src/hooks/useBorrowData.js.map +1 -0
  97. package/dist/src/hooks/useCreateAccount.d.ts.map +1 -1
  98. package/dist/src/hooks/useCreateAccount.js +22 -1
  99. package/dist/src/hooks/useCreateAccount.js.map +1 -1
  100. package/dist/src/hooks/useDropdownData.d.ts +37 -34
  101. package/dist/src/hooks/useDropdownData.d.ts.map +1 -1
  102. package/dist/src/hooks/useDropdownData.js +85 -61
  103. package/dist/src/hooks/useDropdownData.js.map +1 -1
  104. package/dist/src/hooks/useLinkAccount.d.ts +19 -13
  105. package/dist/src/hooks/useLinkAccount.d.ts.map +1 -1
  106. package/dist/src/hooks/useLinkAccount.js +20 -1
  107. package/dist/src/hooks/useLinkAccount.js.map +1 -1
  108. package/dist/src/hooks/useRefreshPassport.d.ts +19 -0
  109. package/dist/src/hooks/useRefreshPassport.d.ts.map +1 -0
  110. package/dist/src/hooks/useRefreshPassport.js +44 -0
  111. package/dist/src/hooks/useRefreshPassport.js.map +1 -0
  112. package/dist/src/hooks/useSignInWithWallet.d.ts +13 -13
  113. package/dist/src/hooks/useSignInWithWallet.d.ts.map +1 -1
  114. package/dist/src/hooks/useSignUpWithWallet.d.ts +13 -13
  115. package/dist/src/hooks/useSignUpWithWallet.d.ts.map +1 -1
  116. package/dist/src/hooks/useTokensBalances.d.ts +74 -0
  117. package/dist/src/hooks/useTokensBalances.d.ts.map +1 -0
  118. package/dist/src/hooks/useTokensBalances.js +140 -0
  119. package/dist/src/hooks/useTokensBalances.js.map +1 -0
  120. package/dist/src/hooks/useValidateMezoId.d.ts +8 -0
  121. package/dist/src/hooks/useValidateMezoId.d.ts.map +1 -0
  122. package/dist/src/hooks/useValidateMezoId.js +24 -0
  123. package/dist/src/hooks/useValidateMezoId.js.map +1 -0
  124. package/dist/src/hooks/useWalletAccount.d.ts +2 -1
  125. package/dist/src/hooks/useWalletAccount.d.ts.map +1 -1
  126. package/dist/src/hooks/useWalletAccount.js +19 -15
  127. package/dist/src/hooks/useWalletAccount.js.map +1 -1
  128. package/dist/src/hooks/useWatchTransferEvents.d.ts +5 -0
  129. package/dist/src/hooks/useWatchTransferEvents.d.ts.map +1 -0
  130. package/dist/src/hooks/useWatchTransferEvents.js +63 -0
  131. package/dist/src/hooks/useWatchTransferEvents.js.map +1 -0
  132. package/dist/src/index.d.ts +2 -1
  133. package/dist/src/index.d.ts.map +1 -1
  134. package/dist/src/index.js +2 -1
  135. package/dist/src/index.js.map +1 -1
  136. package/dist/src/lib/contracts/index.d.ts +13 -0
  137. package/dist/src/lib/contracts/index.d.ts.map +1 -0
  138. package/dist/src/lib/contracts/index.js +62 -0
  139. package/dist/src/lib/contracts/index.js.map +1 -0
  140. package/dist/src/lib/contracts/priceOracle.d.ts +43 -0
  141. package/dist/src/lib/contracts/priceOracle.d.ts.map +1 -0
  142. package/dist/src/lib/contracts/priceOracle.js +52 -0
  143. package/dist/src/lib/contracts/priceOracle.js.map +1 -0
  144. package/dist/src/provider.js +1 -1
  145. package/dist/src/provider.js.map +1 -1
  146. package/dist/src/stores/dropdownStore.d.ts +12 -0
  147. package/dist/src/stores/dropdownStore.d.ts.map +1 -0
  148. package/dist/src/stores/dropdownStore.js +13 -0
  149. package/dist/src/stores/dropdownStore.js.map +1 -0
  150. package/dist/src/utils/address.d.ts +1 -1
  151. package/dist/src/utils/address.d.ts.map +1 -1
  152. package/dist/src/utils/address.js +2 -0
  153. package/dist/src/utils/address.js.map +1 -1
  154. package/dist/src/utils/address.test.js +8 -5
  155. package/dist/src/utils/address.test.js.map +1 -1
  156. package/dist/src/utils/cryptoAssets.d.ts +17 -1
  157. package/dist/src/utils/cryptoAssets.d.ts.map +1 -1
  158. package/dist/src/utils/cryptoAssets.js +87 -31
  159. package/dist/src/utils/cryptoAssets.js.map +1 -1
  160. package/dist/src/utils/cryptoAssets.test.js +51 -33
  161. package/dist/src/utils/cryptoAssets.test.js.map +1 -1
  162. package/dist/src/utils/currency.d.ts +8 -0
  163. package/dist/src/utils/currency.d.ts.map +1 -1
  164. package/dist/src/utils/currency.js +11 -0
  165. package/dist/src/utils/currency.js.map +1 -1
  166. package/dist/src/utils/currency.test.js +1 -0
  167. package/dist/src/utils/currency.test.js.map +1 -1
  168. package/dist/src/utils/mezoId.d.ts +7 -0
  169. package/dist/src/utils/mezoId.d.ts.map +1 -0
  170. package/dist/src/utils/mezoId.js +41 -0
  171. package/dist/src/utils/mezoId.js.map +1 -0
  172. package/dist/src/utils/numbers.d.ts +39 -17
  173. package/dist/src/utils/numbers.d.ts.map +1 -1
  174. package/dist/src/utils/numbers.js +91 -33
  175. package/dist/src/utils/numbers.js.map +1 -1
  176. package/dist/src/utils/numbers.test.js +144 -22
  177. package/dist/src/utils/numbers.test.js.map +1 -1
  178. package/dist/src/utils/siww.d.ts +1 -0
  179. package/dist/src/utils/siww.d.ts.map +1 -1
  180. package/dist/src/utils/siww.js +50 -12
  181. package/dist/src/utils/siww.js.map +1 -1
  182. package/dist/src/utils/wagmi.d.ts +3 -0
  183. package/dist/src/utils/wagmi.d.ts.map +1 -0
  184. package/dist/src/utils/wagmi.js +7 -0
  185. package/dist/src/utils/wagmi.js.map +1 -0
  186. package/dist/src/wallet/index.d.ts +1 -1
  187. package/dist/src/wallet/index.d.ts.map +1 -1
  188. package/dist/src/wallet/index.js +1 -1
  189. package/dist/src/wallet/index.js.map +1 -1
  190. package/package.json +10 -8
  191. package/src/api/auth.ts +8 -4
  192. package/src/api/client.ts +11 -2
  193. package/src/api/portal.ts +11 -14
  194. package/src/components/Dropdown/ConnectedTrigger.tsx +52 -32
  195. package/src/components/Dropdown/Content.tsx +67 -117
  196. package/src/components/Dropdown/DisconnectedTrigger.tsx +2 -1
  197. package/src/components/Dropdown/Dropdown.tsx +75 -15
  198. package/src/components/Dropdown/ListingItem.tsx +80 -0
  199. package/src/components/Dropdown/NestedViewLayout.tsx +75 -0
  200. package/src/components/Dropdown/README.md +10 -18
  201. package/src/components/Dropdown/Receive/Receive.tsx +119 -0
  202. package/src/components/Dropdown/Root/AccountAddressActions.tsx +101 -0
  203. package/src/components/Dropdown/Root/AccountAssetItem.tsx +26 -0
  204. package/src/components/Dropdown/Root/AccountBalance.tsx +30 -0
  205. package/src/components/Dropdown/Root/AccountOtherAssets.tsx +68 -0
  206. package/src/components/Dropdown/Root/Root.tsx +147 -0
  207. package/src/components/Dropdown/Root/WalletAddress.tsx +128 -0
  208. package/src/components/Dropdown/{WelcomeBlock.tsx → Root/WelcomeBlock.tsx} +5 -6
  209. package/src/components/Dropdown/TestnetTopBanner.tsx +32 -0
  210. package/src/config.ts +135 -21
  211. package/src/constants.ts +18 -4
  212. package/src/hooks/index.ts +7 -0
  213. package/src/hooks/useAssetsConversionRates.ts +97 -0
  214. package/src/hooks/useAuthenticateWithWallet.ts +33 -12
  215. package/src/hooks/useBorrowData.ts +187 -0
  216. package/src/hooks/useCreateAccount.ts +28 -2
  217. package/src/hooks/useDropdownData.ts +119 -97
  218. package/src/hooks/useLinkAccount.ts +36 -4
  219. package/src/hooks/useRefreshPassport.ts +56 -0
  220. package/src/hooks/useSignInWithWallet.ts +2 -2
  221. package/src/hooks/useSignUpWithWallet.ts +2 -2
  222. package/src/hooks/useTokensBalances.ts +187 -0
  223. package/src/hooks/useValidateMezoId.ts +31 -0
  224. package/src/hooks/useWalletAccount.ts +29 -19
  225. package/src/hooks/useWatchTransferEvents.ts +74 -0
  226. package/src/index.ts +13 -1
  227. package/src/lib/contracts/index.ts +92 -0
  228. package/src/lib/contracts/priceOracle.ts +53 -0
  229. package/src/provider.ts +1 -1
  230. package/src/stores/dropdownStore.ts +20 -0
  231. package/src/utils/address.test.ts +10 -6
  232. package/src/utils/address.ts +5 -3
  233. package/src/utils/cryptoAssets.test.ts +57 -37
  234. package/src/utils/cryptoAssets.ts +113 -35
  235. package/src/utils/currency.test.ts +2 -0
  236. package/src/utils/currency.ts +21 -0
  237. package/src/utils/mezoId.ts +51 -0
  238. package/src/utils/numbers.test.ts +181 -23
  239. package/src/utils/numbers.ts +121 -34
  240. package/src/utils/siww.ts +71 -16
  241. package/src/utils/wagmi.ts +12 -0
  242. package/src/wallet/index.ts +3 -2
  243. package/dist/src/components/Dropdown/AccountAddress.d.ts +0 -8
  244. package/dist/src/components/Dropdown/AccountAddress.d.ts.map +0 -1
  245. package/dist/src/components/Dropdown/AccountAddress.js.map +0 -1
  246. package/dist/src/components/Dropdown/AccountAssets.d.ts +0 -14
  247. package/dist/src/components/Dropdown/AccountAssets.d.ts.map +0 -1
  248. package/dist/src/components/Dropdown/AccountAssets.js +0 -44
  249. package/dist/src/components/Dropdown/AccountAssets.js.map +0 -1
  250. package/dist/src/components/Dropdown/AccountBalance.d.ts.map +0 -1
  251. package/dist/src/components/Dropdown/AccountBalance.js +0 -18
  252. package/dist/src/components/Dropdown/AccountBalance.js.map +0 -1
  253. package/dist/src/components/Dropdown/WelcomeBlock.d.ts.map +0 -1
  254. package/dist/src/components/Dropdown/WelcomeBlock.js.map +0 -1
  255. package/dist/src/hooks/useAssetsUSDConversion.d.ts +0 -8
  256. package/dist/src/hooks/useAssetsUSDConversion.d.ts.map +0 -1
  257. package/dist/src/hooks/useAssetsUSDConversion.js +0 -21
  258. package/dist/src/hooks/useAssetsUSDConversion.js.map +0 -1
  259. package/src/components/Dropdown/AccountAddress.tsx +0 -111
  260. package/src/components/Dropdown/AccountAssets.tsx +0 -110
  261. package/src/components/Dropdown/AccountBalance.tsx +0 -38
  262. package/src/hooks/useAssetsUSDConversion.ts +0 -31
@@ -1,19 +1,26 @@
1
1
  import { Block, Copy03 as CopyIcon, LinkExternal02 as LinkIcon, ParagraphSmall, useStyletron, } from "@mezo-org/mezo-clay";
2
- import React from "react";
2
+ import React, { useCallback, useState } from "react";
3
3
  import { useCopyToClipboard } from "usehooks-ts";
4
- import { usePassportContext } from "../../hooks/usePassportContext";
5
- import { getAddressExplorerUrl, trimAddress } from "../../utils/address";
6
- import { getCryptoAsset } from "../../utils/cryptoAssets";
7
- // TODO: Add visual feedback on copy
8
- export default function AccountAddress(props) {
4
+ import { usePassportContext } from "../../../hooks/usePassportContext";
5
+ import { getAddressExplorerUrl, trimAddress } from "../../../utils/address";
6
+ import { getCryptoAsset } from "../../../utils/cryptoAssets";
7
+ export default function WalletAddress(props) {
9
8
  const { address, type } = props;
10
9
  const { environment } = usePassportContext();
11
10
  const blockExplorerUrl = getAddressExplorerUrl(address, type, environment === "testnet");
12
11
  const trimmedAddress = trimAddress(address);
13
- const { icon: accountIcon } = getCryptoAsset(type === "bitcoin" ? "btc" : "eth");
12
+ const { icon: accountIcon } = getCryptoAsset(type === "bitcoin" ? "BTC" : "ETH");
14
13
  const [, theme] = useStyletron();
15
14
  const [, copy] = useCopyToClipboard();
16
- return (React.createElement(Block, { as: "button", onClick: () => copy(address), display: "flex", alignItems: "center", backgroundColor: "transparent", padding: `${theme.sizing.scale600} ${theme.sizing.scale500}`, overrides: {
15
+ const [isCopiedMessageVisible, setIsCopiedMessageVisible] = useState(false);
16
+ const handleCopyAddress = useCallback(() => {
17
+ copy(address);
18
+ setIsCopiedMessageVisible(true);
19
+ setTimeout(() => {
20
+ setIsCopiedMessageVisible(false);
21
+ }, 2000);
22
+ }, [copy, address]);
23
+ return (React.createElement(Block, { as: "button", onClick: handleCopyAddress, display: "flex", alignItems: "center", backgroundColor: "transparent", padding: `${theme.sizing.scale600} ${theme.sizing.scale500}`, overrides: {
17
24
  Block: {
18
25
  style: {
19
26
  borderWidth: 0,
@@ -25,7 +32,7 @@ export default function AccountAddress(props) {
25
32
  },
26
33
  } },
27
34
  React.createElement(Block, { as: accountIcon, size: theme.sizing.scale600 }),
28
- React.createElement(Block, { as: "a", marginLeft: theme.sizing.scale300, href: blockExplorerUrl, target: "_blank", overrides: {
35
+ isCopiedMessageVisible ? (React.createElement(ParagraphSmall, { margin: 0, marginLeft: theme.sizing.scale500, color: theme.colors.contentPrimary }, "Copied address to clipboard")) : (React.createElement(Block, { as: "a", marginLeft: theme.sizing.scale500, href: blockExplorerUrl, target: "_blank", overrides: {
29
36
  Block: {
30
37
  style: {
31
38
  color: "inherit",
@@ -36,23 +43,22 @@ export default function AccountAddress(props) {
36
43
  },
37
44
  },
38
45
  } },
39
- React.createElement(ParagraphSmall, { display: "flex", alignItems: "center", margin: 0, color: theme.colors.gray800 },
46
+ React.createElement(ParagraphSmall, { display: "flex", alignItems: "center", margin: 0, color: theme.colors.contentPrimary },
40
47
  trimmedAddress,
41
48
  React.createElement(LinkIcon, { display: "inline", size: theme.sizing.scale550, overrides: {
42
49
  Svg: {
43
50
  style: {
44
51
  stroke: "currentColor",
45
- marginLeft: theme.sizing.scale200,
52
+ marginLeft: theme.sizing.scale300,
46
53
  },
47
54
  },
48
- } }))),
49
- React.createElement(CopyIcon, { size: theme.sizing.scale550, overrides: {
55
+ } })))),
56
+ React.createElement(CopyIcon, { size: theme.sizing.scale550, color: theme.colors.contentPrimary, overrides: {
50
57
  Svg: {
51
58
  style: {
52
59
  marginLeft: "auto",
53
- stroke: "currentColor",
54
60
  },
55
61
  },
56
62
  } })));
57
63
  }
58
- //# sourceMappingURL=AccountAddress.js.map
64
+ //# sourceMappingURL=WalletAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletAddress.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/WalletAddress.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  type WelcomeBlockProps = {
3
3
  mezoId: string;
4
- matsBalance: number;
4
+ matsBalance: string;
5
5
  };
6
6
  export default function WelcomeBlock(props: WelcomeBlockProps): React.JSX.Element;
7
7
  export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WelcomeBlock.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/WelcomeBlock.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBAyE5D"}
@@ -1,7 +1,6 @@
1
1
  import { Block, HeadingSmall, LabelSmall, Mats, useStyletron, } from "@mezo-org/mezo-clay";
2
2
  import React from "react";
3
- import DefaultAvatar from "../../assets/DefaultAvatar";
4
- import { formatHumanReadableNumber } from "../../utils/numbers";
3
+ import DefaultAvatar from "../../../assets/DefaultAvatar";
5
4
  const DOT_DELIMITER_REGEX = /(?=\.)/;
6
5
  export default function WelcomeBlock(props) {
7
6
  const { mezoId, matsBalance } = props;
@@ -34,11 +33,12 @@ export default function WelcomeBlock(props) {
34
33
  React.createElement(LabelSmall, { display: "flex", alignItems: "center", margin: 0, color: theme.colors.contentTertiary, overrides: {
35
34
  Block: {
36
35
  style: {
37
- gap: theme.sizing.scale300,
36
+ gap: theme.sizing.scale400,
38
37
  },
39
38
  },
40
39
  } },
41
- React.createElement(Mats, { color: theme.colors.contentPrimary, size: theme.sizing.scale600 }),
42
- formatHumanReadableNumber(matsBalance, 0)))));
40
+ React.createElement(Mats, { color: theme.colors.contentPrimary, size: theme.sizing.scale500 }),
41
+ matsBalance,
42
+ " mats"))));
43
43
  }
44
44
  //# sourceMappingURL=WelcomeBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WelcomeBlock.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/WelcomeBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,YAAY,EACZ,UAAU,EACV,IAAI,EACJ,YAAY,GACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,aAAa,MAAM,+BAA+B,CAAA;AAEzD,MAAM,mBAAmB,GAAG,QAAQ,CAAA;AAOpC,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAwB;IAC3D,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAA;IAErC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAC5D,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,EAAE,CAAA;IAEhC,OAAO,CACL,oBAAC,KAAK,IACJ,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,EACrC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EACnC,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,KAAK,EAAE;oBACL,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;iBAC3B;aACF;SACF;QAED,oBAAC,KAAK,IACJ,EAAE,EAAE,aAAa,EACjB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAC7B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAC9B,SAAS,EAAE;gBACT,KAAK,EAAE;oBACL,KAAK,EAAE;wBACL,YAAY,EAAE,MAAM;qBACrB;iBACF;aACF,GACD;QAEF,oBAAC,KAAK,IACJ,OAAO,EAAC,MAAM,EACd,aAAa,EAAC,QAAQ,EACtB,SAAS,EAAE;gBACT,KAAK,EAAE;oBACL,KAAK,EAAE;wBACL,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;qBAC3B;iBACF;aACF;YAED,oBAAC,YAAY,IAAC,EAAE,EAAC,MAAM;gBACrB,oBAAC,KAAK,IAAC,EAAE,EAAC,MAAM,IAAE,IAAI,CAAS;gBAC/B,oBAAC,KAAK,IAAC,EAAE,EAAC,MAAM,EAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,IACzC,UAAU,CACL,CACK;YAEf,oBAAC,UAAU,IACT,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe,EACnC,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,KAAK,EAAE;4BACL,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;yBAC3B;qBACF;iBACF;gBAED,oBAAC,IAAI,IACH,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,EAClC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,GAC3B;gBACD,WAAW;wBACD,CACP,CACF,CACT,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ export default function TestnetTopBanner(): React.JSX.Element | null;
3
+ //# sourceMappingURL=TestnetTopBanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestnetTopBanner.d.ts","sourceRoot":"","sources":["../../../../src/components/Dropdown/TestnetTopBanner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,MAAM,CAAC,OAAO,UAAU,gBAAgB,6BAsBvC"}
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ import { Block, InfoCircle, LabelSmall, useStyletron, } from "@mezo-org/mezo-clay";
3
+ import { usePassportContext } from "../../hooks/usePassportContext";
4
+ export default function TestnetTopBanner() {
5
+ const [, theme] = useStyletron();
6
+ const { environment } = usePassportContext();
7
+ if (environment !== "testnet") {
8
+ return null;
9
+ }
10
+ return (React.createElement(Block, { display: "flex", alignItems: "center", padding: `${theme.sizing.scale700} ${theme.sizing.scale600}`, backgroundColor: theme.colors.warning },
11
+ React.createElement(InfoCircle, { size: theme.sizing.scale550 }),
12
+ React.createElement(LabelSmall, { marginLeft: theme.sizing.scale500 }, "You are using testnet funds.")));
13
+ }
14
+ //# sourceMappingURL=TestnetTopBanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestnetTopBanner.js","sourceRoot":"","sources":["../../../../src/components/Dropdown/TestnetTopBanner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,KAAK,EACL,UAAU,EACV,UAAU,EACV,YAAY,GACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAEnE,MAAM,CAAC,OAAO,UAAU,gBAAgB;IACtC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,EAAE,CAAA;IAEhC,MAAM,EAAE,WAAW,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAE5C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,oBAAC,KAAK,IACJ,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAC5D,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;QAErC,oBAAC,UAAU,IAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAI;QAC3C,oBAAC,UAAU,IAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,mCAEhC,CACP,CACT,CAAA;AACH,CAAC"}
@@ -1,8 +1,10 @@
1
- import { Chain, WalletList } from "@rainbow-me/rainbowkit";
1
+ import { Chain, RainbowKitWalletConnectParameters, WalletList } from "@rainbow-me/rainbowkit";
2
2
  import { Config, CreateConfigParameters } from "wagmi";
3
+ import { mezoMainnet, mezoTestnet } from "./constants";
3
4
  type WagmiConfigParameters = Omit<CreateConfigParameters, "client" | "connectors" | "chains" | "wallets" | "transports">;
4
5
  type GetDefaultConfigParameters = WagmiConfigParameters & {
5
6
  appName: string;
7
+ mezoNetwork?: "mainnet" | "testnet";
6
8
  appDescription?: string;
7
9
  appUrl?: string;
8
10
  appIcon?: string;
@@ -12,10 +14,31 @@ type GetDefaultConfigParameters = WagmiConfigParameters & {
12
14
  transports?: Pick<CreateConfigParameters, "transports">;
13
15
  };
14
16
  export declare const defaultConfig: Required<Pick<GetDefaultConfigParameters, "transports" | "walletConnectProjectId" | "chains" | "multiInjectedProviderDiscovery">>;
15
- export declare const unisatWallet: import("@mezo-org/orangekit").CreateWalletFn;
16
- export declare const okxWallet: import("@mezo-org/orangekit").CreateWalletFn;
17
- export declare const xverseWallet: import("@mezo-org/orangekit").CreateWalletFn;
18
- export declare function getDefaultWallets(): WalletList;
19
- export declare function getConfig({ appName, bitcoinWallets, walletConnectProjectId, ...restParameters }: GetDefaultConfigParameters): Config;
17
+ export declare const unisatWalletMezoTestnet: import("@mezo-org/orangekit").CreateWalletFn;
18
+ export declare const okxWalletMezoTestnet: import("@mezo-org/orangekit").CreateWalletFn;
19
+ export declare const xverseWalletMezoTestnet: import("@mezo-org/orangekit").CreateWalletFn;
20
+ export declare const unisatWalletMezoMainnet: import("@mezo-org/orangekit").CreateWalletFn;
21
+ export declare const okxWalletMezoMainnet: import("@mezo-org/orangekit").CreateWalletFn;
22
+ export declare const xverseWalletMezoMainnet: import("@mezo-org/orangekit").CreateWalletFn;
23
+ type WalletConnectWalletOptions = {
24
+ projectId: string;
25
+ options?: RainbowKitWalletConnectParameters;
26
+ };
27
+ /**
28
+ * Creates a RainbowKit's WalletConnect wallet with Safe Wallets (Ethereum and Mezo). It has disabled Explorer.
29
+ * @param opts - Options for the WalletConnect wallet.
30
+ * @returns A WalletConnect wallet configured for Safe Wallets.
31
+ */
32
+ export declare const safeWalletConnectWallet: (opts: WalletConnectWalletOptions) => import("@rainbow-me/rainbowkit").Wallet;
33
+ export declare function getDefaultWallets(network?: "mainnet" | "testnet"): WalletList;
34
+ export declare function getConfig(config: GetDefaultConfigParameters): Config;
35
+ /**
36
+ * This config is only used to listen for Transfer events on mezo chain.
37
+ * Should not be exported in index for public use.
38
+ */
39
+ export declare const simpleWssMezoConfig: Config<readonly [import("viem").Chain, import("viem").Chain], {
40
+ [mezoMainnet.id]: import("viem").WebSocketTransport;
41
+ [mezoTestnet.id]: import("viem").WebSocketTransport;
42
+ }>;
20
43
  export {};
21
44
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAoB,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,OAAO,CAAA;AAItD,KAAK,qBAAqB,GAAG,IAAI,CAC/B,sBAAsB,EACtB,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,CAC9D,CAAA;AACD,KAAK,0BAA0B,GAAG,qBAAqB,GAAG;IACxD,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,UAAU,CAAA;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;IAC5B,UAAU,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAAA;CACxD,CAAA;AAMD,eAAO,MAAM,aAAa,EAAE,QAAQ,CAClC,IAAI,CACF,0BAA0B,EACxB,YAAY,GACZ,wBAAwB,GACxB,QAAQ,GACR,gCAAgC,CACnC,CAMF,CAAA;AAOD,eAAO,MAAM,YAAY,8CAAuC,CAAA;AAChE,eAAO,MAAM,SAAS,8CAAoC,CAAA;AAC1D,eAAO,MAAM,YAAY,8CAAuC,CAAA;AAEhE,wBAAgB,iBAAiB,IAAI,UAAU,CAO9C;AAED,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,cAAc,EACd,sBAAsB,EACtB,GAAG,cAAc,EAClB,EAAE,0BAA0B,GAAG,MAAM,CAQrC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAEL,iCAAiC,EACjC,UAAU,EACX,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,MAAM,EAEN,sBAAsB,EAGvB,MAAM,OAAO,CAAA;AAEd,OAAO,EAGL,WAAW,EACX,WAAW,EAGZ,MAAM,aAAa,CAAA;AAGpB,KAAK,qBAAqB,GAAG,IAAI,CAC/B,sBAAsB,EACtB,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,CAC9D,CAAA;AACD,KAAK,0BAA0B,GAAG,qBAAqB,GAAG;IACxD,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IACnC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,UAAU,CAAA;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;IAC5B,UAAU,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAAA;CACxD,CAAA;AAOD,eAAO,MAAM,aAAa,EAAE,QAAQ,CAClC,IAAI,CACF,0BAA0B,EACxB,YAAY,GACZ,wBAAwB,GACxB,QAAQ,GACR,gCAAgC,CACnC,CAMF,CAAA;AAYD,eAAO,MAAM,uBAAuB,8CAEnC,CAAA;AACD,eAAO,MAAM,oBAAoB,8CAA2C,CAAA;AAC5E,eAAO,MAAM,uBAAuB,8CAEnC,CAAA;AAED,eAAO,MAAM,uBAAuB,8CAEnC,CAAA;AACD,eAAO,MAAM,oBAAoB,8CAA2C,CAAA;AAC5E,eAAO,MAAM,uBAAuB,8CAEnC,CAAA;AAED,KAAK,0BAA0B,GAAG;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,iCAAiC,CAAA;CAC5C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,MAAM,0BAA0B,4CAgCvE,CAAA;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE,SAAS,GAAG,SAAqB,GACzC,UAAU,CAsBZ;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,0BAA0B,GAAG,MAAM,CAiBpE;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB;IAG5B,CAAC,WAAW,CAAC,EAAE,CAAC,oCAA6C;IAC7D,CAAC,WAAW,CAAC,EAAE,CAAC,oCAA6C;EAE/D,CAAA"}
@@ -1,38 +1,111 @@
1
- import { http } from "viem";
2
- import { getDefaultConfig } from "@rainbow-me/rainbowkit";
3
- import { CHAIN_ID, mezoMatsnetTestnet, RPC_BY_NETWORK } from "./constants";
1
+ import { getDefaultConfig, } from "@rainbow-me/rainbowkit";
2
+ import { createConfig, http, webSocket, } from "wagmi";
3
+ import { walletConnectWallet } from "@rainbow-me/rainbowkit/wallets";
4
+ import { CHAIN_ID, MEZO_LOGO, mezoMainnet, mezoTestnet, RPC_BY_NETWORK, WALLET_CONNECT_SAFE_WALLET_ID, } from "./constants";
4
5
  import { getOKXWallet, getUnisatWallet, getXverseWallet } from "./wallet";
5
6
  const transports = {
6
- [CHAIN_ID.testnet]: http(RPC_BY_NETWORK.testnet),
7
+ [CHAIN_ID.mainnet]: http(RPC_BY_NETWORK.mainnet.http),
8
+ [CHAIN_ID.testnet]: http(RPC_BY_NETWORK.testnet.http),
7
9
  };
8
10
  export const defaultConfig = {
9
11
  transports,
10
12
  walletConnectProjectId: "",
11
- chains: [mezoMatsnetTestnet],
13
+ chains: [mezoMainnet, mezoTestnet],
12
14
  multiInjectedProviderDiscovery: true,
13
15
  };
14
- const bitcoinWalletConfig = {
15
- rpcUrl: RPC_BY_NETWORK.testnet,
16
+ const bitcoinWalletTestnetConfig = {
17
+ rpcUrl: RPC_BY_NETWORK.testnet.http,
16
18
  chainId: CHAIN_ID.testnet,
17
19
  };
18
- export const unisatWallet = getUnisatWallet(bitcoinWalletConfig);
19
- export const okxWallet = getOKXWallet(bitcoinWalletConfig);
20
- export const xverseWallet = getXverseWallet(bitcoinWalletConfig);
21
- export function getDefaultWallets() {
20
+ const bitcoinWalletMainnetConfig = {
21
+ rpcUrl: RPC_BY_NETWORK.mainnet.http,
22
+ chainId: CHAIN_ID.mainnet,
23
+ };
24
+ export const unisatWalletMezoTestnet = getUnisatWallet(bitcoinWalletTestnetConfig);
25
+ export const okxWalletMezoTestnet = getOKXWallet(bitcoinWalletTestnetConfig);
26
+ export const xverseWalletMezoTestnet = getXverseWallet(bitcoinWalletTestnetConfig);
27
+ export const unisatWalletMezoMainnet = getUnisatWallet(bitcoinWalletMainnetConfig);
28
+ export const okxWalletMezoMainnet = getOKXWallet(bitcoinWalletMainnetConfig);
29
+ export const xverseWalletMezoMainnet = getXverseWallet(bitcoinWalletMainnetConfig);
30
+ /**
31
+ * Creates a RainbowKit's WalletConnect wallet with Safe Wallets (Ethereum and Mezo). It has disabled Explorer.
32
+ * @param opts - Options for the WalletConnect wallet.
33
+ * @returns A WalletConnect wallet configured for Safe Wallets.
34
+ */
35
+ export const safeWalletConnectWallet = (opts) => {
36
+ const { projectId, options } = opts;
37
+ return walletConnectWallet({
38
+ projectId,
39
+ options: {
40
+ ...options,
41
+ qrModalOptions: {
42
+ ...options?.qrModalOptions,
43
+ desktopWallets: [
44
+ ...(options?.qrModalOptions?.desktopWallets || []),
45
+ {
46
+ id: "mezo",
47
+ name: "Mezo Safe",
48
+ links: {
49
+ native: "",
50
+ universal: "https://safe.mezo.org/",
51
+ },
52
+ },
53
+ ],
54
+ walletImages: {
55
+ ...options?.qrModalOptions?.walletImages,
56
+ mezo: MEZO_LOGO,
57
+ },
58
+ explorerExcludedWalletIds: "ALL",
59
+ explorerRecommendedWalletIds: [
60
+ ...(options?.qrModalOptions?.explorerRecommendedWalletIds || []),
61
+ WALLET_CONNECT_SAFE_WALLET_ID,
62
+ ],
63
+ },
64
+ },
65
+ });
66
+ };
67
+ export function getDefaultWallets(network = "mainnet") {
22
68
  return [
23
69
  {
24
70
  groupName: "Bitcoin",
25
- wallets: [unisatWallet, okxWallet, xverseWallet],
71
+ wallets: network === "mainnet"
72
+ ? [
73
+ unisatWalletMezoMainnet,
74
+ okxWalletMezoMainnet,
75
+ xverseWalletMezoMainnet,
76
+ ]
77
+ : [
78
+ unisatWalletMezoTestnet,
79
+ okxWalletMezoTestnet,
80
+ xverseWalletMezoTestnet,
81
+ ],
82
+ },
83
+ {
84
+ groupName: "Ethereum",
85
+ wallets: [safeWalletConnectWallet],
26
86
  },
27
87
  ];
28
88
  }
29
- export function getConfig({ appName, bitcoinWallets, walletConnectProjectId, ...restParameters }) {
89
+ export function getConfig(config) {
90
+ const { appName, mezoNetwork = "mainnet", walletConnectProjectId = defaultConfig.walletConnectProjectId, ...restParameters } = config;
91
+ const wallets = config.bitcoinWallets ?? [...getDefaultWallets(mezoNetwork)];
30
92
  return getDefaultConfig({
31
93
  ...defaultConfig,
32
94
  appName,
33
- wallets: [...(bitcoinWallets ?? getDefaultWallets())],
34
- projectId: walletConnectProjectId ?? defaultConfig.walletConnectProjectId,
95
+ wallets,
96
+ projectId: walletConnectProjectId,
35
97
  ...restParameters,
36
98
  });
37
99
  }
100
+ /**
101
+ * This config is only used to listen for Transfer events on mezo chain.
102
+ * Should not be exported in index for public use.
103
+ */
104
+ export const simpleWssMezoConfig = createConfig({
105
+ chains: [mezoMainnet, mezoTestnet],
106
+ transports: {
107
+ [mezoMainnet.id]: webSocket(RPC_BY_NETWORK.mainnet.webSocket),
108
+ [mezoTestnet.id]: webSocket(RPC_BY_NETWORK.testnet.webSocket),
109
+ },
110
+ });
38
111
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAS,gBAAgB,EAAc,MAAM,wBAAwB,CAAA;AAE5E,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC1E,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAiBzE,MAAM,UAAU,GAAG;IACjB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;CACH,CAAA;AAE/C,MAAM,CAAC,MAAM,aAAa,GAQtB;IACF,UAAU;IACV,sBAAsB,EAAE,EAAE;IAC1B,MAAM,EAAE,CAAC,kBAAkB,CAAC;IAC5B,8BAA8B,EAAE,IAAI;CACrC,CAAA;AAED,MAAM,mBAAmB,GAAG;IAC1B,MAAM,EAAE,cAAc,CAAC,OAAO;IAC9B,OAAO,EAAE,QAAQ,CAAC,OAAO;CAC1B,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAA;AAChE,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,mBAAmB,CAAC,CAAA;AAC1D,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAA;AAEhE,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL;YACE,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,YAAY,CAAC;SACjD;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EACxB,OAAO,EACP,cAAc,EACd,sBAAsB,EACtB,GAAG,cAAc,EACU;IAC3B,OAAO,gBAAgB,CAAC;QACtB,GAAG,aAAa;QAChB,OAAO;QACP,OAAO,EAAE,CAAC,GAAG,CAAC,cAAc,IAAI,iBAAiB,EAAE,CAAC,CAAC;QACrD,SAAS,EAAE,sBAAsB,IAAI,aAAa,CAAC,sBAAsB;QACzE,GAAG,cAAc;KAClB,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,18 @@
1
- export { mezoMatsnetTestnet } from "@mezo-org/orangekit";
1
+ export { mezoMainnet, mezoTestnet } from "@mezo-org/orangekit";
2
2
  export declare const CHAIN_ID: {
3
- testnet: 31611;
3
+ testnet: number;
4
+ mainnet: number;
4
5
  };
5
6
  export declare const RPC_BY_NETWORK: {
6
- testnet: "https://rpc.test.mezo.org";
7
+ mainnet: {
8
+ http: string;
9
+ webSocket: string | undefined;
10
+ };
11
+ testnet: {
12
+ http: string;
13
+ webSocket: string | undefined;
14
+ };
7
15
  };
16
+ export declare const MEZO_LOGO = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAQ5QTFRF9TlR9TpS9kRa91Zr92d6+HCC+G+B9klf9TtT9UBX9lJn92V4915x9k9k9T5V+6ax/dLY//b3//7+//////j5/drf+7C6+HSF+pmm/MrQ/vDx//39//n6/urs/MPK+YKR9UJZ92F0/eDk+HiI/LfA/vHz+Y6c+qGt/vP0+6+59kdd9TxU+HqK/uzu/czS9k1j+pik+7S9+YeW/dfc9kVb+YWU//z8/L3F91lt/cvS/MLJ9lRp+Yya/dbb/L/H/d3h/uHl91xw//T2/MbN/uPm+HKD+pCe+pWi/d/j/ufq/ujq9kth/MfO91tv/c7U+7O89lVq+6mz92N19kpg+G1/+p2p+6Ov+pKf+6y3+Gt92yHguQAAAx9JREFUeJzt1tlPE0EcB/CdUtouRxuKQItgCyVNpG3SKoWKqOHBxKQGCf6Z4hGNT8Yjno00UAERJcoCEWuIIgj0iHUtuwWW3ZlpSYq8fOelM/Pb3fnsHL8tEU64EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgKPfoZSCmWTpcZGQvGAlZPOYAPXm3fEVRoYyRmN9MZDdVRAiHQOgK5s/aDjIZ/3wbdnMfsNJVjJC2XIkgN1N1rRtsZHMaZoBQla1YVszeVdVgL17Rd91JqcRnFs06cKF/E4VAQHLsrHTS5J71ahhRYqrJC9WD2BppS1pT7Y0zbHlHCXsSJeZg8oBYs8qtd//TVJ+Bz9Swyb/qyoBhj4wAr1vd1+9K8/IC46lQnUA7jwrEtgorkIrc5jgBG8VKgZ4/7APdaEnKQ7MMMMh8rQKgFo7J2hpWolyjjxvJ1YM8P/gRcNfWFtAKZHEVuWAq0te5Xe96VD3/DYPIISmua/S3i6rD53VL6TxtmsTvCdF0q4pXrx/a44XHiAPywKuv+E8IFr7oKuBng/U4t/x8M59dF4qC7jxkn2/N1U8bKPTG+wrLt+NE84bhB/re4wAD3O/CJHXym4eSzEFNvOS0NvMXoXadHlA4+k1Q59avJ9+q5WLy6xjFWq+LQh9jhQj7Ou4Ux5AWhg5Ldh0b6/a0MqYg05l6HgNYx8UcoZsRjk8dU5qzotsJQ4aYwvUnej8qk5NPC3RwrZfxrNMO71DEkWwP/8lpYsyB2JsvFTrc1F2os9zy9hJA9i7LYa/Fpr5V8uwbEj+4oVxea9OWQW5LSNVBhBsI/rTEq3RJxBhdH1Wd1fguSYdmzr00x2YoC0tI4H6Nv9qL7o0JRmv6dtekzVNU/jR4fGCkz81zf7vk9SRWBn8pvmJtQRucUin3tOuEdt3zpa+gT5n6rwhydbVm7Pq8+WY9T7jbLE/IfYr6c2IIDyTXdMy6xoyuNGb8Dhe+DsnJVo8nnRbLTPDFtNCkhbmA/5TAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODEAf8AjIbLgSYY+/AAAAAASUVORK5CYII=";
17
+ export declare const WALLET_CONNECT_SAFE_WALLET_ID = "225affb176778569276e484e1b92637ad061b01e13a048b35a9d280c3b58970f";
8
18
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAExD,eAAO,MAAM,QAAQ;;CAEpB,CAAA;AAED,eAAO,MAAM,cAAc;;CAE1B,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAE9D,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;AAED,eAAO,MAAM,cAAc;;;;;;;;;CAS1B,CAAA;AAED,eAAO,MAAM,SAAS,ujDACgiD,CAAA;AAEtjD,eAAO,MAAM,6BAA6B,qEAC0B,CAAA"}
@@ -1,9 +1,19 @@
1
- import { mezoMatsnetTestnet } from "@mezo-org/orangekit";
2
- export { mezoMatsnetTestnet } from "@mezo-org/orangekit";
1
+ import { mezoMainnet, mezoTestnet } from "@mezo-org/orangekit";
2
+ export { mezoMainnet, mezoTestnet } from "@mezo-org/orangekit";
3
3
  export const CHAIN_ID = {
4
- testnet: mezoMatsnetTestnet.id,
4
+ testnet: mezoTestnet.id,
5
+ mainnet: mezoMainnet.id,
5
6
  };
6
7
  export const RPC_BY_NETWORK = {
7
- testnet: mezoMatsnetTestnet.rpcUrls.default.http[0],
8
+ mainnet: {
9
+ http: mezoMainnet.rpcUrls.default.http[0],
10
+ webSocket: mezoMainnet.rpcUrls.default.webSocket?.[0],
11
+ },
12
+ testnet: {
13
+ http: mezoTestnet.rpcUrls.default.http[0],
14
+ webSocket: mezoTestnet.rpcUrls.default.webSocket?.[0],
15
+ },
8
16
  };
17
+ export const MEZO_LOGO = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAQ5QTFRF9TlR9TpS9kRa91Zr92d6+HCC+G+B9klf9TtT9UBX9lJn92V4915x9k9k9T5V+6ax/dLY//b3//7+//////j5/drf+7C6+HSF+pmm/MrQ/vDx//39//n6/urs/MPK+YKR9UJZ92F0/eDk+HiI/LfA/vHz+Y6c+qGt/vP0+6+59kdd9TxU+HqK/uzu/czS9k1j+pik+7S9+YeW/dfc9kVb+YWU//z8/L3F91lt/cvS/MLJ9lRp+Yya/dbb/L/H/d3h/uHl91xw//T2/MbN/uPm+HKD+pCe+pWi/d/j/ufq/ujq9kth/MfO91tv/c7U+7O89lVq+6mz92N19kpg+G1/+p2p+6Ov+pKf+6y3+Gt92yHguQAAAx9JREFUeJzt1tlPE0EcB/CdUtouRxuKQItgCyVNpG3SKoWKqOHBxKQGCf6Z4hGNT8Yjno00UAERJcoCEWuIIgj0iHUtuwWW3ZlpSYq8fOelM/Pb3fnsHL8tEU64EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgKPfoZSCmWTpcZGQvGAlZPOYAPXm3fEVRoYyRmN9MZDdVRAiHQOgK5s/aDjIZ/3wbdnMfsNJVjJC2XIkgN1N1rRtsZHMaZoBQla1YVszeVdVgL17Rd91JqcRnFs06cKF/E4VAQHLsrHTS5J71ahhRYqrJC9WD2BppS1pT7Y0zbHlHCXsSJeZg8oBYs8qtd//TVJ+Bz9Swyb/qyoBhj4wAr1vd1+9K8/IC46lQnUA7jwrEtgorkIrc5jgBG8VKgZ4/7APdaEnKQ7MMMMh8rQKgFo7J2hpWolyjjxvJ1YM8P/gRcNfWFtAKZHEVuWAq0te5Xe96VD3/DYPIISmua/S3i6rD53VL6TxtmsTvCdF0q4pXrx/a44XHiAPywKuv+E8IFr7oKuBng/U4t/x8M59dF4qC7jxkn2/N1U8bKPTG+wrLt+NE84bhB/re4wAD3O/CJHXym4eSzEFNvOS0NvMXoXadHlA4+k1Q59avJ9+q5WLy6xjFWq+LQh9jhQj7Ou4Ux5AWhg5Ldh0b6/a0MqYg05l6HgNYx8UcoZsRjk8dU5qzotsJQ4aYwvUnej8qk5NPC3RwrZfxrNMO71DEkWwP/8lpYsyB2JsvFTrc1F2os9zy9hJA9i7LYa/Fpr5V8uwbEj+4oVxea9OWQW5LSNVBhBsI/rTEq3RJxBhdH1Wd1fguSYdmzr00x2YoC0tI4H6Nv9qL7o0JRmv6dtekzVNU/jR4fGCkz81zf7vk9SRWBn8pvmJtQRucUin3tOuEdt3zpa+gT5n6rwhydbVm7Pq8+WY9T7jbLE/IfYr6c2IIDyTXdMy6xoyuNGb8Dhe+DsnJVo8nnRbLTPDFtNCkhbmA/5TAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODEAf8AjIbLgSYY+/AAAAAASUVORK5CYII=";
18
+ export const WALLET_CONNECT_SAFE_WALLET_ID = "225affb176778569276e484e1b92637ad061b01e13a048b35a9d280c3b58970f";
9
19
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAExD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO,EAAE,kBAAkB,CAAC,EAAE;CAC/B,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;CACpD,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAE9D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAE9D,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO,EAAE,WAAW,CAAC,EAAE;IACvB,OAAO,EAAE,WAAW,CAAC,EAAE;CACxB,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE;QACP,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;KACtD;IACD,OAAO,EAAE;QACP,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;KACtD;CACF,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GACpB,ojDAAojD,CAAA;AAEtjD,MAAM,CAAC,MAAM,6BAA6B,GACxC,kEAAkE,CAAA"}
@@ -1,12 +1,16 @@
1
1
  export { useBitcoinAccount, useSendBitcoin, useSendTransaction, useSubscribeToConnectedToUnsupportedBitcoinAddress, useSubscribeToConnectorEvent, useSubscribeToWalletNetworkDoesNotMatchProviderChain, } from "@mezo-org/orangekit";
2
+ export { useInvalidateBorrowData, useResetBorrowData } from "./useBorrowData";
2
3
  export * from "./useGetAccountByAddress";
3
4
  export * from "./useGetAccountByMezoId";
4
5
  export * from "./useGetCurrentAccount";
5
6
  export * from "./useGetSession";
6
7
  export * from "./useLinkAccount";
8
+ export * from "./useRefreshPassport";
7
9
  export * from "./useSignInWithDiscord";
8
10
  export * from "./useSignInWithWallet";
9
11
  export * from "./useSignOut";
10
12
  export * from "./useSignUpWithWallet";
13
+ export { useInvalidateTokensBalances, useResetTokensBalances, } from "./useTokensBalances";
11
14
  export * from "./useUpdateMezoId";
15
+ export * from "./useValidateMezoId";
12
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,kDAAkD,EAClD,4BAA4B,EAC5B,oDAAoD,GACrD,MAAM,qBAAqB,CAAA;AAC5B,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,kDAAkD,EAClD,4BAA4B,EAC5B,oDAAoD,GACrD,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC7E,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,qBAAqB,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA"}
@@ -1,12 +1,16 @@
1
1
  export { useBitcoinAccount, useSendBitcoin, useSendTransaction, useSubscribeToConnectedToUnsupportedBitcoinAddress, useSubscribeToConnectorEvent, useSubscribeToWalletNetworkDoesNotMatchProviderChain, } from "@mezo-org/orangekit";
2
+ export { useInvalidateBorrowData, useResetBorrowData } from "./useBorrowData";
2
3
  export * from "./useGetAccountByAddress";
3
4
  export * from "./useGetAccountByMezoId";
4
5
  export * from "./useGetCurrentAccount";
5
6
  export * from "./useGetSession";
6
7
  export * from "./useLinkAccount";
8
+ export * from "./useRefreshPassport";
7
9
  export * from "./useSignInWithDiscord";
8
10
  export * from "./useSignInWithWallet";
9
11
  export * from "./useSignOut";
10
12
  export * from "./useSignUpWithWallet";
13
+ export { useInvalidateTokensBalances, useResetTokensBalances, } from "./useTokensBalances";
11
14
  export * from "./useUpdateMezoId";
15
+ export * from "./useValidateMezoId";
12
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,kDAAkD,EAClD,4BAA4B,EAC5B,oDAAoD,GACrD,MAAM,qBAAqB,CAAA;AAC5B,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,kDAAkD,EAClD,4BAA4B,EAC5B,oDAAoD,GACrD,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC7E,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,qBAAqB,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Hook to fetch assets conversion rates.
3
+ * @see https://github.com/mezo-org/musd/blob/f0b2030315f0d8b0fc11a9fc778856fe4673051f/solidity/contracts/PriceFeed.sol
4
+ * @returns {}.data.{}.price - The latest asset price.
5
+ * @returns {}.data.{}.digits - The latest asset price digits.
6
+ * @returns {}.isPending - Whether the request is pending.
7
+ * @returns {}.isError - Whether there was an error fetching the price.
8
+ */
9
+ export declare function useAssetsConversionRates(): {
10
+ data: {
11
+ t: {
12
+ price: bigint;
13
+ decimals: number;
14
+ };
15
+ btc: {
16
+ price: bigint;
17
+ decimals: number;
18
+ };
19
+ };
20
+ isPending: boolean;
21
+ isError: boolean;
22
+ };
23
+ //# sourceMappingURL=useAssetsConversionRates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAssetsConversionRates.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAssetsConversionRates.ts"],"names":[],"mappings":"AAkCA;;;;;;;GAOG;AACH,wBAAgB,wBAAwB;;;;;;;;;;;;;EAsDvC"}
@@ -0,0 +1,90 @@
1
+ import { useQuery } from "@tanstack/react-query";
2
+ import { useReadContract } from "wagmi";
3
+ import { ONE_SECOND_MS } from "../utils/time";
4
+ import { QUERY_KEYS } from "./constants";
5
+ import { usePortalApiClient } from "./usePortalApiClient";
6
+ import { priceOracleContract } from "../lib/contracts";
7
+ import { fromFloatToBigInt } from "../utils/numbers";
8
+ import { getCryptoAsset } from "../utils/cryptoAssets";
9
+ import { CHAIN_ID } from "../constants";
10
+ import { usePassportContext } from "./usePassportContext";
11
+ const BTC_TARGET_DIGITS = getCryptoAsset("BTC").decimals;
12
+ const T_TARGET_DIGITS = getCryptoAsset("mT").decimals;
13
+ // If the oracle has not been updated in at least 60 seconds, it is stale.
14
+ const MAX_PRICE_DELAY = 60 * ONE_SECOND_MS;
15
+ /**
16
+ * Scales the price by the number of digits.
17
+ * @dev Oracles returns prices with variable number of digits. This function
18
+ * scales the price to a fixed number of digits ensuring consistency.
19
+ * @param price - The price to scale.
20
+ * @param priceDigits - The number of digits in the price.
21
+ * @returns The scaled price.
22
+ */
23
+ function scalePriceByDigits(price, priceDigits) {
24
+ if (priceDigits > BTC_TARGET_DIGITS) {
25
+ return price / 10n ** BigInt(priceDigits - BTC_TARGET_DIGITS);
26
+ }
27
+ if (priceDigits < BTC_TARGET_DIGITS) {
28
+ return price * 10n ** BigInt(BTC_TARGET_DIGITS - priceDigits);
29
+ }
30
+ return price;
31
+ }
32
+ /**
33
+ * Hook to fetch assets conversion rates.
34
+ * @see https://github.com/mezo-org/musd/blob/f0b2030315f0d8b0fc11a9fc778856fe4673051f/solidity/contracts/PriceFeed.sol
35
+ * @returns {}.data.{}.price - The latest asset price.
36
+ * @returns {}.data.{}.digits - The latest asset price digits.
37
+ * @returns {}.isPending - Whether the request is pending.
38
+ * @returns {}.isError - Whether there was an error fetching the price.
39
+ */
40
+ export function useAssetsConversionRates() {
41
+ const portalApiClient = usePortalApiClient();
42
+ const { environment = "mainnet" } = usePassportContext();
43
+ const btcPrice = useReadContract({
44
+ ...priceOracleContract,
45
+ functionName: "latestRoundData",
46
+ query: {
47
+ refetchInterval: ({ state }) => {
48
+ if (!state.data)
49
+ return MAX_PRICE_DELAY;
50
+ const [, , , updatedAt] = state.data ?? [];
51
+ if (!updatedAt)
52
+ return MAX_PRICE_DELAY;
53
+ const age = Date.now() - Number(updatedAt) * 1000;
54
+ return age > MAX_PRICE_DELAY
55
+ ? // If the data is stale, we want to refetch as soon as possible, but
56
+ // not faster than once per second, to avoid excessive requests.
57
+ // Math.max ensures the interval is at least 1 second.
58
+ Math.max(ONE_SECOND_MS, MAX_PRICE_DELAY - age)
59
+ : MAX_PRICE_DELAY - age;
60
+ },
61
+ select: (data) => {
62
+ const [, answer] = data;
63
+ return scalePriceByDigits(answer, BTC_TARGET_DIGITS);
64
+ },
65
+ },
66
+ chainId: CHAIN_ID[environment],
67
+ });
68
+ const tPrice = useQuery({
69
+ queryKey: [QUERY_KEYS.ASSETS_USD_CONVERSION],
70
+ queryFn: () => portalApiClient.getPortalStatistics(),
71
+ select: (data) => fromFloatToBigInt(data.currentUsdPerTToken, T_TARGET_DIGITS),
72
+ refetchInterval: MAX_PRICE_DELAY,
73
+ throwOnError: true,
74
+ });
75
+ return {
76
+ data: {
77
+ t: {
78
+ price: tPrice.data ?? 0n,
79
+ decimals: T_TARGET_DIGITS,
80
+ },
81
+ btc: {
82
+ price: btcPrice.data ?? 0n,
83
+ decimals: BTC_TARGET_DIGITS,
84
+ },
85
+ },
86
+ isPending: tPrice.isPending || btcPrice.isPending,
87
+ isError: tPrice.isError || btcPrice.isError,
88
+ };
89
+ }
90
+ //# sourceMappingURL=useAssetsConversionRates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAssetsConversionRates.js","sourceRoot":"","sources":["../../../src/hooks/useAssetsConversionRates.ts"],"names":[],"mappings":"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"}