@mezo-org/passport 0.4.0-dev.37 → 0.4.0-dev.39

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 (210) hide show
  1. package/dist/src/components/Dropdown/AccountAddress.d.ts +8 -0
  2. package/dist/src/components/Dropdown/AccountAddress.d.ts.map +1 -0
  3. package/dist/src/components/Dropdown/AccountAddress.js +66 -0
  4. package/dist/src/components/Dropdown/AccountAddress.js.map +1 -0
  5. package/dist/src/components/Dropdown/AccountAssets.d.ts +13 -0
  6. package/dist/src/components/Dropdown/AccountAssets.d.ts.map +1 -0
  7. package/dist/src/components/Dropdown/AccountAssets.js +43 -0
  8. package/dist/src/components/Dropdown/AccountAssets.js.map +1 -0
  9. package/dist/src/components/Dropdown/AccountBalance.d.ts +7 -0
  10. package/dist/src/components/Dropdown/AccountBalance.d.ts.map +1 -0
  11. package/dist/src/components/Dropdown/AccountBalance.js +16 -0
  12. package/dist/src/components/Dropdown/AccountBalance.js.map +1 -0
  13. package/dist/src/components/Dropdown/Root/AccountAssets.d.ts +13 -0
  14. package/dist/src/components/Dropdown/Root/AccountAssets.d.ts.map +1 -0
  15. package/dist/src/components/Dropdown/Root/AccountAssets.js +43 -0
  16. package/dist/src/components/Dropdown/Root/AccountAssets.js.map +1 -0
  17. package/dist/src/components/Dropdown/Root/AccountBalance copy.d.ts +8 -0
  18. package/dist/src/components/Dropdown/Root/AccountBalance copy.d.ts.map +1 -0
  19. package/dist/src/components/Dropdown/Root/AccountBalance copy.js +15 -0
  20. package/dist/src/components/Dropdown/Root/AccountBalance copy.js.map +1 -0
  21. package/dist/src/components/Dropdown/Root/AccountOtherAssets copy.d.ts +8 -0
  22. package/dist/src/components/Dropdown/Root/AccountOtherAssets copy.d.ts.map +1 -0
  23. package/dist/src/components/Dropdown/Root/AccountOtherAssets copy.js +21 -0
  24. package/dist/src/components/Dropdown/Root/AccountOtherAssets copy.js.map +1 -0
  25. package/dist/src/components/Dropdown/Root/ListingItem copy.d.ts +12 -0
  26. package/dist/src/components/Dropdown/Root/ListingItem copy.d.ts.map +1 -0
  27. package/dist/src/components/Dropdown/Root/ListingItem copy.js +36 -0
  28. package/dist/src/components/Dropdown/Root/ListingItem copy.js.map +1 -0
  29. package/dist/src/components/Dropdown/Root/ListingItem.d.ts +12 -0
  30. package/dist/src/components/Dropdown/Root/ListingItem.d.ts.map +1 -0
  31. package/dist/src/components/Dropdown/Root/ListingItem.js +34 -0
  32. package/dist/src/components/Dropdown/Root/ListingItem.js.map +1 -0
  33. package/dist/src/components/Dropdown/Root/TestnetTopBanner.d.ts +3 -0
  34. package/dist/src/components/Dropdown/Root/TestnetTopBanner.d.ts.map +1 -0
  35. package/dist/src/components/Dropdown/Root/TestnetTopBanner.js +9 -0
  36. package/dist/src/components/Dropdown/Root/TestnetTopBanner.js.map +1 -0
  37. package/dist/src/components/Dropdown/WelcomeBlock.d.ts +8 -0
  38. package/dist/src/components/Dropdown/WelcomeBlock.d.ts.map +1 -0
  39. package/dist/src/components/Dropdown/WelcomeBlock.js +43 -0
  40. package/dist/src/components/Dropdown/WelcomeBlock.js.map +1 -0
  41. package/dist/src/hooks/useAssetsUSDConversion.d.ts +8 -0
  42. package/dist/src/hooks/useAssetsUSDConversion.d.ts.map +1 -0
  43. package/dist/src/hooks/useAssetsUSDConversion.js +21 -0
  44. package/dist/src/hooks/useAssetsUSDConversion.js.map +1 -0
  45. package/dist/src/hooks/useBorrowData.d.ts +5 -1363
  46. package/dist/src/hooks/useBorrowData.d.ts.map +1 -1
  47. package/dist/src/hooks/useBorrowData.js +61 -4
  48. package/dist/src/hooks/useBorrowData.js.map +1 -1
  49. package/dist/src/hooks/useGetEntireDebtAndCollByAddress.d.ts +9 -0
  50. package/dist/src/hooks/useGetEntireDebtAndCollByAddress.d.ts.map +1 -0
  51. package/dist/src/hooks/useGetEntireDebtAndCollByAddress.js +36 -0
  52. package/dist/src/hooks/useGetEntireDebtAndCollByAddress.js.map +1 -0
  53. package/dist/src/hooks/useMezoTokensBalances.d.ts +46 -0
  54. package/dist/src/hooks/useMezoTokensBalances.d.ts.map +1 -0
  55. package/dist/src/hooks/useMezoTokensBalances.js +85 -0
  56. package/dist/src/hooks/useMezoTokensBalances.js.map +1 -0
  57. package/dist/src/hooks/useTokensBalance.d.ts +16931 -0
  58. package/dist/src/hooks/useTokensBalance.d.ts.map +1 -0
  59. package/dist/src/hooks/useTokensBalance.js +84 -0
  60. package/dist/src/hooks/useTokensBalance.js.map +1 -0
  61. package/dist/src/hooks/useTokensBalances.js +2 -2
  62. package/dist/src/hooks/useTokensBalances.js.map +1 -1
  63. package/dist/src/hooks/useWatchTransferEvents.js +2 -2
  64. package/dist/src/hooks/useWatchTransferEvents.js.map +1 -1
  65. package/dist/src/lib/contracts/cbbtc.d.ts +962 -0
  66. package/dist/src/lib/contracts/cbbtc.d.ts.map +1 -0
  67. package/dist/src/lib/contracts/cbbtc.js +711 -0
  68. package/dist/src/lib/contracts/cbbtc.js.map +1 -0
  69. package/dist/src/lib/contracts/cbbtcAbi.d.ts +30 -0
  70. package/dist/src/lib/contracts/cbbtcAbi.d.ts.map +1 -0
  71. package/dist/src/lib/contracts/cbbtcAbi.js +686 -0
  72. package/dist/src/lib/contracts/cbbtcAbi.js.map +1 -0
  73. package/dist/src/lib/contracts/dai.d.ts +458 -0
  74. package/dist/src/lib/contracts/dai.d.ts.map +1 -0
  75. package/dist/src/lib/contracts/dai.js +334 -0
  76. package/dist/src/lib/contracts/dai.js.map +1 -0
  77. package/dist/src/lib/contracts/daiAbi.d.ts +47 -0
  78. package/dist/src/lib/contracts/daiAbi.d.ts.map +1 -0
  79. package/dist/src/lib/contracts/daiAbi.js +277 -0
  80. package/dist/src/lib/contracts/daiAbi.js.map +1 -0
  81. package/dist/src/lib/contracts/fbtc.d.ts +676 -0
  82. package/dist/src/lib/contracts/fbtc.d.ts.map +1 -0
  83. package/dist/src/lib/contracts/fbtc.js +527 -0
  84. package/dist/src/lib/contracts/fbtc.js.map +1 -0
  85. package/dist/src/lib/contracts/fbtcAbi.d.ts +52 -0
  86. package/dist/src/lib/contracts/fbtcAbi.d.ts.map +1 -0
  87. package/dist/src/lib/contracts/fbtcAbi.js +500 -0
  88. package/dist/src/lib/contracts/fbtcAbi.js.map +1 -0
  89. package/dist/src/lib/contracts/index.d.ts +7 -4
  90. package/dist/src/lib/contracts/index.d.ts.map +1 -1
  91. package/dist/src/lib/contracts/index.js +11 -6
  92. package/dist/src/lib/contracts/index.js.map +1 -1
  93. package/dist/src/lib/contracts/mcbbtc.d.ts +955 -0
  94. package/dist/src/lib/contracts/mcbbtc.d.ts.map +1 -0
  95. package/dist/src/lib/contracts/mcbbtc.js +704 -0
  96. package/dist/src/lib/contracts/mcbbtc.js.map +1 -0
  97. package/dist/src/lib/contracts/mdai.d.ts +451 -0
  98. package/dist/src/lib/contracts/mdai.d.ts.map +1 -0
  99. package/dist/src/lib/contracts/mdai.js +327 -0
  100. package/dist/src/lib/contracts/mdai.js.map +1 -0
  101. package/dist/src/lib/contracts/mezo.d.ts +10 -0
  102. package/dist/src/lib/contracts/mezo.d.ts.map +1 -0
  103. package/dist/src/lib/contracts/mezo.js +48 -0
  104. package/dist/src/lib/contracts/mezo.js.map +1 -0
  105. package/dist/src/lib/contracts/mfbtc.d.ts +670 -0
  106. package/dist/src/lib/contracts/mfbtc.d.ts.map +1 -0
  107. package/dist/src/lib/contracts/mfbtc.js +521 -0
  108. package/dist/src/lib/contracts/mfbtc.js.map +1 -0
  109. package/dist/src/lib/contracts/msolvbtc.d.ts +515 -0
  110. package/dist/src/lib/contracts/msolvbtc.d.ts.map +1 -0
  111. package/dist/src/lib/contracts/msolvbtc.js +331 -0
  112. package/dist/src/lib/contracts/msolvbtc.js.map +1 -0
  113. package/dist/src/lib/contracts/mswbtc.d.ts +1337 -0
  114. package/dist/src/lib/contracts/mswbtc.d.ts.map +1 -0
  115. package/dist/src/lib/contracts/mswbtc.js +909 -0
  116. package/dist/src/lib/contracts/mswbtc.js.map +1 -0
  117. package/dist/src/lib/contracts/mt.d.ts +603 -0
  118. package/dist/src/lib/contracts/mt.d.ts.map +1 -0
  119. package/dist/src/lib/contracts/mt.js +420 -0
  120. package/dist/src/lib/contracts/mt.js.map +1 -0
  121. package/dist/src/lib/contracts/musd.d.ts +107 -0
  122. package/dist/src/lib/contracts/musd.d.ts.map +1 -0
  123. package/dist/src/lib/contracts/musd.js +1070 -0
  124. package/dist/src/lib/contracts/musd.js.map +1 -0
  125. package/dist/src/lib/contracts/musdc.d.ts +1082 -0
  126. package/dist/src/lib/contracts/musdc.d.ts.map +1 -0
  127. package/dist/src/lib/contracts/musdc.js +773 -0
  128. package/dist/src/lib/contracts/musdc.js.map +1 -0
  129. package/dist/src/lib/contracts/musde.d.ts +489 -0
  130. package/dist/src/lib/contracts/musde.d.ts.map +1 -0
  131. package/dist/src/lib/contracts/musde.js +347 -0
  132. package/dist/src/lib/contracts/musde.js.map +1 -0
  133. package/dist/src/lib/contracts/musdt.d.ts +526 -0
  134. package/dist/src/lib/contracts/musdt.d.ts.map +1 -0
  135. package/dist/src/lib/contracts/musdt.js +397 -0
  136. package/dist/src/lib/contracts/musdt.js.map +1 -0
  137. package/dist/src/lib/contracts/mxsolvbtc.d.ts +514 -0
  138. package/dist/src/lib/contracts/mxsolvbtc.d.ts.map +1 -0
  139. package/dist/src/lib/contracts/mxsolvbtc.js +330 -0
  140. package/dist/src/lib/contracts/mxsolvbtc.js.map +1 -0
  141. package/dist/src/lib/contracts/solvbtc.d.ts +521 -0
  142. package/dist/src/lib/contracts/solvbtc.d.ts.map +1 -0
  143. package/dist/src/lib/contracts/solvbtc.js +337 -0
  144. package/dist/src/lib/contracts/solvbtc.js.map +1 -0
  145. package/dist/src/lib/contracts/solvbtcAbi.d.ts +48 -0
  146. package/dist/src/lib/contracts/solvbtcAbi.d.ts.map +1 -0
  147. package/dist/src/lib/contracts/solvbtcAbi.js +316 -0
  148. package/dist/src/lib/contracts/solvbtcAbi.js.map +1 -0
  149. package/dist/src/lib/contracts/swbtc.d.ts +1343 -0
  150. package/dist/src/lib/contracts/swbtc.d.ts.map +1 -0
  151. package/dist/src/lib/contracts/swbtc.js +915 -0
  152. package/dist/src/lib/contracts/swbtc.js.map +1 -0
  153. package/dist/src/lib/contracts/swbtcAbi.d.ts +51 -0
  154. package/dist/src/lib/contracts/swbtcAbi.d.ts.map +1 -0
  155. package/dist/src/lib/contracts/swbtcAbi.js +897 -0
  156. package/dist/src/lib/contracts/swbtcAbi.js.map +1 -0
  157. package/dist/src/lib/contracts/t.d.ts +609 -0
  158. package/dist/src/lib/contracts/t.d.ts.map +1 -0
  159. package/dist/src/lib/contracts/t.js +426 -0
  160. package/dist/src/lib/contracts/t.js.map +1 -0
  161. package/dist/src/lib/contracts/tAbi.d.ts +57 -0
  162. package/dist/src/lib/contracts/tAbi.d.ts.map +1 -0
  163. package/dist/src/lib/contracts/tAbi.js +407 -0
  164. package/dist/src/lib/contracts/tAbi.js.map +1 -0
  165. package/dist/src/lib/contracts/tbtc.d.ts +324 -0
  166. package/dist/src/lib/contracts/tbtc.d.ts.map +1 -0
  167. package/dist/src/lib/contracts/tbtc.js +236 -0
  168. package/dist/src/lib/contracts/tbtc.js.map +1 -0
  169. package/dist/src/lib/contracts/usdc.d.ts +1088 -0
  170. package/dist/src/lib/contracts/usdc.d.ts.map +1 -0
  171. package/dist/src/lib/contracts/usdc.js +779 -0
  172. package/dist/src/lib/contracts/usdc.js.map +1 -0
  173. package/dist/src/lib/contracts/usdcAbi.d.ts +30 -0
  174. package/dist/src/lib/contracts/usdcAbi.d.ts.map +1 -0
  175. package/dist/src/lib/contracts/usdcAbi.js +754 -0
  176. package/dist/src/lib/contracts/usdcAbi.js.map +1 -0
  177. package/dist/src/lib/contracts/usde.d.ts +495 -0
  178. package/dist/src/lib/contracts/usde.d.ts.map +1 -0
  179. package/dist/src/lib/contracts/usde.js +353 -0
  180. package/dist/src/lib/contracts/usde.js.map +1 -0
  181. package/dist/src/lib/contracts/usdeAbi.d.ts +52 -0
  182. package/dist/src/lib/contracts/usdeAbi.d.ts.map +1 -0
  183. package/dist/src/lib/contracts/usdeAbi.js +331 -0
  184. package/dist/src/lib/contracts/usdeAbi.js.map +1 -0
  185. package/dist/src/lib/contracts/usdt.d.ts +532 -0
  186. package/dist/src/lib/contracts/usdt.d.ts.map +1 -0
  187. package/dist/src/lib/contracts/usdt.js +403 -0
  188. package/dist/src/lib/contracts/usdt.js.map +1 -0
  189. package/dist/src/lib/contracts/usdtAbi.d.ts +43 -0
  190. package/dist/src/lib/contracts/usdtAbi.d.ts.map +1 -0
  191. package/dist/src/lib/contracts/usdtAbi.js +391 -0
  192. package/dist/src/lib/contracts/usdtAbi.js.map +1 -0
  193. package/dist/src/lib/contracts/wbtc.d.ts +406 -0
  194. package/dist/src/lib/contracts/wbtc.d.ts.map +1 -0
  195. package/dist/src/lib/contracts/wbtc.js +303 -0
  196. package/dist/src/lib/contracts/wbtc.js.map +1 -0
  197. package/dist/src/lib/contracts/xsolvbtc.d.ts +521 -0
  198. package/dist/src/lib/contracts/xsolvbtc.d.ts.map +1 -0
  199. package/dist/src/lib/contracts/xsolvbtc.js +337 -0
  200. package/dist/src/lib/contracts/xsolvbtc.js.map +1 -0
  201. package/dist/src/lib/contracts/xsolvbtcAbi.d.ts +53 -0
  202. package/dist/src/lib/contracts/xsolvbtcAbi.d.ts.map +1 -0
  203. package/dist/src/lib/contracts/xsolvbtcAbi.js +330 -0
  204. package/dist/src/lib/contracts/xsolvbtcAbi.js.map +1 -0
  205. package/package.json +1 -1
  206. package/src/hooks/useBorrowData.ts +68 -4
  207. package/src/hooks/useTokensBalances.ts +3 -3
  208. package/src/hooks/useWatchTransferEvents.ts +3 -3
  209. package/src/lib/contracts/index.ts +21 -13
  210. package/src/lib/contracts/troveManager.ts +0 -1819
@@ -1 +1 @@
1
- {"version":3,"file":"useBorrowData.d.ts","sourceRoot":"","sources":["../../../src/hooks/useBorrowData.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,YAAY,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAyB9C;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB;;EAatC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB;;EAajC"}
1
+ {"version":3,"file":"useBorrowData.d.ts","sourceRoot":"","sources":["../../../src/hooks/useBorrowData.ts"],"names":[],"mappings":"AAgEA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,YAAY,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAiC9C;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB;;EAatC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB;;EAajC"}
@@ -1,10 +1,61 @@
1
1
  import { useAccount, useReadContract } from "wagmi";
2
- import { useCallback } from "react";
2
+ import { useCallback, useMemo } from "react";
3
3
  import { useQueryClient } from "@tanstack/react-query";
4
4
  import { ONE_MINUTE_MS } from "../utils/time";
5
- import { troveManagerContract } from "../lib/contracts";
5
+ import { mainnetBorrowContracts, testnetBorrowContracts, } from "../lib/contracts";
6
6
  import { usePassportContext } from "./usePassportContext";
7
7
  import { CHAIN_ID } from "../constants";
8
+ // Wagmi handles typesafety with ABI const assertions. TypeScript doesn't
9
+ // support importing JSON as const yet so types cannot be inferred from the
10
+ // imported contract. As a workaround there is minimal ABI definition that can
11
+ // be asserted types from.
12
+ // Ref: https://wagmi.sh/core/typescript#const-assert-abis-typed-data
13
+ const TROVE_MANAGER_ABI = [
14
+ {
15
+ inputs: [
16
+ {
17
+ internalType: "address",
18
+ name: "_borrower",
19
+ type: "address",
20
+ },
21
+ ],
22
+ name: "getEntireDebtAndColl",
23
+ outputs: [
24
+ {
25
+ internalType: "uint256",
26
+ name: "coll",
27
+ type: "uint256",
28
+ },
29
+ {
30
+ internalType: "uint256",
31
+ name: "principal",
32
+ type: "uint256",
33
+ },
34
+ {
35
+ internalType: "uint256",
36
+ name: "interest",
37
+ type: "uint256",
38
+ },
39
+ {
40
+ internalType: "uint256",
41
+ name: "pendingCollateral",
42
+ type: "uint256",
43
+ },
44
+ {
45
+ internalType: "uint256",
46
+ name: "pendingPrincipal",
47
+ type: "uint256",
48
+ },
49
+ {
50
+ internalType: "uint256",
51
+ name: "pendingInterest",
52
+ type: "uint256",
53
+ },
54
+ ],
55
+ stateMutability: "view",
56
+ type: "function",
57
+ },
58
+ ];
8
59
  /**
9
60
  * Query hook for getting borrow data. Returns collateral and trove debt for the
10
61
  * connected account, based on it's evm address.
@@ -13,9 +64,15 @@ import { CHAIN_ID } from "../constants";
13
64
  export function useBorrowData(queryOptions = {}) {
14
65
  const { environment = "mainnet" } = usePassportContext();
15
66
  const { address } = useAccount();
67
+ const contractAddress = useMemo(() => {
68
+ if (environment === "mainnet") {
69
+ return mainnetBorrowContracts.TroveManager.address;
70
+ }
71
+ return testnetBorrowContracts.TroveManager.address;
72
+ }, [environment]);
16
73
  return useReadContract({
17
- abi: troveManagerContract.abi,
18
- address: troveManagerContract.address[environment],
74
+ abi: TROVE_MANAGER_ABI,
75
+ address: contractAddress,
19
76
  functionName: "getEntireDebtAndColl",
20
77
  args: [address || "0x"],
21
78
  query: {
@@ -1 +1 @@
1
- {"version":3,"file":"useBorrowData.js","sourceRoot":"","sources":["../../../src/hooks/useBorrowData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,YAAY,GAAG,EAAE;IAC7C,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,GAAG,kBAAkB,EAAE,CAAA;IACxD,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;IAChC,OAAO,eAAe,CAAC;QACrB,GAAG,EAAE,oBAAoB,CAAC,GAAG;QAC7B,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,WAAW,CAAC;QAClD,YAAY,EAAE,sBAAsB;QACpC,IAAI,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC;QACvB,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,SAAS,EAAE,CAAC,GAAG,aAAa;YAC5B,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACf,IAAI,CAAC,IAAI;oBAAE,OAAO,SAAS,CAAA;gBAE3B,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAA;gBAC9C,OAAO;oBACL,UAAU;oBACV,SAAS,EAAE,SAAS,GAAG,QAAQ;iBAChC,CAAA;YACH,CAAC;YACD,GAAG,YAAY;SAChB;QACD,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC;KAC/B,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IAEpC,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,CAAA;IAEpC,MAAM,2BAA2B,GAAG,WAAW,CAC7C,GAAG,EAAE,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,EACjD,CAAC,WAAW,EAAE,QAAQ,CAAC,CACxB,CAAA;IAED,OAAO;QACL,oBAAoB,EAAE,2BAA2B;KAClD,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IAEpC,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,CAAA;IAEpC,MAAM,sBAAsB,GAAG,WAAW,CACxC,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,EAC5C,CAAC,WAAW,EAAE,QAAQ,CAAC,CACxB,CAAA;IAED,OAAO;QACL,eAAe,EAAE,sBAAsB;KACxC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"useBorrowData.js","sourceRoot":"","sources":["../../../src/hooks/useBorrowData.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { UseBaseQueryOptions } from "@tanstack/react-query";
2
+ export declare function useGetEntireDebtAndCollByAddress(address?: string, useQueryOptions?: Partial<UseBaseQueryOptions<{
3
+ collateral: bigint;
4
+ troveDebt: bigint;
5
+ }>>): import("@tanstack/react-query").UseQueryResult<{
6
+ collateral: bigint;
7
+ troveDebt: bigint;
8
+ }, Error>;
9
+ //# sourceMappingURL=useGetEntireDebtAndCollByAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGetEntireDebtAndCollByAddress.d.ts","sourceRoot":"","sources":["../../../src/hooks/useGetEntireDebtAndCollByAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,mBAAmB,EAAY,MAAM,uBAAuB,CAAA;AAOhF,wBAAgB,gCAAgC,CAC9C,OAAO,CAAC,EAAE,MAAM,EAChB,eAAe,GAAE,OAAO,CACtB,mBAAmB,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAC1D;gBAD8B,MAAM;eAAa,MAAM;UAiC9D"}
@@ -0,0 +1,36 @@
1
+ import { skipToken, useQuery } from "@tanstack/react-query";
2
+ import { mezoTestnet } from "@mezo-org/orangekit";
3
+ import { useReadContract } from "wagmi";
4
+ import { ONE_MINUTE_MS } from "../utils/time";
5
+ import { QUERY_KEYS } from "./constants";
6
+ import { troveManagerContract } from "../lib/contracts";
7
+ export function useGetEntireDebtAndCollByAddress(address, useQueryOptions = {}) {
8
+ const { refetch: getEntireDebtAndColl } = useReadContract({
9
+ abi: troveManagerContract.abi,
10
+ // TODO: Use testnet or mainnet address
11
+ address: troveManagerContract.address.testnet,
12
+ functionName: "getEntireDebtAndColl",
13
+ args: [address || "0x"],
14
+ query: { enabled: false },
15
+ chainId: mezoTestnet.id,
16
+ });
17
+ return useQuery({
18
+ queryKey: [QUERY_KEYS.ACCOUNT, QUERY_KEYS.DEBT_AND_COLL, address],
19
+ queryFn: address
20
+ ? async () => {
21
+ const { data, error } = await getEntireDebtAndColl();
22
+ if (!data || error)
23
+ throw new Error(`Couldn't get debt data: ${error}`);
24
+ const [collateral, principal, interest] = data;
25
+ return {
26
+ collateral,
27
+ troveDebt: principal + interest,
28
+ };
29
+ }
30
+ : skipToken,
31
+ staleTime: 5 * ONE_MINUTE_MS,
32
+ retry: 1,
33
+ ...useQueryOptions,
34
+ });
35
+ }
36
+ //# sourceMappingURL=useGetEntireDebtAndCollByAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGetEntireDebtAndCollByAddress.js","sourceRoot":"","sources":["../../../src/hooks/useGetEntireDebtAndCollByAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAuB,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAEvD,MAAM,UAAU,gCAAgC,CAC9C,OAAgB,EAChB,kBAEI,EAAE;IAEN,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,eAAe,CAAC;QACxD,GAAG,EAAE,oBAAoB,CAAC,GAAG;QAC7B,uCAAuC;QACvC,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,OAAO;QAC7C,YAAY,EAAE,sBAAsB;QACpC,IAAI,EAAE,CAAE,OAAyB,IAAI,IAAI,CAAC;QAC1C,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;QACzB,OAAO,EAAE,WAAW,CAAC,EAAE;KACxB,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC;QACjE,OAAO,EAAE,OAAO;YACd,CAAC,CAAC,KAAK,IAAI,EAAE;gBACT,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,oBAAoB,EAAE,CAAA;gBACpD,IAAI,CAAC,IAAI,IAAI,KAAK;oBAChB,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAA;gBAErD,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAA;gBAE9C,OAAO;oBACL,UAAU;oBACV,SAAS,EAAE,SAAS,GAAG,QAAQ;iBAChC,CAAA;YACH,CAAC;YACH,CAAC,CAAC,SAAS;QACb,SAAS,EAAE,CAAC,GAAG,aAAa;QAC5B,KAAK,EAAE,CAAC;QACR,GAAG,eAAe;KACnB,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { MezoToken } from "../lib/contracts";
2
+ type UseMezoTokensBalancesOptions<T> = {
3
+ tokens?: T;
4
+ queryOptions?: object;
5
+ };
6
+ /**
7
+ * Hook to get the balance of a list of tokens for the current account
8
+ * @param options.tokens The list of tokens to get the balance for. It will
9
+ * fallback to all tokens if not provided.
10
+ * @param options.queryOptions The query options to pass to the
11
+ * `useReadContracts`
12
+ * @returns Tanstack's `useQuery` returnings with balance of tokens for the
13
+ * current account in form of typesafe object with token names as keys
14
+ * 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
+ * @example
18
+ * const mezoTokensBalance = useMezoTokensBalances({
19
+ * tokens: ["mT", "mxSolvBTC"],
20
+ * })
21
+ * console.log(mezoTokensBalance?.data.mT) // Eg. 0n
22
+ * console.log(Object.keys(mezoTokensBalance?.data)) // ["mT", "mxSolvBTC"]
23
+ */
24
+ declare function useMezoTokensBalances<T extends MezoToken[]>(options?: UseMezoTokensBalancesOptions<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: string[];
43
+ chainId: 31611 | undefined;
44
+ }[], true, Record<T[number], bigint>>;
45
+ export default useMezoTokensBalances;
46
+ //# sourceMappingURL=useMezoTokensBalances.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMezoTokensBalances.d.ts","sourceRoot":"","sources":["../../../src/hooks/useMezoTokensBalances.ts"],"names":[],"mappings":"AAIA,OAAO,EAAsC,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAgChF,KAAK,4BAA4B,CAAC,CAAC,IAAI;IACrC,MAAM,CAAC,EAAE,CAAC,CAAA;IACV,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,iBAAS,qBAAqB,CAAC,CAAC,SAAS,SAAS,EAAE,EAClD,OAAO,GAAE,4BAA4B,CAAC,CAAC,CAAM;;;;;;;;;;;;;;;;;;;;sCA+C9C;AAED,eAAe,qBAAqB,CAAA"}
@@ -0,0 +1,85 @@
1
+ import { useReadContracts } from "wagmi";
2
+ import { useMemo } from "react";
3
+ import { usePassportContext } from "./usePassportContext";
4
+ import { mainnetContracts, testnetContracts } from "../lib/contracts";
5
+ import useWalletAccount from "./useWalletAccount";
6
+ import { CHAIN_ID } from "../constants";
7
+ // Wagmi handles typesafety with ABI const assertions. TypeScript doesn't
8
+ // support importing JSON as const yet so types cannot be inferred from the
9
+ // imported contract. As a workaround there is minimal ABI definition that can
10
+ // be asserted types from.
11
+ // Ref: https://wagmi.sh/core/typescript#const-assert-abis-typed-data
12
+ const BALANCE_OF_ABI = [
13
+ {
14
+ inputs: [
15
+ {
16
+ internalType: "address",
17
+ name: "account",
18
+ type: "address",
19
+ },
20
+ ],
21
+ name: "balanceOf",
22
+ outputs: [
23
+ {
24
+ internalType: "uint256",
25
+ name: "",
26
+ type: "uint256",
27
+ },
28
+ ],
29
+ stateMutability: "view",
30
+ type: "function",
31
+ },
32
+ ];
33
+ /**
34
+ * Hook to get the balance of a list of tokens for the current account
35
+ * @param options.tokens The list of tokens to get the balance for. It will
36
+ * fallback to all tokens if not provided.
37
+ * @param options.queryOptions The query options to pass to the
38
+ * `useReadContracts`
39
+ * @returns Tanstack's `useQuery` returnings with balance of tokens for the
40
+ * current account in form of typesafe object with token names as keys
41
+ * and balances as values.
42
+ * @dev In case of error data fallbacks to `0n`. To determine if an error
43
+ * occurred, check the `isError` property.
44
+ * @example
45
+ * const mezoTokensBalance = useMezoTokensBalances({
46
+ * tokens: ["mT", "mxSolvBTC"],
47
+ * })
48
+ * console.log(mezoTokensBalance?.data.mT) // Eg. 0n
49
+ * console.log(Object.keys(mezoTokensBalance?.data)) // ["mT", "mxSolvBTC"]
50
+ */
51
+ function useMezoTokensBalances(options = {}) {
52
+ const { environment = "mainnet" } = usePassportContext();
53
+ const { accountAddress } = useWalletAccount();
54
+ const contractsMap = useMemo(() => (environment === "mainnet" ? mainnetContracts : testnetContracts), [environment]);
55
+ const { tokens = Object.keys(contractsMap), queryOptions = {} } = options;
56
+ const contracts = useMemo(() => {
57
+ if (!accountAddress)
58
+ return [];
59
+ return tokens.map((token) => {
60
+ const { address } = contractsMap[token];
61
+ return {
62
+ address,
63
+ abi: BALANCE_OF_ABI,
64
+ functionName: "balanceOf",
65
+ args: [accountAddress],
66
+ chainId: CHAIN_ID[environment],
67
+ };
68
+ });
69
+ }, [accountAddress, tokens, contractsMap, environment]);
70
+ return useReadContracts({
71
+ contracts,
72
+ query: {
73
+ select: (data) => data.reduce((acc, item) => {
74
+ const token = tokens[data.indexOf(item)];
75
+ return {
76
+ ...acc,
77
+ [token]: item.result ?? 0n,
78
+ };
79
+ }, {}),
80
+ ...queryOptions,
81
+ },
82
+ });
83
+ }
84
+ export default useMezoTokensBalances;
85
+ //# sourceMappingURL=useMezoTokensBalances.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMezoTokensBalances.js","sourceRoot":"","sources":["../../../src/hooks/useMezoTokensBalances.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAa,MAAM,kBAAkB,CAAA;AAChF,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC,yEAAyE;AACzE,2EAA2E;AAC3E,8EAA8E;AAC9E,0BAA0B;AAC1B,qEAAqE;AAErE,MAAM,cAAc,GAAG;IACrB;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACqB,CAAA;AAOxB;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,qBAAqB,CAC5B,UAA2C,EAAE;IAE7C,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAExD,MAAM,EAAE,cAAc,EAAE,GAAG,gBAAgB,EAAE,CAAA;IAE7C,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,EACvE,CAAC,WAAW,CAAC,CACd,CAAA;IAED,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAM,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;IAE9E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,CAAA;QAE9B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;YAEvC,OAAO;gBACL,OAAO;gBACP,GAAG,EAAE,cAAc;gBACnB,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,CAAC,cAAc,CAAC;gBACtB,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC;aAC/B,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAA;IAEvD,OAAO,gBAAgB,CAAC;QACtB,SAAS;QACT,KAAK,EAAE;YACL,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CACf,IAAI,CAAC,MAAM,CACT,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACZ,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;gBAExC,OAAO;oBACL,GAAG,GAAG;oBACN,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;iBAC3B,CAAA;YACH,CAAC,EACD,EAA+B,CAChC;YACH,GAAG,YAAY;SAChB;KACF,CAAC,CAAA;AACJ,CAAC;AAED,eAAe,qBAAqB,CAAA"}