@mezo-org/passport 0.4.0-dev.82 → 0.4.0-dev.84

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 (173) hide show
  1. package/dist/src/components/Dropdown/Content.d.ts +0 -15
  2. package/dist/src/components/Dropdown/Content.d.ts.map +1 -1
  3. package/dist/src/components/Dropdown/Content.js +3 -3
  4. package/dist/src/components/Dropdown/Content.js.map +1 -1
  5. package/dist/src/components/Dropdown/Dropdown.d.ts +0 -4
  6. package/dist/src/components/Dropdown/Dropdown.d.ts.map +1 -1
  7. package/dist/src/components/Dropdown/Dropdown.js +10 -36
  8. package/dist/src/components/Dropdown/Dropdown.js.map +1 -1
  9. package/dist/src/components/Dropdown/ListingItem.d.ts +8 -7
  10. package/dist/src/components/Dropdown/ListingItem.d.ts.map +1 -1
  11. package/dist/src/components/Dropdown/ListingItem.js +36 -28
  12. package/dist/src/components/Dropdown/ListingItem.js.map +1 -1
  13. package/dist/src/components/Dropdown/NestedViewLayout.d.ts +2 -1
  14. package/dist/src/components/Dropdown/NestedViewLayout.d.ts.map +1 -1
  15. package/dist/src/components/Dropdown/NestedViewLayout.js +13 -15
  16. package/dist/src/components/Dropdown/NestedViewLayout.js.map +1 -1
  17. package/dist/src/components/Dropdown/Receive/Receive.d.ts +1 -4
  18. package/dist/src/components/Dropdown/Receive/Receive.d.ts.map +1 -1
  19. package/dist/src/components/Dropdown/Receive/Receive.js +30 -19
  20. package/dist/src/components/Dropdown/Receive/Receive.js.map +1 -1
  21. package/dist/src/components/Dropdown/Root/AccountAddressActions.d.ts +2 -5
  22. package/dist/src/components/Dropdown/Root/AccountAddressActions.d.ts.map +1 -1
  23. package/dist/src/components/Dropdown/Root/AccountAddressActions.js +13 -12
  24. package/dist/src/components/Dropdown/Root/AccountAddressActions.js.map +1 -1
  25. package/dist/src/components/Dropdown/Root/AccountBalance.d.ts +2 -4
  26. package/dist/src/components/Dropdown/Root/AccountBalance.d.ts.map +1 -1
  27. package/dist/src/components/Dropdown/Root/AccountBalance.js +24 -8
  28. package/dist/src/components/Dropdown/Root/AccountBalance.js.map +1 -1
  29. package/dist/src/components/Dropdown/Root/AccountBtcListing.d.ts +6 -0
  30. package/dist/src/components/Dropdown/Root/AccountBtcListing.d.ts.map +1 -0
  31. package/dist/src/components/Dropdown/Root/AccountBtcListing.js +27 -0
  32. package/dist/src/components/Dropdown/Root/AccountBtcListing.js.map +1 -0
  33. package/dist/src/components/Dropdown/Root/AccountError.d.ts +8 -0
  34. package/dist/src/components/Dropdown/Root/AccountError.d.ts.map +1 -0
  35. package/dist/src/components/Dropdown/Root/AccountError.js +17 -0
  36. package/dist/src/components/Dropdown/Root/AccountError.js.map +1 -0
  37. package/dist/src/components/Dropdown/Root/AccountMusdListing.d.ts +4 -0
  38. package/dist/src/components/Dropdown/Root/AccountMusdListing.d.ts.map +1 -0
  39. package/dist/src/components/Dropdown/Root/AccountMusdListing.js +21 -0
  40. package/dist/src/components/Dropdown/Root/AccountMusdListing.js.map +1 -0
  41. package/dist/src/components/Dropdown/Root/AccountOtherAssets.d.ts +2 -3
  42. package/dist/src/components/Dropdown/Root/AccountOtherAssets.d.ts.map +1 -1
  43. package/dist/src/components/Dropdown/Root/AccountOtherAssets.js +34 -39
  44. package/dist/src/components/Dropdown/Root/AccountOtherAssets.js.map +1 -1
  45. package/dist/src/components/Dropdown/Root/Root.d.ts +0 -15
  46. package/dist/src/components/Dropdown/Root/Root.d.ts.map +1 -1
  47. package/dist/src/components/Dropdown/Root/Root.js +22 -34
  48. package/dist/src/components/Dropdown/Root/Root.js.map +1 -1
  49. package/dist/src/components/Dropdown/Root/WalletAddress.d.ts +2 -6
  50. package/dist/src/components/Dropdown/Root/WalletAddress.d.ts.map +1 -1
  51. package/dist/src/components/Dropdown/Root/WalletAddress.js +37 -34
  52. package/dist/src/components/Dropdown/Root/WalletAddress.js.map +1 -1
  53. package/dist/src/components/Dropdown/Root/WelcomeBlock.d.ts +2 -4
  54. package/dist/src/components/Dropdown/Root/WelcomeBlock.d.ts.map +1 -1
  55. package/dist/src/components/Dropdown/Root/WelcomeBlock.js +60 -16
  56. package/dist/src/components/Dropdown/Root/WelcomeBlock.js.map +1 -1
  57. package/dist/src/components/Dropdown/SlotNumber.d.ts +19 -0
  58. package/dist/src/components/Dropdown/SlotNumber.d.ts.map +1 -0
  59. package/dist/src/components/Dropdown/SlotNumber.js +67 -0
  60. package/dist/src/components/Dropdown/SlotNumber.js.map +1 -0
  61. package/dist/src/config.d.ts +0 -1
  62. package/dist/src/config.d.ts.map +1 -1
  63. package/dist/src/config.js +1 -9
  64. package/dist/src/config.js.map +1 -1
  65. package/dist/src/hooks/useAssetsConversionRates.d.ts +8 -13
  66. package/dist/src/hooks/useAssetsConversionRates.d.ts.map +1 -1
  67. package/dist/src/hooks/useAssetsConversionRates.js +44 -67
  68. package/dist/src/hooks/useAssetsConversionRates.js.map +1 -1
  69. package/dist/src/hooks/useAuthenticateWithWallet.d.ts.map +1 -1
  70. package/dist/src/hooks/useAuthenticateWithWallet.js +1 -1
  71. package/dist/src/hooks/useAuthenticateWithWallet.js.map +1 -1
  72. package/dist/src/hooks/useBorrowData.d.ts +30 -4
  73. package/dist/src/hooks/useBorrowData.d.ts.map +1 -1
  74. package/dist/src/hooks/useBorrowData.js +53 -11
  75. package/dist/src/hooks/useBorrowData.js.map +1 -1
  76. package/dist/src/hooks/useCreateAccount.d.ts.map +1 -1
  77. package/dist/src/hooks/useCreateAccount.js +3 -3
  78. package/dist/src/hooks/useCreateAccount.js.map +1 -1
  79. package/dist/src/hooks/useGetCurrentAccount.d.ts.map +1 -1
  80. package/dist/src/hooks/useGetCurrentAccount.js +4 -6
  81. package/dist/src/hooks/useGetCurrentAccount.js.map +1 -1
  82. package/dist/src/hooks/useLinkAccount.d.ts.map +1 -1
  83. package/dist/src/hooks/useLinkAccount.js +3 -3
  84. package/dist/src/hooks/useLinkAccount.js.map +1 -1
  85. package/dist/src/hooks/useTokensBalances.d.ts +36 -35
  86. package/dist/src/hooks/useTokensBalances.d.ts.map +1 -1
  87. package/dist/src/hooks/useTokensBalances.js +93 -52
  88. package/dist/src/hooks/useTokensBalances.js.map +1 -1
  89. package/dist/src/hooks/useWalletAccount.d.ts +8 -6
  90. package/dist/src/hooks/useWalletAccount.d.ts.map +1 -1
  91. package/dist/src/hooks/useWalletAccount.js +9 -6
  92. package/dist/src/hooks/useWalletAccount.js.map +1 -1
  93. package/dist/src/lib/contracts/index.d.ts +1 -1
  94. package/dist/src/lib/contracts/index.d.ts.map +1 -1
  95. package/dist/src/lib/contracts/index.js +4 -0
  96. package/dist/src/lib/contracts/index.js.map +1 -1
  97. package/dist/src/provider.d.ts +7 -1
  98. package/dist/src/provider.d.ts.map +1 -1
  99. package/dist/src/provider.js +4 -1
  100. package/dist/src/provider.js.map +1 -1
  101. package/dist/src/utils/assets.d.ts +145 -0
  102. package/dist/src/utils/assets.d.ts.map +1 -0
  103. package/dist/src/utils/assets.js +100 -0
  104. package/dist/src/utils/assets.js.map +1 -0
  105. package/dist/src/utils/assets.test.d.ts +2 -0
  106. package/dist/src/utils/assets.test.d.ts.map +1 -0
  107. package/dist/src/utils/assets.test.js +46 -0
  108. package/dist/src/utils/assets.test.js.map +1 -0
  109. package/dist/src/utils/currency.d.ts +6 -3
  110. package/dist/src/utils/currency.d.ts.map +1 -1
  111. package/dist/src/utils/currency.js +13 -10
  112. package/dist/src/utils/currency.js.map +1 -1
  113. package/dist/src/utils/currency.test.js +44 -2
  114. package/dist/src/utils/currency.test.js.map +1 -1
  115. package/dist/src/utils/numbers.d.ts +13 -53
  116. package/dist/src/utils/numbers.d.ts.map +1 -1
  117. package/dist/src/utils/numbers.js +16 -118
  118. package/dist/src/utils/numbers.js.map +1 -1
  119. package/dist/src/utils/numbers.test.js +24 -142
  120. package/dist/src/utils/numbers.test.js.map +1 -1
  121. package/package.json +2 -1
  122. package/src/components/Dropdown/Content.tsx +3 -48
  123. package/src/components/Dropdown/Dropdown.tsx +7 -58
  124. package/src/components/Dropdown/ListingItem.tsx +155 -59
  125. package/src/components/Dropdown/NestedViewLayout.tsx +32 -20
  126. package/src/components/Dropdown/Receive/Receive.tsx +57 -32
  127. package/src/components/Dropdown/Root/AccountAddressActions.tsx +33 -35
  128. package/src/components/Dropdown/Root/AccountBalance.tsx +54 -16
  129. package/src/components/Dropdown/Root/AccountBtcListing.tsx +52 -0
  130. package/src/components/Dropdown/Root/AccountError.tsx +34 -0
  131. package/src/components/Dropdown/Root/AccountMusdListing.tsx +45 -0
  132. package/src/components/Dropdown/Root/AccountOtherAssets.tsx +63 -46
  133. package/src/components/Dropdown/Root/Root.tsx +28 -98
  134. package/src/components/Dropdown/Root/WalletAddress.tsx +87 -89
  135. package/src/components/Dropdown/Root/WelcomeBlock.tsx +112 -30
  136. package/src/components/Dropdown/SlotNumber.tsx +131 -0
  137. package/src/config.ts +1 -11
  138. package/src/hooks/useAssetsConversionRates.ts +49 -67
  139. package/src/hooks/useAuthenticateWithWallet.ts +7 -5
  140. package/src/hooks/useBorrowData.ts +71 -12
  141. package/src/hooks/useCreateAccount.ts +5 -4
  142. package/src/hooks/useGetCurrentAccount.ts +5 -7
  143. package/src/hooks/useLinkAccount.ts +5 -4
  144. package/src/hooks/useTokensBalances.ts +152 -74
  145. package/src/hooks/useWalletAccount.ts +19 -13
  146. package/src/lib/contracts/index.ts +8 -1
  147. package/src/provider.ts +11 -3
  148. package/src/utils/assets.test.ts +57 -0
  149. package/src/utils/assets.ts +103 -0
  150. package/src/utils/currency.test.ts +76 -2
  151. package/src/utils/currency.ts +20 -15
  152. package/src/utils/numbers.test.ts +29 -180
  153. package/src/utils/numbers.ts +22 -171
  154. package/dist/src/components/Dropdown/Root/AccountAssetItem.d.ts +0 -11
  155. package/dist/src/components/Dropdown/Root/AccountAssetItem.d.ts.map +0 -1
  156. package/dist/src/components/Dropdown/Root/AccountAssetItem.js +0 -9
  157. package/dist/src/components/Dropdown/Root/AccountAssetItem.js.map +0 -1
  158. package/dist/src/hooks/useDropdownData.d.ts +0 -47
  159. package/dist/src/hooks/useDropdownData.d.ts.map +0 -1
  160. package/dist/src/hooks/useDropdownData.js +0 -97
  161. package/dist/src/hooks/useDropdownData.js.map +0 -1
  162. package/dist/src/utils/cryptoAssets.d.ts +0 -44
  163. package/dist/src/utils/cryptoAssets.d.ts.map +0 -1
  164. package/dist/src/utils/cryptoAssets.js +0 -129
  165. package/dist/src/utils/cryptoAssets.js.map +0 -1
  166. package/dist/src/utils/cryptoAssets.test.d.ts +0 -2
  167. package/dist/src/utils/cryptoAssets.test.d.ts.map +0 -1
  168. package/dist/src/utils/cryptoAssets.test.js +0 -67
  169. package/dist/src/utils/cryptoAssets.test.js.map +0 -1
  170. package/src/components/Dropdown/Root/AccountAssetItem.tsx +0 -26
  171. package/src/hooks/useDropdownData.ts +0 -152
  172. package/src/utils/cryptoAssets.test.ts +0 -79
  173. package/src/utils/cryptoAssets.ts +0 -171
@@ -1,11 +1,16 @@
1
- import { useAccount, useReadContracts } from "wagmi";
1
+ import { useReadContracts } from "wagmi";
2
2
  import { useCallback, useMemo } from "react";
3
3
  import { useQueryClient } from "@tanstack/react-query";
4
+ import { formatUnits } from "viem";
4
5
  import { ONE_MINUTE_MS } from "../utils/time";
5
6
  import { mainnetBorrowContracts, testnetBorrowContracts, } from "../lib/contracts";
6
7
  import { usePassportContext } from "./usePassportContext";
7
8
  import { CHAIN_ID } from "../constants";
8
- import { bigIntMax } from "../utils/numbers";
9
+ import { bigIntMax, normalizePrecision } from "../utils/numbers";
10
+ import useWalletAccount from "./useWalletAccount";
11
+ import { getAsset } from "../utils/assets";
12
+ import { convertToUsd } from "../utils/currency";
13
+ const DEBT_AND_COLL_PRECISION = 18;
9
14
  // Wagmi handles typesafety with ABI const assertions. TypeScript doesn't
10
15
  // support importing JSON as const yet so types cannot be inferred from the
11
16
  // imported contract. As a workaround there is minimal ABI definition that can
@@ -72,6 +77,21 @@ const BORROWER_OPERATIONS_ABI = [
72
77
  type: "function",
73
78
  },
74
79
  ];
80
+ const PRICE_FEED_ABI = [
81
+ {
82
+ inputs: [],
83
+ name: "fetchPrice",
84
+ outputs: [
85
+ {
86
+ internalType: "uint256",
87
+ name: "",
88
+ type: "uint256",
89
+ },
90
+ ],
91
+ stateMutability: "view",
92
+ type: "function",
93
+ },
94
+ ];
75
95
  /**
76
96
  * Query hook for getting borrow data. Returns collateral and trove debt for the
77
97
  * connected account, based on it's evm address.
@@ -79,17 +99,19 @@ const BORROWER_OPERATIONS_ABI = [
79
99
  */
80
100
  export function useBorrowData(queryOptions = {}) {
81
101
  const { environment = "mainnet" } = usePassportContext();
82
- const { address } = useAccount();
102
+ const { data: walletAccountData } = useWalletAccount();
83
103
  const contractAddress = useMemo(() => {
84
104
  if (environment === "mainnet") {
85
105
  return {
86
106
  troveManager: mainnetBorrowContracts.TroveManager.address,
87
107
  borrowerOperations: mainnetBorrowContracts.BorrowerOperations.address,
108
+ priceFeed: mainnetBorrowContracts.PriceFeed.address,
88
109
  };
89
110
  }
90
111
  return {
91
112
  troveManager: testnetBorrowContracts.TroveManager.address,
92
113
  borrowerOperations: testnetBorrowContracts.BorrowerOperations.address,
114
+ priceFeed: testnetBorrowContracts.PriceFeed.address,
93
115
  };
94
116
  }, [environment]);
95
117
  const chainId = CHAIN_ID[environment];
@@ -99,31 +121,51 @@ export function useBorrowData(queryOptions = {}) {
99
121
  abi: TROVE_MANAGER_ABI,
100
122
  address: contractAddress.troveManager,
101
123
  functionName: "getEntireDebtAndColl",
102
- args: [address || "0x"],
124
+ args: walletAccountData.accountAddress
125
+ ? [walletAccountData.accountAddress]
126
+ : ["0x"],
103
127
  chainId,
104
128
  },
105
129
  {
106
130
  abi: BORROWER_OPERATIONS_ABI,
107
131
  address: contractAddress.borrowerOperations,
108
132
  functionName: "MUSD_GAS_COMPENSATION",
109
- args: [],
133
+ chainId,
134
+ },
135
+ {
136
+ abi: PRICE_FEED_ABI,
137
+ address: contractAddress.priceFeed,
138
+ functionName: "fetchPrice",
110
139
  chainId,
111
140
  },
112
141
  ],
113
142
  query: {
114
- enabled: !!address,
143
+ enabled: !!walletAccountData,
115
144
  staleTime: 5 * ONE_MINUTE_MS,
116
145
  retry: 1,
117
146
  select: (data) => {
118
147
  if (!data || data.some((item) => !item.result))
119
- return undefined;
120
- const [collateral, principal, interest] = data[0].result;
148
+ throw new Error("No borrow data available");
149
+ const [rawCollateral, principal, interest] = data[0].result;
121
150
  const gasCompensation = data[1].result;
122
- const troveDebt = bigIntMax(principal + interest - gasCompensation, 0n);
151
+ const collateralPrice = data[2].result;
152
+ const btcDetails = getAsset("BTC");
153
+ const collateral = {
154
+ value: rawCollateral,
155
+ decimals: btcDetails.decimals,
156
+ symbol: btcDetails.symbol,
157
+ formatted: formatUnits(rawCollateral, DEBT_AND_COLL_PRECISION),
158
+ usd: convertToUsd(rawCollateral, DEBT_AND_COLL_PRECISION, collateralPrice, DEBT_AND_COLL_PRECISION),
159
+ };
160
+ const debtInUsdValue = bigIntMax(normalizePrecision(principal + interest - gasCompensation, DEBT_AND_COLL_PRECISION), 0n);
161
+ const formattedDebtInUsd = formatUnits(debtInUsdValue, DEBT_AND_COLL_PRECISION);
162
+ const debtInUsd = {
163
+ value: debtInUsdValue,
164
+ formatted: formattedDebtInUsd,
165
+ };
123
166
  return {
124
167
  collateral,
125
- // Principal includes gas compensation value which is not
126
- troveDebt,
168
+ debtInUsd,
127
169
  };
128
170
  },
129
171
  ...queryOptions,
@@ -1 +1 @@
1
- {"version":3,"file":"useBorrowData.js","sourceRoot":"","sources":["../../../src/hooks/useBorrowData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useBorrowData.js","sourceRoot":"","sources":["../../../src/hooks/useBorrowData.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCreateAccount.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCreateAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,EACf,YAAY,EACb,MAAM,uBAAuB,CAAA;AAG9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AAIzE,wBAAgB,gBAAgB,CAC9B,eAAe,GAAE,IAAI,CACnB,eAAe,CAAC,qBAAqB,EAAE,YAAY,EAAE,oBAAoB,CAAC,EAC1E,YAAY,GAAG,aAAa,CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6CP"}
1
+ {"version":3,"file":"useCreateAccount.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCreateAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,EACf,YAAY,EACb,MAAM,uBAAuB,CAAA;AAG9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AAIzE,wBAAgB,gBAAgB,CAC9B,eAAe,GAAE,IAAI,CACnB,eAAe,CAAC,qBAAqB,EAAE,YAAY,EAAE,oBAAoB,CAAC,EAC1E,YAAY,GAAG,aAAa,CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8CP"}
@@ -6,15 +6,15 @@ import { getBitcoinPublicKeyFromConnector } from "../utils/wagmi";
6
6
  export function useCreateAccount(mutationOptions = {}) {
7
7
  const queryClient = useQueryClient();
8
8
  const authApiClient = useAuthApiClient();
9
- const { connector } = useWalletAccount();
9
+ const walletAccount = useWalletAccount();
10
10
  const { onSuccess: customOnSuccess, ...restMutationOptions } = mutationOptions;
11
11
  const { mutate, mutateAsync, ...rest } = useMutation({
12
12
  mutationFn: async (createAccountMutationFnParameters) => {
13
13
  if (createAccountMutationFnParameters.type === "wallet") {
14
- if (!connector) {
14
+ if (!walletAccount.data?.connector) {
15
15
  throw new Error("Connector not defined.");
16
16
  }
17
- const bitcoinPublicKey = await getBitcoinPublicKeyFromConnector(connector);
17
+ const bitcoinPublicKey = await getBitcoinPublicKeyFromConnector(walletAccount.data.connector);
18
18
  // Creating bitcoin mezo account
19
19
  if (bitcoinPublicKey) {
20
20
  return authApiClient.createAccount({
@@ -1 +1 @@
1
- {"version":3,"file":"useCreateAccount.js","sourceRoot":"","sources":["../../../src/hooks/useCreateAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,GAGZ,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAA;AAEjE,MAAM,UAAU,gBAAgB,CAC9B,kBAGI,EAAE;IAEN,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IACxC,MAAM,EAAE,SAAS,EAAE,GAAG,gBAAgB,EAAE,CAAA;IAExC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,mBAAmB,EAAE,GAAG,eAAe,CAAA;IAE9E,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,WAAW,CAAC;QACnD,UAAU,EAAE,KAAK,EACf,iCAAuD,EACvD,EAAE;YACF,IAAI,iCAAiC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxD,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;gBAC3C,CAAC;gBAED,MAAM,gBAAgB,GACpB,MAAM,gCAAgC,CAAC,SAAS,CAAC,CAAA;gBAEnD,gCAAgC;gBAChC,IAAI,gBAAgB,EAAE,CAAC;oBACrB,OAAO,aAAa,CAAC,aAAa,CAAC;wBACjC,GAAG,iCAAiC;wBACpC,gBAAgB;qBACjB,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAED,4BAA4B;YAC5B,OAAO,aAAa,CAAC,aAAa,CAAC;gBACjC,GAAG,iCAAiC;aACrC,CAAC,CAAA;QACJ,CAAC;QACD,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;YACtC,WAAW,CAAC,YAAY,CAAC;gBACvB,QAAQ,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;aAC/B,CAAC,CAAA;YAEF,IAAI,eAAe;gBAAE,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;QAChE,CAAC;QACD,GAAG,mBAAmB;KACvB,CAAC,CAAA;IAEF,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,CAAA;AAC5E,CAAC"}
1
+ {"version":3,"file":"useCreateAccount.js","sourceRoot":"","sources":["../../../src/hooks/useCreateAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,GAGZ,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAA;AAEjE,MAAM,UAAU,gBAAgB,CAC9B,kBAGI,EAAE;IAEN,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IACxC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IAExC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,mBAAmB,EAAE,GAAG,eAAe,CAAA;IAE9E,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,WAAW,CAAC;QACnD,UAAU,EAAE,KAAK,EACf,iCAAuD,EACvD,EAAE;YACF,IAAI,iCAAiC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxD,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;oBACnC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;gBAC3C,CAAC;gBAED,MAAM,gBAAgB,GAAG,MAAM,gCAAgC,CAC7D,aAAa,CAAC,IAAI,CAAC,SAAS,CAC7B,CAAA;gBAED,gCAAgC;gBAChC,IAAI,gBAAgB,EAAE,CAAC;oBACrB,OAAO,aAAa,CAAC,aAAa,CAAC;wBACjC,GAAG,iCAAiC;wBACpC,gBAAgB;qBACjB,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAED,4BAA4B;YAC5B,OAAO,aAAa,CAAC,aAAa,CAAC;gBACjC,GAAG,iCAAiC;aACrC,CAAC,CAAA;QACJ,CAAC;QACD,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;YACtC,WAAW,CAAC,YAAY,CAAC;gBACvB,QAAQ,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;aAC/B,CAAC,CAAA;YAEF,IAAI,eAAe;gBAAE,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;QAChE,CAAC;QACD,GAAG,mBAAmB;KACvB,CAAC,CAAA;IAEF,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,CAAA;AAC5E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGetCurrentAccount.d.ts","sourceRoot":"","sources":["../../../src/hooks/useGetCurrentAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAY,MAAM,uBAAuB,CAAA;AAKrE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAA;AAEvD,KAAK,iCAAiC,GAAG,yBAAyB,GAAG;IACnE,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;CACF,CAAA;AAED,wBAAgB,oBAAoB,CAClC,YAAY,GAAE,IAAI,CAChB,mBAAmB,CAAC,iCAAiC,CAAC,EACtD,UAAU,GAAG,SAAS,CAClB;;;;;UATA;QACJ,SAAS,EAAE,MAAM,CAAA;KAClB;UAmDF"}
1
+ {"version":3,"file":"useGetCurrentAccount.d.ts","sourceRoot":"","sources":["../../../src/hooks/useGetCurrentAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAY,MAAM,uBAAuB,CAAA;AAKrE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAA;AAEvD,KAAK,iCAAiC,GAAG,yBAAyB,GAAG;IACnE,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;CACF,CAAA;AAED,wBAAgB,oBAAoB,CAClC,YAAY,GAAE,IAAI,CAChB,mBAAmB,CAAC,iCAAiC,CAAC,EACtD,UAAU,GAAG,SAAS,CAClB;;;;;UATA;QACJ,SAAS,EAAE,MAAM,CAAA;KAClB;UAiDF"}
@@ -10,14 +10,12 @@ export function useGetCurrentAccount(queryOptions = {}) {
10
10
  queryKey: [QUERY_KEYS.ACCOUNT, QUERY_KEYS.CURRENT],
11
11
  queryFn: async () => {
12
12
  const currentAccount = await authApiClient.getCurrentAccount();
13
+ if (!currentAccount) {
14
+ throw new Error("No current account found");
15
+ }
13
16
  const linkedWallets = currentAccount?.linkedAccounts?.filter((account) => account.type === "wallet");
14
17
  if (!linkedWallets || linkedWallets.length === 0) {
15
- return {
16
- ...currentAccount,
17
- mats: {
18
- totalMats: 0,
19
- },
20
- };
18
+ throw new Error("No linked wallets found for the current account");
21
19
  }
22
20
  const addresses = linkedWallets.map((account) => account.btcAddress || account.evmAddress);
23
21
  const mats = await Promise.all(addresses.map((address) => portalApiClient.getPortalMats(address)));
@@ -1 +1 @@
1
- {"version":3,"file":"useGetCurrentAccount.js","sourceRoot":"","sources":["../../../src/hooks/useGetCurrentAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AASzD,MAAM,UAAU,oBAAoB,CAClC,eAGI,EAAE;IAEN,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IACxC,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAA;IAE5C,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC;QAClD,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,iBAAiB,EAAE,CAAA;YAC9D,MAAM,aAAa,GAAG,cAAc,EAAE,cAAc,EAAE,MAAM,CAC1D,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CACvC,CAAA;YACD,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjD,OAAO;oBACL,GAAG,cAAc;oBACjB,IAAI,EAAE;wBACJ,SAAS,EAAE,CAAC;qBACb;iBACF,CAAA;YACH,CAAC;YAED,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CACjC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CACtD,CAAA;YACD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CACnE,CAAA;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAC3B,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,OAAO,GAAG,WAAW,CAAC,SAAS,EACzD,CAAC,CACF,CAAA;YAED,OAAO;gBACL,GAAG,cAAc;gBACjB,IAAI,EAAE;oBACJ,SAAS;iBACV;aACF,CAAA;QACH,CAAC;QACD,SAAS,EAAE,aAAa;QACxB,KAAK,EAAE,CAAC;QACR,GAAG,YAAY;KAChB,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"useGetCurrentAccount.js","sourceRoot":"","sources":["../../../src/hooks/useGetCurrentAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AASzD,MAAM,UAAU,oBAAoB,CAClC,eAGI,EAAE;IAEN,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IACxC,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAA;IAE5C,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC;QAClD,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,iBAAiB,EAAE,CAAA;YAC9D,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;YAC7C,CAAC;YAED,MAAM,aAAa,GAAG,cAAc,EAAE,cAAc,EAAE,MAAM,CAC1D,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CACvC,CAAA;YACD,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;YACpE,CAAC;YAED,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CACjC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CACtD,CAAA;YACD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CACnE,CAAA;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAC3B,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,OAAO,GAAG,WAAW,CAAC,SAAS,EACzD,CAAC,CACF,CAAA;YAED,OAAO;gBACL,GAAG,cAAc;gBACjB,IAAI,EAAE;oBACJ,SAAS;iBACV;aACF,CAAA;QACH,CAAC;QACD,SAAS,EAAE,aAAa;QACxB,KAAK,EAAE,CAAC;QACR,GAAG,YAAY;KAChB,CAAC,CAAA;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLinkAccount.d.ts","sourceRoot":"","sources":["../../../src/hooks/useLinkAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,EACf,YAAY,EACb,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAKhE,KAAK,+BAA+B,GAChC,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG,aAAa,CAAC,GACpC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAA;AAEvB,wBAAgB,cAAc,CAC5B,eAAe,GAAE,IAAI,CACnB,eAAe,CACb,mBAAmB,EACnB,YAAY,EACZ,+BAA+B,CAChC,EACD,YAAY,GAAG,aAAa,CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCP"}
1
+ {"version":3,"file":"useLinkAccount.d.ts","sourceRoot":"","sources":["../../../src/hooks/useLinkAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,EACf,YAAY,EACb,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAKhE,KAAK,+BAA+B,GAChC,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG,aAAa,CAAC,GACpC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAA;AAEvB,wBAAgB,cAAc,CAC5B,eAAe,GAAE,IAAI,CACnB,eAAe,CACb,mBAAmB,EACnB,YAAY,EACZ,+BAA+B,CAChC,EACD,YAAY,GAAG,aAAa,CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyCP"}
@@ -6,15 +6,15 @@ import { getBitcoinPublicKeyFromConnector } from "../utils/wagmi";
6
6
  export function useLinkAccount(mutationOptions = {}) {
7
7
  const queryClient = useQueryClient();
8
8
  const authApiClient = useAuthApiClient();
9
- const { connector } = useWalletAccount();
9
+ const walletAccount = useWalletAccount();
10
10
  const { onSuccess: customOnSuccess, ...restMutationOptions } = mutationOptions;
11
11
  const { mutate, mutateAsync, ...rest } = useMutation({
12
12
  mutationFn: async (linkAccountMutationFnParameters) => {
13
13
  if (linkAccountMutationFnParameters.type === "wallet") {
14
- if (!connector) {
14
+ if (!walletAccount.data?.connector) {
15
15
  throw new Error("Connector not defined.");
16
16
  }
17
- const bitcoinPublicKey = await getBitcoinPublicKeyFromConnector(connector);
17
+ const bitcoinPublicKey = await getBitcoinPublicKeyFromConnector(walletAccount.data.connector);
18
18
  // Linking bitcoin account
19
19
  if (bitcoinPublicKey) {
20
20
  return authApiClient.linkAccount({
@@ -1 +1 @@
1
- {"version":3,"file":"useLinkAccount.js","sourceRoot":"","sources":["../../../src/hooks/useLinkAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,GAGZ,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAA;AAMjE,MAAM,UAAU,cAAc,CAC5B,kBAOI,EAAE;IAEN,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IACxC,MAAM,EAAE,SAAS,EAAE,GAAG,gBAAgB,EAAE,CAAA;IAExC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,mBAAmB,EAAE,GAAG,eAAe,CAAA;IAE9E,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,WAAW,CAAC;QACnD,UAAU,EAAE,KAAK,EACf,+BAAgE,EAChE,EAAE;YACF,IAAI,+BAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtD,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;gBAC3C,CAAC;gBAED,MAAM,gBAAgB,GACpB,MAAM,gCAAgC,CAAC,SAAS,CAAC,CAAA;gBAEnD,0BAA0B;gBAC1B,IAAI,gBAAgB,EAAE,CAAC;oBACrB,OAAO,aAAa,CAAC,WAAW,CAAC;wBAC/B,GAAG,+BAA+B;wBAClC,gBAAgB;qBACjB,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAED,uEAAuE;YACvE,OAAO,aAAa,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAA;QACnE,CAAC;QACD,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;YACtC,WAAW,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAC5D,IAAI,eAAe;gBAAE,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;QAChE,CAAC;QACD,GAAG,mBAAmB;KACvB,CAAC,CAAA;IAEF,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,CAAA;AACxE,CAAC"}
1
+ {"version":3,"file":"useLinkAccount.js","sourceRoot":"","sources":["../../../src/hooks/useLinkAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,GAGZ,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAA;AAMjE,MAAM,UAAU,cAAc,CAC5B,kBAOI,EAAE;IAEN,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IACxC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IAExC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,mBAAmB,EAAE,GAAG,eAAe,CAAA;IAE9E,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,WAAW,CAAC;QACnD,UAAU,EAAE,KAAK,EACf,+BAAgE,EAChE,EAAE;YACF,IAAI,+BAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtD,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;oBACnC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;gBAC3C,CAAC;gBAED,MAAM,gBAAgB,GAAG,MAAM,gCAAgC,CAC7D,aAAa,CAAC,IAAI,CAAC,SAAS,CAC7B,CAAA;gBAED,0BAA0B;gBAC1B,IAAI,gBAAgB,EAAE,CAAC;oBACrB,OAAO,aAAa,CAAC,WAAW,CAAC;wBAC/B,GAAG,+BAA+B;wBAClC,gBAAgB;qBACjB,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAED,uEAAuE;YACvE,OAAO,aAAa,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAA;QACnE,CAAC;QACD,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;YACtC,WAAW,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAC5D,IAAI,eAAe;gBAAE,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;QAChE,CAAC;QACD,GAAG,mBAAmB;KACvB,CAAC,CAAA;IAEF,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,CAAA;AACxE,CAAC"}
@@ -1,7 +1,33 @@
1
+ import { UseQueryOptions } from "@tanstack/react-query";
1
2
  import { MezoChainToken } from "../lib/contracts";
2
- type UseMezoChainTokensBalancesOptions<T> = {
3
+ export declare const BALANCE_OF_ABI: readonly [{
4
+ readonly inputs: readonly [{
5
+ readonly internalType: "address";
6
+ readonly name: "account";
7
+ readonly type: "address";
8
+ }];
9
+ readonly name: "balanceOf";
10
+ readonly outputs: readonly [{
11
+ readonly internalType: "uint256";
12
+ readonly name: "";
13
+ readonly type: "uint256";
14
+ }];
15
+ readonly stateMutability: "view";
16
+ readonly type: "function";
17
+ }];
18
+ type UseMezoChainTokensBalancesOptions<T extends MezoChainToken[]> = {
3
19
  tokens?: T;
4
- queryOptions?: object;
20
+ queryOptions?: Omit<UseQueryOptions<Record<T[number], TokenBalance>>, "queryKey" | "queryFn" | "select" | "enabled">;
21
+ };
22
+ export type TokenBalance = {
23
+ decimals: number;
24
+ formatted: string;
25
+ symbol: string;
26
+ value: bigint;
27
+ usd: {
28
+ value: bigint;
29
+ formatted: string;
30
+ };
5
31
  };
6
32
  /**
7
33
  * Hook to get the balance of a list of tokens for the current account
@@ -12,62 +38,37 @@ type UseMezoChainTokensBalancesOptions<T> = {
12
38
  * @returns Tanstack's `useQuery` returnings with balance of tokens for the
13
39
  * current account in form of typesafe object with token names as keys
14
40
  * and balances as values.
15
- * @dev In case of error data fallbacks to `0n`. To determine if an error
16
- * occurred, check the `isError` property.
17
41
  * @example
18
42
  * const mezoTokensBalance = useTokensBalances({
19
43
  * tokens: ["mT", "mxSolvBTC"],
20
44
  * })
21
- * console.log(mezoTokensBalance?.data.mT) // Eg. 0n
22
- * console.log(Object.keys(mezoTokensBalance?.data)) // ["mT", "mxSolvBTC"]
45
+ * // Assuming the status is "success"
46
+ * console.log(mezoTokensBalance.data.mT) // Eg. { value: 0n ... }
47
+ * console.log(Object.keys(mezoTokensBalance.data)) // ["mT", "mxSolvBTC"]
23
48
  */
24
- export declare function useTokensBalances<T extends MezoChainToken[]>(options?: UseMezoChainTokensBalancesOptions<T>): import("wagmi").UseReadContractsReturnType<{
25
- address: `0x${string}`;
26
- abi: readonly [{
27
- readonly inputs: readonly [{
28
- readonly internalType: "address";
29
- readonly name: "account";
30
- readonly type: "address";
31
- }];
32
- readonly name: "balanceOf";
33
- readonly outputs: readonly [{
34
- readonly internalType: "uint256";
35
- readonly name: "";
36
- readonly type: "uint256";
37
- }];
38
- readonly stateMutability: "view";
39
- readonly type: "function";
40
- }];
41
- functionName: string;
42
- args: `0x${string}`[];
43
- chainId: number;
44
- }[], true, Record<T[number], bigint>>;
49
+ export declare function useTokensBalances<T extends MezoChainToken[]>(options?: UseMezoChainTokensBalancesOptions<T>): import("@tanstack/react-query").UseQueryResult<Record<"BTC" | T[number], TokenBalance>, Error>;
45
50
  /**
46
51
  * Hook for invalidating current user's token balances. Can be used to
47
52
  * invalidate the balances manually, which forces the data to be re-fetched.
48
- * @param tokens The list of tokens (as string arrays) for which we want to
49
- * invalidate query for.
50
53
  * @returns Function `invalidateTokenBalances` that invalidates token balances
51
54
  * @example
52
- * const { invalidateTokenBalances } = useInvalidateTokensBalances(["mT", "mUSD"])
55
+ * const { invalidateTokenBalances } = useInvalidateTokensBalances()
53
56
  * (...)
54
57
  * await invalidateTokenBalances()
55
58
  */
56
- export declare function useInvalidateTokensBalances(tokens?: MezoChainToken[]): {
59
+ export declare function useInvalidateTokensBalances(): {
57
60
  invalidateTokensBalances: () => Promise<void>;
58
61
  };
59
62
  /**
60
63
  * Hook for resetting current user's token balances. Can be used to reset the
61
64
  * balances manually, which forces the data to be re-fetched.
62
- * @param tokens The list of tokens (as string arrays) for which we want to
63
- * reset query for.
64
65
  * @returns Function `resetTokenBalances` that invalidates token balances
65
66
  * @example
66
- * const { resetTokenBalances } = useResetTokensBalances(["mT", "mUSD"])
67
+ * const { resetTokenBalances } = useResetTokensBalances()
67
68
  * (...)
68
69
  * await resetTokenBalances()
69
70
  */
70
- export declare function useResetTokensBalances(tokens?: MezoChainToken[]): {
71
+ export declare function useResetTokensBalances(): {
71
72
  resetTokenBalances: () => Promise<void>;
72
73
  };
73
74
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"useTokensBalances.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTokensBalances.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,cAAc,EACf,MAAM,kBAAkB,CAAA;AA8CzB,KAAK,iCAAiC,CAAC,CAAC,IAAI;IAC1C,MAAM,CAAC,EAAE,CAAC,CAAA;IACV,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,cAAc,EAAE,EAC1D,OAAO,GAAE,iCAAiC,CAAC,CAAC,CAAM;;;;;;;;;;;;;;;;;;;;sCAuDnD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE;;EAapE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE;;EAa/D"}
1
+ {"version":3,"file":"useTokensBalances.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTokensBalances.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAEL,cAAc,EAEf,MAAM,kBAAkB,CAAA;AAkBzB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;EAoBH,CAAA;AAgBxB,KAAK,iCAAiC,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI;IACnE,MAAM,CAAC,EAAE,CAAC,CAAA;IACV,YAAY,CAAC,EAAE,IAAI,CACjB,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,EAChD,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAC9C,CAAA;CACF,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE;QACH,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;CACF,CAAA;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,cAAc,EAAE,EAC1D,OAAO,GAAE,iCAAiC,CAAC,CAAC,CAAM,kGAuHnD;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B;;EAS1C;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB;;EASrC"}
@@ -1,16 +1,20 @@
1
- import { useReadContracts } from "wagmi";
2
- import { useCallback, useMemo } from "react";
3
- import { useQueryClient } from "@tanstack/react-query";
4
- import { usePassportContext } from "./usePassportContext";
1
+ import { useConfig } from "wagmi";
2
+ import { formatUnits } from "viem";
3
+ import { useQuery, useQueryClient, } from "@tanstack/react-query";
4
+ import { getBalance, readContracts } from "wagmi/actions";
5
5
  import { mainnetTokenContracts, testnetTokenContracts, } from "../lib/contracts";
6
6
  import useWalletAccount from "./useWalletAccount";
7
+ import { getAsset, isBitcoinLikeCryptoAsset, isTTokenCryptoAsset, } from "../utils/assets";
8
+ import { convertToUsd } from "../utils/currency";
7
9
  import { CHAIN_ID } from "../constants";
10
+ import { useAssetsConversionRates } from "./useAssetsConversionRates";
11
+ import { normalizePrecision } from "../utils/numbers";
8
12
  // Wagmi handles typesafety with ABI const assertions. TypeScript doesn't
9
13
  // support importing JSON as const yet so types cannot be inferred from the
10
14
  // imported contract. As a workaround there is minimal ABI definition that can
11
15
  // be asserted types from.
12
16
  // Ref: https://wagmi.sh/core/typescript#const-assert-abis-typed-data
13
- const BALANCE_OF_ABI = [
17
+ export const BALANCE_OF_ABI = [
14
18
  {
15
19
  inputs: [
16
20
  {
@@ -44,6 +48,7 @@ const BALANCE_TOKENS = [
44
48
  "mxSolvBTC",
45
49
  "MUSD",
46
50
  ];
51
+ const TOKEN_BALANCES_QUERY_KEY = "passport.tokenBalances";
47
52
  /**
48
53
  * Hook to get the balance of a list of tokens for the current account
49
54
  * @param options.tokens The list of tokens to get the balance for. It will
@@ -53,67 +58,106 @@ const BALANCE_TOKENS = [
53
58
  * @returns Tanstack's `useQuery` returnings with balance of tokens for the
54
59
  * current account in form of typesafe object with token names as keys
55
60
  * and balances as values.
56
- * @dev In case of error data fallbacks to `0n`. To determine if an error
57
- * occurred, check the `isError` property.
58
61
  * @example
59
62
  * const mezoTokensBalance = useTokensBalances({
60
63
  * tokens: ["mT", "mxSolvBTC"],
61
64
  * })
62
- * console.log(mezoTokensBalance?.data.mT) // Eg. 0n
63
- * console.log(Object.keys(mezoTokensBalance?.data)) // ["mT", "mxSolvBTC"]
65
+ * // Assuming the status is "success"
66
+ * console.log(mezoTokensBalance.data.mT) // Eg. { value: 0n ... }
67
+ * console.log(Object.keys(mezoTokensBalance.data)) // ["mT", "mxSolvBTC"]
64
68
  */
65
69
  export function useTokensBalances(options = {}) {
66
- const { environment = "mainnet" } = usePassportContext();
67
- const { accountAddress } = useWalletAccount();
68
- const contractsMap = useMemo(() => {
69
- const contracts = environment === "mainnet" ? mainnetTokenContracts : testnetTokenContracts;
70
- const tokenContracts = Object.fromEntries(Object.entries(contracts).filter(([key]) => BALANCE_TOKENS.includes(key)));
71
- return tokenContracts;
72
- }, [environment]);
73
- const { tokens = Object.keys(contractsMap), queryOptions = {} } = options;
74
- const contracts = useMemo(() => {
75
- if (!accountAddress)
76
- return [];
77
- return tokens.map((token) => {
78
- const { address } = contractsMap[token];
79
- return {
80
- address,
81
- abi: BALANCE_OF_ABI,
82
- functionName: "balanceOf",
83
- args: [accountAddress],
84
- chainId: CHAIN_ID[environment],
85
- };
86
- });
87
- }, [accountAddress, tokens, contractsMap, environment]);
88
- return useReadContracts({
89
- contracts,
90
- query: {
91
- select: (data) => data.reduce((acc, item) => {
92
- const token = tokens[data.indexOf(item)];
70
+ const { tokens = BALANCE_TOKENS, ...restQueryOptions } = options;
71
+ const { data: walletAccountData } = useWalletAccount();
72
+ const config = useConfig();
73
+ const { data: conversionRatesData } = useAssetsConversionRates();
74
+ return useQuery({
75
+ queryKey: [
76
+ TOKEN_BALANCES_QUERY_KEY,
77
+ walletAccountData?.accountAddress,
78
+ options.tokens,
79
+ ],
80
+ enabled: !!walletAccountData?.accountAddress && !!conversionRatesData,
81
+ queryFn: async () => {
82
+ const isMainnet = config.state.chainId === CHAIN_ID.mainnet;
83
+ const contractsMap = isMainnet
84
+ ? mainnetTokenContracts
85
+ : testnetTokenContracts;
86
+ const accountAddress = walletAccountData?.accountAddress;
87
+ if (!accountAddress) {
88
+ throw new Error("Account address is not available.");
89
+ }
90
+ const tokenContracts = tokens.map((token) => {
91
+ const { address } = contractsMap[token];
93
92
  return {
94
- ...acc,
95
- [token]: item.result ?? 0n,
93
+ address,
94
+ abi: BALANCE_OF_ABI,
95
+ functionName: "balanceOf",
96
+ args: [accountAddress],
97
+ chainId: config.state.chainId,
98
+ };
99
+ });
100
+ return Promise.all([
101
+ getBalance(config, { address: accountAddress }),
102
+ readContracts(config, {
103
+ contracts: tokenContracts,
104
+ }),
105
+ ]);
106
+ },
107
+ select: (data) => {
108
+ const [btcBalance, tokensBalancesData] = data;
109
+ if (!conversionRatesData) {
110
+ throw new Error("Conversion rates data is not available.");
111
+ }
112
+ const parsedBtcBalance = {
113
+ ...btcBalance,
114
+ symbol: getAsset("BTC").symbol,
115
+ usd: convertToUsd(btcBalance.value, btcBalance.decimals, conversionRatesData.rates.BTC, conversionRatesData.decimals),
116
+ };
117
+ const parsedTokensBalances = tokensBalancesData.map((item, index) => {
118
+ const token = tokens[index];
119
+ const { decimals, symbol } = getAsset(token);
120
+ if (item.status === "failure") {
121
+ throw new Error(`Failed to fetch balance of ${token} for ${walletAccountData?.accountAddress}.`);
122
+ }
123
+ const tokenBalance = {
124
+ value: item.result,
125
+ decimals,
126
+ symbol,
127
+ formatted: formatUnits(item.result, decimals),
128
+ };
129
+ let usd = {
130
+ value: normalizePrecision(tokenBalance.value, tokenBalance.decimals, conversionRatesData.decimals),
131
+ formatted: formatUnits(tokenBalance.value, tokenBalance.decimals),
96
132
  };
97
- }, {}),
98
- ...queryOptions,
133
+ if (isBitcoinLikeCryptoAsset(tokenBalance.symbol)) {
134
+ usd = convertToUsd(tokenBalance.value, tokenBalance.decimals, conversionRatesData.rates.BTC, conversionRatesData.decimals);
135
+ }
136
+ if (isTTokenCryptoAsset(tokenBalance.symbol)) {
137
+ usd = convertToUsd(tokenBalance.value, tokenBalance.decimals, conversionRatesData.rates.mT, conversionRatesData.decimals);
138
+ }
139
+ return { ...tokenBalance, usd };
140
+ });
141
+ return [parsedBtcBalance, ...parsedTokensBalances].reduce((acc, token) => ({
142
+ ...acc,
143
+ [token.symbol]: token,
144
+ }), {});
99
145
  },
146
+ ...restQueryOptions,
100
147
  });
101
148
  }
102
149
  /**
103
150
  * Hook for invalidating current user's token balances. Can be used to
104
151
  * invalidate the balances manually, which forces the data to be re-fetched.
105
- * @param tokens The list of tokens (as string arrays) for which we want to
106
- * invalidate query for.
107
152
  * @returns Function `invalidateTokenBalances` that invalidates token balances
108
153
  * @example
109
- * const { invalidateTokenBalances } = useInvalidateTokensBalances(["mT", "mUSD"])
154
+ * const { invalidateTokenBalances } = useInvalidateTokensBalances()
110
155
  * (...)
111
156
  * await invalidateTokenBalances()
112
157
  */
113
- export function useInvalidateTokensBalances(tokens) {
158
+ export function useInvalidateTokensBalances() {
114
159
  const queryClient = useQueryClient();
115
- const { queryKey } = useTokensBalances({ tokens });
116
- const invalidateTokensBalancesHandler = useCallback(() => queryClient.invalidateQueries({ queryKey }), [queryClient, queryKey]);
160
+ const invalidateTokensBalancesHandler = () => queryClient.invalidateQueries({ queryKey: [TOKEN_BALANCES_QUERY_KEY] });
117
161
  return {
118
162
  invalidateTokensBalances: invalidateTokensBalancesHandler,
119
163
  };
@@ -121,18 +165,15 @@ export function useInvalidateTokensBalances(tokens) {
121
165
  /**
122
166
  * Hook for resetting current user's token balances. Can be used to reset the
123
167
  * balances manually, which forces the data to be re-fetched.
124
- * @param tokens The list of tokens (as string arrays) for which we want to
125
- * reset query for.
126
168
  * @returns Function `resetTokenBalances` that invalidates token balances
127
169
  * @example
128
- * const { resetTokenBalances } = useResetTokensBalances(["mT", "mUSD"])
170
+ * const { resetTokenBalances } = useResetTokensBalances()
129
171
  * (...)
130
172
  * await resetTokenBalances()
131
173
  */
132
- export function useResetTokensBalances(tokens) {
174
+ export function useResetTokensBalances() {
133
175
  const queryClient = useQueryClient();
134
- const { queryKey } = useTokensBalances({ tokens });
135
- const resetTokenBalancesHandler = useCallback(() => queryClient.resetQueries({ queryKey }), [queryClient, queryKey]);
176
+ const resetTokenBalancesHandler = () => queryClient.resetQueries({ queryKey: [TOKEN_BALANCES_QUERY_KEY] });
136
177
  return {
137
178
  resetTokenBalances: resetTokenBalancesHandler,
138
179
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useTokensBalances.js","sourceRoot":"","sources":["../../../src/hooks/useTokensBalances.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTokensBalances.js","sourceRoot":"","sources":["../../../src/hooks/useTokensBalances.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  import { Address } from "viem";
2
2
  import { Connector } from "wagmi";
3
3
  type UseWalletAccountReturn = {
4
- accountAddress?: Address;
5
- walletAddress?: string;
6
- isConnected: boolean;
7
- networkFamily: "bitcoin" | "evm";
8
- connector?: Connector;
9
- chainId?: number;
4
+ data: {
5
+ accountAddress?: Address;
6
+ walletAddress?: string;
7
+ isConnected: boolean;
8
+ networkFamily: "bitcoin" | "evm";
9
+ connector?: Connector;
10
+ chainId?: number;
11
+ };
10
12
  };
11
13
  export default function useWalletAccount(): UseWalletAccountReturn;
12
14
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletAccount.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWalletAccount.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAc,MAAM,OAAO,CAAA;AAE7C,KAAK,sBAAsB,GAAG;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,OAAO,CAAA;IACpB,aAAa,EAAE,SAAS,GAAG,KAAK,CAAA;IAChC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,IAAI,sBAAsB,CAmCjE"}
1
+ {"version":3,"file":"useWalletAccount.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWalletAccount.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAc,MAAM,OAAO,CAAA;AAE7C,KAAK,sBAAsB,GAAG;IAC5B,IAAI,EAAE;QACJ,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,WAAW,EAAE,OAAO,CAAA;QACpB,aAAa,EAAE,SAAS,GAAG,KAAK,CAAA;QAChC,SAAS,CAAC,EAAE,SAAS,CAAA;QACrB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;CACF,CAAA;AAID,MAAM,CAAC,OAAO,UAAU,gBAAgB,IAAI,sBAAsB,CAqCjE"}