@mezo-org/passport 0.4.0-dev.35 → 0.4.0-dev.36
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/Dropdown.d.ts +2 -2
- package/dist/src/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/src/components/Dropdown/Dropdown.js +2 -2
- package/dist/src/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/src/hooks/constants.d.ts +0 -1
- package/dist/src/hooks/constants.d.ts.map +1 -1
- package/dist/src/hooks/constants.js +0 -1
- package/dist/src/hooks/constants.js.map +1 -1
- package/dist/src/hooks/useDropdownData.d.ts +7 -6
- package/dist/src/hooks/useDropdownData.d.ts.map +1 -1
- package/dist/src/hooks/useDropdownData.js +11 -11
- package/dist/src/hooks/useDropdownData.js.map +1 -1
- package/package.json +1 -1
- package/src/components/Dropdown/Dropdown.tsx +4 -4
- package/src/hooks/constants.ts +0 -1
- package/src/hooks/useDropdownData.ts +11 -11
- package/dist/src/hooks/useGetMats.d.ts +0 -3
- package/dist/src/hooks/useGetMats.d.ts.map +0 -1
- package/dist/src/hooks/useGetMats.js +0 -22
- package/dist/src/hooks/useGetMats.js.map +0 -1
- package/src/hooks/useGetMats.ts +0 -28
|
@@ -13,8 +13,8 @@ export type DropdownProps = {
|
|
|
13
13
|
signedOut?: Omit<ButtonProps, "onClick">;
|
|
14
14
|
};
|
|
15
15
|
onOtherAssetsClick?: () => void;
|
|
16
|
-
/** Time in milliseconds after which mats
|
|
17
|
-
|
|
16
|
+
/** Time in milliseconds after which account data (like mats or mezo id) in dropdown should be re-fetched. Default is 90000 (90 secs) */
|
|
17
|
+
accountDataRefetchInterval?: number;
|
|
18
18
|
/** Time in milliseconds after which native balance in dropdown should be re-fetched. Default is 90000 (90 secs) */
|
|
19
19
|
nativeBalanceRefetchInterval?: number;
|
|
20
20
|
} & Omit<StatefulPopoverProps, "children" | "content">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../../../src/components/Dropdown/Dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,oBAAoB,EAErB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAA6B,MAAM,OAAO,CAAA;AAUjD,MAAM,MAAM,aAAa,GAAG;IAC1B,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,mDAAmD;IACnD,YAAY,CAAC,EAAE;QACb,QAAQ,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,MAAM,CAAC,GAAG;YACjD,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAA;SACzB,CAAA;QACD,SAAS,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;KACzC,CAAA;IACD,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC/B,
|
|
1
|
+
{"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../../../src/components/Dropdown/Dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,oBAAoB,EAErB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAA6B,MAAM,OAAO,CAAA;AAUjD,MAAM,MAAM,aAAa,GAAG;IAC1B,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,mDAAmD;IACnD,YAAY,CAAC,EAAE;QACb,QAAQ,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,MAAM,CAAC,GAAG;YACjD,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAA;SACzB,CAAA;QACD,SAAS,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;KACzC,CAAA;IACD,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC/B,wIAAwI;IACxI,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,mHAAmH;IACnH,4BAA4B,CAAC,EAAE,MAAM,CAAA;CACtC,GAAG,IAAI,CAAC,oBAAoB,EAAE,UAAU,GAAG,SAAS,CAAC,CAAA;AAEtD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,qBA0G5C"}
|
|
@@ -15,10 +15,10 @@ import useDropdownData from "../../hooks/useDropdownData";
|
|
|
15
15
|
* @returns {JSX.Element}
|
|
16
16
|
*/
|
|
17
17
|
export function Dropdown(props) {
|
|
18
|
-
const { placement = "bottomRight", animateOutTime = 120, onSignIn, onSignOut, overrides, triggerProps, onOtherAssetsClick,
|
|
18
|
+
const { placement = "bottomRight", animateOutTime = 120, onSignIn, onSignOut, overrides, triggerProps, onOtherAssetsClick, accountDataRefetchInterval, nativeBalanceRefetchInterval, ...restProps } = props;
|
|
19
19
|
const [, theme] = useStyletron();
|
|
20
20
|
const data = useDropdownData({
|
|
21
|
-
|
|
21
|
+
accountDataRefetchInterval,
|
|
22
22
|
nativeBalanceRefetchInterval,
|
|
23
23
|
});
|
|
24
24
|
const isCriticalDropdownDataLoaded = useMemo(() => Boolean(data.mezoId && data.accountAddress && data.walletAddress), [data]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../../../../src/components/Dropdown/Dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EAEf,YAAY,GACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,aAAa,MAAM,4BAA4B,CAAA;AACtD,OAAO,gBAAgB,MAAM,8BAA8B,CAAA;AAC3D,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AACjD,OAAO,OAAO,MAAM,WAAW,CAAA;AAC/B,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,eAAe,MAAM,6BAA6B,CAAA;AAqBzD;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,MAAM,EACJ,SAAS,GAAG,aAAa,EACzB,cAAc,GAAG,GAAG,EACpB,QAAQ,EACR,SAAS,EACT,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../../../../src/components/Dropdown/Dropdown.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/hooks/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/hooks/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;CAKtB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/hooks/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/hooks/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,qBAAqB,EAAE,qBAAqB;CAC7C,CAAA"}
|
|
@@ -5,15 +5,16 @@ export type DropdownCryptoAsset<T = CryptoAssetKey> = {
|
|
|
5
5
|
};
|
|
6
6
|
/**
|
|
7
7
|
* Aggregates dropdown data for Dropdown component.
|
|
8
|
-
* @param {
|
|
9
|
-
* Object containing refetch intervals time (in milliseconds) for
|
|
10
|
-
* native balance. After that time the specific
|
|
11
|
-
* and re-fetched. Default value for both is
|
|
8
|
+
* @param {accountDataRefetchInterval: number, nativeBalanceRefetchInterval: number }
|
|
9
|
+
* Object containing refetch intervals time (in milliseconds) for account data
|
|
10
|
+
* (like mats or mezo id) and for native balance. After that time the specific
|
|
11
|
+
* value should be marked as stale and re-fetched. Default value for both is
|
|
12
|
+
* 90000 (90 secs).
|
|
12
13
|
* @returns Dropdown data.
|
|
13
14
|
* @dev This hook is for internal use only.
|
|
14
15
|
*/
|
|
15
|
-
export default function useDropdownData({
|
|
16
|
-
|
|
16
|
+
export default function useDropdownData({ accountDataRefetchInterval, nativeBalanceRefetchInterval, }: {
|
|
17
|
+
accountDataRefetchInterval?: number | undefined;
|
|
17
18
|
nativeBalanceRefetchInterval?: number | undefined;
|
|
18
19
|
}): {
|
|
19
20
|
mezoId: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDropdownData.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDropdownData.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EAGf,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"useDropdownData.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDropdownData.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EAGf,MAAM,uBAAuB,CAAA;AAU9B,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,cAAc,IAAI;IACpD,IAAI,EAAE,CAAC,CAAA;IACP,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AASD;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,0BAAkC,EAClC,4BAAoC,GACrC;;;CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiGA"}
|
|
@@ -9,7 +9,6 @@ import { useBorrowData } from "./useBorrowData";
|
|
|
9
9
|
import { CHAIN_ID } from "../constants";
|
|
10
10
|
import { usePassportContext } from "./usePassportContext";
|
|
11
11
|
import { useWatchTransferEventsForAllTokens } from "./useWatchTransferEvents";
|
|
12
|
-
import { useGetMats } from "./useGetMats";
|
|
13
12
|
const DEFAULT_ASSET_DATA = {
|
|
14
13
|
rawBalance: 0n,
|
|
15
14
|
formattedBalance: "0.0000",
|
|
@@ -18,14 +17,15 @@ const DEFAULT_ASSET_DATA = {
|
|
|
18
17
|
};
|
|
19
18
|
/**
|
|
20
19
|
* Aggregates dropdown data for Dropdown component.
|
|
21
|
-
* @param {
|
|
22
|
-
* Object containing refetch intervals time (in milliseconds) for
|
|
23
|
-
* native balance. After that time the specific
|
|
24
|
-
* and re-fetched. Default value for both is
|
|
20
|
+
* @param {accountDataRefetchInterval: number, nativeBalanceRefetchInterval: number }
|
|
21
|
+
* Object containing refetch intervals time (in milliseconds) for account data
|
|
22
|
+
* (like mats or mezo id) and for native balance. After that time the specific
|
|
23
|
+
* value should be marked as stale and re-fetched. Default value for both is
|
|
24
|
+
* 90000 (90 secs).
|
|
25
25
|
* @returns Dropdown data.
|
|
26
26
|
* @dev This hook is for internal use only.
|
|
27
27
|
*/
|
|
28
|
-
export default function useDropdownData({
|
|
28
|
+
export default function useDropdownData({ accountDataRefetchInterval = 90000, nativeBalanceRefetchInterval = 90000, }) {
|
|
29
29
|
const { walletAddress, accountAddress, networkFamily: walletType, } = useWalletAccount();
|
|
30
30
|
const { environment = "mainnet" } = usePassportContext();
|
|
31
31
|
const { data: btcBalance } = useBalance({
|
|
@@ -36,10 +36,10 @@ export default function useDropdownData({ matsRefetchInterval = 90000, nativeBal
|
|
|
36
36
|
refetchInterval: nativeBalanceRefetchInterval,
|
|
37
37
|
},
|
|
38
38
|
});
|
|
39
|
-
const { data: passportAccount } = useGetCurrentAccount(
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
const { data: passportAccount } = useGetCurrentAccount({
|
|
40
|
+
staleTime: accountDataRefetchInterval,
|
|
41
|
+
refetchInterval: accountDataRefetchInterval,
|
|
42
|
+
enabled: !!accountAddress,
|
|
43
43
|
});
|
|
44
44
|
const { data: assetsConversionRates } = useAssetsConversionRates();
|
|
45
45
|
const { data: tokensBalances } = useTokensBalances();
|
|
@@ -75,7 +75,7 @@ export default function useDropdownData({ matsRefetchInterval = 90000, nativeBal
|
|
|
75
75
|
};
|
|
76
76
|
const otherAssetsUsdTotal = otherAssetsData.reduce((sum, { usdBalance }) => sum + usdBalance, 0);
|
|
77
77
|
const usdTotalBalance = detailedAssets.reduce((sum, { usdBalance }) => sum + usdBalance, 0);
|
|
78
|
-
const matsBalance =
|
|
78
|
+
const matsBalance = passportAccount?.mats.totalMats || 0;
|
|
79
79
|
const usdCollateral = fromFixedPoint((debt?.collateral ?? 0n) * BigInt(assetsConversionRates?.usd.btc ?? 0), 18);
|
|
80
80
|
const usdTroveDebt = fromFixedPoint(debt?.troveDebt ?? 0n, 18);
|
|
81
81
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDropdownData.js","sourceRoot":"","sources":["../../../src/hooks/useDropdownData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,GAAG,CAAA;AACxC,OAAO,EAEL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,wBAAwB,MAAM,4BAA4B,CAAA;AACjE,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,kCAAkC,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"useDropdownData.js","sourceRoot":"","sources":["../../../src/hooks/useDropdownData.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -28,8 +28,8 @@ export type DropdownProps = {
|
|
|
28
28
|
signedOut?: Omit<ButtonProps, "onClick">
|
|
29
29
|
}
|
|
30
30
|
onOtherAssetsClick?: () => void
|
|
31
|
-
/** Time in milliseconds after which mats
|
|
32
|
-
|
|
31
|
+
/** Time in milliseconds after which account data (like mats or mezo id) in dropdown should be re-fetched. Default is 90000 (90 secs) */
|
|
32
|
+
accountDataRefetchInterval?: number
|
|
33
33
|
/** Time in milliseconds after which native balance in dropdown should be re-fetched. Default is 90000 (90 secs) */
|
|
34
34
|
nativeBalanceRefetchInterval?: number
|
|
35
35
|
} & Omit<StatefulPopoverProps, "children" | "content">
|
|
@@ -48,7 +48,7 @@ export function Dropdown(props: DropdownProps) {
|
|
|
48
48
|
overrides,
|
|
49
49
|
triggerProps,
|
|
50
50
|
onOtherAssetsClick,
|
|
51
|
-
|
|
51
|
+
accountDataRefetchInterval,
|
|
52
52
|
nativeBalanceRefetchInterval,
|
|
53
53
|
...restProps
|
|
54
54
|
} = props
|
|
@@ -56,7 +56,7 @@ export function Dropdown(props: DropdownProps) {
|
|
|
56
56
|
const [, theme] = useStyletron()
|
|
57
57
|
|
|
58
58
|
const data = useDropdownData({
|
|
59
|
-
|
|
59
|
+
accountDataRefetchInterval,
|
|
60
60
|
nativeBalanceRefetchInterval,
|
|
61
61
|
})
|
|
62
62
|
|
package/src/hooks/constants.ts
CHANGED
|
@@ -13,7 +13,6 @@ import { useBorrowData } from "./useBorrowData"
|
|
|
13
13
|
import { CHAIN_ID } from "../constants"
|
|
14
14
|
import { usePassportContext } from "./usePassportContext"
|
|
15
15
|
import { useWatchTransferEventsForAllTokens } from "./useWatchTransferEvents"
|
|
16
|
-
import { useGetMats } from "./useGetMats"
|
|
17
16
|
|
|
18
17
|
export type DropdownCryptoAsset<T = CryptoAssetKey> = {
|
|
19
18
|
type: T
|
|
@@ -29,15 +28,16 @@ const DEFAULT_ASSET_DATA = {
|
|
|
29
28
|
|
|
30
29
|
/**
|
|
31
30
|
* Aggregates dropdown data for Dropdown component.
|
|
32
|
-
* @param {
|
|
33
|
-
* Object containing refetch intervals time (in milliseconds) for
|
|
34
|
-
* native balance. After that time the specific
|
|
35
|
-
* and re-fetched. Default value for both is
|
|
31
|
+
* @param {accountDataRefetchInterval: number, nativeBalanceRefetchInterval: number }
|
|
32
|
+
* Object containing refetch intervals time (in milliseconds) for account data
|
|
33
|
+
* (like mats or mezo id) and for native balance. After that time the specific
|
|
34
|
+
* value should be marked as stale and re-fetched. Default value for both is
|
|
35
|
+
* 90000 (90 secs).
|
|
36
36
|
* @returns Dropdown data.
|
|
37
37
|
* @dev This hook is for internal use only.
|
|
38
38
|
*/
|
|
39
39
|
export default function useDropdownData({
|
|
40
|
-
|
|
40
|
+
accountDataRefetchInterval = 90000,
|
|
41
41
|
nativeBalanceRefetchInterval = 90000,
|
|
42
42
|
}) {
|
|
43
43
|
const {
|
|
@@ -54,10 +54,10 @@ export default function useDropdownData({
|
|
|
54
54
|
refetchInterval: nativeBalanceRefetchInterval,
|
|
55
55
|
},
|
|
56
56
|
})
|
|
57
|
-
const { data: passportAccount } = useGetCurrentAccount(
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
57
|
+
const { data: passportAccount } = useGetCurrentAccount({
|
|
58
|
+
staleTime: accountDataRefetchInterval,
|
|
59
|
+
refetchInterval: accountDataRefetchInterval,
|
|
60
|
+
enabled: !!accountAddress,
|
|
61
61
|
})
|
|
62
62
|
const { data: assetsConversionRates } = useAssetsConversionRates()
|
|
63
63
|
const { data: tokensBalances } = useTokensBalances()
|
|
@@ -114,7 +114,7 @@ export default function useDropdownData({
|
|
|
114
114
|
0,
|
|
115
115
|
)
|
|
116
116
|
|
|
117
|
-
const matsBalance =
|
|
117
|
+
const matsBalance = passportAccount?.mats.totalMats || 0
|
|
118
118
|
|
|
119
119
|
const usdCollateral = fromFixedPoint(
|
|
120
120
|
(debt?.collateral ?? 0n) * BigInt(assetsConversionRates?.usd.btc ?? 0),
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { UseBaseQueryOptions } from "@tanstack/react-query";
|
|
2
|
-
export declare function useGetMats(queryOptions?: Omit<UseBaseQueryOptions<number | null>, "queryKey" | "queryFn">): import("@tanstack/react-query").UseQueryResult<number | null, Error>;
|
|
3
|
-
//# sourceMappingURL=useGetMats.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useGetMats.d.ts","sourceRoot":"","sources":["../../../src/hooks/useGetMats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAMhF,wBAAgB,UAAU,CACxB,YAAY,GAAE,IAAI,CAChB,mBAAmB,CAAC,MAAM,GAAG,IAAI,CAAC,EAClC,UAAU,GAAG,SAAS,CAClB,wEAiBP"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { useQuery, skipToken } from "@tanstack/react-query";
|
|
2
|
-
import { useAccount } from "wagmi";
|
|
3
|
-
import { QUERY_KEYS } from "./constants";
|
|
4
|
-
import { ONE_MINUTE_MS } from "../utils/time";
|
|
5
|
-
import { usePortalApiClient } from "./usePortalApiClient";
|
|
6
|
-
export function useGetMats(queryOptions = {}) {
|
|
7
|
-
const { address } = useAccount();
|
|
8
|
-
const portalApiClient = usePortalApiClient();
|
|
9
|
-
return useQuery({
|
|
10
|
-
queryKey: [QUERY_KEYS.MATS, address],
|
|
11
|
-
queryFn: address
|
|
12
|
-
? async () => {
|
|
13
|
-
const portalMats = await portalApiClient.getPortalMats(address);
|
|
14
|
-
return portalMats.totalMats;
|
|
15
|
-
}
|
|
16
|
-
: skipToken,
|
|
17
|
-
staleTime: ONE_MINUTE_MS,
|
|
18
|
-
retry: 1,
|
|
19
|
-
...queryOptions,
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=useGetMats.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useGetMats.js","sourceRoot":"","sources":["../../../src/hooks/useGetMats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAuB,MAAM,uBAAuB,CAAA;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,MAAM,UAAU,UAAU,CACxB,eAGI,EAAE;IAEN,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;IAChC,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAA;IAE5C,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;QACpC,OAAO,EAAE,OAAO;YACd,CAAC,CAAC,KAAK,IAAI,EAAE;gBACT,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;gBAC/D,OAAO,UAAU,CAAC,SAAS,CAAA;YAC7B,CAAC;YACH,CAAC,CAAC,SAAS;QACb,SAAS,EAAE,aAAa;QACxB,KAAK,EAAE,CAAC;QACR,GAAG,YAAY;KAChB,CAAC,CAAA;AACJ,CAAC"}
|
package/src/hooks/useGetMats.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { useQuery, skipToken, UseBaseQueryOptions } from "@tanstack/react-query"
|
|
2
|
-
import { useAccount } from "wagmi"
|
|
3
|
-
import { QUERY_KEYS } from "./constants"
|
|
4
|
-
import { ONE_MINUTE_MS } from "../utils/time"
|
|
5
|
-
import { usePortalApiClient } from "./usePortalApiClient"
|
|
6
|
-
|
|
7
|
-
export function useGetMats(
|
|
8
|
-
queryOptions: Omit<
|
|
9
|
-
UseBaseQueryOptions<number | null>,
|
|
10
|
-
"queryKey" | "queryFn"
|
|
11
|
-
> = {},
|
|
12
|
-
) {
|
|
13
|
-
const { address } = useAccount()
|
|
14
|
-
const portalApiClient = usePortalApiClient()
|
|
15
|
-
|
|
16
|
-
return useQuery({
|
|
17
|
-
queryKey: [QUERY_KEYS.MATS, address],
|
|
18
|
-
queryFn: address
|
|
19
|
-
? async () => {
|
|
20
|
-
const portalMats = await portalApiClient.getPortalMats(address)
|
|
21
|
-
return portalMats.totalMats
|
|
22
|
-
}
|
|
23
|
-
: skipToken,
|
|
24
|
-
staleTime: ONE_MINUTE_MS,
|
|
25
|
-
retry: 1,
|
|
26
|
-
...queryOptions,
|
|
27
|
-
})
|
|
28
|
-
}
|