@mezo-org/passport 0.5.4-dev.1 → 0.5.4-dev.11
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/api/portal.d.ts +1 -1
- package/dist/src/api/portal.d.ts.map +1 -1
- package/dist/src/components/Dropdown/Root/AccountBalance.d.ts.map +1 -1
- package/dist/src/components/Dropdown/Root/AccountBalance.js +1 -0
- package/dist/src/components/Dropdown/Root/AccountBalance.js.map +1 -1
- package/dist/src/components/Dropdown/Root/AccountBtcListing.d.ts.map +1 -1
- package/dist/src/components/Dropdown/Root/AccountBtcListing.js +4 -3
- package/dist/src/components/Dropdown/Root/AccountBtcListing.js.map +1 -1
- package/dist/src/components/Dropdown/Root/AccountMusdListing.js +3 -3
- package/dist/src/components/Dropdown/Root/AccountMusdListing.js.map +1 -1
- package/dist/src/components/Dropdown/Root/AccountOtherAssets.js +3 -3
- package/dist/src/components/Dropdown/Root/AccountOtherAssets.js.map +1 -1
- package/dist/src/hooks/useBorrowData.d.ts.map +1 -1
- package/dist/src/hooks/useBorrowData.js +3 -3
- package/dist/src/hooks/useBorrowData.js.map +1 -1
- package/dist/src/hooks/useCollateralPrice.d.ts.map +1 -1
- package/dist/src/hooks/useCollateralPrice.js +3 -1
- package/dist/src/hooks/useCollateralPrice.js.map +1 -1
- package/dist/src/hooks/useTokensBalances.d.ts.map +1 -1
- package/dist/src/hooks/useTokensBalances.js +14 -13
- package/dist/src/hooks/useTokensBalances.js.map +1 -1
- package/dist/src/provider.d.ts +14 -3
- package/dist/src/provider.d.ts.map +1 -1
- package/dist/src/provider.js +3 -1
- package/dist/src/provider.js.map +1 -1
- package/package.json +12 -14
- package/src/api/portal.ts +1 -1
- package/src/components/Dropdown/Root/AccountBalance.tsx +1 -0
- package/src/components/Dropdown/Root/AccountBtcListing.tsx +5 -4
- package/src/components/Dropdown/Root/AccountMusdListing.tsx +4 -4
- package/src/components/Dropdown/Root/AccountOtherAssets.tsx +4 -4
- package/src/hooks/useBorrowData.ts +4 -3
- package/src/hooks/useCollateralPrice.ts +4 -1
- package/src/hooks/useTokensBalances.ts +18 -15
- package/src/provider.ts +19 -4
package/dist/src/api/portal.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portal.d.ts","sourceRoot":"","sources":["../../../src/api/portal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,
|
|
1
|
+
{"version":3,"file":"portal.d.ts","sourceRoot":"","sources":["../../../src/api/portal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,KAAK,gBAAgB,GAAG;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,KAAK,UAAU,GAAG;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,2BAA2B;;;CAGvC,CAAA;AAED,qBAAa,eAAgB,SAAQ,SAAS;gBAE1C,WAAW,GAAE,MAAM,OAAO,2BAAuC,EACjE,MAAM,CAAC,EAAE,MAAM;IAQX,mBAAmB;IAQnB,aAAa,CAAC,OAAO,EAAE,MAAM;CAUpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountBalance.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountBalance.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAgB,MAAM,qBAAqB,CAAA;AAS9D,KAAK,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;AAEvD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"AccountBalance.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountBalance.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAgB,MAAM,qBAAqB,CAAA;AAS9D,KAAK,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;AAEvD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,mBAAmB,qBAwDhE"}
|
|
@@ -13,6 +13,7 @@ export default function AccountBalance(props) {
|
|
|
13
13
|
const { nativeBalanceRefetchInterval } = usePassportContext();
|
|
14
14
|
const { data: tokensBalancesData, isError: isTokensBalancesError, isPending: isTokensBalancesDataPending, } = useTokensBalances({
|
|
15
15
|
queryOptions: {
|
|
16
|
+
staleTime: nativeBalanceRefetchInterval,
|
|
16
17
|
refetchInterval: nativeBalanceRefetchInterval,
|
|
17
18
|
},
|
|
18
19
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountBalance.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountBalance.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAc,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAItE,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAA0B;IAC/D,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAA;IACzC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,EAAE,CAAA;IAChC,MAAM,EAAE,4BAA4B,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAE7D,MAAM,EACJ,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,2BAA2B,GACvC,GAAG,iBAAiB,CAAC;QACpB,YAAY,EAAE;YACZ,eAAe,EAAE,4BAA4B;SAC9C;KACF,CAAC,CAAA;IACF,MAAM,EACJ,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,mBAAmB,GAC/B,GAAG,aAAa,EAAE,CAAA;IAEnB,IAAI,2BAA2B,IAAI,mBAAmB,EAAE,CAAC;QACvD,OAAO,oBAAC,WAAW,IAAC,SAAS,QAAC,SAAS,EAAE,SAAS,GAAI,CAAA;IACxD,CAAC;IAED,IAAI,qBAAqB,IAAI,iBAAiB,EAAE,CAAC;QAC/C,OAAO,CACL,oBAAC,YAAY,IACX,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAC5D,KAAK,EAAC,iBAAiB,EACvB,SAAS,EAAE,SAAS,GACpB,CACH,CAAA;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAChE,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,EACnD,EAAE,CACH,CAAA;IAED,MAAM,kBAAkB,GAAG,MAAM,CAC/B,WAAW,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,CACzD,CAAA;IAED,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IAE9D,OAAO,CACL,oBAAC,WAAW,IACV,KAAK,EAAC,cAAc,EACpB,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAC,mBAAmB,EAC5B,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,SAAS,KAChB,SAAS,GACb,CACH,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"AccountBalance.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountBalance.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAc,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAItE,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAA0B;IAC/D,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAA;IACzC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,EAAE,CAAA;IAChC,MAAM,EAAE,4BAA4B,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAE7D,MAAM,EACJ,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,2BAA2B,GACvC,GAAG,iBAAiB,CAAC;QACpB,YAAY,EAAE;YACZ,SAAS,EAAE,4BAA4B;YACvC,eAAe,EAAE,4BAA4B;SAC9C;KACF,CAAC,CAAA;IACF,MAAM,EACJ,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,mBAAmB,GAC/B,GAAG,aAAa,EAAE,CAAA;IAEnB,IAAI,2BAA2B,IAAI,mBAAmB,EAAE,CAAC;QACvD,OAAO,oBAAC,WAAW,IAAC,SAAS,QAAC,SAAS,EAAE,SAAS,GAAI,CAAA;IACxD,CAAC;IAED,IAAI,qBAAqB,IAAI,iBAAiB,EAAE,CAAC;QAC/C,OAAO,CACL,oBAAC,YAAY,IACX,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAC5D,KAAK,EAAC,iBAAiB,EACvB,SAAS,EAAE,SAAS,GACpB,CACH,CAAA;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAChE,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,EACnD,EAAE,CACH,CAAA;IAED,MAAM,kBAAkB,GAAG,MAAM,CAC/B,WAAW,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,CACzD,CAAA;IAED,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IAE9D,OAAO,CACL,oBAAC,WAAW,IACV,KAAK,EAAC,cAAc,EACpB,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAC,mBAAmB,EAC5B,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,SAAS,KAChB,SAAS,GACb,CACH,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountBtcListing.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountBtcListing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAiB,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAQ/D,KAAK,sBAAsB,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;AAE1D,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"AccountBtcListing.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountBtcListing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAiB,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAQ/D,KAAK,sBAAsB,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;AAE1D,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,qBAyCtE"}
|
|
@@ -11,15 +11,16 @@ export default function AccountBTCListing(props) {
|
|
|
11
11
|
const { data: borrowData, isError: isBorrowDataError, isPending: isBorrowDataPending, } = useBorrowData();
|
|
12
12
|
const { data: tokensBalancesData, isError: isTokensBalancesError, isPending: isTokensBalancesPending, } = useTokensBalances({
|
|
13
13
|
queryOptions: {
|
|
14
|
+
staleTime: nativeBalanceRefetchInterval,
|
|
14
15
|
refetchInterval: nativeBalanceRefetchInterval,
|
|
15
16
|
},
|
|
16
17
|
});
|
|
17
|
-
if (isTokensBalancesError || isBorrowDataError) {
|
|
18
|
-
return React.createElement(AccountError, { topic: "Bitcoin balance" });
|
|
19
|
-
}
|
|
20
18
|
if (isTokensBalancesPending || isBorrowDataPending) {
|
|
21
19
|
return React.createElement(ListingItem, { isLoading: true });
|
|
22
20
|
}
|
|
21
|
+
if (isTokensBalancesError || isBorrowDataError) {
|
|
22
|
+
return React.createElement(AccountError, { topic: "Bitcoin balance" });
|
|
23
|
+
}
|
|
23
24
|
const btcBalance = Number(tokensBalancesData.BTC.usd.formatted);
|
|
24
25
|
const lockedCollateral = Number(borrowData.collateral.usd.formatted);
|
|
25
26
|
return (React.createElement(ListingItem, { icon: React.createElement(BitcoinCircle, null), label: getAsset("BTC").name, value: btcBalance, subLabel: "Locked collateral", subValue: lockedCollateral, ...props }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountBtcListing.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountBtcListing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,aAAa,EAAc,MAAM,qBAAqB,CAAA;AAC/D,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAItE,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAA6B;IACrE,MAAM,EAAE,4BAA4B,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAE7D,MAAM,EACJ,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,mBAAmB,GAC/B,GAAG,aAAa,EAAE,CAAA;IAEnB,MAAM,EACJ,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,uBAAuB,GACnC,GAAG,iBAAiB,CAAC;QACpB,YAAY,EAAE;YACZ,eAAe,EAAE,4BAA4B;SAC9C;KACF,CAAC,CAAA;IAEF,IAAI,
|
|
1
|
+
{"version":3,"file":"AccountBtcListing.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountBtcListing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,aAAa,EAAc,MAAM,qBAAqB,CAAA;AAC/D,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAItE,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAA6B;IACrE,MAAM,EAAE,4BAA4B,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAE7D,MAAM,EACJ,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,mBAAmB,GAC/B,GAAG,aAAa,EAAE,CAAA;IAEnB,MAAM,EACJ,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,uBAAuB,GACnC,GAAG,iBAAiB,CAAC;QACpB,YAAY,EAAE;YACZ,SAAS,EAAE,4BAA4B;YACvC,eAAe,EAAE,4BAA4B;SAC9C;KACF,CAAC,CAAA;IAEF,IAAI,uBAAuB,IAAI,mBAAmB,EAAE,CAAC;QACnD,OAAO,oBAAC,WAAW,IAAC,SAAS,SAAG,CAAA;IAClC,CAAC;IAED,IAAI,qBAAqB,IAAI,iBAAiB,EAAE,CAAC;QAC/C,OAAO,oBAAC,YAAY,IAAC,KAAK,EAAC,iBAAiB,GAAG,CAAA;IACjD,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAC/D,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAEpE,OAAO,CACL,oBAAC,WAAW,IACV,IAAI,EAAE,oBAAC,aAAa,OAAG,EACvB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAC3B,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAC,mBAAmB,EAC5B,QAAQ,EAAE,gBAAgB,KACtB,KAAK,GACT,CACH,CAAA;AACH,CAAC"}
|
|
@@ -8,12 +8,12 @@ import AccountError from "./AccountError";
|
|
|
8
8
|
export default function AccountMusdListing(props) {
|
|
9
9
|
const { data: borrowData, isError: isBorrowDataError, isPending: isBorrowDataPending, } = useBorrowData();
|
|
10
10
|
const { data: tokensBalancesData, isError: isTokensBalancesError, isPending: isTokensBalancesPending, } = useTokensBalances();
|
|
11
|
-
if (isBorrowDataError || isTokensBalancesError) {
|
|
12
|
-
return React.createElement(AccountError, { topic: "MUSD balance" });
|
|
13
|
-
}
|
|
14
11
|
if (isBorrowDataPending || isTokensBalancesPending) {
|
|
15
12
|
return React.createElement(ListingItem, { isLoading: true });
|
|
16
13
|
}
|
|
14
|
+
if (isBorrowDataError || isTokensBalancesError) {
|
|
15
|
+
return React.createElement(AccountError, { topic: "MUSD balance" });
|
|
16
|
+
}
|
|
17
17
|
const musdBalance = Number(tokensBalancesData.MUSD.usd.formatted);
|
|
18
18
|
const lockedCollateral = Number(borrowData.debtInUsd.formatted);
|
|
19
19
|
return (React.createElement(ListingItem, { icon: React.createElement(MUsdCircle02, null), label: getAsset("MUSD").name, value: musdBalance, subLabel: "Borrowed", subValue: lockedCollateral, ...props }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountMusdListing.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountMusdListing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAc,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAEzC,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,KAAmC;IAEnC,MAAM,EACJ,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,mBAAmB,GAC/B,GAAG,aAAa,EAAE,CAAA;IAEnB,MAAM,EACJ,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,uBAAuB,GACnC,GAAG,iBAAiB,EAAE,CAAA;IAEvB,IAAI,
|
|
1
|
+
{"version":3,"file":"AccountMusdListing.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountMusdListing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAc,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAEzC,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,KAAmC;IAEnC,MAAM,EACJ,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,mBAAmB,GAC/B,GAAG,aAAa,EAAE,CAAA;IAEnB,MAAM,EACJ,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,uBAAuB,GACnC,GAAG,iBAAiB,EAAE,CAAA;IAEvB,IAAI,mBAAmB,IAAI,uBAAuB,EAAE,CAAC;QACnD,OAAO,oBAAC,WAAW,IAAC,SAAS,SAAG,CAAA;IAClC,CAAC;IAED,IAAI,iBAAiB,IAAI,qBAAqB,EAAE,CAAC;QAC/C,OAAO,oBAAC,YAAY,IAAC,KAAK,EAAC,cAAc,GAAG,CAAA;IAC9C,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACjE,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IAE/D,OAAO,CACL,oBAAC,WAAW,IACV,IAAI,EAAE,oBAAC,YAAY,OAAG,EACtB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAC5B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAC,UAAU,EACnB,QAAQ,EAAE,gBAAgB,KACtB,KAAK,GACT,CACH,CAAA;AACH,CAAC"}
|
|
@@ -9,12 +9,12 @@ export default function AccountOtherAssets(props) {
|
|
|
9
9
|
const { onClick, overrides, ...restProps } = props;
|
|
10
10
|
const [, theme] = useStyletron();
|
|
11
11
|
const { data: tokensBalancesData, isPending: isTokensBalancesPending, isError: isTokensBalancesError, } = useTokensBalances();
|
|
12
|
-
if (isTokensBalancesError) {
|
|
13
|
-
return (React.createElement(AccountError, { topic: "other assets", paddingTop: theme.sizing.scale100, paddingBottom: theme.sizing.scale100, overrides: overrides }));
|
|
14
|
-
}
|
|
15
12
|
if (isTokensBalancesPending) {
|
|
16
13
|
return React.createElement(ListingItem, { isLoading: true, overrides: overrides });
|
|
17
14
|
}
|
|
15
|
+
if (isTokensBalancesError) {
|
|
16
|
+
return (React.createElement(AccountError, { topic: "other assets", paddingTop: theme.sizing.scale100, paddingBottom: theme.sizing.scale100, overrides: overrides }));
|
|
17
|
+
}
|
|
18
18
|
const otherAssets = Object.values(tokensBalancesData)
|
|
19
19
|
.filter((asset) => !["BTC", "MUSD"].includes(asset.symbol))
|
|
20
20
|
.filter((asset) => asset.value > 0n);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountOtherAssets.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountOtherAssets.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,cAAc,GAEf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAMlF,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAA8B;IACvE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAA;IAElD,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,EAAE,CAAA;IAEhC,MAAM,EACJ,IAAI,EAAE,kBAAkB,EACxB,SAAS,EAAE,uBAAuB,EAClC,OAAO,EAAE,qBAAqB,GAC/B,GAAG,iBAAiB,EAAE,CAAA;IAEvB,IAAI,qBAAqB,EAAE,CAAC;QAC1B,OAAO,CACL,oBAAC,YAAY,IACX,KAAK,EAAC,cAAc,EACpB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EACjC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EACpC,SAAS,EAAE,SAAS,GACpB,CACH,CAAA;IACH,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"AccountOtherAssets.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountOtherAssets.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,cAAc,GAEf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAMlF,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAA8B;IACvE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAA;IAElD,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,EAAE,CAAA;IAEhC,MAAM,EACJ,IAAI,EAAE,kBAAkB,EACxB,SAAS,EAAE,uBAAuB,EAClC,OAAO,EAAE,qBAAqB,GAC/B,GAAG,iBAAiB,EAAE,CAAA;IAEvB,IAAI,uBAAuB,EAAE,CAAC;QAC5B,OAAO,oBAAC,WAAW,IAAC,SAAS,QAAC,SAAS,EAAE,SAAS,GAAI,CAAA;IACxD,CAAC;IAED,IAAI,qBAAqB,EAAE,CAAC;QAC1B,OAAO,CACL,oBAAC,YAAY,IACX,KAAK,EAAC,cAAc,EACpB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EACjC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EACpC,SAAS,EAAE,SAAS,GACpB,CACH,CAAA;IACH,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;SAClD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC1D,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAA;IAEtC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAA;IACtC,MAAM,gBAAgB,GAAG,MAAM,CAC7B,WAAW,CACT,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,EACjE,wBAAwB,CACzB,CACF,CAAA;IAED,IAAI,KAAK,GAAG,iBAAiB,CAAA;IAC7B,IAAI,WAAW,KAAK,CAAC;QAAE,KAAK,GAAG,cAAc,CAAA;IAC7C,IAAI,WAAW,GAAG,CAAC;QAAE,KAAK,GAAG,GAAG,WAAW,cAAc,CAAA;IAEzD,OAAO,CACL,oBAAC,WAAW,IACV,IAAI,EAAE,oBAAC,cAAc,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,GAAI,EAC5D,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,cAAc,CACvB;YACE,KAAK,EAAE;gBACL,KAAK,EAAE;oBACL,GAAG,EAAE,QAAQ;oBACb,OAAO;iBACR;gBACD,KAAK,EAAE;oBACL,WAAW,EAAE,CAAC;oBACd,MAAM,EAAE,SAAS;oBACjB,eAAe,EAAE,aAAa;oBAC9B,SAAS,EAAE,MAAM;iBAClB;aACF;SACF,EACD,SAAS,CACV,KACG,SAAS,GACb,CACH,CAAA;AACH,CAAC"}
|
|
@@ -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":"AAuFA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,YAAY,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgG9C;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB;;EAatC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB;;EAajC"}
|
|
@@ -2,7 +2,6 @@ import { useReadContracts } from "wagmi";
|
|
|
2
2
|
import { useCallback, useMemo } from "react";
|
|
3
3
|
import { useQueryClient } from "@tanstack/react-query";
|
|
4
4
|
import { formatUnits } from "viem";
|
|
5
|
-
import { ONE_MINUTE_MS } from "../utils/time";
|
|
6
5
|
import { mainnetBorrowContracts, testnetBorrowContracts, } from "../lib/contracts";
|
|
7
6
|
import { usePassportContext } from "./usePassportContext";
|
|
8
7
|
import { CHAIN_ID } from "../constants";
|
|
@@ -84,7 +83,7 @@ const BORROWER_OPERATIONS_ABI = [
|
|
|
84
83
|
* @param queryOptions Query options passed to the underlying `useQuery` hook.
|
|
85
84
|
*/
|
|
86
85
|
export function useBorrowData(queryOptions = {}) {
|
|
87
|
-
const { environment = "mainnet" } = usePassportContext();
|
|
86
|
+
const { environment = "mainnet", borrowDataRefetchInterval } = usePassportContext();
|
|
88
87
|
const walletAccount = useWalletAccount();
|
|
89
88
|
const { data: collateralPriceData } = useCollateralPrice();
|
|
90
89
|
const collateralPrice = collateralPriceData?.toString();
|
|
@@ -121,7 +120,6 @@ export function useBorrowData(queryOptions = {}) {
|
|
|
121
120
|
],
|
|
122
121
|
query: {
|
|
123
122
|
enabled: !!walletAccount.accountAddress && !!collateralPrice,
|
|
124
|
-
staleTime: 5 * ONE_MINUTE_MS,
|
|
125
123
|
retry: 1,
|
|
126
124
|
select: (data) => {
|
|
127
125
|
if (!data || data.some((item) => !item.result))
|
|
@@ -149,6 +147,8 @@ export function useBorrowData(queryOptions = {}) {
|
|
|
149
147
|
debtInUsd,
|
|
150
148
|
};
|
|
151
149
|
},
|
|
150
|
+
staleTime: borrowDataRefetchInterval,
|
|
151
|
+
refetchInterval: borrowDataRefetchInterval,
|
|
152
152
|
...queryOptions,
|
|
153
153
|
},
|
|
154
154
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBorrowData.js","sourceRoot":"","sources":["../../../src/hooks/useBorrowData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"useBorrowData.js","sourceRoot":"","sources":["../../../src/hooks/useBorrowData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAChE,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,MAAM,uBAAuB,GAAG,EAAE,CAAA;AAElC,yEAAyE;AACzE,2EAA2E;AAC3E,8EAA8E;AAC9E,0BAA0B;AAC1B,qEAAqE;AAErE,MAAM,iBAAiB,GAAG;IACxB;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAA;AAEV,MAAM,uBAAuB,GAAG;IAC9B;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,uBAAuB;QAC7B,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;CACO,CAAA;AAEV;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,YAAY,GAAG,EAAE;IAC7C,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,yBAAyB,EAAE,GAC1D,kBAAkB,EAAE,CAAA;IACtB,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IAExC,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAE1D,MAAM,eAAe,GAAG,mBAAmB,EAAE,QAAQ,EAAE,CAAA;IAEvD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACnC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO;gBACL,YAAY,EAAE,sBAAsB,CAAC,YAAY,CAAC,OAAO;gBACzD,kBAAkB,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,OAAO;aACtE,CAAA;QACH,CAAC;QACD,OAAO;YACL,YAAY,EAAE,sBAAsB,CAAC,YAAY,CAAC,OAAO;YACzD,kBAAkB,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,OAAO;SACtE,CAAA;IACH,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;IAErC,OAAO,gBAAgB,CAAC;QACtB,SAAS,EAAE;YACT;gBACE,GAAG,EAAE,iBAAiB;gBACtB,OAAO,EAAE,eAAe,CAAC,YAAY;gBACrC,YAAY,EAAE,sBAAsB;gBACpC,IAAI,EAAE,aAAa,CAAC,cAAc;oBAChC,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC;oBAChC,CAAC,CAAC,CAAC,IAAsB,CAAC;gBAC5B,OAAO;aACR;YACD;gBACE,GAAG,EAAE,uBAAuB;gBAC5B,OAAO,EAAE,eAAe,CAAC,kBAAkB;gBAC3C,YAAY,EAAE,uBAAuB;gBACrC,OAAO;aACR;SACF;QACD,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc,IAAI,CAAC,CAAC,eAAe;YAC5D,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACf,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC5C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;gBAE7C,IAAI,CAAC,eAAe;oBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;gBAEvE,MAAM,CAAC,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAO,CAAA;gBAC5D,MAAM,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAO,CAAA;gBAEvC,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAElC,MAAM,UAAU,GAAG;oBACjB,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,SAAS,EAAE,WAAW,CAAC,aAAa,EAAE,uBAAuB,CAAC;oBAC9D,GAAG,EAAE,YAAY,CACf,aAAa,EACb,uBAAuB,EACvB,MAAM,CAAC,eAAe,CAAC,EACvB,uBAAuB,CACxB;iBACF,CAAA;gBAED,MAAM,cAAc,GAAG,SAAS,CAC9B,kBAAkB,CAChB,SAAS,GAAG,QAAQ,GAAG,eAAe,EACtC,uBAAuB,CACxB,EACD,EAAE,CACH,CAAA;gBACD,MAAM,kBAAkB,GAAG,WAAW,CACpC,cAAc,EACd,uBAAuB,CACxB,CAAA;gBAED,MAAM,SAAS,GAAG;oBAChB,KAAK,EAAE,cAAc;oBACrB,SAAS,EAAE,kBAAkB;iBAC9B,CAAA;gBAED,OAAO;oBACL,UAAU;oBACV,SAAS;iBACV,CAAA;YACH,CAAC;YACD,SAAS,EAAE,yBAAyB;YACpC,eAAe,EAAE,yBAAyB;YAC1C,GAAG,YAAY;SAChB;KACF,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCollateralPrice.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCollateralPrice.ts"],"names":[],"mappings":"AAgCA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,KAAK;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useCollateralPrice.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCollateralPrice.ts"],"names":[],"mappings":"AAgCA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,KAAK;;;;;;;;;;uCA2BnD"}
|
|
@@ -30,7 +30,7 @@ const PRICE_FEED_ABI = [
|
|
|
30
30
|
* @param queryOptions Query options passed to the underlying `useQuery` hook.
|
|
31
31
|
*/
|
|
32
32
|
export function useCollateralPrice(queryOptions = {}) {
|
|
33
|
-
const { environment = "mainnet" } = usePassportContext();
|
|
33
|
+
const { environment = "mainnet", borrowDataRefetchInterval } = usePassportContext();
|
|
34
34
|
const walletAccount = useWalletAccount();
|
|
35
35
|
const priceFeedContractAddress = useMemo(() => {
|
|
36
36
|
if (environment === "mainnet") {
|
|
@@ -46,6 +46,8 @@ export function useCollateralPrice(queryOptions = {}) {
|
|
|
46
46
|
chainId,
|
|
47
47
|
query: {
|
|
48
48
|
enabled: !!walletAccount.accountAddress,
|
|
49
|
+
staleTime: borrowDataRefetchInterval,
|
|
50
|
+
refetchInterval: borrowDataRefetchInterval,
|
|
49
51
|
retry: 1,
|
|
50
52
|
...queryOptions,
|
|
51
53
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCollateralPrice.js","sourceRoot":"","sources":["../../../src/hooks/useCollateralPrice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AAEjD,yEAAyE;AACzE,2EAA2E;AAC3E,8EAA8E;AAC9E,0BAA0B;AAC1B,qEAAqE;AAErE,MAAM,cAAc,GAAG;IACrB;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,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;CACO,CAAA;AAEV;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,YAAY,GAAG,EAAE;IAClD,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"useCollateralPrice.js","sourceRoot":"","sources":["../../../src/hooks/useCollateralPrice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AAEjD,yEAAyE;AACzE,2EAA2E;AAC3E,8EAA8E;AAC9E,0BAA0B;AAC1B,qEAAqE;AAErE,MAAM,cAAc,GAAG;IACrB;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,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;CACO,CAAA;AAEV;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,YAAY,GAAG,EAAE;IAClD,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,yBAAyB,EAAE,GAC1D,kBAAkB,EAAE,CAAA;IACtB,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IAExC,MAAM,wBAAwB,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,sBAAsB,CAAC,SAAS,CAAC,OAAO,CAAA;QACjD,CAAC;QACD,OAAO,sBAAsB,CAAC,SAAS,CAAC,OAAO,CAAA;IACjD,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;IAErC,OAAO,eAAe,CAAC;QACrB,GAAG,EAAE,cAAc;QACnB,OAAO,EAAE,wBAAwB;QACjC,YAAY,EAAE,YAAY;QAC1B,OAAO;QACP,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc;YACvC,SAAS,EAAE,yBAAyB;YACpC,eAAe,EAAE,yBAAyB;YAC1C,KAAK,EAAE,CAAC;YACR,GAAG,YAAY;SAChB;KACF,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTokensBalances.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTokensBalances.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"useTokensBalances.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTokensBalances.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAEL,cAAc,EAEf,MAAM,kBAAkB,CAAA;AAmBzB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;EAoBH,CAAA;AAgBxB,KAAK,iCAAiC,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI;IACnE,MAAM,CAAC,EAAE,CAAC,CAAA;IACV,YAAY,CAAC,EAAE,IAAI,CACjB,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,EAChD,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAC9C,CAAA;CACF,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE;QACH,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;CACF,CAAA;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,cAAc,EAAE,EAC1D,OAAO,GAAE,iCAAiC,CAAC,CAAC,CAAM,kGAiInD;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B;;EAS1C;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB;;EASrC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useConfig } from "wagmi";
|
|
2
2
|
import { formatUnits } from "viem";
|
|
3
|
-
import { useQuery, useQueryClient, } from "@tanstack/react-query";
|
|
3
|
+
import { keepPreviousData, useQuery, useQueryClient, } from "@tanstack/react-query";
|
|
4
4
|
import { getBalance, readContracts } from "wagmi/actions";
|
|
5
5
|
import { mainnetTokenContracts, testnetTokenContracts, } from "../lib/contracts";
|
|
6
6
|
import useWalletAccount from "./useWalletAccount";
|
|
@@ -80,11 +80,9 @@ export function useTokensBalances(options = {}) {
|
|
|
80
80
|
walletAccount?.accountAddress,
|
|
81
81
|
options.tokens,
|
|
82
82
|
chainId,
|
|
83
|
-
conversionRatesData?.decimals,
|
|
84
|
-
conversionRatesData?.rates.BTC.toString(),
|
|
85
|
-
conversionRatesData?.rates.mT.toString(),
|
|
86
83
|
],
|
|
87
|
-
enabled: !!walletAccount?.accountAddress
|
|
84
|
+
enabled: !!walletAccount?.accountAddress,
|
|
85
|
+
placeholderData: keepPreviousData,
|
|
88
86
|
queryFn: async () => {
|
|
89
87
|
const isMainnet = chainId === CHAIN_ID.mainnet;
|
|
90
88
|
const contractsMap = isMainnet
|
|
@@ -104,22 +102,25 @@ export function useTokensBalances(options = {}) {
|
|
|
104
102
|
chainId,
|
|
105
103
|
};
|
|
106
104
|
});
|
|
105
|
+
if (!conversionRatesData) {
|
|
106
|
+
throw new Error("Conversion rates data is not available.");
|
|
107
|
+
}
|
|
107
108
|
return Promise.all([
|
|
108
109
|
getBalance(config, { address: accountAddress }),
|
|
109
110
|
readContracts(config, {
|
|
110
111
|
contracts: tokenContracts,
|
|
111
112
|
}),
|
|
113
|
+
new Promise((resolve) => {
|
|
114
|
+
resolve(conversionRatesData);
|
|
115
|
+
}),
|
|
112
116
|
]);
|
|
113
117
|
},
|
|
114
118
|
select: (data) => {
|
|
115
|
-
const [btcBalance, tokensBalancesData] = data;
|
|
116
|
-
if (!conversionRatesData) {
|
|
117
|
-
throw new Error("Conversion rates data is not available.");
|
|
118
|
-
}
|
|
119
|
+
const [btcBalance, tokensBalancesData, conversion] = data;
|
|
119
120
|
const parsedBtcBalance = {
|
|
120
121
|
...btcBalance,
|
|
121
122
|
symbol: getAsset("BTC").symbol,
|
|
122
|
-
usd: convertToUsd(btcBalance.value, btcBalance.decimals,
|
|
123
|
+
usd: convertToUsd(btcBalance.value, btcBalance.decimals, conversion.rates.BTC, conversion.decimals),
|
|
123
124
|
};
|
|
124
125
|
const parsedTokensBalances = tokensBalancesData.map((item, index) => {
|
|
125
126
|
const token = tokens[index];
|
|
@@ -134,14 +135,14 @@ export function useTokensBalances(options = {}) {
|
|
|
134
135
|
formatted: formatUnits(item.result, decimals),
|
|
135
136
|
};
|
|
136
137
|
let usd = {
|
|
137
|
-
value: normalizePrecision(tokenBalance.value, tokenBalance.decimals,
|
|
138
|
+
value: normalizePrecision(tokenBalance.value, tokenBalance.decimals, conversion.decimals),
|
|
138
139
|
formatted: formatUnits(tokenBalance.value, tokenBalance.decimals),
|
|
139
140
|
};
|
|
140
141
|
if (isBitcoinLikeCryptoAsset(tokenBalance.symbol)) {
|
|
141
|
-
usd = convertToUsd(tokenBalance.value, tokenBalance.decimals,
|
|
142
|
+
usd = convertToUsd(tokenBalance.value, tokenBalance.decimals, conversion.rates.BTC, conversion.decimals);
|
|
142
143
|
}
|
|
143
144
|
if (isTTokenCryptoAsset(tokenBalance.symbol)) {
|
|
144
|
-
usd = convertToUsd(tokenBalance.value, tokenBalance.decimals,
|
|
145
|
+
usd = convertToUsd(tokenBalance.value, tokenBalance.decimals, conversion.rates.mT, conversion.decimals);
|
|
145
146
|
}
|
|
146
147
|
return { ...tokenBalance, usd };
|
|
147
148
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTokensBalances.js","sourceRoot":"","sources":["../../../src/hooks/useTokensBalances.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAO,WAAW,EAAE,MAAM,MAAM,CAAA;AACvC,OAAO,EACL,QAAQ,EACR,cAAc,GAEf,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EACL,qBAAqB,EAErB,qBAAqB,GACtB,MAAM,kBAAkB,CAAA;AACzB,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AACjD,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,yEAAyE;AACzE,2EAA2E;AAC3E,8EAA8E;AAC9E,0BAA0B;AAC1B,qEAAqE;AAErE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B;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;AAExB,MAAM,cAAc,GAAqB;IACvC,QAAQ;IACR,MAAM;IACN,OAAO;IACP,UAAU;IACV,QAAQ;IACR,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,WAAW;IACX,MAAM;CACP,CAAA;AAqBD,MAAM,wBAAwB,GAAG,wBAAwB,CAAA;AAEzD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAgD,EAAE;IAElD,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE,GAAG,gBAAgB,EAAE,GAAG,OAAO,CAAA;IAEhE,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IAExC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,wBAAwB,EAAE,CAAA;IAEhE,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAExD,MAAM,OAAO,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAA;IAE3E,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE;YACR,wBAAwB;YACxB,aAAa,EAAE,cAAc;YAC7B,OAAO,CAAC,MAAM;YACd,OAAO;
|
|
1
|
+
{"version":3,"file":"useTokensBalances.js","sourceRoot":"","sources":["../../../src/hooks/useTokensBalances.ts"],"names":[],"mappings":"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"}
|
package/dist/src/provider.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export interface PassportContextValue {
|
|
|
5
5
|
environment?: Environment;
|
|
6
6
|
accountDataRefetchInterval: number;
|
|
7
7
|
nativeBalanceRefetchInterval: number;
|
|
8
|
+
nativePriceRefetchInterval: number;
|
|
9
|
+
borrowDataRefetchInterval: number;
|
|
8
10
|
}
|
|
9
11
|
export declare const PassportContext: import("react").Context<PassportContextValue | undefined>;
|
|
10
12
|
type Environment = "mainnet" | "testnet";
|
|
@@ -13,11 +15,20 @@ type PassportProviderProps = {
|
|
|
13
15
|
environment?: Environment;
|
|
14
16
|
authApiUrl?: string;
|
|
15
17
|
portalApiUrl?: string;
|
|
16
|
-
/** Time in milliseconds after which account data (like mats or mezo id) in
|
|
18
|
+
/** Time in milliseconds after which account data (like mats or mezo id) in
|
|
19
|
+
* dropdown should be re-fetched. Default is 60000 (60 secs) */
|
|
17
20
|
accountDataRefetchInterval?: number;
|
|
18
|
-
/** Time in milliseconds after which native balance in dropdown should
|
|
21
|
+
/** Time in milliseconds after which native token balance in dropdown should
|
|
22
|
+
* be re-fetched. Default is 60000 (60 secs). */
|
|
19
23
|
nativeBalanceRefetchInterval?: number;
|
|
24
|
+
/** Time in milliseconds after which native token price in dropdown should be
|
|
25
|
+
* re-fetched. Default is 60000 (60 secs). */
|
|
26
|
+
nativePriceRefetchInterval?: number;
|
|
27
|
+
/** Time in milliseconds after which borrow data in dropdown should be
|
|
28
|
+
* re-fetched. Default is 60000 (60 secs)
|
|
29
|
+
* price. */
|
|
30
|
+
borrowDataRefetchInterval?: number;
|
|
20
31
|
};
|
|
21
|
-
export declare function PassportProvider({ environment, authApiUrl, portalApiUrl, children, accountDataRefetchInterval, nativeBalanceRefetchInterval, }: PassportProviderProps): import("react").FunctionComponentElement<import("react").ProviderProps<PassportContextValue | undefined>>;
|
|
32
|
+
export declare function PassportProvider({ environment, authApiUrl, portalApiUrl, children, accountDataRefetchInterval, nativeBalanceRefetchInterval, nativePriceRefetchInterval, borrowDataRefetchInterval, }: PassportProviderProps): import("react").FunctionComponentElement<import("react").ProviderProps<PassportContextValue | undefined>>;
|
|
22
33
|
export {};
|
|
23
34
|
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AAGtD,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,aAAa,CAAA;IAC5B,eAAe,EAAE,eAAe,CAAA;IAChC,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,0BAA0B,EAAE,MAAM,CAAA;IAClC,4BAA4B,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AAGtD,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,aAAa,CAAA;IAC5B,eAAe,EAAE,eAAe,CAAA;IAChC,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,0BAA0B,EAAE,MAAM,CAAA;IAClC,4BAA4B,EAAE,MAAM,CAAA;IACpC,0BAA0B,EAAE,MAAM,CAAA;IAClC,yBAAyB,EAAE,MAAM,CAAA;CAClC;AAED,eAAO,MAAM,eAAe,2DAE3B,CAAA;AAED,KAAK,WAAW,GAAG,SAAS,GAAG,SAAS,CAAA;AAExC,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;mEAC+D;IAC/D,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC;oDACgD;IAChD,4BAA4B,CAAC,EAAE,MAAM,CAAA;IACrC;iDAC6C;IAC7C,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC;;gBAEY;IACZ,yBAAyB,CAAC,EAAE,MAAM,CAAA;CACnC,CAAA;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,WAAW,EACX,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,0BAA+C,EAC/C,4BAAiD,EACjD,0BAA+C,EAC/C,yBAA8C,GAC/C,EAAE,qBAAqB,6GAuBvB"}
|
package/dist/src/provider.js
CHANGED
|
@@ -2,7 +2,7 @@ import { createContext, createElement } from "react";
|
|
|
2
2
|
import { AuthApiClient, PortalApiClient } from "./api";
|
|
3
3
|
import { ONE_SECOND_MS } from "./utils/time";
|
|
4
4
|
export const PassportContext = createContext(undefined);
|
|
5
|
-
export function PassportProvider({ environment, authApiUrl, portalApiUrl, children, accountDataRefetchInterval =
|
|
5
|
+
export function PassportProvider({ environment, authApiUrl, portalApiUrl, children, accountDataRefetchInterval = 60 * ONE_SECOND_MS, nativeBalanceRefetchInterval = 60 * ONE_SECOND_MS, nativePriceRefetchInterval = 60 * ONE_SECOND_MS, borrowDataRefetchInterval = 60 * ONE_SECOND_MS, }) {
|
|
6
6
|
if (environment && !["mainnet", "testnet"].includes(environment)) {
|
|
7
7
|
throw new Error("Wrong environment passed to PassportProvider.");
|
|
8
8
|
}
|
|
@@ -13,6 +13,8 @@ export function PassportProvider({ environment, authApiUrl, portalApiUrl, childr
|
|
|
13
13
|
environment,
|
|
14
14
|
accountDataRefetchInterval,
|
|
15
15
|
nativeBalanceRefetchInterval,
|
|
16
|
+
nativePriceRefetchInterval,
|
|
17
|
+
borrowDataRefetchInterval,
|
|
16
18
|
},
|
|
17
19
|
}, children);
|
|
18
20
|
}
|
package/dist/src/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAY5C,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAC1C,SAAS,CACV,CAAA;AAwBD,MAAM,UAAU,gBAAgB,CAAC,EAC/B,WAAW,EACX,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,0BAA0B,GAAG,EAAE,GAAG,aAAa,EAC/C,4BAA4B,GAAG,EAAE,GAAG,aAAa,EACjD,0BAA0B,GAAG,EAAE,GAAG,aAAa,EAC/C,yBAAyB,GAAG,EAAE,GAAG,aAAa,GACxB;IACtB,IAAI,WAAW,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;IAClE,CAAC;IAED,OAAO,aAAa,CAClB,eAAe,CAAC,QAAQ,EACxB;QACE,KAAK,EAAE;YACL,aAAa,EAAE,IAAI,aAAa,CAAC,WAAW,IAAI,SAAS,EAAE,UAAU,CAAC;YACtE,eAAe,EAAE,IAAI,eAAe,CAClC,WAAW,IAAI,SAAS,EACxB,YAAY,CACb;YACD,WAAW;YACX,0BAA0B;YAC1B,4BAA4B;YAC5B,0BAA0B;YAC1B,yBAAyB;SAC1B;KACF,EACD,QAAQ,CACT,CAAA;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mezo-org/passport",
|
|
3
|
-
"version": "0.5.4-dev.
|
|
3
|
+
"version": "0.5.4-dev.11",
|
|
4
4
|
"main": "dist/src/index.js",
|
|
5
5
|
"license": "GPL-3.0-only",
|
|
6
6
|
"scripts": {
|
|
@@ -24,35 +24,33 @@
|
|
|
24
24
|
"directory": "typescript/passport"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@thesis-co/eslint-config": "
|
|
27
|
+
"@thesis-co/eslint-config": "catalog:",
|
|
28
28
|
"@types/jest": "^29.5.12",
|
|
29
29
|
"@types/node": "^20.11.30",
|
|
30
30
|
"@types/react": "^18.2.64",
|
|
31
|
-
"eslint": "
|
|
31
|
+
"eslint": "catalog:",
|
|
32
32
|
"jest": "^29.7.0",
|
|
33
33
|
"jest-environment-jsdom": "^29.7.0",
|
|
34
|
-
"prettier": "
|
|
34
|
+
"prettier": "catalog:",
|
|
35
35
|
"ts-jest": "^29.1.2",
|
|
36
36
|
"ts-node": "^10.9.2",
|
|
37
|
-
"typescript": "
|
|
37
|
+
"typescript": "catalog:"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@mezo-org/mezo-clay": "0.1.0-dev.30",
|
|
41
41
|
"@mezo-org/mezod-contracts": "^1.0.0",
|
|
42
42
|
"@mezo-org/musd-contracts": "^1.0.1",
|
|
43
|
-
"@mezo-org/orangekit": "
|
|
43
|
+
"@mezo-org/orangekit": "workspace:*",
|
|
44
44
|
"@mezo-org/sign-in-with-wallet": "1.0.0-beta.8",
|
|
45
|
+
"@rainbow-me/rainbowkit": "2.0.2",
|
|
46
|
+
"@tanstack/react-query": "^5.28.4",
|
|
47
|
+
"motion": "^12.23.6",
|
|
45
48
|
"qrcode.react": "^4.2.0",
|
|
49
|
+
"react": "^18.2.0",
|
|
46
50
|
"styletron-engine-monolithic": "^1.0.0",
|
|
47
51
|
"usehooks-ts": "^3.1.1",
|
|
48
|
-
"
|
|
52
|
+
"viem": "catalog:",
|
|
53
|
+
"wagmi": "2.5.12",
|
|
49
54
|
"zustand": "^5.0.3"
|
|
50
|
-
},
|
|
51
|
-
"peerDependencies": {
|
|
52
|
-
"@rainbow-me/rainbowkit": "2.0.2",
|
|
53
|
-
"@tanstack/react-query": "^5.28.4",
|
|
54
|
-
"react": "^18.2.0",
|
|
55
|
-
"viem": "2.22.8",
|
|
56
|
-
"wagmi": "2.5.12"
|
|
57
55
|
}
|
|
58
56
|
}
|
package/src/api/portal.ts
CHANGED
|
@@ -21,6 +21,7 @@ export default function AccountBalance(props: AccountBalanceProps) {
|
|
|
21
21
|
isPending: isTokensBalancesDataPending,
|
|
22
22
|
} = useTokensBalances({
|
|
23
23
|
queryOptions: {
|
|
24
|
+
staleTime: nativeBalanceRefetchInterval,
|
|
24
25
|
refetchInterval: nativeBalanceRefetchInterval,
|
|
25
26
|
},
|
|
26
27
|
})
|
|
@@ -24,18 +24,19 @@ export default function AccountBTCListing(props: AccountBTCListingProps) {
|
|
|
24
24
|
isPending: isTokensBalancesPending,
|
|
25
25
|
} = useTokensBalances({
|
|
26
26
|
queryOptions: {
|
|
27
|
+
staleTime: nativeBalanceRefetchInterval,
|
|
27
28
|
refetchInterval: nativeBalanceRefetchInterval,
|
|
28
29
|
},
|
|
29
30
|
})
|
|
30
31
|
|
|
31
|
-
if (isTokensBalancesError || isBorrowDataError) {
|
|
32
|
-
return <AccountError topic="Bitcoin balance" />
|
|
33
|
-
}
|
|
34
|
-
|
|
35
32
|
if (isTokensBalancesPending || isBorrowDataPending) {
|
|
36
33
|
return <ListingItem isLoading />
|
|
37
34
|
}
|
|
38
35
|
|
|
36
|
+
if (isTokensBalancesError || isBorrowDataError) {
|
|
37
|
+
return <AccountError topic="Bitcoin balance" />
|
|
38
|
+
}
|
|
39
|
+
|
|
39
40
|
const btcBalance = Number(tokensBalancesData.BTC.usd.formatted)
|
|
40
41
|
const lockedCollateral = Number(borrowData.collateral.usd.formatted)
|
|
41
42
|
|
|
@@ -21,14 +21,14 @@ export default function AccountMusdListing(
|
|
|
21
21
|
isPending: isTokensBalancesPending,
|
|
22
22
|
} = useTokensBalances()
|
|
23
23
|
|
|
24
|
-
if (isBorrowDataError || isTokensBalancesError) {
|
|
25
|
-
return <AccountError topic="MUSD balance" />
|
|
26
|
-
}
|
|
27
|
-
|
|
28
24
|
if (isBorrowDataPending || isTokensBalancesPending) {
|
|
29
25
|
return <ListingItem isLoading />
|
|
30
26
|
}
|
|
31
27
|
|
|
28
|
+
if (isBorrowDataError || isTokensBalancesError) {
|
|
29
|
+
return <AccountError topic="MUSD balance" />
|
|
30
|
+
}
|
|
31
|
+
|
|
32
32
|
const musdBalance = Number(tokensBalancesData.MUSD.usd.formatted)
|
|
33
33
|
const lockedCollateral = Number(borrowData.debtInUsd.formatted)
|
|
34
34
|
|
|
@@ -26,6 +26,10 @@ export default function AccountOtherAssets(props: AccountOtherAssetsProps) {
|
|
|
26
26
|
isError: isTokensBalancesError,
|
|
27
27
|
} = useTokensBalances()
|
|
28
28
|
|
|
29
|
+
if (isTokensBalancesPending) {
|
|
30
|
+
return <ListingItem isLoading overrides={overrides} />
|
|
31
|
+
}
|
|
32
|
+
|
|
29
33
|
if (isTokensBalancesError) {
|
|
30
34
|
return (
|
|
31
35
|
<AccountError
|
|
@@ -37,10 +41,6 @@ export default function AccountOtherAssets(props: AccountOtherAssetsProps) {
|
|
|
37
41
|
)
|
|
38
42
|
}
|
|
39
43
|
|
|
40
|
-
if (isTokensBalancesPending) {
|
|
41
|
-
return <ListingItem isLoading overrides={overrides} />
|
|
42
|
-
}
|
|
43
|
-
|
|
44
44
|
const otherAssets = Object.values(tokensBalancesData)
|
|
45
45
|
.filter((asset) => !["BTC", "MUSD"].includes(asset.symbol))
|
|
46
46
|
.filter((asset) => asset.value > 0n)
|
|
@@ -2,7 +2,6 @@ import { useReadContracts } from "wagmi"
|
|
|
2
2
|
import { useCallback, useMemo } from "react"
|
|
3
3
|
import { useQueryClient } from "@tanstack/react-query"
|
|
4
4
|
import { formatUnits } from "viem"
|
|
5
|
-
import { ONE_MINUTE_MS } from "../utils/time"
|
|
6
5
|
import {
|
|
7
6
|
mainnetBorrowContracts,
|
|
8
7
|
testnetBorrowContracts,
|
|
@@ -92,7 +91,8 @@ const BORROWER_OPERATIONS_ABI = [
|
|
|
92
91
|
* @param queryOptions Query options passed to the underlying `useQuery` hook.
|
|
93
92
|
*/
|
|
94
93
|
export function useBorrowData(queryOptions = {}) {
|
|
95
|
-
const { environment = "mainnet" } =
|
|
94
|
+
const { environment = "mainnet", borrowDataRefetchInterval } =
|
|
95
|
+
usePassportContext()
|
|
96
96
|
const walletAccount = useWalletAccount()
|
|
97
97
|
|
|
98
98
|
const { data: collateralPriceData } = useCollateralPrice()
|
|
@@ -134,7 +134,6 @@ export function useBorrowData(queryOptions = {}) {
|
|
|
134
134
|
],
|
|
135
135
|
query: {
|
|
136
136
|
enabled: !!walletAccount.accountAddress && !!collateralPrice,
|
|
137
|
-
staleTime: 5 * ONE_MINUTE_MS,
|
|
138
137
|
retry: 1,
|
|
139
138
|
select: (data) => {
|
|
140
139
|
if (!data || data.some((item) => !item.result))
|
|
@@ -182,6 +181,8 @@ export function useBorrowData(queryOptions = {}) {
|
|
|
182
181
|
debtInUsd,
|
|
183
182
|
}
|
|
184
183
|
},
|
|
184
|
+
staleTime: borrowDataRefetchInterval,
|
|
185
|
+
refetchInterval: borrowDataRefetchInterval,
|
|
185
186
|
...queryOptions,
|
|
186
187
|
},
|
|
187
188
|
})
|
|
@@ -36,7 +36,8 @@ const PRICE_FEED_ABI = [
|
|
|
36
36
|
* @param queryOptions Query options passed to the underlying `useQuery` hook.
|
|
37
37
|
*/
|
|
38
38
|
export function useCollateralPrice(queryOptions = {}) {
|
|
39
|
-
const { environment = "mainnet" } =
|
|
39
|
+
const { environment = "mainnet", borrowDataRefetchInterval } =
|
|
40
|
+
usePassportContext()
|
|
40
41
|
const walletAccount = useWalletAccount()
|
|
41
42
|
|
|
42
43
|
const priceFeedContractAddress = useMemo(() => {
|
|
@@ -55,6 +56,8 @@ export function useCollateralPrice(queryOptions = {}) {
|
|
|
55
56
|
chainId,
|
|
56
57
|
query: {
|
|
57
58
|
enabled: !!walletAccount.accountAddress,
|
|
59
|
+
staleTime: borrowDataRefetchInterval,
|
|
60
|
+
refetchInterval: borrowDataRefetchInterval,
|
|
58
61
|
retry: 1,
|
|
59
62
|
...queryOptions,
|
|
60
63
|
},
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { useConfig } from "wagmi"
|
|
2
2
|
import { Abi, formatUnits } from "viem"
|
|
3
3
|
import {
|
|
4
|
+
keepPreviousData,
|
|
4
5
|
useQuery,
|
|
5
6
|
useQueryClient,
|
|
6
7
|
UseQueryOptions,
|
|
@@ -124,11 +125,9 @@ export function useTokensBalances<T extends MezoChainToken[]>(
|
|
|
124
125
|
walletAccount?.accountAddress,
|
|
125
126
|
options.tokens,
|
|
126
127
|
chainId,
|
|
127
|
-
conversionRatesData?.decimals,
|
|
128
|
-
conversionRatesData?.rates.BTC.toString(),
|
|
129
|
-
conversionRatesData?.rates.mT.toString(),
|
|
130
128
|
],
|
|
131
|
-
enabled: !!walletAccount?.accountAddress
|
|
129
|
+
enabled: !!walletAccount?.accountAddress,
|
|
130
|
+
placeholderData: keepPreviousData,
|
|
132
131
|
queryFn: async () => {
|
|
133
132
|
const isMainnet = chainId === CHAIN_ID.mainnet
|
|
134
133
|
const contractsMap = isMainnet
|
|
@@ -152,18 +151,22 @@ export function useTokensBalances<T extends MezoChainToken[]>(
|
|
|
152
151
|
}
|
|
153
152
|
})
|
|
154
153
|
|
|
154
|
+
if (!conversionRatesData) {
|
|
155
|
+
throw new Error("Conversion rates data is not available.")
|
|
156
|
+
}
|
|
157
|
+
|
|
155
158
|
return Promise.all([
|
|
156
159
|
getBalance(config, { address: accountAddress }),
|
|
157
160
|
readContracts(config, {
|
|
158
161
|
contracts: tokenContracts,
|
|
159
162
|
}),
|
|
163
|
+
new Promise((resolve) => {
|
|
164
|
+
resolve(conversionRatesData)
|
|
165
|
+
}) as Promise<typeof conversionRatesData>,
|
|
160
166
|
])
|
|
161
167
|
},
|
|
162
168
|
select: (data) => {
|
|
163
|
-
const [btcBalance, tokensBalancesData] = data
|
|
164
|
-
if (!conversionRatesData) {
|
|
165
|
-
throw new Error("Conversion rates data is not available.")
|
|
166
|
-
}
|
|
169
|
+
const [btcBalance, tokensBalancesData, conversion] = data
|
|
167
170
|
|
|
168
171
|
const parsedBtcBalance = {
|
|
169
172
|
...btcBalance,
|
|
@@ -171,8 +174,8 @@ export function useTokensBalances<T extends MezoChainToken[]>(
|
|
|
171
174
|
usd: convertToUsd(
|
|
172
175
|
btcBalance.value,
|
|
173
176
|
btcBalance.decimals,
|
|
174
|
-
|
|
175
|
-
|
|
177
|
+
conversion.rates.BTC,
|
|
178
|
+
conversion.decimals,
|
|
176
179
|
),
|
|
177
180
|
}
|
|
178
181
|
|
|
@@ -197,7 +200,7 @@ export function useTokensBalances<T extends MezoChainToken[]>(
|
|
|
197
200
|
value: normalizePrecision(
|
|
198
201
|
tokenBalance.value,
|
|
199
202
|
tokenBalance.decimals,
|
|
200
|
-
|
|
203
|
+
conversion.decimals,
|
|
201
204
|
),
|
|
202
205
|
formatted: formatUnits(tokenBalance.value, tokenBalance.decimals),
|
|
203
206
|
}
|
|
@@ -205,16 +208,16 @@ export function useTokensBalances<T extends MezoChainToken[]>(
|
|
|
205
208
|
usd = convertToUsd(
|
|
206
209
|
tokenBalance.value,
|
|
207
210
|
tokenBalance.decimals,
|
|
208
|
-
|
|
209
|
-
|
|
211
|
+
conversion.rates.BTC,
|
|
212
|
+
conversion.decimals,
|
|
210
213
|
)
|
|
211
214
|
}
|
|
212
215
|
if (isTTokenCryptoAsset(tokenBalance.symbol)) {
|
|
213
216
|
usd = convertToUsd(
|
|
214
217
|
tokenBalance.value,
|
|
215
218
|
tokenBalance.decimals,
|
|
216
|
-
|
|
217
|
-
|
|
219
|
+
conversion.rates.mT,
|
|
220
|
+
conversion.decimals,
|
|
218
221
|
)
|
|
219
222
|
}
|
|
220
223
|
|
package/src/provider.ts
CHANGED
|
@@ -8,6 +8,8 @@ export interface PassportContextValue {
|
|
|
8
8
|
environment?: Environment
|
|
9
9
|
accountDataRefetchInterval: number
|
|
10
10
|
nativeBalanceRefetchInterval: number
|
|
11
|
+
nativePriceRefetchInterval: number
|
|
12
|
+
borrowDataRefetchInterval: number
|
|
11
13
|
}
|
|
12
14
|
|
|
13
15
|
export const PassportContext = createContext<PassportContextValue | undefined>(
|
|
@@ -21,10 +23,19 @@ type PassportProviderProps = {
|
|
|
21
23
|
environment?: Environment
|
|
22
24
|
authApiUrl?: string
|
|
23
25
|
portalApiUrl?: string
|
|
24
|
-
/** Time in milliseconds after which account data (like mats or mezo id) in
|
|
26
|
+
/** Time in milliseconds after which account data (like mats or mezo id) in
|
|
27
|
+
* dropdown should be re-fetched. Default is 60000 (60 secs) */
|
|
25
28
|
accountDataRefetchInterval?: number
|
|
26
|
-
/** Time in milliseconds after which native balance in dropdown should
|
|
29
|
+
/** Time in milliseconds after which native token balance in dropdown should
|
|
30
|
+
* be re-fetched. Default is 60000 (60 secs). */
|
|
27
31
|
nativeBalanceRefetchInterval?: number
|
|
32
|
+
/** Time in milliseconds after which native token price in dropdown should be
|
|
33
|
+
* re-fetched. Default is 60000 (60 secs). */
|
|
34
|
+
nativePriceRefetchInterval?: number
|
|
35
|
+
/** Time in milliseconds after which borrow data in dropdown should be
|
|
36
|
+
* re-fetched. Default is 60000 (60 secs)
|
|
37
|
+
* price. */
|
|
38
|
+
borrowDataRefetchInterval?: number
|
|
28
39
|
}
|
|
29
40
|
|
|
30
41
|
export function PassportProvider({
|
|
@@ -32,8 +43,10 @@ export function PassportProvider({
|
|
|
32
43
|
authApiUrl,
|
|
33
44
|
portalApiUrl,
|
|
34
45
|
children,
|
|
35
|
-
accountDataRefetchInterval =
|
|
36
|
-
nativeBalanceRefetchInterval =
|
|
46
|
+
accountDataRefetchInterval = 60 * ONE_SECOND_MS,
|
|
47
|
+
nativeBalanceRefetchInterval = 60 * ONE_SECOND_MS,
|
|
48
|
+
nativePriceRefetchInterval = 60 * ONE_SECOND_MS,
|
|
49
|
+
borrowDataRefetchInterval = 60 * ONE_SECOND_MS,
|
|
37
50
|
}: PassportProviderProps) {
|
|
38
51
|
if (environment && !["mainnet", "testnet"].includes(environment)) {
|
|
39
52
|
throw new Error("Wrong environment passed to PassportProvider.")
|
|
@@ -51,6 +64,8 @@ export function PassportProvider({
|
|
|
51
64
|
environment,
|
|
52
65
|
accountDataRefetchInterval,
|
|
53
66
|
nativeBalanceRefetchInterval,
|
|
67
|
+
nativePriceRefetchInterval,
|
|
68
|
+
borrowDataRefetchInterval,
|
|
54
69
|
},
|
|
55
70
|
},
|
|
56
71
|
children,
|