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

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 (220) 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/AccountOtherAssets.d.ts +9 -0
  53. package/dist/src/components/Dropdown/Root/AccountOtherAssets.d.ts.map +1 -0
  54. package/dist/src/components/Dropdown/Root/AccountOtherAssets.js +48 -0
  55. package/dist/src/components/Dropdown/Root/AccountOtherAssets.js.map +1 -0
  56. package/dist/src/components/Dropdown/Root/Root.d.ts +23 -0
  57. package/dist/src/components/Dropdown/Root/Root.d.ts.map +1 -0
  58. package/dist/src/components/Dropdown/Root/Root.js +57 -0
  59. package/dist/src/components/Dropdown/Root/Root.js.map +1 -0
  60. package/dist/src/components/Dropdown/Root/WalletAddress.d.ts +8 -0
  61. package/dist/src/components/Dropdown/Root/WalletAddress.d.ts.map +1 -0
  62. package/dist/src/components/Dropdown/{AccountAddress.js → Root/WalletAddress.js} +21 -15
  63. package/dist/src/components/Dropdown/Root/WalletAddress.js.map +1 -0
  64. package/dist/src/components/Dropdown/{WelcomeBlock.d.ts → Root/WelcomeBlock.d.ts} +1 -1
  65. package/dist/src/components/Dropdown/Root/WelcomeBlock.d.ts.map +1 -0
  66. package/dist/src/components/Dropdown/{WelcomeBlock.js → Root/WelcomeBlock.js} +5 -5
  67. package/dist/src/components/Dropdown/Root/WelcomeBlock.js.map +1 -0
  68. package/dist/src/components/Dropdown/TestnetTopBanner.d.ts +3 -0
  69. package/dist/src/components/Dropdown/TestnetTopBanner.d.ts.map +1 -0
  70. package/dist/src/components/Dropdown/TestnetTopBanner.js +14 -0
  71. package/dist/src/components/Dropdown/TestnetTopBanner.js.map +1 -0
  72. package/dist/src/config.d.ts +17 -5
  73. package/dist/src/config.d.ts.map +1 -1
  74. package/dist/src/config.js +51 -14
  75. package/dist/src/config.js.map +1 -1
  76. package/dist/src/constants.d.ts +11 -3
  77. package/dist/src/constants.d.ts.map +1 -1
  78. package/dist/src/constants.js +12 -4
  79. package/dist/src/constants.js.map +1 -1
  80. package/dist/src/hooks/index.d.ts +3 -0
  81. package/dist/src/hooks/index.d.ts.map +1 -1
  82. package/dist/src/hooks/index.js +3 -0
  83. package/dist/src/hooks/index.js.map +1 -1
  84. package/dist/src/hooks/useAssetsConversionRates.d.ts +23 -0
  85. package/dist/src/hooks/useAssetsConversionRates.d.ts.map +1 -0
  86. package/dist/src/hooks/useAssetsConversionRates.js +90 -0
  87. package/dist/src/hooks/useAssetsConversionRates.js.map +1 -0
  88. package/dist/src/hooks/useAuthenticateWithWallet.d.ts.map +1 -1
  89. package/dist/src/hooks/useAuthenticateWithWallet.js +7 -8
  90. package/dist/src/hooks/useAuthenticateWithWallet.js.map +1 -1
  91. package/dist/src/hooks/useBorrowData.d.ts +82 -0
  92. package/dist/src/hooks/useBorrowData.d.ts.map +1 -0
  93. package/dist/src/hooks/useBorrowData.js +157 -0
  94. package/dist/src/hooks/useBorrowData.js.map +1 -0
  95. package/dist/src/hooks/useDropdownData.d.ts +37 -34
  96. package/dist/src/hooks/useDropdownData.d.ts.map +1 -1
  97. package/dist/src/hooks/useDropdownData.js +85 -61
  98. package/dist/src/hooks/useDropdownData.js.map +1 -1
  99. package/dist/src/hooks/useRefreshPassport.d.ts +19 -0
  100. package/dist/src/hooks/useRefreshPassport.d.ts.map +1 -0
  101. package/dist/src/hooks/useRefreshPassport.js +44 -0
  102. package/dist/src/hooks/useRefreshPassport.js.map +1 -0
  103. package/dist/src/hooks/useTokensBalances.d.ts +74 -0
  104. package/dist/src/hooks/useTokensBalances.d.ts.map +1 -0
  105. package/dist/src/hooks/useTokensBalances.js +140 -0
  106. package/dist/src/hooks/useTokensBalances.js.map +1 -0
  107. package/dist/src/hooks/useWalletAccount.d.ts +2 -1
  108. package/dist/src/hooks/useWalletAccount.d.ts.map +1 -1
  109. package/dist/src/hooks/useWalletAccount.js +19 -15
  110. package/dist/src/hooks/useWalletAccount.js.map +1 -1
  111. package/dist/src/hooks/useWatchTransferEvents.d.ts +5 -0
  112. package/dist/src/hooks/useWatchTransferEvents.d.ts.map +1 -0
  113. package/dist/src/hooks/useWatchTransferEvents.js +63 -0
  114. package/dist/src/hooks/useWatchTransferEvents.js.map +1 -0
  115. package/dist/src/index.d.ts +1 -1
  116. package/dist/src/index.d.ts.map +1 -1
  117. package/dist/src/index.js +1 -1
  118. package/dist/src/index.js.map +1 -1
  119. package/dist/src/lib/contracts/index.d.ts +13 -0
  120. package/dist/src/lib/contracts/index.d.ts.map +1 -0
  121. package/dist/src/lib/contracts/index.js +62 -0
  122. package/dist/src/lib/contracts/index.js.map +1 -0
  123. package/dist/src/lib/contracts/priceOracle.d.ts +43 -0
  124. package/dist/src/lib/contracts/priceOracle.d.ts.map +1 -0
  125. package/dist/src/lib/contracts/priceOracle.js +52 -0
  126. package/dist/src/lib/contracts/priceOracle.js.map +1 -0
  127. package/dist/src/provider.js +1 -1
  128. package/dist/src/provider.js.map +1 -1
  129. package/dist/src/stores/dropdownStore.d.ts +12 -0
  130. package/dist/src/stores/dropdownStore.d.ts.map +1 -0
  131. package/dist/src/stores/dropdownStore.js +13 -0
  132. package/dist/src/stores/dropdownStore.js.map +1 -0
  133. package/dist/src/utils/address.d.ts +1 -1
  134. package/dist/src/utils/address.d.ts.map +1 -1
  135. package/dist/src/utils/address.js +2 -0
  136. package/dist/src/utils/address.js.map +1 -1
  137. package/dist/src/utils/address.test.js +8 -5
  138. package/dist/src/utils/address.test.js.map +1 -1
  139. package/dist/src/utils/cryptoAssets.d.ts +17 -1
  140. package/dist/src/utils/cryptoAssets.d.ts.map +1 -1
  141. package/dist/src/utils/cryptoAssets.js +87 -31
  142. package/dist/src/utils/cryptoAssets.js.map +1 -1
  143. package/dist/src/utils/cryptoAssets.test.js +51 -33
  144. package/dist/src/utils/cryptoAssets.test.js.map +1 -1
  145. package/dist/src/utils/currency.d.ts +8 -0
  146. package/dist/src/utils/currency.d.ts.map +1 -1
  147. package/dist/src/utils/currency.js +11 -0
  148. package/dist/src/utils/currency.js.map +1 -1
  149. package/dist/src/utils/currency.test.js +1 -0
  150. package/dist/src/utils/currency.test.js.map +1 -1
  151. package/dist/src/utils/numbers.d.ts +32 -17
  152. package/dist/src/utils/numbers.d.ts.map +1 -1
  153. package/dist/src/utils/numbers.js +84 -33
  154. package/dist/src/utils/numbers.js.map +1 -1
  155. package/dist/src/utils/numbers.test.js +124 -22
  156. package/dist/src/utils/numbers.test.js.map +1 -1
  157. package/package.json +11 -9
  158. package/src/api/auth.ts +3 -1
  159. package/src/api/client.ts +11 -2
  160. package/src/api/portal.ts +11 -14
  161. package/src/components/Dropdown/ConnectedTrigger.tsx +52 -32
  162. package/src/components/Dropdown/Content.tsx +69 -113
  163. package/src/components/Dropdown/DisconnectedTrigger.tsx +2 -1
  164. package/src/components/Dropdown/Dropdown.tsx +86 -19
  165. package/src/components/Dropdown/ListingItem.tsx +80 -0
  166. package/src/components/Dropdown/NestedViewLayout.tsx +75 -0
  167. package/src/components/Dropdown/README.md +13 -18
  168. package/src/components/Dropdown/Receive/Receive.tsx +119 -0
  169. package/src/components/Dropdown/Root/AccountAddressActions.tsx +101 -0
  170. package/src/components/Dropdown/Root/AccountAssetItem.tsx +26 -0
  171. package/src/components/Dropdown/Root/AccountBalance.tsx +30 -0
  172. package/src/components/Dropdown/Root/AccountOtherAssets.tsx +68 -0
  173. package/src/components/Dropdown/Root/Root.tsx +147 -0
  174. package/src/components/Dropdown/Root/WalletAddress.tsx +128 -0
  175. package/src/components/Dropdown/{WelcomeBlock.tsx → Root/WelcomeBlock.tsx} +5 -6
  176. package/src/components/Dropdown/TestnetTopBanner.tsx +32 -0
  177. package/src/config.ts +77 -20
  178. package/src/constants.ts +12 -4
  179. package/src/hooks/index.ts +6 -0
  180. package/src/hooks/useAssetsConversionRates.ts +97 -0
  181. package/src/hooks/useAuthenticateWithWallet.ts +8 -11
  182. package/src/hooks/useBorrowData.ts +181 -0
  183. package/src/hooks/useDropdownData.ts +119 -97
  184. package/src/hooks/useRefreshPassport.ts +56 -0
  185. package/src/hooks/useTokensBalances.ts +187 -0
  186. package/src/hooks/useWalletAccount.ts +33 -19
  187. package/src/hooks/useWatchTransferEvents.ts +74 -0
  188. package/src/index.ts +11 -1
  189. package/src/lib/contracts/index.ts +92 -0
  190. package/src/lib/contracts/priceOracle.ts +53 -0
  191. package/src/provider.ts +1 -1
  192. package/src/stores/dropdownStore.ts +20 -0
  193. package/src/utils/address.test.ts +10 -6
  194. package/src/utils/address.ts +5 -3
  195. package/src/utils/cryptoAssets.test.ts +57 -37
  196. package/src/utils/cryptoAssets.ts +113 -35
  197. package/src/utils/currency.test.ts +2 -0
  198. package/src/utils/currency.ts +21 -0
  199. package/src/utils/numbers.test.ts +154 -23
  200. package/src/utils/numbers.ts +112 -34
  201. package/dist/src/components/Dropdown/AccountAddress.d.ts +0 -8
  202. package/dist/src/components/Dropdown/AccountAddress.d.ts.map +0 -1
  203. package/dist/src/components/Dropdown/AccountAddress.js.map +0 -1
  204. package/dist/src/components/Dropdown/AccountAssets.d.ts +0 -14
  205. package/dist/src/components/Dropdown/AccountAssets.d.ts.map +0 -1
  206. package/dist/src/components/Dropdown/AccountAssets.js +0 -44
  207. package/dist/src/components/Dropdown/AccountAssets.js.map +0 -1
  208. package/dist/src/components/Dropdown/AccountBalance.d.ts.map +0 -1
  209. package/dist/src/components/Dropdown/AccountBalance.js +0 -18
  210. package/dist/src/components/Dropdown/AccountBalance.js.map +0 -1
  211. package/dist/src/components/Dropdown/WelcomeBlock.d.ts.map +0 -1
  212. package/dist/src/components/Dropdown/WelcomeBlock.js.map +0 -1
  213. package/dist/src/hooks/useAssetsUSDConversion.d.ts +0 -8
  214. package/dist/src/hooks/useAssetsUSDConversion.d.ts.map +0 -1
  215. package/dist/src/hooks/useAssetsUSDConversion.js +0 -21
  216. package/dist/src/hooks/useAssetsUSDConversion.js.map +0 -1
  217. package/src/components/Dropdown/AccountAddress.tsx +0 -111
  218. package/src/components/Dropdown/AccountAssets.tsx +0 -110
  219. package/src/components/Dropdown/AccountBalance.tsx +0 -38
  220. 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,5 +1,6 @@
1
1
  import { Chain, 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;
@@ -12,10 +13,21 @@ type GetDefaultConfigParameters = WagmiConfigParameters & {
12
13
  transports?: Pick<CreateConfigParameters, "transports">;
13
14
  };
14
15
  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;
16
+ export declare const unisatWalletMezoTestnet: import("@mezo-org/orangekit").CreateWalletFn;
17
+ export declare const okxWalletMezoTestnet: import("@mezo-org/orangekit").CreateWalletFn;
18
+ export declare const xverseWalletMezoTestnet: import("@mezo-org/orangekit").CreateWalletFn;
19
+ export declare const unisatWalletMezoMainnet: import("@mezo-org/orangekit").CreateWalletFn;
20
+ export declare const okxWalletMezoMainnet: import("@mezo-org/orangekit").CreateWalletFn;
21
+ export declare const xverseWalletMezoMainnet: import("@mezo-org/orangekit").CreateWalletFn;
22
+ export declare function getDefaultWallets(network?: "mainnet" | "testnet"): WalletList;
23
+ export declare function getConfig(config: GetDefaultConfigParameters): Config;
24
+ /**
25
+ * This config is only used to listen for Transfer events on mezo chain.
26
+ * Should not be exported in index for public use.
27
+ */
28
+ export declare const simpleWssMezoConfig: Config<readonly [import("viem").Chain, import("viem").Chain], {
29
+ [mezoMainnet.id]: import("viem").WebSocketTransport;
30
+ [mezoTestnet.id]: import("viem").WebSocketTransport;
31
+ }>;
20
32
  export {};
21
33
  //# 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,EAAE,KAAK,EAAoB,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EACL,MAAM,EAEN,sBAAsB,EAGvB,MAAM,OAAO,CAAA;AACd,OAAO,EAAY,WAAW,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAA;AAGhF,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;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,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE,SAAS,GAAG,SAAqB,GACzC,UAAU,CAkBZ;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,0BAA0B,GAAG,MAAM,CAsBpE;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,75 @@
1
- import { http } from "viem";
2
1
  import { getDefaultConfig } from "@rainbow-me/rainbowkit";
3
- import { CHAIN_ID, mezoMatsnetTestnet, RPC_BY_NETWORK } from "./constants";
2
+ import { createConfig, http, webSocket, } from "wagmi";
3
+ import { CHAIN_ID, mezoMainnet, mezoTestnet, RPC_BY_NETWORK } from "./constants";
4
4
  import { getOKXWallet, getUnisatWallet, getXverseWallet } from "./wallet";
5
5
  const transports = {
6
- [CHAIN_ID.testnet]: http(RPC_BY_NETWORK.testnet),
6
+ [CHAIN_ID.mainnet]: http(RPC_BY_NETWORK.mainnet.http),
7
+ [CHAIN_ID.testnet]: http(RPC_BY_NETWORK.testnet.http),
7
8
  };
8
9
  export const defaultConfig = {
9
10
  transports,
10
11
  walletConnectProjectId: "",
11
- chains: [mezoMatsnetTestnet],
12
+ chains: [mezoMainnet, mezoTestnet],
12
13
  multiInjectedProviderDiscovery: true,
13
14
  };
14
- const bitcoinWalletConfig = {
15
- rpcUrl: RPC_BY_NETWORK.testnet,
15
+ const bitcoinWalletTestnetConfig = {
16
+ rpcUrl: RPC_BY_NETWORK.testnet.http,
16
17
  chainId: CHAIN_ID.testnet,
17
18
  };
18
- export const unisatWallet = getUnisatWallet(bitcoinWalletConfig);
19
- export const okxWallet = getOKXWallet(bitcoinWalletConfig);
20
- export const xverseWallet = getXverseWallet(bitcoinWalletConfig);
21
- export function getDefaultWallets() {
19
+ const bitcoinWalletMainnetConfig = {
20
+ rpcUrl: RPC_BY_NETWORK.mainnet.http,
21
+ chainId: CHAIN_ID.mainnet,
22
+ };
23
+ export const unisatWalletMezoTestnet = getUnisatWallet(bitcoinWalletTestnetConfig);
24
+ export const okxWalletMezoTestnet = getOKXWallet(bitcoinWalletTestnetConfig);
25
+ export const xverseWalletMezoTestnet = getXverseWallet(bitcoinWalletTestnetConfig);
26
+ export const unisatWalletMezoMainnet = getUnisatWallet(bitcoinWalletMainnetConfig);
27
+ export const okxWalletMezoMainnet = getOKXWallet(bitcoinWalletMainnetConfig);
28
+ export const xverseWalletMezoMainnet = getXverseWallet(bitcoinWalletMainnetConfig);
29
+ export function getDefaultWallets(network = "mainnet") {
22
30
  return [
23
31
  {
24
32
  groupName: "Bitcoin",
25
- wallets: [unisatWallet, okxWallet, xverseWallet],
33
+ wallets: network === "mainnet"
34
+ ? [
35
+ unisatWalletMezoMainnet,
36
+ okxWalletMezoMainnet,
37
+ xverseWalletMezoMainnet,
38
+ ]
39
+ : [
40
+ unisatWalletMezoTestnet,
41
+ okxWalletMezoTestnet,
42
+ xverseWalletMezoTestnet,
43
+ ],
26
44
  },
27
45
  ];
28
46
  }
29
- export function getConfig({ appName, bitcoinWallets, walletConnectProjectId, ...restParameters }) {
47
+ export function getConfig(config) {
48
+ const { appName, walletConnectProjectId = defaultConfig.walletConnectProjectId, ...restParameters } = config;
49
+ // Wallets don't have to be differentiated by network. Viem will choose proper
50
+ // connector selectively based on the chainId, or by the chainId passed
51
+ // explicitly.
52
+ const wallets = config.bitcoinWallets ?? [
53
+ ...getDefaultWallets("mainnet"),
54
+ ...getDefaultWallets("testnet"),
55
+ ];
30
56
  return getDefaultConfig({
31
57
  ...defaultConfig,
32
58
  appName,
33
- wallets: [...(bitcoinWallets ?? getDefaultWallets())],
34
- projectId: walletConnectProjectId ?? defaultConfig.walletConnectProjectId,
59
+ wallets,
60
+ projectId: walletConnectProjectId,
35
61
  ...restParameters,
36
62
  });
37
63
  }
64
+ /**
65
+ * This config is only used to listen for Transfer events on mezo chain.
66
+ * Should not be exported in index for public use.
67
+ */
68
+ export const simpleWssMezoConfig = createConfig({
69
+ chains: [mezoMainnet, mezoTestnet],
70
+ transports: {
71
+ [mezoMainnet.id]: webSocket(RPC_BY_NETWORK.mainnet.webSocket),
72
+ [mezoTestnet.id]: webSocket(RPC_BY_NETWORK.testnet.webSocket),
73
+ },
74
+ });
38
75
  //# 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,16 @@
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
  };
8
16
  //# 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"}
@@ -1,9 +1,17 @@
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
  };
9
17
  //# 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"}
@@ -1,12 +1,15 @@
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";
12
15
  //# 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"}
@@ -1,12 +1,15 @@
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";
12
15
  //# 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"}
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAuthenticateWithWallet.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAuthenticateWithWallet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAe,MAAM,uBAAuB,CAAA;AAOpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAGrC,iBAAS,yBAAyB,CAChC,mBAAmB,UAAQ,EAC3B,eAAe,GAAE,IAAI,CACnB,eAAe,CAAC,OAAO,CAAC,EACxB,YAAY,GAAG,aAAa,CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqFP;AAED,OAAO,EAAE,yBAAyB,EAAE,CAAA"}
1
+ {"version":3,"file":"useAuthenticateWithWallet.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAuthenticateWithWallet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAe,MAAM,uBAAuB,CAAA;AAMpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAGrC,iBAAS,yBAAyB,CAChC,mBAAmB,UAAQ,EAC3B,eAAe,GAAE,IAAI,CACnB,eAAe,CAAC,OAAO,CAAC,EACxB,YAAY,GAAG,aAAa,CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoFP;AAED,OAAO,EAAE,yBAAyB,EAAE,CAAA"}
@@ -1,7 +1,5 @@
1
1
  import { useSignMessage } from "wagmi";
2
- import { useBitcoinAccount } from "@mezo-org/orangekit";
3
2
  import { useMutation } from "@tanstack/react-query";
4
- import { useMemo } from "react";
5
3
  import { useCreateAccount } from "./useCreateAccount";
6
4
  import { useCreateSession } from "./useCreateSession";
7
5
  import { useEnsureNoSessionAndFetchNonce } from "./useEnsureNoSessionAndFetchNonce";
@@ -9,21 +7,22 @@ import { createSignInWithWalletMessage } from "../utils/siww";
9
7
  import { useGetAccountByAddress } from "./useGetAccountByAddress";
10
8
  import useWalletAccount from "./useWalletAccount";
11
9
  function useAuthenticateWithWallet(shouldCreateAccount = false, mutationOptions = {}) {
12
- const { address, chainId, connector, networkFamily } = useWalletAccount();
13
- const { btcAddress } = useBitcoinAccount();
10
+ const { walletAddress, chainId, connector, networkFamily } = useWalletAccount();
14
11
  const { ensureNoSessionAndFetchNonce } = useEnsureNoSessionAndFetchNonce();
15
12
  const { createSessionAsync } = useCreateSession();
16
13
  const { createAccountAsync } = useCreateAccount();
17
14
  const { signMessageAsync } = useSignMessage();
18
- const walletAddress = useMemo(() => (connector?.type === "orangekit" ? btcAddress : address), [btcAddress, address, connector]);
19
- const { refetch: getAccountByAddress } = useGetAccountByAddress(walletAddress, { enabled: false, retry: false });
15
+ const { refetch: getAccountByAddress } = useGetAccountByAddress(walletAddress, {
16
+ enabled: false,
17
+ retry: false,
18
+ });
20
19
  const { mutate, mutateAsync, ...signInMutationRestParameters } = useMutation({
21
20
  mutationFn: async () => {
22
- if (!address) {
21
+ if (!walletAddress) {
23
22
  throw new Error("Sign in error: Wallet not connected!");
24
23
  }
25
24
  const nonce = await ensureNoSessionAndFetchNonce();
26
- const messageResult = createSignInWithWalletMessage(btcAddress || address, nonce, networkFamily, chainId);
25
+ const messageResult = createSignInWithWalletMessage(walletAddress, nonce, networkFamily, chainId);
27
26
  const signatureResult = await signMessageAsync({
28
27
  message: messageResult,
29
28
  connector,
@@ -1 +1 @@
1
- {"version":3,"file":"useAuthenticateWithWallet.js","sourceRoot":"","sources":["../../../src/hooks/useAuthenticateWithWallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAuthenticateWithWallet.js","sourceRoot":"","sources":["../../../src/hooks/useAuthenticateWithWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAmB,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAA;AACnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAA;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AAEjD,SAAS,yBAAyB,CAChC,mBAAmB,GAAG,KAAK,EAC3B,kBAGI,EAAE;IAEN,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,GACxD,gBAAgB,EAAE,CAAA;IACpB,MAAM,EAAE,4BAA4B,EAAE,GAAG,+BAA+B,EAAE,CAAA;IAC1E,MAAM,EAAE,kBAAkB,EAAE,GAAG,gBAAgB,EAAE,CAAA;IACjD,MAAM,EAAE,kBAAkB,EAAE,GAAG,gBAAgB,EAAE,CAAA;IACjD,MAAM,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE,CAAA;IAE7C,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,sBAAsB,CAC7D,aAAa,EACb;QACE,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;KACb,CACF,CAAA;IAED,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,4BAA4B,EAAE,GAAG,WAAW,CAAC;QAC3E,UAAU,EAAE,KAAK,IAAI,EAAE;YACrB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;YACzD,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,4BAA4B,EAAE,CAAA;YAElD,MAAM,aAAa,GAAG,6BAA6B,CACjD,aAAa,EACb,KAAK,EACL,aAAa,EACb,OAAO,CACR,CAAA;YACD,MAAM,eAAe,GAAG,MAAM,gBAAgB,CAAC;gBAC7C,OAAO,EAAE,aAAa;gBACtB,SAAS;aACV,CAAC,CAAA;YAEF,IAAI,mBAAmB,EAAE,CAAC;gBACxB,MAAM,yBAAyB,GAAG,MAAM,mBAAmB,EAAE,CAAA;gBAE7D,IAAI,yBAAyB,CAAC,IAAI,EAAE,CAAC;oBACnC,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAA;gBACH,CAAC;gBAED,IAAI,yBAAyB,CAAC,KAAK,EAAE,CAAC;oBACpC,MAAM,IAAI,KAAK,CACb,sGAAsG,yBAAyB,CAAC,KAAK,EAAE,CACxI,CAAA;gBACH,CAAC;gBAED,iDAAiD;gBACjD,IAAI,CAAC;oBACH,MAAM,mBAAmB,GAAG,MAAM,kBAAkB,CAAC;wBACnD,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,aAAa;wBACtB,SAAS,EAAE,eAAe;qBAC3B,CAAC,CAAA;oBAEF,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBACzB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;oBACjD,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CACb,0DAA0D,KAAK,EAAE,CAClE,CAAA;gBACH,CAAC;YACH,CAAC;YAED,OAAO,CAAC,MAAM,kBAAkB,CAAC;gBAC/B,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,aAAa;gBACtB,SAAS,EAAE,eAAe;aAC3B,CAAC,CAAY,CAAA;YACd,0EAA0E;QAC5E,CAAC;QACD,GAAG,eAAe;KACnB,CAAC,CAAA;IAEF,OAAO;QACL,sBAAsB,EAAE,MAAM;QAC9B,2BAA2B,EAAE,WAAW;QACxC,GAAG,4BAA4B;KAChC,CAAA;AACH,CAAC;AAED,OAAO,EAAE,yBAAyB,EAAE,CAAA"}