@mezo-org/passport 0.4.0-dev.6 → 0.4.0-dev.60

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 (248) hide show
  1. package/README.md +18 -22
  2. package/dist/src/api/auth.d.ts.map +1 -1
  3. package/dist/src/api/auth.js +3 -1
  4. package/dist/src/api/auth.js.map +1 -1
  5. package/dist/src/api/client.d.ts +4 -1
  6. package/dist/src/api/client.d.ts.map +1 -1
  7. package/dist/src/api/client.js +9 -2
  8. package/dist/src/api/client.js.map +1 -1
  9. package/dist/src/api/portal.d.ts +3 -9
  10. package/dist/src/api/portal.d.ts.map +1 -1
  11. package/dist/src/api/portal.js +8 -5
  12. package/dist/src/api/portal.js.map +1 -1
  13. package/dist/src/components/Dropdown/ConnectedTrigger.d.ts +2 -1
  14. package/dist/src/components/Dropdown/ConnectedTrigger.d.ts.map +1 -1
  15. package/dist/src/components/Dropdown/ConnectedTrigger.js +29 -20
  16. package/dist/src/components/Dropdown/ConnectedTrigger.js.map +1 -1
  17. package/dist/src/components/Dropdown/Content.d.ts +20 -5
  18. package/dist/src/components/Dropdown/Content.d.ts.map +1 -1
  19. package/dist/src/components/Dropdown/Content.js +19 -57
  20. package/dist/src/components/Dropdown/Content.js.map +1 -1
  21. package/dist/src/components/Dropdown/DisconnectedTrigger.d.ts.map +1 -1
  22. package/dist/src/components/Dropdown/DisconnectedTrigger.js +2 -2
  23. package/dist/src/components/Dropdown/DisconnectedTrigger.js.map +1 -1
  24. package/dist/src/components/Dropdown/Dropdown.d.ts +17 -8
  25. package/dist/src/components/Dropdown/Dropdown.d.ts.map +1 -1
  26. package/dist/src/components/Dropdown/Dropdown.js +35 -9
  27. package/dist/src/components/Dropdown/Dropdown.js.map +1 -1
  28. package/dist/src/components/Dropdown/ListingItem.d.ts +13 -0
  29. package/dist/src/components/Dropdown/ListingItem.d.ts.map +1 -0
  30. package/dist/src/components/Dropdown/ListingItem.js +34 -0
  31. package/dist/src/components/Dropdown/ListingItem.js.map +1 -0
  32. package/dist/src/components/Dropdown/NestedViewLayout.d.ts +7 -0
  33. package/dist/src/components/Dropdown/NestedViewLayout.d.ts.map +1 -0
  34. package/dist/src/components/Dropdown/NestedViewLayout.js +34 -0
  35. package/dist/src/components/Dropdown/NestedViewLayout.js.map +1 -0
  36. package/dist/src/components/Dropdown/Receive/Receive.d.ts +7 -0
  37. package/dist/src/components/Dropdown/Receive/Receive.d.ts.map +1 -0
  38. package/dist/src/components/Dropdown/Receive/Receive.js +53 -0
  39. package/dist/src/components/Dropdown/Receive/Receive.js.map +1 -0
  40. package/dist/src/components/Dropdown/Root/AccountAddressActions.d.ts +7 -0
  41. package/dist/src/components/Dropdown/Root/AccountAddressActions.d.ts.map +1 -0
  42. package/dist/src/components/Dropdown/Root/AccountAddressActions.js +48 -0
  43. package/dist/src/components/Dropdown/Root/AccountAddressActions.js.map +1 -0
  44. package/dist/src/components/Dropdown/Root/AccountAssetItem.d.ts +11 -0
  45. package/dist/src/components/Dropdown/Root/AccountAssetItem.d.ts.map +1 -0
  46. package/dist/src/components/Dropdown/Root/AccountAssetItem.js +9 -0
  47. package/dist/src/components/Dropdown/Root/AccountAssetItem.js.map +1 -0
  48. package/dist/src/components/Dropdown/{AccountBalance.d.ts → Root/AccountBalance.d.ts} +2 -1
  49. package/dist/src/components/Dropdown/Root/AccountBalance.d.ts.map +1 -0
  50. package/dist/src/components/Dropdown/Root/AccountBalance.js +15 -0
  51. package/dist/src/components/Dropdown/Root/AccountBalance.js.map +1 -0
  52. package/dist/src/components/Dropdown/Root/AccountBtcListing.d.ts +3 -0
  53. package/dist/src/components/Dropdown/Root/AccountBtcListing.d.ts.map +1 -0
  54. package/dist/src/components/Dropdown/Root/AccountBtcListing.js +22 -0
  55. package/dist/src/components/Dropdown/Root/AccountBtcListing.js.map +1 -0
  56. package/dist/src/components/Dropdown/Root/AccountMusdListing.d.ts +3 -0
  57. package/dist/src/components/Dropdown/Root/AccountMusdListing.d.ts.map +1 -0
  58. package/dist/src/components/Dropdown/Root/AccountMusdListing.js +22 -0
  59. package/dist/src/components/Dropdown/Root/AccountMusdListing.js.map +1 -0
  60. package/dist/src/components/Dropdown/Root/AccountOtherAssets.d.ts +9 -0
  61. package/dist/src/components/Dropdown/Root/AccountOtherAssets.d.ts.map +1 -0
  62. package/dist/src/components/Dropdown/Root/AccountOtherAssets.js +48 -0
  63. package/dist/src/components/Dropdown/Root/AccountOtherAssets.js.map +1 -0
  64. package/dist/src/components/Dropdown/Root/Root.d.ts +23 -0
  65. package/dist/src/components/Dropdown/Root/Root.d.ts.map +1 -0
  66. package/dist/src/components/Dropdown/Root/Root.js +57 -0
  67. package/dist/src/components/Dropdown/Root/Root.js.map +1 -0
  68. package/dist/src/components/Dropdown/Root/WalletAddress.d.ts +8 -0
  69. package/dist/src/components/Dropdown/Root/WalletAddress.d.ts.map +1 -0
  70. package/dist/src/components/Dropdown/{AccountAddress.js → Root/WalletAddress.js} +21 -15
  71. package/dist/src/components/Dropdown/Root/WalletAddress.js.map +1 -0
  72. package/dist/src/components/Dropdown/{WelcomeBlock.d.ts → Root/WelcomeBlock.d.ts} +1 -1
  73. package/dist/src/components/Dropdown/Root/WelcomeBlock.d.ts.map +1 -0
  74. package/dist/src/components/Dropdown/{WelcomeBlock.js → Root/WelcomeBlock.js} +5 -5
  75. package/dist/src/components/Dropdown/Root/WelcomeBlock.js.map +1 -0
  76. package/dist/src/components/Dropdown/TestnetTopBanner.d.ts +3 -0
  77. package/dist/src/components/Dropdown/TestnetTopBanner.d.ts.map +1 -0
  78. package/dist/src/components/Dropdown/TestnetTopBanner.js +14 -0
  79. package/dist/src/components/Dropdown/TestnetTopBanner.js.map +1 -0
  80. package/dist/src/config.d.ts +17 -5
  81. package/dist/src/config.d.ts.map +1 -1
  82. package/dist/src/config.js +51 -14
  83. package/dist/src/config.js.map +1 -1
  84. package/dist/src/constants.d.ts +11 -3
  85. package/dist/src/constants.d.ts.map +1 -1
  86. package/dist/src/constants.js +12 -4
  87. package/dist/src/constants.js.map +1 -1
  88. package/dist/src/hooks/index.d.ts +3 -0
  89. package/dist/src/hooks/index.d.ts.map +1 -1
  90. package/dist/src/hooks/index.js +3 -0
  91. package/dist/src/hooks/index.js.map +1 -1
  92. package/dist/src/hooks/useAssetsConversionRates.d.ts +23 -0
  93. package/dist/src/hooks/useAssetsConversionRates.d.ts.map +1 -0
  94. package/dist/src/hooks/useAssetsConversionRates.js +90 -0
  95. package/dist/src/hooks/useAssetsConversionRates.js.map +1 -0
  96. package/dist/src/hooks/useAuthenticateWithWallet.d.ts.map +1 -1
  97. package/dist/src/hooks/useAuthenticateWithWallet.js +7 -8
  98. package/dist/src/hooks/useAuthenticateWithWallet.js.map +1 -1
  99. package/dist/src/hooks/useAutoConnect.d.ts +10 -0
  100. package/dist/src/hooks/useAutoConnect.d.ts.map +1 -0
  101. package/dist/src/hooks/useAutoConnect.js +41 -0
  102. package/dist/src/hooks/useAutoConnect.js.map +1 -0
  103. package/dist/src/hooks/useBorrowData.d.ts +82 -0
  104. package/dist/src/hooks/useBorrowData.d.ts.map +1 -0
  105. package/dist/src/hooks/useBorrowData.js +157 -0
  106. package/dist/src/hooks/useBorrowData.js.map +1 -0
  107. package/dist/src/hooks/useDropdownData.d.ts +37 -34
  108. package/dist/src/hooks/useDropdownData.d.ts.map +1 -1
  109. package/dist/src/hooks/useDropdownData.js +85 -61
  110. package/dist/src/hooks/useDropdownData.js.map +1 -1
  111. package/dist/src/hooks/useRefreshPassport.d.ts +19 -0
  112. package/dist/src/hooks/useRefreshPassport.d.ts.map +1 -0
  113. package/dist/src/hooks/useRefreshPassport.js +44 -0
  114. package/dist/src/hooks/useRefreshPassport.js.map +1 -0
  115. package/dist/src/hooks/useTokensBalances.d.ts +74 -0
  116. package/dist/src/hooks/useTokensBalances.d.ts.map +1 -0
  117. package/dist/src/hooks/useTokensBalances.js +140 -0
  118. package/dist/src/hooks/useTokensBalances.js.map +1 -0
  119. package/dist/src/hooks/useWalletAccount.d.ts +2 -1
  120. package/dist/src/hooks/useWalletAccount.d.ts.map +1 -1
  121. package/dist/src/hooks/useWalletAccount.js +19 -15
  122. package/dist/src/hooks/useWalletAccount.js.map +1 -1
  123. package/dist/src/hooks/useWatchTransferEvents.d.ts +5 -0
  124. package/dist/src/hooks/useWatchTransferEvents.d.ts.map +1 -0
  125. package/dist/src/hooks/useWatchTransferEvents.js +63 -0
  126. package/dist/src/hooks/useWatchTransferEvents.js.map +1 -0
  127. package/dist/src/index.d.ts +1 -1
  128. package/dist/src/index.d.ts.map +1 -1
  129. package/dist/src/index.js +1 -1
  130. package/dist/src/index.js.map +1 -1
  131. package/dist/src/lib/contracts/index.d.ts +13 -0
  132. package/dist/src/lib/contracts/index.d.ts.map +1 -0
  133. package/dist/src/lib/contracts/index.js +62 -0
  134. package/dist/src/lib/contracts/index.js.map +1 -0
  135. package/dist/src/lib/contracts/priceOracle.d.ts +43 -0
  136. package/dist/src/lib/contracts/priceOracle.d.ts.map +1 -0
  137. package/dist/src/lib/contracts/priceOracle.js +52 -0
  138. package/dist/src/lib/contracts/priceOracle.js.map +1 -0
  139. package/dist/src/provider.js +1 -1
  140. package/dist/src/provider.js.map +1 -1
  141. package/dist/src/stores/connectorStore.d.ts +12 -0
  142. package/dist/src/stores/connectorStore.d.ts.map +1 -0
  143. package/dist/src/stores/connectorStore.js +13 -0
  144. package/dist/src/stores/connectorStore.js.map +1 -0
  145. package/dist/src/stores/dropdownStore copy.d.ts +12 -0
  146. package/dist/src/stores/dropdownStore copy.d.ts.map +1 -0
  147. package/dist/src/stores/dropdownStore copy.js +13 -0
  148. package/dist/src/stores/dropdownStore copy.js.map +1 -0
  149. package/dist/src/stores/dropdownStore.d.ts +12 -0
  150. package/dist/src/stores/dropdownStore.d.ts.map +1 -0
  151. package/dist/src/stores/dropdownStore.js +13 -0
  152. package/dist/src/stores/dropdownStore.js.map +1 -0
  153. package/dist/src/utils/address.d.ts +1 -1
  154. package/dist/src/utils/address.d.ts.map +1 -1
  155. package/dist/src/utils/address.js +2 -0
  156. package/dist/src/utils/address.js.map +1 -1
  157. package/dist/src/utils/address.test.js +8 -5
  158. package/dist/src/utils/address.test.js.map +1 -1
  159. package/dist/src/utils/assets.d.ts +145 -0
  160. package/dist/src/utils/assets.d.ts.map +1 -0
  161. package/dist/src/utils/assets.js +100 -0
  162. package/dist/src/utils/assets.js.map +1 -0
  163. package/dist/src/utils/assets.test.d.ts +2 -0
  164. package/dist/src/utils/assets.test.d.ts.map +1 -0
  165. package/dist/src/utils/assets.test.js +46 -0
  166. package/dist/src/utils/assets.test.js.map +1 -0
  167. package/dist/src/utils/cryptoAssets.d.ts +17 -1
  168. package/dist/src/utils/cryptoAssets.d.ts.map +1 -1
  169. package/dist/src/utils/cryptoAssets.js +87 -31
  170. package/dist/src/utils/cryptoAssets.js.map +1 -1
  171. package/dist/src/utils/cryptoAssets.test.js +51 -33
  172. package/dist/src/utils/cryptoAssets.test.js.map +1 -1
  173. package/dist/src/utils/currency.d.ts +8 -0
  174. package/dist/src/utils/currency.d.ts.map +1 -1
  175. package/dist/src/utils/currency.js +11 -0
  176. package/dist/src/utils/currency.js.map +1 -1
  177. package/dist/src/utils/currency.test.js +1 -0
  178. package/dist/src/utils/currency.test.js.map +1 -1
  179. package/dist/src/utils/numbers.d.ts +32 -17
  180. package/dist/src/utils/numbers.d.ts.map +1 -1
  181. package/dist/src/utils/numbers.js +84 -33
  182. package/dist/src/utils/numbers.js.map +1 -1
  183. package/dist/src/utils/numbers.test.js +124 -22
  184. package/dist/src/utils/numbers.test.js.map +1 -1
  185. package/package.json +11 -9
  186. package/src/api/auth.ts +3 -1
  187. package/src/api/client.ts +11 -2
  188. package/src/api/portal.ts +11 -14
  189. package/src/components/Dropdown/ConnectedTrigger.tsx +52 -32
  190. package/src/components/Dropdown/Content.tsx +69 -113
  191. package/src/components/Dropdown/DisconnectedTrigger.tsx +2 -1
  192. package/src/components/Dropdown/Dropdown.tsx +86 -19
  193. package/src/components/Dropdown/ListingItem.tsx +80 -0
  194. package/src/components/Dropdown/NestedViewLayout.tsx +75 -0
  195. package/src/components/Dropdown/README.md +13 -18
  196. package/src/components/Dropdown/Receive/Receive.tsx +119 -0
  197. package/src/components/Dropdown/Root/AccountAddressActions.tsx +101 -0
  198. package/src/components/Dropdown/Root/AccountAssetItem.tsx +26 -0
  199. package/src/components/Dropdown/Root/AccountBalance.tsx +30 -0
  200. package/src/components/Dropdown/Root/AccountOtherAssets.tsx +68 -0
  201. package/src/components/Dropdown/Root/Root.tsx +147 -0
  202. package/src/components/Dropdown/Root/WalletAddress.tsx +128 -0
  203. package/src/components/Dropdown/{WelcomeBlock.tsx → Root/WelcomeBlock.tsx} +5 -6
  204. package/src/components/Dropdown/TestnetTopBanner.tsx +32 -0
  205. package/src/config.ts +77 -20
  206. package/src/constants.ts +12 -4
  207. package/src/hooks/index.ts +6 -0
  208. package/src/hooks/useAssetsConversionRates.ts +97 -0
  209. package/src/hooks/useAuthenticateWithWallet.ts +8 -11
  210. package/src/hooks/useBorrowData.ts +181 -0
  211. package/src/hooks/useDropdownData.ts +119 -97
  212. package/src/hooks/useRefreshPassport.ts +56 -0
  213. package/src/hooks/useTokensBalances.ts +187 -0
  214. package/src/hooks/useWalletAccount.ts +33 -19
  215. package/src/hooks/useWatchTransferEvents.ts +74 -0
  216. package/src/index.ts +11 -1
  217. package/src/lib/contracts/index.ts +92 -0
  218. package/src/lib/contracts/priceOracle.ts +53 -0
  219. package/src/provider.ts +1 -1
  220. package/src/stores/dropdownStore.ts +20 -0
  221. package/src/utils/address.test.ts +10 -6
  222. package/src/utils/address.ts +5 -3
  223. package/src/utils/cryptoAssets.test.ts +57 -37
  224. package/src/utils/cryptoAssets.ts +113 -35
  225. package/src/utils/currency.test.ts +2 -0
  226. package/src/utils/currency.ts +21 -0
  227. package/src/utils/numbers.test.ts +154 -23
  228. package/src/utils/numbers.ts +112 -34
  229. package/dist/src/components/Dropdown/AccountAddress.d.ts +0 -8
  230. package/dist/src/components/Dropdown/AccountAddress.d.ts.map +0 -1
  231. package/dist/src/components/Dropdown/AccountAddress.js.map +0 -1
  232. package/dist/src/components/Dropdown/AccountAssets.d.ts +0 -14
  233. package/dist/src/components/Dropdown/AccountAssets.d.ts.map +0 -1
  234. package/dist/src/components/Dropdown/AccountAssets.js +0 -44
  235. package/dist/src/components/Dropdown/AccountAssets.js.map +0 -1
  236. package/dist/src/components/Dropdown/AccountBalance.d.ts.map +0 -1
  237. package/dist/src/components/Dropdown/AccountBalance.js +0 -18
  238. package/dist/src/components/Dropdown/AccountBalance.js.map +0 -1
  239. package/dist/src/components/Dropdown/WelcomeBlock.d.ts.map +0 -1
  240. package/dist/src/components/Dropdown/WelcomeBlock.js.map +0 -1
  241. package/dist/src/hooks/useAssetsUSDConversion.d.ts +0 -8
  242. package/dist/src/hooks/useAssetsUSDConversion.d.ts.map +0 -1
  243. package/dist/src/hooks/useAssetsUSDConversion.js +0 -21
  244. package/dist/src/hooks/useAssetsUSDConversion.js.map +0 -1
  245. package/src/components/Dropdown/AccountAddress.tsx +0 -111
  246. package/src/components/Dropdown/AccountAssets.tsx +0 -110
  247. package/src/components/Dropdown/AccountBalance.tsx +0 -38
  248. package/src/hooks/useAssetsUSDConversion.ts +0 -31
@@ -1,42 +1,68 @@
1
1
  import { StatefulPopover, useStyletron, } from "@mezo-org/mezo-clay";
2
2
  import { useConnectModal } from "@rainbow-me/rainbowkit";
3
- import React from "react";
3
+ import React, { useEffect, useMemo } from "react";
4
+ import { useDisconnect } from "wagmi";
4
5
  import DefaultAvatar from "../../assets/DefaultAvatar";
5
- import useDropdownData from "../../hooks/useDropdownData";
6
6
  import useWalletAccount from "../../hooks/useWalletAccount";
7
7
  import ConnectedTrigger from "./ConnectedTrigger";
8
8
  import Content from "./Content";
9
9
  import DisconnectedTrigger from "./DisconnectedTrigger";
10
+ import { useSignInWithWallet } from "../../hooks";
11
+ import useDropdownData from "../../hooks/useDropdownData";
10
12
  /**
11
13
  * Passport Dropdown component that displays user's wallet and assets information.
12
14
  * @param {DropdownProps} props - Component props.
13
15
  * @returns {JSX.Element}
14
16
  */
15
17
  export function Dropdown(props) {
16
- const { placement = "bottomRight", animateOutTime = 120, onSignInClick, evmNativeAssets, matsnetAssets, ...restProps } = props;
18
+ const { placement = "bottomRight", animateOutTime = 120, onSignIn, onSignOut, overrides, triggerProps, onOtherAssetsClick, accountDataRefetchInterval, nativeBalanceRefetchInterval, ...restProps } = props;
17
19
  const [, theme] = useStyletron();
18
- const dropdownData = useDropdownData({ evmNativeAssets, matsnetAssets });
20
+ const data = useDropdownData({
21
+ accountDataRefetchInterval,
22
+ nativeBalanceRefetchInterval,
23
+ });
24
+ const isCriticalDropdownDataLoaded = useMemo(() => Boolean(data.mezoId && data.accountAddress && data.walletAddress), [data]);
19
25
  const { openConnectModal } = useConnectModal();
20
26
  const { isConnected } = useWalletAccount();
21
- if (!dropdownData || !isConnected) {
27
+ const { signInWithWalletAsync, isPending } = useSignInWithWallet();
28
+ const { disconnectAsync } = useDisconnect();
29
+ useEffect(() => {
30
+ if (onSignIn)
31
+ return;
32
+ const handleSignIn = async () => {
33
+ if (!isConnected)
34
+ return;
35
+ try {
36
+ await signInWithWalletAsync();
37
+ }
38
+ catch (error) {
39
+ await disconnectAsync();
40
+ }
41
+ };
42
+ handleSignIn();
43
+ }, [disconnectAsync, isConnected, onSignIn, signInWithWalletAsync]);
44
+ if (!isConnected || !isCriticalDropdownDataLoaded) {
22
45
  return (React.createElement(DisconnectedTrigger
23
46
  // If connect wallet flow is not provided it fallbacks to RainbowKit's
24
47
  // connect modal
25
48
  , {
26
49
  // If connect wallet flow is not provided it fallbacks to RainbowKit's
27
50
  // connect modal
28
- onClick: onSignInClick || openConnectModal }, "Sign in"));
51
+ onClick: onSignIn || openConnectModal, isLoading: isPending, ...triggerProps?.signedOut }, "Sign in"));
29
52
  }
30
- return (React.createElement(StatefulPopover, { content: React.createElement(Content, { data: dropdownData }), placement: placement, animateOutTime: animateOutTime, overrides: {
53
+ return (React.createElement(StatefulPopover, { content: React.createElement(Content, { mezoId: data.mezoId, matsBalance: data.matsBalance, accountAddress: data.accountAddress, walletAddress: data.walletAddress, walletType: data.walletType, usdTotalBalance: data.usdTotalBalance, usdTroveDebt: data.usdTroveDebt, usdCollateral: data.usdCollateral, assets: data.assets, otherAssetsCount: data.otherAssetsCount, otherAssetsUsdTotal: data.otherAssetsUsdTotal, onSignOut: onSignOut, onOtherAssetsClick: onOtherAssetsClick }), placement: placement, animateOutTime: animateOutTime, overrides: {
54
+ ...overrides,
31
55
  Body: {
56
+ ...overrides?.Body,
32
57
  style: {
33
- minWidth: "378px",
58
+ width: "396px",
34
59
  borderRadius: theme.borders.radius500,
35
60
  boxShadow: theme.lighting.shadow500,
36
61
  overflow: "hidden",
62
+ ...overrides?.Body?.style,
37
63
  },
38
64
  },
39
65
  }, ...restProps },
40
- React.createElement(ConnectedTrigger, { avatar: React.createElement(DefaultAvatar, null) })));
66
+ React.createElement(ConnectedTrigger, { avatar: React.createElement(DefaultAvatar, null), ...triggerProps?.signedIn })));
41
67
  }
42
68
  //# sourceMappingURL=Dropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../../../../src/components/Dropdown/Dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEf,YAAY,GACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,aAAa,MAAM,4BAA4B,CAAA;AACtD,OAAO,eAEN,MAAM,6BAA6B,CAAA;AACpC,OAAO,gBAAgB,MAAM,8BAA8B,CAAA;AAC3D,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AACjD,OAAO,OAAO,MAAM,WAAW,CAAA;AAC/B,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AAWvD;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,MAAM,EACJ,SAAS,GAAG,aAAa,EACzB,cAAc,GAAG,GAAG,EACpB,aAAa,EACb,eAAe,EACf,aAAa,EACb,GAAG,SAAS,EACb,GAAG,KAAK,CAAA;IAET,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,EAAE,CAAA;IAEhC,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC,CAAA;IAExE,MAAM,EAAE,gBAAgB,EAAE,GAAG,eAAe,EAAE,CAAA;IAE9C,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,EAAE,CAAA;IAE1C,IAAI,CAAC,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC;QAClC,OAAO,CACL,oBAAC,mBAAmB;QAClB,sEAAsE;QACtE,gBAAgB;;YADhB,sEAAsE;YACtE,gBAAgB;YAChB,OAAO,EAAE,aAAa,IAAI,gBAAgB,cAGtB,CACvB,CAAA;IACH,CAAC;IAED,OAAO,CACL,oBAAC,eAAe,IACd,OAAO,EAAE,oBAAC,OAAO,IAAC,IAAI,EAAE,YAAY,GAAI,EACxC,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE;YACT,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,QAAQ,EAAE,OAAO;oBACjB,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS;oBACrC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;oBACnC,QAAQ,EAAE,QAAQ;iBACnB;aACF;SACF,KACG,SAAS;QAEb,oBAAC,gBAAgB,IAAC,MAAM,EAAE,oBAAC,aAAa,OAAG,GAAI,CAC/B,CACnB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../../../../src/components/Dropdown/Dropdown.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { IconProps, ListItemProps } from "@mezo-org/mezo-clay";
2
+ import React, { FC } from "react";
3
+ type ListingItemProps = {
4
+ icon?: FC<IconProps>;
5
+ label: string;
6
+ subLabel?: string;
7
+ value: string;
8
+ subValue?: string;
9
+ overrides?: ListItemProps["overrides"];
10
+ };
11
+ export default function ListingItem(props: ListingItemProps): React.JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=ListingItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListingItem.d.ts","sourceRoot":"","sources":["../../../../src/components/Dropdown/ListingItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,SAAS,EACT,aAAa,EACd,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAUjC,KAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;CACvC,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK,EAAE,gBAAgB,qBAoD1D"}
@@ -0,0 +1,34 @@
1
+ import { ListItem, ListItemLabel, mergeOverrides, } from "@mezo-org/mezo-clay";
2
+ import React from "react";
3
+ const SHARED_LABEL_OVERRIDES = {
4
+ LabelDescription: {
5
+ style: {
6
+ color: "#4B4B4B", // contentSecondary
7
+ },
8
+ },
9
+ };
10
+ export default function ListingItem(props) {
11
+ const { icon: Icon, label, subLabel = "", value, subValue = "", overrides, } = props;
12
+ return (React.createElement(ListItem, { artwork: Icon,
13
+ // eslint-disable-next-line react/no-unstable-nested-components
14
+ endEnhancer: () => (React.createElement(ListItemLabel, { description: subValue, overrides: mergeOverrides({
15
+ LabelRoot: {
16
+ style: {
17
+ textAlign: "right",
18
+ },
19
+ },
20
+ }, SHARED_LABEL_OVERRIDES) }, value)), overrides: mergeOverrides({
21
+ Root: {
22
+ style: {
23
+ backgroundColor: "transparent",
24
+ },
25
+ },
26
+ Content: {
27
+ style: {
28
+ border: 0,
29
+ },
30
+ },
31
+ }, overrides) },
32
+ React.createElement(ListItemLabel, { description: subLabel, overrides: SHARED_LABEL_OVERRIDES }, label)));
33
+ }
34
+ //# sourceMappingURL=ListingItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListingItem.js","sourceRoot":"","sources":["../../../../src/components/Dropdown/ListingItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,aAAa,EACb,cAAc,GAIf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAa,MAAM,OAAO,CAAA;AAEjC,MAAM,sBAAsB,GAAoC;IAC9D,gBAAgB,EAAE;QAChB,KAAK,EAAE;YACL,KAAK,EAAE,SAAS,EAAE,mBAAmB;SACtC;KACF;CACF,CAAA;AAWD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAuB;IACzD,MAAM,EACJ,IAAI,EAAE,IAAI,EACV,KAAK,EACL,QAAQ,GAAG,EAAE,EACb,KAAK,EACL,QAAQ,GAAG,EAAE,EACb,SAAS,GACV,GAAG,KAAK,CAAA;IAET,OAAO,CACL,oBAAC,QAAQ,IACP,OAAO,EAAE,IAAI;QACb,+DAA+D;QAC/D,WAAW,EAAE,GAAG,EAAE,CAAC,CACjB,oBAAC,aAAa,IACZ,WAAW,EAAE,QAAQ,EACrB,SAAS,EAAE,cAAc,CACvB;gBACE,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,SAAS,EAAE,OAAO;qBACnB;iBACF;aACF,EACD,sBAAsB,CACvB,IAEA,KAAK,CACQ,CACjB,EACD,SAAS,EAAE,cAAc,CACvB;YACE,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,eAAe,EAAE,aAAa;iBAC/B;aACF;YACD,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,CAAC;iBACV;aACF;SACF,EACD,SAAS,CACV;QAED,oBAAC,aAAa,IAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,IACpE,KAAK,CACQ,CACP,CACZ,CAAA;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React, { ReactNode } from "react";
2
+ type NestedViewLayoutProps = {
3
+ children: ReactNode;
4
+ };
5
+ declare function NestedViewLayout(props: NestedViewLayoutProps): React.JSX.Element;
6
+ export default NestedViewLayout;
7
+ //# sourceMappingURL=NestedViewLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NestedViewLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/Dropdown/NestedViewLayout.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAe,MAAM,OAAO,CAAA;AAUrD,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,SAAS,CAAA;CACpB,CAAA;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,qBAmDrD;AAED,eAAe,gBAAgB,CAAA"}
@@ -0,0 +1,34 @@
1
+ import { ArrowLeft, Block, ButtonIcon, LabelMedium, useStyletron, } from "@mezo-org/mezo-clay";
2
+ import React, { useCallback } from "react";
3
+ import useDropdownStore, { DropdownView } from "../../stores/dropdownStore";
4
+ const getHeaderTitle = (view) => {
5
+ const titleMap = {
6
+ [DropdownView.RECEIVE]: "Receive",
7
+ };
8
+ return titleMap[view];
9
+ };
10
+ function NestedViewLayout(props) {
11
+ const { children, ...restProps } = props;
12
+ const currentView = useDropdownStore((state) => state.view);
13
+ const setView = useDropdownStore((state) => state.setView);
14
+ const isNested = useDropdownStore((state) => state.isNestedView());
15
+ const [, theme] = useStyletron();
16
+ const handleOnButtonClick = useCallback(() => {
17
+ setView(DropdownView.ROOT);
18
+ }, [setView]);
19
+ return (React.createElement(Block, { display: "flex", flexDirection: "column", minHeight: "588px", padding: theme.sizing.scale700, paddingTop: 0, ...restProps },
20
+ React.createElement(Block, { display: "flex", alignItems: "center", paddingTop: theme.sizing.scale600, paddingBottom: theme.sizing.scale600, marginBottom: theme.sizing.scale300 },
21
+ React.createElement(ButtonIcon, { onClick: handleOnButtonClick, shape: "circle", size: "small", overrides: {
22
+ BaseButton: {
23
+ style: {
24
+ background: theme.colors.backgroundPrimary,
25
+ marginRight: isNested ? theme.sizing.scale300 : undefined,
26
+ },
27
+ },
28
+ } },
29
+ React.createElement(ArrowLeft, { size: theme.sizing.scale700 })),
30
+ React.createElement(LabelMedium, null, getHeaderTitle(currentView))),
31
+ children));
32
+ }
33
+ export default NestedViewLayout;
34
+ //# sourceMappingURL=NestedViewLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NestedViewLayout.js","sourceRoot":"","sources":["../../../../src/components/Dropdown/NestedViewLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,EACL,UAAU,EACV,WAAW,EACX,YAAY,GACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,EAAa,WAAW,EAAE,MAAM,OAAO,CAAA;AACrD,OAAO,gBAAgB,EAAE,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE3E,MAAM,cAAc,GAAG,CAAC,IAAkB,EAAE,EAAE;IAC5C,MAAM,QAAQ,GAA0C;QACtD,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,SAAS;KAClC,CAAA;IACD,OAAO,QAAQ,CAAC,IAAI,CAAE,CAAA;AACxB,CAAC,CAAA;AAMD,SAAS,gBAAgB,CAAC,KAA4B;IACpD,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAA;IAExC,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC1D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAA;IAElE,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,EAAE,CAAA;IAEhC,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAEb,OAAO,CACL,oBAAC,KAAK,IACJ,OAAO,EAAC,MAAM,EACd,aAAa,EAAC,QAAQ,EACtB,SAAS,EAAC,OAAO,EACjB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAC9B,UAAU,EAAE,CAAC,KACT,SAAS;QAEb,oBAAC,KAAK,IACJ,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EACjC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EACpC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;YAEnC,oBAAC,UAAU,IACT,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAC,QAAQ,EACd,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE;oBACT,UAAU,EAAE;wBACV,KAAK,EAAE;4BACL,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,iBAAiB;4BAC1C,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;yBAC1D;qBACF;iBACF;gBAED,oBAAC,SAAS,IAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAI,CAC/B;YAEb,oBAAC,WAAW,QAAE,cAAc,CAAC,WAAW,CAAC,CAAe,CAClD;QAEP,QAAQ,CACH,CACT,CAAA;AACH,CAAC;AAED,eAAe,gBAAgB,CAAA"}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ type ReceiveProps = {
3
+ address: string;
4
+ };
5
+ declare function Receive(props: ReceiveProps): React.JSX.Element;
6
+ export default Receive;
7
+ //# sourceMappingURL=Receive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Receive.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Receive/Receive.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAQpD,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,iBAAS,OAAO,CAAC,KAAK,EAAE,YAAY,qBAgGnC;AAED,eAAe,OAAO,CAAA"}
@@ -0,0 +1,53 @@
1
+ import { Block, Button, LabelMedium, MonoLabelXSmall, ParagraphSmall, useStyletron, } from "@mezo-org/mezo-clay";
2
+ import React, { useCallback, useState } from "react";
3
+ import { useCopyToClipboard } from "usehooks-ts";
4
+ import { QRCodeSVG } from "qrcode.react";
5
+ import NestedViewLayout from "../NestedViewLayout";
6
+ import { getAddressExplorerUrl } from "../../../utils/address";
7
+ import { usePassportContext } from "../../../hooks/usePassportContext";
8
+ import useWalletAccount from "../../../hooks/useWalletAccount";
9
+ function Receive(props) {
10
+ const { address } = props;
11
+ const { environment } = usePassportContext();
12
+ const blockExplorerUrl = getAddressExplorerUrl(address, "mezo", environment === "testnet");
13
+ const [, theme] = useStyletron();
14
+ const [, copy] = useCopyToClipboard();
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
+ const { networkFamily } = useWalletAccount();
24
+ return (React.createElement(NestedViewLayout, null,
25
+ React.createElement(LabelMedium, null, "Your Mezo Address"),
26
+ React.createElement(ParagraphSmall, { marginTop: theme.sizing.scale300, marginBottom: theme.sizing.scale600, color: theme.colors.contentTertiary }, networkFamily === "bitcoin" ? (React.createElement(React.Fragment, null, "Mezo automatically created a smart account that's fully controlled by your connected Bitcoin wallet. Use this address to receive assets on Mezo.")) : (React.createElement(React.Fragment, null, "Your connected wallet address is your Mezo address. Use this address to receive assets on Mezo."))),
27
+ React.createElement(Block, { as: QRCodeSVG, value: address, flex: 1, overrides: {
28
+ Block: {
29
+ style: {
30
+ aspectRatio: 1,
31
+ width: "fit-content",
32
+ margin: "0 auto",
33
+ },
34
+ },
35
+ } }),
36
+ React.createElement(MonoLabelXSmall, { marginTop: theme.sizing.scale800, marginBottom: theme.sizing.scale800, overrides: {
37
+ Block: {
38
+ style: {
39
+ textAlign: "center",
40
+ },
41
+ },
42
+ } }, address),
43
+ React.createElement(Button, { onClick: handleCopyAddress, overrides: {
44
+ BaseButton: {
45
+ style: {
46
+ marginBottom: theme.sizing.scale400,
47
+ },
48
+ },
49
+ } }, isCopiedMessageVisible ? "Copied!" : "Copy Mezo Address"),
50
+ React.createElement(Button, { kind: "secondary", "$as": "a", href: blockExplorerUrl, target: "_blank" }, "View Explorer")));
51
+ }
52
+ export default Receive;
53
+ //# sourceMappingURL=Receive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Receive.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Receive/Receive.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ type AccountAddressActionsProps = {
3
+ address: string;
4
+ };
5
+ export default function AccountAddressActions(props: AccountAddressActionsProps): React.JSX.Element;
6
+ export {};
7
+ //# sourceMappingURL=AccountAddressActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountAddressActions.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountAddressActions.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAK1C,KAAK,0BAA0B,GAAG;IAChC,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAqBD,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAC3C,KAAK,EAAE,0BAA0B,qBA+DlC"}
@@ -0,0 +1,48 @@
1
+ import { ArrowNarrowLeft, Block, Button, Cube01, useStyletron, } from "@mezo-org/mezo-clay";
2
+ import React, { useCallback } from "react";
3
+ import { usePassportContext } from "../../../hooks/usePassportContext";
4
+ import { getAddressExplorerUrl } from "../../../utils/address";
5
+ import useDropdownStore, { DropdownView } from "../../../stores/dropdownStore";
6
+ const buttonStartEnhancerSize = 12;
7
+ const commonButtonProps = {
8
+ kind: "secondary",
9
+ size: "xsmall",
10
+ overrides: {
11
+ BaseButton: {
12
+ style: {
13
+ flex: 1,
14
+ },
15
+ },
16
+ StartEnhancer: {
17
+ style: {
18
+ stroke: "currentColor",
19
+ },
20
+ },
21
+ },
22
+ };
23
+ export default function AccountAddressActions(props) {
24
+ const { address } = props;
25
+ const [, theme] = useStyletron();
26
+ const { environment } = usePassportContext();
27
+ const blockExplorerUrl = getAddressExplorerUrl(address, "mezo", environment === "testnet");
28
+ const setDropdownView = useDropdownStore((state) => state.setView);
29
+ const handleReceiveClick = useCallback(() => {
30
+ setDropdownView(DropdownView.RECEIVE);
31
+ }, [setDropdownView]);
32
+ return (React.createElement(Block, { display: "flex", alignItems: "center", backgroundColor: "transparent", marginBottom: theme.sizing.scale600, overrides: {
33
+ Block: {
34
+ style: {
35
+ gap: theme.sizing.scale600,
36
+ },
37
+ },
38
+ } },
39
+ React.createElement(Button, { startEnhancer: React.createElement(Cube01, { size: buttonStartEnhancerSize }), "$as": "a", href: blockExplorerUrl, target: "_blank", ...commonButtonProps }, "View Mezo Explorer"),
40
+ React.createElement(Button, { onClick: handleReceiveClick, startEnhancer: React.createElement(ArrowNarrowLeft, { size: buttonStartEnhancerSize, overrides: {
41
+ Svg: {
42
+ style: {
43
+ transform: "rotate(-45deg)",
44
+ },
45
+ },
46
+ } }), ...commonButtonProps }, "Receive")));
47
+ }
48
+ //# sourceMappingURL=AccountAddressActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountAddressActions.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountAddressActions.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,EACL,MAAM,EAEN,MAAM,EACN,YAAY,GACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,gBAAgB,EAAE,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAM9E,MAAM,uBAAuB,GAAG,EAAE,CAAA;AAElC,MAAM,iBAAiB,GAAyB;IAC9C,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE;QACT,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,CAAC;aACR;SACF;QACD,aAAa,EAAE;YACb,KAAK,EAAE;gBACL,MAAM,EAAE,cAAc;aACvB;SACF;KACF;CACF,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAC3C,KAAiC;IAEjC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IAEzB,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,EAAE,CAAA;IAEhC,MAAM,EAAE,WAAW,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAC5C,MAAM,gBAAgB,GAAG,qBAAqB,CAC5C,OAAO,EACP,MAAM,EACN,WAAW,KAAK,SAAS,CAC1B,CAAA;IAED,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAElE,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1C,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAA;IAErB,OAAO,CACL,oBAAC,KAAK,IACJ,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,eAAe,EAAC,aAAa,EAC7B,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,MAAM,IACL,aAAa,EAAE,oBAAC,MAAM,IAAC,IAAI,EAAE,uBAAuB,GAAI,SACpD,GAAG,EACP,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAC,QAAQ,KACX,iBAAiB,yBAGd;QAET,oBAAC,MAAM,IACL,OAAO,EAAE,kBAAkB,EAC3B,aAAa,EACX,oBAAC,eAAe,IACd,IAAI,EAAE,uBAAuB,EAC7B,SAAS,EAAE;oBACT,GAAG,EAAE;wBACH,KAAK,EAAE;4BACL,SAAS,EAAE,gBAAgB;yBAC5B;qBACF;iBACF,GACD,KAEA,iBAAiB,cAGd,CACH,CACT,CAAA;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import { CryptoAssetKey } from "../../../utils/cryptoAssets";
3
+ type AccountAssetItemProps = {
4
+ type: CryptoAssetKey;
5
+ amount: string;
6
+ subLabel: string;
7
+ subValue: string;
8
+ };
9
+ export default function AccountAssetItem(props: AccountAssetItemProps): React.JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=AccountAssetItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountAssetItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountAssetItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,cAAc,EAAkB,MAAM,6BAA6B,CAAA;AAG5E,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,cAAc,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,qBAcpE"}
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { getCryptoAsset } from "../../../utils/cryptoAssets";
3
+ import ListingItem from "../ListingItem";
4
+ export default function AccountAssetItem(props) {
5
+ const { type, amount, subLabel, subValue } = props;
6
+ const { icon: Icon, name: label } = getCryptoAsset(type);
7
+ return (React.createElement(ListingItem, { icon: Icon, label: label, subLabel: subLabel, value: amount, subValue: subValue }));
8
+ }
9
+ //# sourceMappingURL=AccountAssetItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountAssetItem.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountAssetItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAkB,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5E,OAAO,WAAW,MAAM,gBAAgB,CAAA;AASxC,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,KAA4B;IACnE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IAElD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;IAExD,OAAO,CACL,oBAAC,WAAW,IACV,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAA;AACH,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  type AccountBalanceProps = {
3
- amount: number;
3
+ totalBalance: string;
4
+ totalDebt: string;
4
5
  };
5
6
  export default function AccountBalance(props: AccountBalanceProps): React.JSX.Element;
6
7
  export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountBalance.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountBalance.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,KAAK,mBAAmB,GAAG;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,mBAAmB,qBAoBhE"}
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import { useStyletron } from "@mezo-org/mezo-clay";
3
+ import ListingItem from "../ListingItem";
4
+ export default function AccountBalance(props) {
5
+ const { totalBalance, totalDebt } = props;
6
+ const [, theme] = useStyletron();
7
+ return (React.createElement(ListingItem, { label: "Total assets", value: totalBalance, subLabel: "Total liabilities", subValue: totalDebt, overrides: {
8
+ Root: {
9
+ style: {
10
+ borderBottom: `1px solid ${theme.colors.borderInverseSelected}`,
11
+ },
12
+ },
13
+ } }));
14
+ }
15
+ //# sourceMappingURL=AccountBalance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountBalance.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountBalance.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,WAAW,MAAM,gBAAgB,CAAA;AAOxC,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAA0B;IAC/D,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IAEzC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,EAAE,CAAA;IAEhC,OAAO,CACL,oBAAC,WAAW,IACV,KAAK,EAAC,cAAc,EACpB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAC,mBAAmB,EAC5B,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAE;YACT,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,YAAY,EAAE,aAAa,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE;iBAChE;aACF;SACF,GACD,CACH,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ export default function AccountBTCListing(): "Error" | React.JSX.Element;
3
+ //# sourceMappingURL=AccountBtcListing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountBtcListing.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountBtcListing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,MAAM,CAAC,OAAO,UAAU,iBAAiB,gCAkCxC"}
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ import { BitcoinCircle } from "@mezo-org/mezo-clay";
3
+ import ListingItem from "../ListingItem";
4
+ import { getAsset } from "../../../utils/assets";
5
+ import { useBorrowData } from "../../../hooks/useBorrowData";
6
+ import { formatUsd } from "../../../utils/currency";
7
+ import { useTokensBalances } from "../../../hooks/useTokensBalances";
8
+ export default function AccountBTCListing() {
9
+ const { data: borrowData, isError: isBorrowDataError, isPending: isBorrowDataPending, } = useBorrowData();
10
+ const { data: tokensBalancesData, isError: isTokensBalancesError, isPending: isTokensBalancesPending, } = useTokensBalances();
11
+ if (isTokensBalancesError || isBorrowDataError) {
12
+ return "Error"; // TODO: Render alternative UI
13
+ }
14
+ if (isTokensBalancesPending || isBorrowDataPending) {
15
+ return React.createElement(ListingItem, { isLoading: true });
16
+ }
17
+ const btcBalance = tokensBalancesData.BTC;
18
+ const formattedBtcBalance = formatUsd(btcBalance.usd.formatted);
19
+ const formattedLockedCollateral = formatUsd(borrowData.collateral.formatted);
20
+ return (React.createElement(ListingItem, { icon: BitcoinCircle, label: getAsset("BTC").name, value: formattedBtcBalance, subLabel: "Locked collateral", subValue: formattedLockedCollateral }));
21
+ }
22
+ //# sourceMappingURL=AccountBtcListing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountBtcListing.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountBtcListing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAEpE,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACvC,MAAM,EACJ,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,mBAAmB,GAC/B,GAAG,aAAa,EAAE,CAAA;IAEnB,MAAM,EACJ,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,uBAAuB,GACnC,GAAG,iBAAiB,EAAE,CAAA;IAEvB,IAAI,qBAAqB,IAAI,iBAAiB,EAAE,CAAC;QAC/C,OAAO,OAAO,CAAA,CAAC,8BAA8B;IAC/C,CAAC;IAED,IAAI,uBAAuB,IAAI,mBAAmB,EAAE,CAAC;QACnD,OAAO,oBAAC,WAAW,IAAC,SAAS,SAAG,CAAA;IAClC,CAAC;IAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAA;IACzC,MAAM,mBAAmB,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAC/D,MAAM,yBAAyB,GAAG,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IAE5E,OAAO,CACL,oBAAC,WAAW,IACV,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAC3B,KAAK,EAAE,mBAAmB,EAC1B,QAAQ,EAAC,mBAAmB,EAC5B,QAAQ,EAAE,yBAAyB,GACnC,CACH,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ export default function AccountMusdListing(): "Error" | React.JSX.Element;
3
+ //# sourceMappingURL=AccountMusdListing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountMusdListing.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountMusdListing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,MAAM,CAAC,OAAO,UAAU,kBAAkB,gCAkCzC"}
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ import { MUsdCircle02 } from "@mezo-org/mezo-clay";
3
+ import ListingItem from "../ListingItem";
4
+ import { getAsset } from "../../../utils/assets";
5
+ import { useBorrowData } from "../../../hooks/useBorrowData";
6
+ import { formatUsd } from "../../../utils/currency";
7
+ import { useTokensBalances } from "../../../hooks/useTokensBalances";
8
+ export default function AccountMusdListing() {
9
+ const { data: borrowData, isError: isBorrowDataError, isPending: isBorrowDataPending, } = useBorrowData();
10
+ const { data: tokensBalancesData, isError: isTokensBalancesError, isPending: isTokensBalancesPending, } = useTokensBalances();
11
+ if (isBorrowDataError || isTokensBalancesError) {
12
+ return "Error"; // TODO: Render alternative UI
13
+ }
14
+ if (isBorrowDataPending || isTokensBalancesPending) {
15
+ return React.createElement(ListingItem, { isLoading: true });
16
+ }
17
+ const musdBalance = tokensBalancesData.MUSD;
18
+ const formattedMusdBalance = formatUsd(musdBalance.usd.formatted);
19
+ const formattedLockedCollateral = formatUsd(borrowData.troveDebt.formatted);
20
+ return (React.createElement(ListingItem, { icon: MUsdCircle02, label: getAsset("MUSD").name, value: formattedMusdBalance, subLabel: "Borrowed", subValue: formattedLockedCollateral }));
21
+ }
22
+ //# sourceMappingURL=AccountMusdListing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountMusdListing.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountMusdListing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAEpE,MAAM,CAAC,OAAO,UAAU,kBAAkB;IACxC,MAAM,EACJ,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,mBAAmB,GAC/B,GAAG,aAAa,EAAE,CAAA;IAEnB,MAAM,EACJ,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,uBAAuB,GACnC,GAAG,iBAAiB,EAAE,CAAA;IAEvB,IAAI,iBAAiB,IAAI,qBAAqB,EAAE,CAAC;QAC/C,OAAO,OAAO,CAAA,CAAC,8BAA8B;IAC/C,CAAC;IAED,IAAI,mBAAmB,IAAI,uBAAuB,EAAE,CAAC;QACnD,OAAO,oBAAC,WAAW,IAAC,SAAS,SAAG,CAAA;IAClC,CAAC;IAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAA;IAC3C,MAAM,oBAAoB,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACjE,MAAM,yBAAyB,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IAE3E,OAAO,CACL,oBAAC,WAAW,IACV,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAC5B,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAC,UAAU,EACnB,QAAQ,EAAE,yBAAyB,GACnC,CACH,CAAA;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ type AccountOtherAssetsProps = {
3
+ assetsCount: number;
4
+ assetsUsdTotal: number;
5
+ onClick?: () => void;
6
+ };
7
+ export default function AccountOtherAssets(props: AccountOtherAssetsProps): React.JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=AccountOtherAssets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountOtherAssets.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountOtherAssets.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAA;AAKtC,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,qBAwDxE"}
@@ -0,0 +1,48 @@
1
+ import React, { useMemo } from "react";
2
+ import { Block, useStyletron, CoinsStacked02 } from "@mezo-org/mezo-clay";
3
+ import ListingItem from "../ListingItem";
4
+ import { formatUsd } from "../../../utils/currency";
5
+ export default function AccountOtherAssets(props) {
6
+ const { assetsCount, assetsUsdTotal, onClick } = props;
7
+ const [, theme] = useStyletron();
8
+ const label = useMemo(() => {
9
+ if (assetsCount === 0)
10
+ return "No other assets";
11
+ if (assetsCount === 1)
12
+ return "1 more asset";
13
+ return `${assetsCount} more assets`;
14
+ }, [assetsCount]);
15
+ const formattedAssetsUsdTotal = formatUsd(assetsUsdTotal);
16
+ return (React.createElement(Block, { "aria-label": label, as: "li", overrides: {
17
+ Block: {
18
+ style: {
19
+ listStyle: "none",
20
+ borderTop: `1px solid ${theme.colors.borderInverseSelected}`,
21
+ },
22
+ },
23
+ } },
24
+ React.createElement(ListingItem, { icon: CoinsStacked02, label: label, value: formattedAssetsUsdTotal, overrides: {
25
+ Root: {
26
+ props: {
27
+ $as: "button",
28
+ onClick,
29
+ },
30
+ style: {
31
+ border: 0,
32
+ padding: 0,
33
+ cursor: "pointer",
34
+ },
35
+ },
36
+ ArtworkContainer: {
37
+ style: {
38
+ stroke: theme.colors.contentPrimary,
39
+ },
40
+ },
41
+ Content: {
42
+ style: {
43
+ minHeight: theme.sizing.scale1200,
44
+ },
45
+ },
46
+ } })));
47
+ }
48
+ //# sourceMappingURL=AccountOtherAssets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountOtherAssets.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountOtherAssets.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAQnD,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAA8B;IACvE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IAEtD,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,EAAE,CAAA;IAEhC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,IAAI,WAAW,KAAK,CAAC;YAAE,OAAO,iBAAiB,CAAA;QAC/C,IAAI,WAAW,KAAK,CAAC;YAAE,OAAO,cAAc,CAAA;QAC5C,OAAO,GAAG,WAAW,cAAc,CAAA;IACrC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,MAAM,uBAAuB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAA;IAEzD,OAAO,CACL,oBAAC,KAAK,kBACQ,KAAK,EACjB,EAAE,EAAC,IAAI,EACP,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,KAAK,EAAE;oBACL,SAAS,EAAE,MAAM;oBACjB,SAAS,EAAE,aAAa,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE;iBAC7D;aACF;SACF;QAED,oBAAC,WAAW,IACV,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,uBAAuB,EAC9B,SAAS,EAAE;gBACT,IAAI,EAAE;oBACJ,KAAK,EAAE;wBACL,GAAG,EAAE,QAAQ;wBACb,OAAO;qBACR;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,CAAC;wBACT,OAAO,EAAE,CAAC;wBACV,MAAM,EAAE,SAAS;qBAClB;iBACF;gBACD,gBAAgB,EAAE;oBAChB,KAAK,EAAE;wBACL,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc;qBACpC;iBACF;gBACD,OAAO,EAAE;oBACP,KAAK,EAAE;wBACL,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS;qBAClC;iBACF;aACF,GACD,CACI,CACT,CAAA;AACH,CAAC"}
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import { DetailedCryptoAsset } from "../../../utils/cryptoAssets";
3
+ type RootProps = {
4
+ mezoId: string;
5
+ matsBalance: number;
6
+ accountAddress: string;
7
+ walletAddress: string;
8
+ walletType: "bitcoin" | "evm";
9
+ usdTotalBalance: number;
10
+ usdTroveDebt: number;
11
+ usdCollateral: number;
12
+ assets: {
13
+ btc: DetailedCryptoAsset;
14
+ musd: DetailedCryptoAsset;
15
+ };
16
+ otherAssetsCount: number;
17
+ otherAssetsUsdTotal: number;
18
+ onSignOut?: () => void;
19
+ onOtherAssetsClick?: () => void;
20
+ };
21
+ export default function Root(props: RootProps): React.JSX.Element;
22
+ export {};
23
+ //# sourceMappingURL=Root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Root.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/Root.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAQ1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAKjE,KAAK,SAAS,GAAG;IACf,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,SAAS,GAAG,KAAK,CAAA;IAC7B,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE;QACN,GAAG,EAAE,mBAAmB,CAAA;QACxB,IAAI,EAAE,mBAAmB,CAAA;KAC1B,CAAA;IACD,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,SAAS,qBAiH5C"}