@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,111 +0,0 @@
1
- import {
2
- Block,
3
- Copy03 as CopyIcon,
4
- LinkExternal02 as LinkIcon,
5
- ParagraphSmall,
6
- useStyletron,
7
- } from "@mezo-org/mezo-clay"
8
- import React from "react"
9
- import { useCopyToClipboard } from "usehooks-ts"
10
- import { usePassportContext } from "../../hooks/usePassportContext"
11
- import { getAddressExplorerUrl, trimAddress } from "../../utils/address"
12
- import { getCryptoAsset } from "../../utils/cryptoAssets"
13
-
14
- type AccountAddressProps = {
15
- address: string
16
- type: "bitcoin" | "evm"
17
- }
18
-
19
- // TODO: Add visual feedback on copy
20
-
21
- export default function AccountAddress(props: AccountAddressProps) {
22
- const { address, type } = props
23
-
24
- const { environment } = usePassportContext()
25
- const blockExplorerUrl = getAddressExplorerUrl(
26
- address,
27
- type,
28
- environment === "testnet",
29
- )
30
- const trimmedAddress = trimAddress(address)
31
- const { icon: accountIcon } = getCryptoAsset(
32
- type === "bitcoin" ? "btc" : "eth",
33
- )
34
-
35
- const [, theme] = useStyletron()
36
-
37
- const [, copy] = useCopyToClipboard()
38
-
39
- return (
40
- <Block
41
- as="button"
42
- onClick={() => copy(address)}
43
- display="flex"
44
- alignItems="center"
45
- backgroundColor="transparent"
46
- padding={`${theme.sizing.scale600} ${theme.sizing.scale500}`}
47
- overrides={{
48
- Block: {
49
- style: {
50
- borderWidth: 0,
51
- cursor: "pointer",
52
- ":hover": {
53
- backgroundColor: theme.colors.backgroundTertiary,
54
- },
55
- },
56
- },
57
- }}
58
- >
59
- <Block as={accountIcon} size={theme.sizing.scale600} />
60
- <Block
61
- as="a"
62
- marginLeft={theme.sizing.scale300}
63
- href={blockExplorerUrl}
64
- target="_blank"
65
- overrides={{
66
- Block: {
67
- style: {
68
- color: "inherit",
69
- textDecoration: "none",
70
- ":hover": {
71
- textDecoration: "underline",
72
- },
73
- },
74
- },
75
- }}
76
- >
77
- <ParagraphSmall
78
- display="flex"
79
- alignItems="center"
80
- margin={0}
81
- color={theme.colors.gray800}
82
- >
83
- {trimmedAddress}
84
- <LinkIcon
85
- display="inline"
86
- size={theme.sizing.scale550}
87
- overrides={{
88
- Svg: {
89
- style: {
90
- stroke: "currentColor",
91
- marginLeft: theme.sizing.scale200,
92
- },
93
- },
94
- }}
95
- />
96
- </ParagraphSmall>
97
- </Block>
98
- <CopyIcon
99
- size={theme.sizing.scale550}
100
- overrides={{
101
- Svg: {
102
- style: {
103
- marginLeft: "auto",
104
- stroke: "currentColor",
105
- },
106
- },
107
- }}
108
- />
109
- </Block>
110
- )
111
- }
@@ -1,110 +0,0 @@
1
- import {
2
- Block,
3
- LabelSmall,
4
- ParagraphSmall,
5
- useStyletron,
6
- } from "@mezo-org/mezo-clay"
7
- import React, { useMemo } from "react"
8
- import { CryptoAssetKey, getCryptoAsset } from "../../utils/cryptoAssets"
9
- import { formatUsd } from "../../utils/currency"
10
-
11
- type AccountAssetsProps = {
12
- label: string | React.ReactNode
13
- assets: {
14
- type: CryptoAssetKey
15
- decimals: number
16
- balance: number
17
- balanceInUsd: number
18
- }[]
19
- }
20
-
21
- export default function AccountAssets(props: AccountAssetsProps) {
22
- const { label, assets } = props
23
-
24
- const [, theme] = useStyletron()
25
-
26
- const assetsData = useMemo(
27
- () =>
28
- assets.map((token) => {
29
- const { name, symbol, icon } = getCryptoAsset(token.type)
30
-
31
- return {
32
- ...token,
33
- icon,
34
- label: name,
35
- symbol,
36
- }
37
- }),
38
- [assets],
39
- )
40
-
41
- const labelContent =
42
- typeof label === "string" ? (
43
- <ParagraphSmall margin={0} color={theme.colors.gray800}>
44
- {label}
45
- </ParagraphSmall>
46
- ) : (
47
- label
48
- )
49
-
50
- if (assetsData.length === 0) {
51
- return null
52
- }
53
-
54
- return (
55
- <Block padding={`0 ${theme.sizing.scale500}`}>
56
- <Block margin={`${theme.sizing.scale400} 0`}>{labelContent}</Block>
57
-
58
- <Block
59
- as="ul"
60
- marginBottom={theme.sizing.scale600}
61
- padding={0}
62
- display="flex"
63
- flexDirection="column"
64
- overrides={{
65
- Block: {
66
- style: {
67
- gap: theme.sizing.scale100,
68
- },
69
- },
70
- }}
71
- >
72
- {assetsData.map((asset) => (
73
- <Block
74
- as="li"
75
- key={`${asset.type}-${asset.balance}`}
76
- display="flex"
77
- justifyContent="space-between"
78
- alignItems="center"
79
- margin={`${theme.sizing.scale100} 0`}
80
- >
81
- <asset.icon
82
- size={theme.sizing.scale800}
83
- overrides={{
84
- Svg: {
85
- style: {
86
- marginRight: theme.sizing.scale500,
87
- },
88
- },
89
- }}
90
- />
91
-
92
- <Block flex={1}>
93
- <LabelSmall margin={0}>{asset.label}</LabelSmall>
94
- <ParagraphSmall margin={0} color={theme.colors.gray500}>
95
- {asset.symbol}
96
- </ParagraphSmall>
97
- </Block>
98
-
99
- <Block display="flex" alignItems="end" flexDirection="column">
100
- <LabelSmall margin={0}>{asset.balance}</LabelSmall>
101
- <ParagraphSmall margin={0} color={theme.colors.gray500}>
102
- {formatUsd(asset.balanceInUsd)}
103
- </ParagraphSmall>
104
- </Block>
105
- </Block>
106
- ))}
107
- </Block>
108
- </Block>
109
- )
110
- }
@@ -1,38 +0,0 @@
1
- import {
2
- Block,
3
- HeadingSmall,
4
- ParagraphSmall,
5
- useStyletron,
6
- } from "@mezo-org/mezo-clay"
7
- import React from "react"
8
- import { formatUsd } from "../../utils/currency"
9
-
10
- type AccountBalanceProps = {
11
- amount: number
12
- }
13
-
14
- export default function AccountBalance(props: AccountBalanceProps) {
15
- const { amount } = props
16
-
17
- const formattedUsdBalance = formatUsd(amount)
18
-
19
- const [, theme] = useStyletron()
20
-
21
- return (
22
- <Block
23
- padding={theme.sizing.scale500}
24
- overrides={{
25
- Block: {
26
- style: {
27
- borderBottom: `1px solid ${theme.colors.backgroundPrimary}`,
28
- },
29
- },
30
- }}
31
- >
32
- <ParagraphSmall margin={0} color={theme.colors.gray800}>
33
- Available balance
34
- </ParagraphSmall>
35
- <HeadingSmall margin={0}>{formattedUsdBalance}</HeadingSmall>
36
- </Block>
37
- )
38
- }
@@ -1,31 +0,0 @@
1
- import { UseBaseQueryOptions, useQuery } from "@tanstack/react-query"
2
- import { ONE_MINUTE_MS } from "../utils/time"
3
- import { QUERY_KEYS } from "./constants"
4
- import { usePortalApiClient } from "./usePortalApiClient"
5
-
6
- type AssetsUsdConversion = {
7
- btcUsd: string
8
- ethUsd: string
9
- }
10
-
11
- export function useAssetsUsdConversion(
12
- useQueryOptions: Partial<UseBaseQueryOptions<AssetsUsdConversion>> = {},
13
- ) {
14
- const portalApiClient = usePortalApiClient()
15
-
16
- return useQuery({
17
- queryKey: [QUERY_KEYS.ASSETS_USD_CONVERSION],
18
- queryFn: async () => {
19
- const { currentUsdPerBtc, currentUsdPerEth } =
20
- await portalApiClient.getPortalStatistics()
21
-
22
- return {
23
- btcUsd: currentUsdPerBtc,
24
- ethUsd: currentUsdPerEth,
25
- }
26
- },
27
- staleTime: 30 * ONE_MINUTE_MS,
28
- retry: 1,
29
- ...useQueryOptions,
30
- })
31
- }