@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.
- package/dist/src/components/Dropdown/AccountAddress.d.ts +8 -0
- package/dist/src/components/Dropdown/AccountAddress.d.ts.map +1 -0
- package/dist/src/components/Dropdown/AccountAddress.js +66 -0
- package/dist/src/components/Dropdown/AccountAddress.js.map +1 -0
- package/dist/src/components/Dropdown/AccountAssets.d.ts +13 -0
- package/dist/src/components/Dropdown/AccountAssets.d.ts.map +1 -0
- package/dist/src/components/Dropdown/AccountAssets.js +43 -0
- package/dist/src/components/Dropdown/AccountAssets.js.map +1 -0
- package/dist/src/components/Dropdown/AccountBalance.d.ts +7 -0
- package/dist/src/components/Dropdown/AccountBalance.d.ts.map +1 -0
- package/dist/src/components/Dropdown/AccountBalance.js +16 -0
- package/dist/src/components/Dropdown/AccountBalance.js.map +1 -0
- package/dist/src/components/Dropdown/Root/AccountAssets.d.ts +13 -0
- package/dist/src/components/Dropdown/Root/AccountAssets.d.ts.map +1 -0
- package/dist/src/components/Dropdown/Root/AccountAssets.js +43 -0
- package/dist/src/components/Dropdown/Root/AccountAssets.js.map +1 -0
- package/dist/src/components/Dropdown/Root/AccountBalance copy.d.ts +8 -0
- package/dist/src/components/Dropdown/Root/AccountBalance copy.d.ts.map +1 -0
- package/dist/src/components/Dropdown/Root/AccountBalance copy.js +15 -0
- package/dist/src/components/Dropdown/Root/AccountBalance copy.js.map +1 -0
- package/dist/src/components/Dropdown/Root/AccountOtherAssets copy.d.ts +8 -0
- package/dist/src/components/Dropdown/Root/AccountOtherAssets copy.d.ts.map +1 -0
- package/dist/src/components/Dropdown/Root/AccountOtherAssets copy.js +21 -0
- package/dist/src/components/Dropdown/Root/AccountOtherAssets copy.js.map +1 -0
- package/dist/src/components/Dropdown/Root/ListingItem copy.d.ts +12 -0
- package/dist/src/components/Dropdown/Root/ListingItem copy.d.ts.map +1 -0
- package/dist/src/components/Dropdown/Root/ListingItem copy.js +36 -0
- package/dist/src/components/Dropdown/Root/ListingItem copy.js.map +1 -0
- package/dist/src/components/Dropdown/Root/ListingItem.d.ts +12 -0
- package/dist/src/components/Dropdown/Root/ListingItem.d.ts.map +1 -0
- package/dist/src/components/Dropdown/Root/ListingItem.js +34 -0
- package/dist/src/components/Dropdown/Root/ListingItem.js.map +1 -0
- package/dist/src/components/Dropdown/Root/TestnetTopBanner.d.ts +3 -0
- package/dist/src/components/Dropdown/Root/TestnetTopBanner.d.ts.map +1 -0
- package/dist/src/components/Dropdown/Root/TestnetTopBanner.js +9 -0
- package/dist/src/components/Dropdown/Root/TestnetTopBanner.js.map +1 -0
- package/dist/src/components/Dropdown/WelcomeBlock.d.ts +8 -0
- package/dist/src/components/Dropdown/WelcomeBlock.d.ts.map +1 -0
- package/dist/src/components/Dropdown/WelcomeBlock.js +43 -0
- package/dist/src/components/Dropdown/WelcomeBlock.js.map +1 -0
- package/dist/src/hooks/useAssetsUSDConversion.d.ts +8 -0
- package/dist/src/hooks/useAssetsUSDConversion.d.ts.map +1 -0
- package/dist/src/hooks/useAssetsUSDConversion.js +21 -0
- package/dist/src/hooks/useAssetsUSDConversion.js.map +1 -0
- package/dist/src/hooks/useBorrowData.d.ts +5 -1363
- package/dist/src/hooks/useBorrowData.d.ts.map +1 -1
- package/dist/src/hooks/useBorrowData.js +61 -4
- package/dist/src/hooks/useBorrowData.js.map +1 -1
- package/dist/src/hooks/useGetEntireDebtAndCollByAddress.d.ts +9 -0
- package/dist/src/hooks/useGetEntireDebtAndCollByAddress.d.ts.map +1 -0
- package/dist/src/hooks/useGetEntireDebtAndCollByAddress.js +36 -0
- package/dist/src/hooks/useGetEntireDebtAndCollByAddress.js.map +1 -0
- package/dist/src/hooks/useMezoTokensBalances.d.ts +46 -0
- package/dist/src/hooks/useMezoTokensBalances.d.ts.map +1 -0
- package/dist/src/hooks/useMezoTokensBalances.js +85 -0
- package/dist/src/hooks/useMezoTokensBalances.js.map +1 -0
- package/dist/src/hooks/useTokensBalance.d.ts +16931 -0
- package/dist/src/hooks/useTokensBalance.d.ts.map +1 -0
- package/dist/src/hooks/useTokensBalance.js +84 -0
- package/dist/src/hooks/useTokensBalance.js.map +1 -0
- package/dist/src/hooks/useTokensBalances.js +2 -2
- package/dist/src/hooks/useTokensBalances.js.map +1 -1
- package/dist/src/hooks/useWatchTransferEvents.js +2 -2
- package/dist/src/hooks/useWatchTransferEvents.js.map +1 -1
- package/dist/src/lib/contracts/cbbtc.d.ts +962 -0
- package/dist/src/lib/contracts/cbbtc.d.ts.map +1 -0
- package/dist/src/lib/contracts/cbbtc.js +711 -0
- package/dist/src/lib/contracts/cbbtc.js.map +1 -0
- package/dist/src/lib/contracts/cbbtcAbi.d.ts +30 -0
- package/dist/src/lib/contracts/cbbtcAbi.d.ts.map +1 -0
- package/dist/src/lib/contracts/cbbtcAbi.js +686 -0
- package/dist/src/lib/contracts/cbbtcAbi.js.map +1 -0
- package/dist/src/lib/contracts/dai.d.ts +458 -0
- package/dist/src/lib/contracts/dai.d.ts.map +1 -0
- package/dist/src/lib/contracts/dai.js +334 -0
- package/dist/src/lib/contracts/dai.js.map +1 -0
- package/dist/src/lib/contracts/daiAbi.d.ts +47 -0
- package/dist/src/lib/contracts/daiAbi.d.ts.map +1 -0
- package/dist/src/lib/contracts/daiAbi.js +277 -0
- package/dist/src/lib/contracts/daiAbi.js.map +1 -0
- package/dist/src/lib/contracts/fbtc.d.ts +676 -0
- package/dist/src/lib/contracts/fbtc.d.ts.map +1 -0
- package/dist/src/lib/contracts/fbtc.js +527 -0
- package/dist/src/lib/contracts/fbtc.js.map +1 -0
- package/dist/src/lib/contracts/fbtcAbi.d.ts +52 -0
- package/dist/src/lib/contracts/fbtcAbi.d.ts.map +1 -0
- package/dist/src/lib/contracts/fbtcAbi.js +500 -0
- package/dist/src/lib/contracts/fbtcAbi.js.map +1 -0
- package/dist/src/lib/contracts/index.d.ts +7 -4
- package/dist/src/lib/contracts/index.d.ts.map +1 -1
- package/dist/src/lib/contracts/index.js +11 -6
- package/dist/src/lib/contracts/index.js.map +1 -1
- package/dist/src/lib/contracts/mcbbtc.d.ts +955 -0
- package/dist/src/lib/contracts/mcbbtc.d.ts.map +1 -0
- package/dist/src/lib/contracts/mcbbtc.js +704 -0
- package/dist/src/lib/contracts/mcbbtc.js.map +1 -0
- package/dist/src/lib/contracts/mdai.d.ts +451 -0
- package/dist/src/lib/contracts/mdai.d.ts.map +1 -0
- package/dist/src/lib/contracts/mdai.js +327 -0
- package/dist/src/lib/contracts/mdai.js.map +1 -0
- package/dist/src/lib/contracts/mezo.d.ts +10 -0
- package/dist/src/lib/contracts/mezo.d.ts.map +1 -0
- package/dist/src/lib/contracts/mezo.js +48 -0
- package/dist/src/lib/contracts/mezo.js.map +1 -0
- package/dist/src/lib/contracts/mfbtc.d.ts +670 -0
- package/dist/src/lib/contracts/mfbtc.d.ts.map +1 -0
- package/dist/src/lib/contracts/mfbtc.js +521 -0
- package/dist/src/lib/contracts/mfbtc.js.map +1 -0
- package/dist/src/lib/contracts/msolvbtc.d.ts +515 -0
- package/dist/src/lib/contracts/msolvbtc.d.ts.map +1 -0
- package/dist/src/lib/contracts/msolvbtc.js +331 -0
- package/dist/src/lib/contracts/msolvbtc.js.map +1 -0
- package/dist/src/lib/contracts/mswbtc.d.ts +1337 -0
- package/dist/src/lib/contracts/mswbtc.d.ts.map +1 -0
- package/dist/src/lib/contracts/mswbtc.js +909 -0
- package/dist/src/lib/contracts/mswbtc.js.map +1 -0
- package/dist/src/lib/contracts/mt.d.ts +603 -0
- package/dist/src/lib/contracts/mt.d.ts.map +1 -0
- package/dist/src/lib/contracts/mt.js +420 -0
- package/dist/src/lib/contracts/mt.js.map +1 -0
- package/dist/src/lib/contracts/musd.d.ts +107 -0
- package/dist/src/lib/contracts/musd.d.ts.map +1 -0
- package/dist/src/lib/contracts/musd.js +1070 -0
- package/dist/src/lib/contracts/musd.js.map +1 -0
- package/dist/src/lib/contracts/musdc.d.ts +1082 -0
- package/dist/src/lib/contracts/musdc.d.ts.map +1 -0
- package/dist/src/lib/contracts/musdc.js +773 -0
- package/dist/src/lib/contracts/musdc.js.map +1 -0
- package/dist/src/lib/contracts/musde.d.ts +489 -0
- package/dist/src/lib/contracts/musde.d.ts.map +1 -0
- package/dist/src/lib/contracts/musde.js +347 -0
- package/dist/src/lib/contracts/musde.js.map +1 -0
- package/dist/src/lib/contracts/musdt.d.ts +526 -0
- package/dist/src/lib/contracts/musdt.d.ts.map +1 -0
- package/dist/src/lib/contracts/musdt.js +397 -0
- package/dist/src/lib/contracts/musdt.js.map +1 -0
- package/dist/src/lib/contracts/mxsolvbtc.d.ts +514 -0
- package/dist/src/lib/contracts/mxsolvbtc.d.ts.map +1 -0
- package/dist/src/lib/contracts/mxsolvbtc.js +330 -0
- package/dist/src/lib/contracts/mxsolvbtc.js.map +1 -0
- package/dist/src/lib/contracts/solvbtc.d.ts +521 -0
- package/dist/src/lib/contracts/solvbtc.d.ts.map +1 -0
- package/dist/src/lib/contracts/solvbtc.js +337 -0
- package/dist/src/lib/contracts/solvbtc.js.map +1 -0
- package/dist/src/lib/contracts/solvbtcAbi.d.ts +48 -0
- package/dist/src/lib/contracts/solvbtcAbi.d.ts.map +1 -0
- package/dist/src/lib/contracts/solvbtcAbi.js +316 -0
- package/dist/src/lib/contracts/solvbtcAbi.js.map +1 -0
- package/dist/src/lib/contracts/swbtc.d.ts +1343 -0
- package/dist/src/lib/contracts/swbtc.d.ts.map +1 -0
- package/dist/src/lib/contracts/swbtc.js +915 -0
- package/dist/src/lib/contracts/swbtc.js.map +1 -0
- package/dist/src/lib/contracts/swbtcAbi.d.ts +51 -0
- package/dist/src/lib/contracts/swbtcAbi.d.ts.map +1 -0
- package/dist/src/lib/contracts/swbtcAbi.js +897 -0
- package/dist/src/lib/contracts/swbtcAbi.js.map +1 -0
- package/dist/src/lib/contracts/t.d.ts +609 -0
- package/dist/src/lib/contracts/t.d.ts.map +1 -0
- package/dist/src/lib/contracts/t.js +426 -0
- package/dist/src/lib/contracts/t.js.map +1 -0
- package/dist/src/lib/contracts/tAbi.d.ts +57 -0
- package/dist/src/lib/contracts/tAbi.d.ts.map +1 -0
- package/dist/src/lib/contracts/tAbi.js +407 -0
- package/dist/src/lib/contracts/tAbi.js.map +1 -0
- package/dist/src/lib/contracts/tbtc.d.ts +324 -0
- package/dist/src/lib/contracts/tbtc.d.ts.map +1 -0
- package/dist/src/lib/contracts/tbtc.js +236 -0
- package/dist/src/lib/contracts/tbtc.js.map +1 -0
- package/dist/src/lib/contracts/usdc.d.ts +1088 -0
- package/dist/src/lib/contracts/usdc.d.ts.map +1 -0
- package/dist/src/lib/contracts/usdc.js +779 -0
- package/dist/src/lib/contracts/usdc.js.map +1 -0
- package/dist/src/lib/contracts/usdcAbi.d.ts +30 -0
- package/dist/src/lib/contracts/usdcAbi.d.ts.map +1 -0
- package/dist/src/lib/contracts/usdcAbi.js +754 -0
- package/dist/src/lib/contracts/usdcAbi.js.map +1 -0
- package/dist/src/lib/contracts/usde.d.ts +495 -0
- package/dist/src/lib/contracts/usde.d.ts.map +1 -0
- package/dist/src/lib/contracts/usde.js +353 -0
- package/dist/src/lib/contracts/usde.js.map +1 -0
- package/dist/src/lib/contracts/usdeAbi.d.ts +52 -0
- package/dist/src/lib/contracts/usdeAbi.d.ts.map +1 -0
- package/dist/src/lib/contracts/usdeAbi.js +331 -0
- package/dist/src/lib/contracts/usdeAbi.js.map +1 -0
- package/dist/src/lib/contracts/usdt.d.ts +532 -0
- package/dist/src/lib/contracts/usdt.d.ts.map +1 -0
- package/dist/src/lib/contracts/usdt.js +403 -0
- package/dist/src/lib/contracts/usdt.js.map +1 -0
- package/dist/src/lib/contracts/usdtAbi.d.ts +43 -0
- package/dist/src/lib/contracts/usdtAbi.d.ts.map +1 -0
- package/dist/src/lib/contracts/usdtAbi.js +391 -0
- package/dist/src/lib/contracts/usdtAbi.js.map +1 -0
- package/dist/src/lib/contracts/wbtc.d.ts +406 -0
- package/dist/src/lib/contracts/wbtc.d.ts.map +1 -0
- package/dist/src/lib/contracts/wbtc.js +303 -0
- package/dist/src/lib/contracts/wbtc.js.map +1 -0
- package/dist/src/lib/contracts/xsolvbtc.d.ts +521 -0
- package/dist/src/lib/contracts/xsolvbtc.d.ts.map +1 -0
- package/dist/src/lib/contracts/xsolvbtc.js +337 -0
- package/dist/src/lib/contracts/xsolvbtc.js.map +1 -0
- package/dist/src/lib/contracts/xsolvbtcAbi.d.ts +53 -0
- package/dist/src/lib/contracts/xsolvbtcAbi.d.ts.map +1 -0
- package/dist/src/lib/contracts/xsolvbtcAbi.js +330 -0
- package/dist/src/lib/contracts/xsolvbtcAbi.js.map +1 -0
- package/package.json +1 -1
- package/src/hooks/useBorrowData.ts +68 -4
- package/src/hooks/useTokensBalances.ts +3 -3
- package/src/hooks/useWatchTransferEvents.ts +3 -3
- package/src/lib/contracts/index.ts +21 -13
- 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":"
|
|
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 {
|
|
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:
|
|
18
|
-
address:
|
|
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;
|
|
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"}
|