@mezo-org/passport 0.4.0-dev.38 → 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/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/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 +22 -20
- 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/dist/cjs/index.js +0 -68
- package/dist/cjs/index.js.map +0 -1
- package/dist/esm/index.js +0 -68
- package/dist/esm/index.js.map +0 -1
- package/dist/index.d.ts +0 -31
- 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"}
|