@mezo-org/passport 0.5.2-dev.0 → 0.5.2-dev.2
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 -0
- package/dist/src/api/portal.d.ts.map +1 -1
- package/dist/src/api/portal.js.map +1 -1
- package/dist/src/components/Dropdown/Root/AccountMusdListing.d.ts.map +1 -1
- package/dist/src/components/Dropdown/Root/AccountMusdListing.js +2 -0
- package/dist/src/components/Dropdown/Root/AccountMusdListing.js.map +1 -1
- package/dist/src/hooks/useAssetsConversionRates.d.ts.map +1 -1
- package/dist/src/hooks/useAssetsConversionRates.js +36 -9
- package/dist/src/hooks/useAssetsConversionRates.js.map +1 -1
- package/dist/src/hooks/useBorrowData.d.ts +15 -0
- package/dist/src/hooks/useBorrowData.d.ts.map +1 -1
- package/dist/src/hooks/useBorrowData.js +25 -3
- package/dist/src/hooks/useBorrowData.js.map +1 -1
- package/dist/src/hooks/useTokensBalances.d.ts.map +1 -1
- package/dist/src/hooks/useTokensBalances.js +4 -0
- package/dist/src/hooks/useTokensBalances.js.map +1 -1
- package/dist/src/lib/contracts/index.d.ts +1 -1
- package/dist/src/lib/contracts/index.d.ts.map +1 -1
- package/dist/src/lib/contracts/index.js +1 -0
- package/dist/src/lib/contracts/index.js.map +1 -1
- package/dist/src/lib/contracts/priceOracle.d.ts +43 -0
- package/dist/src/lib/contracts/priceOracle.d.ts.map +1 -0
- package/dist/src/lib/contracts/priceOracle.js +52 -0
- package/dist/src/lib/contracts/priceOracle.js.map +1 -0
- package/package.json +1 -1
- package/src/api/portal.ts +1 -0
- package/src/components/Dropdown/Root/AccountMusdListing.tsx +2 -0
- package/src/hooks/useAssetsConversionRates.ts +43 -10
- package/src/hooks/useBorrowData.ts +27 -5
- package/src/hooks/useTokensBalances.ts +5 -0
- package/src/lib/contracts/index.ts +2 -0
- package/src/lib/contracts/priceOracle.ts +53 -0
- package/dist/src/hooks/useCollateralPrice.d.ts +0 -17
- package/dist/src/hooks/useCollateralPrice.d.ts.map +0 -1
- package/dist/src/hooks/useCollateralPrice.js +0 -56
- package/dist/src/hooks/useCollateralPrice.js.map +0 -1
- package/src/hooks/useCollateralPrice.ts +0 -64
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,KAAK,gBAAgB,GAAG;IACtB,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
|
+
{"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":"portal.js","sourceRoot":"","sources":["../../../src/api/portal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"portal.js","sourceRoot":"","sources":["../../../src/api/portal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAepC,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,OAAO,EAAE,2BAA2B;IACpC,OAAO,EAAE,gCAAgC;CAC1C,CAAA;AAED,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5C,YACE,cAAwD,SAAS,EACjE,MAAe;QAEf,KAAK,CAAC;YACJ,MAAM,EAAE,MAAM,IAAI,2BAA2B,CAAC,WAAW,CAAC;YAC1D,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAmB,gBAAgB,EAAE;YACxE,MAAM,EAAE,KAAK;SACd,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe;QACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CACnC,eAAe,OAAO,OAAO,EAC7B;YACE,MAAM,EAAE,KAAK;SACd,CACF,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountMusdListing.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountMusdListing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAgB,MAAM,qBAAqB,CAAA;AAO9D,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"AccountMusdListing.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountMusdListing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAgB,MAAM,qBAAqB,CAAA;AAO9D,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,qBAqCpC"}
|
|
@@ -11,6 +11,8 @@ export default function AccountMusdListing(props) {
|
|
|
11
11
|
if (isBorrowDataError || isTokensBalancesError) {
|
|
12
12
|
return React.createElement(AccountError, { topic: "MUSD balance" });
|
|
13
13
|
}
|
|
14
|
+
console.log("isBorrowDataPending: ", isBorrowDataPending);
|
|
15
|
+
console.log("isTokensBalancesPending: ", isTokensBalancesPending);
|
|
14
16
|
if (isBorrowDataPending || isTokensBalancesPending) {
|
|
15
17
|
return React.createElement(ListingItem, { isLoading: true });
|
|
16
18
|
}
|
|
@@ -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,iBAAiB,IAAI,qBAAqB,EAAE,CAAC;QAC/C,OAAO,oBAAC,YAAY,IAAC,KAAK,EAAC,cAAc,GAAG,CAAA;IAC9C,CAAC;IAED,IAAI,mBAAmB,IAAI,uBAAuB,EAAE,CAAC;QACnD,OAAO,oBAAC,WAAW,IAAC,SAAS,SAAG,CAAA;IAClC,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"}
|
|
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,iBAAiB,IAAI,qBAAqB,EAAE,CAAC;QAC/C,OAAO,oBAAC,YAAY,IAAC,KAAK,EAAC,cAAc,GAAG,CAAA;IAC9C,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAA;IACzD,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,uBAAuB,CAAC,CAAA;IACjE,IAAI,mBAAmB,IAAI,uBAAuB,EAAE,CAAC;QACnD,OAAO,oBAAC,WAAW,IAAC,SAAS,SAAG,CAAA;IAClC,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAssetsConversionRates.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAssetsConversionRates.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAssetsConversionRates.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAssetsConversionRates.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,wBAAwB,KAAK,CAAA;AAK1C,eAAO,MAAM,SAAS,mCAAmC,CAAA;AAEzD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB;;;;;;UAwDvC"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { useQuery } from "@tanstack/react-query";
|
|
2
|
+
import { useConfig } from "wagmi";
|
|
3
|
+
import { readContract } from "wagmi/actions";
|
|
2
4
|
import { parseUnits } from "viem";
|
|
3
5
|
import { ONE_SECOND_MS } from "../utils/time";
|
|
4
6
|
import { usePortalApiClient } from "./usePortalApiClient";
|
|
5
|
-
import {
|
|
7
|
+
import { priceOracleContract } from "../lib/contracts";
|
|
8
|
+
import { CHAIN_ID } from "../constants";
|
|
9
|
+
import { usePassportContext } from "./usePassportContext";
|
|
10
|
+
import { normalizePrecision } from "../utils/numbers";
|
|
6
11
|
export const CONVERSION_RATE_DECIMALS = 18;
|
|
7
12
|
// If the oracle has not been updated in at least 60 seconds, it is stale.
|
|
8
13
|
const MAX_PRICE_DELAY = 60 * ONE_SECOND_MS;
|
|
@@ -17,24 +22,46 @@ export const QUERY_KEY = "passport.assetsConversionRates";
|
|
|
17
22
|
*/
|
|
18
23
|
export function useAssetsConversionRates() {
|
|
19
24
|
const portalApiClient = usePortalApiClient();
|
|
20
|
-
const {
|
|
21
|
-
const
|
|
25
|
+
const { environment = "mainnet" } = usePassportContext();
|
|
26
|
+
const config = useConfig();
|
|
22
27
|
return useQuery({
|
|
23
|
-
queryKey: [QUERY_KEY
|
|
24
|
-
queryFn: async () => Promise.all([
|
|
25
|
-
|
|
26
|
-
|
|
28
|
+
queryKey: [QUERY_KEY],
|
|
29
|
+
queryFn: async () => Promise.all([
|
|
30
|
+
portalApiClient.getPortalStatistics(),
|
|
31
|
+
readContract(config, {
|
|
32
|
+
...priceOracleContract,
|
|
33
|
+
functionName: "latestRoundData",
|
|
34
|
+
chainId: CHAIN_ID[environment],
|
|
35
|
+
}),
|
|
36
|
+
]),
|
|
37
|
+
select: ([portalStatistics, btcPriceData]) => {
|
|
27
38
|
const tTokenConversionRate = portalStatistics.tTokenPrice;
|
|
39
|
+
const [, btcConversionRate] = btcPriceData;
|
|
28
40
|
const tPrice = parseUnits(tTokenConversionRate.toString(), CONVERSION_RATE_DECIMALS);
|
|
41
|
+
const btcPrice = normalizePrecision(btcConversionRate, CONVERSION_RATE_DECIMALS);
|
|
29
42
|
return {
|
|
30
43
|
rates: {
|
|
31
44
|
mT: tPrice,
|
|
32
|
-
BTC:
|
|
45
|
+
BTC: btcPrice,
|
|
33
46
|
},
|
|
34
47
|
decimals: CONVERSION_RATE_DECIMALS,
|
|
35
48
|
};
|
|
36
49
|
},
|
|
37
|
-
refetchInterval:
|
|
50
|
+
refetchInterval: ({ state }) => {
|
|
51
|
+
if (!state.data)
|
|
52
|
+
return MAX_PRICE_DELAY;
|
|
53
|
+
const [, btcPriceData] = state.data;
|
|
54
|
+
const [, , , updatedAt] = btcPriceData;
|
|
55
|
+
if (!updatedAt)
|
|
56
|
+
return MAX_PRICE_DELAY;
|
|
57
|
+
const age = Date.now() - Number(updatedAt) * 1000;
|
|
58
|
+
return age > MAX_PRICE_DELAY
|
|
59
|
+
? // If the data is stale, we want to refetch as soon as possible, but
|
|
60
|
+
// not faster than once per second, to avoid excessive requests.
|
|
61
|
+
// Math.max ensures the interval is at least 1 second.
|
|
62
|
+
Math.max(ONE_SECOND_MS, MAX_PRICE_DELAY - age)
|
|
63
|
+
: MAX_PRICE_DELAY - age;
|
|
64
|
+
},
|
|
38
65
|
});
|
|
39
66
|
}
|
|
40
67
|
//# sourceMappingURL=useAssetsConversionRates.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAssetsConversionRates.js","sourceRoot":"","sources":["../../../src/hooks/useAssetsConversionRates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"useAssetsConversionRates.js","sourceRoot":"","sources":["../../../src/hooks/useAssetsConversionRates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAErD,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAA;AAE1C,0EAA0E;AAC1E,MAAM,eAAe,GAAG,EAAE,GAAG,aAAa,CAAA;AAE1C,MAAM,CAAC,MAAM,SAAS,GAAG,gCAAgC,CAAA;AAEzD;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB;IACtC,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAA;IAC5C,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,GAAG,kBAAkB,EAAE,CAAA;IACxD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,SAAS,CAAC;QACrB,OAAO,EAAE,KAAK,IAAI,EAAE,CAClB,OAAO,CAAC,GAAG,CAAC;YACV,eAAe,CAAC,mBAAmB,EAAE;YACrC,YAAY,CAAC,MAAM,EAAE;gBACnB,GAAG,mBAAmB;gBACtB,YAAY,EAAE,iBAAiB;gBAC/B,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC;aAC/B,CAAC;SACH,CAAC;QACJ,MAAM,EAAE,CAAC,CAAC,gBAAgB,EAAE,YAAY,CAAC,EAAE,EAAE;YAC3C,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,WAAW,CAAA;YACzD,MAAM,CAAC,EAAE,iBAAiB,CAAC,GAAG,YAAY,CAAA;YAE1C,MAAM,MAAM,GAAG,UAAU,CACvB,oBAAoB,CAAC,QAAQ,EAAE,EAC/B,wBAAwB,CACzB,CAAA;YAED,MAAM,QAAQ,GAAG,kBAAkB,CACjC,iBAAiB,EACjB,wBAAwB,CACzB,CAAA;YAED,OAAO;gBACL,KAAK,EAAE;oBACL,EAAE,EAAE,MAAM;oBACV,GAAG,EAAE,QAAQ;iBACd;gBACD,QAAQ,EAAE,wBAAwB;aACnC,CAAA;QACH,CAAC;QACD,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,IAAI;gBAAE,OAAO,eAAe,CAAA;YAEvC,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,IAAI,CAAA;YACnC,MAAM,CAAC,EAAE,AAAD,EAAG,AAAD,EAAG,SAAS,CAAC,GAAG,YAAY,CAAA;YAEtC,IAAI,CAAC,SAAS;gBAAE,OAAO,eAAe,CAAA;YAEtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;YAEjD,OAAO,GAAG,GAAG,eAAe;gBAC1B,CAAC,CAAC,oEAAoE;oBACpE,gEAAgE;oBAChE,sDAAsD;oBACtD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,eAAe,GAAG,GAAG,CAAC;gBAChD,CAAC,CAAC,eAAe,GAAG,GAAG,CAAA;QAC3B,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -58,6 +58,21 @@ export declare function useBorrowData(queryOptions?: {}): import("wagmi").UseRea
|
|
|
58
58
|
readonly address: `0x${string}`;
|
|
59
59
|
readonly functionName: "MUSD_GAS_COMPENSATION";
|
|
60
60
|
readonly chainId: number;
|
|
61
|
+
}, {
|
|
62
|
+
readonly abi: readonly [{
|
|
63
|
+
readonly inputs: readonly [];
|
|
64
|
+
readonly name: "fetchPrice";
|
|
65
|
+
readonly outputs: readonly [{
|
|
66
|
+
readonly internalType: "uint256";
|
|
67
|
+
readonly name: "";
|
|
68
|
+
readonly type: "uint256";
|
|
69
|
+
}];
|
|
70
|
+
readonly stateMutability: "view";
|
|
71
|
+
readonly type: "function";
|
|
72
|
+
}];
|
|
73
|
+
readonly address: `0x${string}`;
|
|
74
|
+
readonly functionName: "fetchPrice";
|
|
75
|
+
readonly chainId: number;
|
|
61
76
|
}], true, {
|
|
62
77
|
collateral: {
|
|
63
78
|
value: bigint;
|
|
@@ -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":"AAuGA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,YAAY,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiG9C;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB;;EAatC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB;;EAajC"}
|
|
@@ -10,7 +10,6 @@ import { bigIntMax, normalizePrecision } from "../utils/numbers";
|
|
|
10
10
|
import useWalletAccount from "./useWalletAccount";
|
|
11
11
|
import { getAsset } from "../utils/assets";
|
|
12
12
|
import { convertToUsd } from "../utils/currency";
|
|
13
|
-
import { useCollateralPrice } from "./useCollateralPrice";
|
|
14
13
|
const DEBT_AND_COLL_PRECISION = 18;
|
|
15
14
|
// Wagmi handles typesafety with ABI const assertions. TypeScript doesn't
|
|
16
15
|
// support importing JSON as const yet so types cannot be inferred from the
|
|
@@ -78,6 +77,21 @@ const BORROWER_OPERATIONS_ABI = [
|
|
|
78
77
|
type: "function",
|
|
79
78
|
},
|
|
80
79
|
];
|
|
80
|
+
const PRICE_FEED_ABI = [
|
|
81
|
+
{
|
|
82
|
+
inputs: [],
|
|
83
|
+
name: "fetchPrice",
|
|
84
|
+
outputs: [
|
|
85
|
+
{
|
|
86
|
+
internalType: "uint256",
|
|
87
|
+
name: "",
|
|
88
|
+
type: "uint256",
|
|
89
|
+
},
|
|
90
|
+
],
|
|
91
|
+
stateMutability: "view",
|
|
92
|
+
type: "function",
|
|
93
|
+
},
|
|
94
|
+
];
|
|
81
95
|
/**
|
|
82
96
|
* Query hook for getting borrow data. Returns collateral and trove debt for the
|
|
83
97
|
* connected account, based on it's evm address.
|
|
@@ -86,17 +100,18 @@ const BORROWER_OPERATIONS_ABI = [
|
|
|
86
100
|
export function useBorrowData(queryOptions = {}) {
|
|
87
101
|
const { environment = "mainnet" } = usePassportContext();
|
|
88
102
|
const walletAccount = useWalletAccount();
|
|
89
|
-
const { data: collateralPrice } = useCollateralPrice();
|
|
90
103
|
const contractAddress = useMemo(() => {
|
|
91
104
|
if (environment === "mainnet") {
|
|
92
105
|
return {
|
|
93
106
|
troveManager: mainnetBorrowContracts.TroveManager.address,
|
|
94
107
|
borrowerOperations: mainnetBorrowContracts.BorrowerOperations.address,
|
|
108
|
+
priceFeed: mainnetBorrowContracts.PriceFeed.address,
|
|
95
109
|
};
|
|
96
110
|
}
|
|
97
111
|
return {
|
|
98
112
|
troveManager: testnetBorrowContracts.TroveManager.address,
|
|
99
113
|
borrowerOperations: testnetBorrowContracts.BorrowerOperations.address,
|
|
114
|
+
priceFeed: testnetBorrowContracts.PriceFeed.address,
|
|
100
115
|
};
|
|
101
116
|
}, [environment]);
|
|
102
117
|
const chainId = CHAIN_ID[environment];
|
|
@@ -117,9 +132,15 @@ export function useBorrowData(queryOptions = {}) {
|
|
|
117
132
|
functionName: "MUSD_GAS_COMPENSATION",
|
|
118
133
|
chainId,
|
|
119
134
|
},
|
|
135
|
+
{
|
|
136
|
+
abi: PRICE_FEED_ABI,
|
|
137
|
+
address: contractAddress.priceFeed,
|
|
138
|
+
functionName: "fetchPrice",
|
|
139
|
+
chainId,
|
|
140
|
+
},
|
|
120
141
|
],
|
|
121
142
|
query: {
|
|
122
|
-
enabled: !!walletAccount.accountAddress
|
|
143
|
+
enabled: !!walletAccount.accountAddress,
|
|
123
144
|
staleTime: 5 * ONE_MINUTE_MS,
|
|
124
145
|
retry: 1,
|
|
125
146
|
select: (data) => {
|
|
@@ -127,6 +148,7 @@ export function useBorrowData(queryOptions = {}) {
|
|
|
127
148
|
throw new Error("No borrow data available");
|
|
128
149
|
const [rawCollateral, principal, interest] = data[0].result;
|
|
129
150
|
const gasCompensation = data[1].result;
|
|
151
|
+
const collateralPrice = data[2].result;
|
|
130
152
|
const btcDetails = getAsset("BTC");
|
|
131
153
|
const collateral = {
|
|
132
154
|
value: rawCollateral,
|
|
@@ -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,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,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;
|
|
1
|
+
{"version":3,"file":"useBorrowData.js","sourceRoot":"","sources":["../../../src/hooks/useBorrowData.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTokensBalances.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTokensBalances.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,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,
|
|
1
|
+
{"version":3,"file":"useTokensBalances.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTokensBalances.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,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"}
|
|
@@ -73,6 +73,10 @@ export function useTokensBalances(options = {}) {
|
|
|
73
73
|
const config = useConfig();
|
|
74
74
|
const { data: conversionRatesData } = useAssetsConversionRates();
|
|
75
75
|
const isMezoChainId = isMezoChain(config.state.chainId);
|
|
76
|
+
console.log("walletAccount?.accountAddress: ", walletAccount?.accountAddress);
|
|
77
|
+
console.log("conversionRatesData: ", conversionRatesData);
|
|
78
|
+
console.log("isMezoChainId: ", isMezoChainId);
|
|
79
|
+
console.log("chainId: ", config.state.chainId);
|
|
76
80
|
return useQuery({
|
|
77
81
|
queryKey: [
|
|
78
82
|
TOKEN_BALANCES_QUERY_KEY,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTokensBalances.js","sourceRoot":"","sources":["../../../src/hooks/useTokensBalances.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useTokensBalances.js","sourceRoot":"","sources":["../../../src/hooks/useTokensBalances.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,5 +9,5 @@ export declare const testnetTokenContracts: ContractsMap<MezoChainToken>;
|
|
|
9
9
|
export declare const mainnetTokenContracts: ContractsMap<MezoChainToken>;
|
|
10
10
|
export declare const mainnetBorrowContracts: ContractsMap<MezoBorrowContract>;
|
|
11
11
|
export declare const testnetBorrowContracts: ContractsMap<MezoBorrowContract>;
|
|
12
|
-
export {};
|
|
12
|
+
export { default as priceOracleContract } from "./priceOracle";
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/contracts/index.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,MAAM,GACN,OAAO,GACP,UAAU,GACV,QAAQ,GACR,IAAI,GACJ,OAAO,GACP,OAAO,GACP,OAAO,GACP,WAAW,GACX,MAAM,CAAA;AAEV,MAAM,MAAM,kBAAkB,GAC1B,cAAc,GACd,oBAAoB,GACpB,WAAW,CAAA;AAEf,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,CAC1C,CAAC,EACD;IACE,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,GAAG,CAAA;CACT,CACF,CAAA;AAED,eAAO,MAAM,qBAAqB,EAYlB,YAAY,CAAC,cAAc,CAAC,CAAA;AAE5C,eAAO,MAAM,qBAAqB,EAYlB,YAAY,CAAC,cAAc,CAAC,CAAA;AAE5C,eAAO,MAAM,sBAAsB,EAInB,YAAY,CAAC,kBAAkB,CAAC,CAAA;AAEhD,eAAO,MAAM,sBAAsB,EAInB,YAAY,CAAC,kBAAkB,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/contracts/index.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,MAAM,GACN,OAAO,GACP,UAAU,GACV,QAAQ,GACR,IAAI,GACJ,OAAO,GACP,OAAO,GACP,OAAO,GACP,WAAW,GACX,MAAM,CAAA;AAEV,MAAM,MAAM,kBAAkB,GAC1B,cAAc,GACd,oBAAoB,GACpB,WAAW,CAAA;AAEf,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,CAC1C,CAAC,EACD;IACE,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,GAAG,CAAA;CACT,CACF,CAAA;AAED,eAAO,MAAM,qBAAqB,EAYlB,YAAY,CAAC,cAAc,CAAC,CAAA;AAE5C,eAAO,MAAM,qBAAqB,EAYlB,YAAY,CAAC,cAAc,CAAC,CAAA;AAE5C,eAAO,MAAM,sBAAsB,EAInB,YAAY,CAAC,kBAAkB,CAAC,CAAA;AAEhD,eAAO,MAAM,sBAAsB,EAInB,YAAY,CAAC,kBAAkB,CAAC,CAAA;AAEhD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/contracts/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,2DAA2D,CAAA;AACpF,OAAO,UAAU,MAAM,yDAAyD,CAAA;AAChF,OAAO,WAAW,MAAM,0DAA0D,CAAA;AAClF,OAAO,cAAc,MAAM,6DAA6D,CAAA;AACxF,OAAO,YAAY,MAAM,2DAA2D,CAAA;AACpF,OAAO,QAAQ,MAAM,uDAAuD,CAAA;AAC5E,OAAO,WAAW,MAAM,0DAA0D,CAAA;AAClF,OAAO,WAAW,MAAM,0DAA0D,CAAA;AAClF,OAAO,WAAW,MAAM,0DAA0D,CAAA;AAClF,OAAO,eAAe,MAAM,8DAA8D,CAAA;AAC1F,OAAO,WAAW,MAAM,wDAAwD,CAAA;AAChF,OAAO,mBAAmB,MAAM,gEAAgE,CAAA;AAChG,OAAO,yBAAyB,MAAM,sEAAsE,CAAA;AAE5G,OAAO,YAAY,MAAM,2DAA2D,CAAA;AACpF,OAAO,UAAU,MAAM,yDAAyD,CAAA;AAChF,OAAO,WAAW,MAAM,0DAA0D,CAAA;AAClF,OAAO,cAAc,MAAM,6DAA6D,CAAA;AACxF,OAAO,YAAY,MAAM,2DAA2D,CAAA;AACpF,OAAO,QAAQ,MAAM,uDAAuD,CAAA;AAC5E,OAAO,WAAW,MAAM,0DAA0D,CAAA;AAClF,OAAO,WAAW,MAAM,0DAA0D,CAAA;AAClF,OAAO,WAAW,MAAM,0DAA0D,CAAA;AAClF,OAAO,eAAe,MAAM,8DAA8D,CAAA;AAC1F,OAAO,WAAW,MAAM,wDAAwD,CAAA;AAChF,OAAO,mBAAmB,MAAM,gEAAgE,CAAA;AAChG,OAAO,yBAAyB,MAAM,sEAAsE,CAAA;AAC5G,OAAO,SAAS,MAAM,6DAA6D,CAAA;AACnF,OAAO,gBAAgB,MAAM,6DAA6D,CAAA;AA8B1F,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM,EAAE,YAAY;IACpB,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,WAAW;IAClB,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,YAAY;IACpB,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,WAAW;IAClB,SAAS,EAAE,eAAe;IAC1B,IAAI,EAAE,WAAW;CACyB,CAAA;AAE5C,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM,EAAE,YAAY;IACpB,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,WAAW;IAClB,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,YAAY;IACpB,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,WAAW;IAClB,SAAS,EAAE,eAAe;IAC1B,IAAI,EAAE,WAAW;CACyB,CAAA;AAE5C,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,YAAY,EAAE,mBAAmB;IACjC,kBAAkB,EAAE,yBAAyB;IAC7C,SAAS,EAAE,SAAS;CAC0B,CAAA;AAEhD,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,YAAY,EAAE,mBAAmB;IACjC,kBAAkB,EAAE,yBAAyB;IAC7C,SAAS,EAAE,gBAAgB;CACmB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/contracts/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,2DAA2D,CAAA;AACpF,OAAO,UAAU,MAAM,yDAAyD,CAAA;AAChF,OAAO,WAAW,MAAM,0DAA0D,CAAA;AAClF,OAAO,cAAc,MAAM,6DAA6D,CAAA;AACxF,OAAO,YAAY,MAAM,2DAA2D,CAAA;AACpF,OAAO,QAAQ,MAAM,uDAAuD,CAAA;AAC5E,OAAO,WAAW,MAAM,0DAA0D,CAAA;AAClF,OAAO,WAAW,MAAM,0DAA0D,CAAA;AAClF,OAAO,WAAW,MAAM,0DAA0D,CAAA;AAClF,OAAO,eAAe,MAAM,8DAA8D,CAAA;AAC1F,OAAO,WAAW,MAAM,wDAAwD,CAAA;AAChF,OAAO,mBAAmB,MAAM,gEAAgE,CAAA;AAChG,OAAO,yBAAyB,MAAM,sEAAsE,CAAA;AAE5G,OAAO,YAAY,MAAM,2DAA2D,CAAA;AACpF,OAAO,UAAU,MAAM,yDAAyD,CAAA;AAChF,OAAO,WAAW,MAAM,0DAA0D,CAAA;AAClF,OAAO,cAAc,MAAM,6DAA6D,CAAA;AACxF,OAAO,YAAY,MAAM,2DAA2D,CAAA;AACpF,OAAO,QAAQ,MAAM,uDAAuD,CAAA;AAC5E,OAAO,WAAW,MAAM,0DAA0D,CAAA;AAClF,OAAO,WAAW,MAAM,0DAA0D,CAAA;AAClF,OAAO,WAAW,MAAM,0DAA0D,CAAA;AAClF,OAAO,eAAe,MAAM,8DAA8D,CAAA;AAC1F,OAAO,WAAW,MAAM,wDAAwD,CAAA;AAChF,OAAO,mBAAmB,MAAM,gEAAgE,CAAA;AAChG,OAAO,yBAAyB,MAAM,sEAAsE,CAAA;AAC5G,OAAO,SAAS,MAAM,6DAA6D,CAAA;AACnF,OAAO,gBAAgB,MAAM,6DAA6D,CAAA;AA8B1F,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM,EAAE,YAAY;IACpB,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,WAAW;IAClB,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,YAAY;IACpB,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,WAAW;IAClB,SAAS,EAAE,eAAe;IAC1B,IAAI,EAAE,WAAW;CACyB,CAAA;AAE5C,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM,EAAE,YAAY;IACpB,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,WAAW;IAClB,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,YAAY;IACpB,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,WAAW;IAClB,SAAS,EAAE,eAAe;IAC1B,IAAI,EAAE,WAAW;CACyB,CAAA;AAE5C,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,YAAY,EAAE,mBAAmB;IACjC,kBAAkB,EAAE,yBAAyB;IAC7C,SAAS,EAAE,SAAS;CAC0B,CAAA;AAEhD,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,YAAY,EAAE,mBAAmB;IACjC,kBAAkB,EAAE,yBAAyB;IAC7C,SAAS,EAAE,gBAAgB;CACmB,CAAA;AAEhD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Address } from "viem";
|
|
2
|
+
declare const _default: {
|
|
3
|
+
address: Address;
|
|
4
|
+
abi: readonly [{
|
|
5
|
+
readonly inputs: readonly [];
|
|
6
|
+
readonly name: "decimals";
|
|
7
|
+
readonly outputs: readonly [{
|
|
8
|
+
readonly internalType: "uint8";
|
|
9
|
+
readonly name: "";
|
|
10
|
+
readonly type: "uint8";
|
|
11
|
+
}];
|
|
12
|
+
readonly stateMutability: "view";
|
|
13
|
+
readonly type: "function";
|
|
14
|
+
}, {
|
|
15
|
+
readonly inputs: readonly [];
|
|
16
|
+
readonly name: "latestRoundData";
|
|
17
|
+
readonly outputs: readonly [{
|
|
18
|
+
readonly internalType: "uint80";
|
|
19
|
+
readonly name: "roundId";
|
|
20
|
+
readonly type: "uint80";
|
|
21
|
+
}, {
|
|
22
|
+
readonly internalType: "int256";
|
|
23
|
+
readonly name: "answer";
|
|
24
|
+
readonly type: "int256";
|
|
25
|
+
}, {
|
|
26
|
+
readonly internalType: "uint256";
|
|
27
|
+
readonly name: "startedAt";
|
|
28
|
+
readonly type: "uint256";
|
|
29
|
+
}, {
|
|
30
|
+
readonly internalType: "uint256";
|
|
31
|
+
readonly name: "updatedAt";
|
|
32
|
+
readonly type: "uint256";
|
|
33
|
+
}, {
|
|
34
|
+
readonly internalType: "uint80";
|
|
35
|
+
readonly name: "answeredInRound";
|
|
36
|
+
readonly type: "uint80";
|
|
37
|
+
}];
|
|
38
|
+
readonly stateMutability: "view";
|
|
39
|
+
readonly type: "function";
|
|
40
|
+
}];
|
|
41
|
+
};
|
|
42
|
+
export default _default;
|
|
43
|
+
//# sourceMappingURL=priceOracle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"priceOracle.d.ts","sourceRoot":"","sources":["../../../../src/lib/contracts/priceOracle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;;aAG6B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AADlE,wBAkDC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
address: "0x7b7c000000000000000000000000000000000015",
|
|
3
|
+
abi: [
|
|
4
|
+
{
|
|
5
|
+
inputs: [],
|
|
6
|
+
name: "decimals",
|
|
7
|
+
outputs: [
|
|
8
|
+
{
|
|
9
|
+
internalType: "uint8",
|
|
10
|
+
name: "",
|
|
11
|
+
type: "uint8",
|
|
12
|
+
},
|
|
13
|
+
],
|
|
14
|
+
stateMutability: "view",
|
|
15
|
+
type: "function",
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
inputs: [],
|
|
19
|
+
name: "latestRoundData",
|
|
20
|
+
outputs: [
|
|
21
|
+
{
|
|
22
|
+
internalType: "uint80",
|
|
23
|
+
name: "roundId",
|
|
24
|
+
type: "uint80",
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
internalType: "int256",
|
|
28
|
+
name: "answer",
|
|
29
|
+
type: "int256",
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
internalType: "uint256",
|
|
33
|
+
name: "startedAt",
|
|
34
|
+
type: "uint256",
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
internalType: "uint256",
|
|
38
|
+
name: "updatedAt",
|
|
39
|
+
type: "uint256",
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
internalType: "uint80",
|
|
43
|
+
name: "answeredInRound",
|
|
44
|
+
type: "uint80",
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
stateMutability: "view",
|
|
48
|
+
type: "function",
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=priceOracle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"priceOracle.js","sourceRoot":"","sources":["../../../../src/lib/contracts/priceOracle.ts"],"names":[],"mappings":"AAEA,eAAe;IACb,OAAO,EAAE,4CAAuD;IAChE,GAAG,EAAE;QACH;YACE,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE;gBACP;oBACE,YAAY,EAAE,OAAO;oBACrB,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE,OAAO;iBACd;aACF;YACD,eAAe,EAAE,MAAM;YACvB,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE;gBACP;oBACE,YAAY,EAAE,QAAQ;oBACtB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ;iBACf;gBACD;oBACE,YAAY,EAAE,QAAQ;oBACtB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,QAAQ;iBACf;gBACD;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,QAAQ;oBACtB,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,eAAe,EAAE,MAAM;YACvB,IAAI,EAAE,UAAU;SACjB;KACO;CACX,CAAA"}
|
package/package.json
CHANGED
package/src/api/portal.ts
CHANGED
|
@@ -25,6 +25,8 @@ export default function AccountMusdListing(
|
|
|
25
25
|
return <AccountError topic="MUSD balance" />
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
+
console.log("isBorrowDataPending: ", isBorrowDataPending)
|
|
29
|
+
console.log("isTokensBalancesPending: ", isTokensBalancesPending)
|
|
28
30
|
if (isBorrowDataPending || isTokensBalancesPending) {
|
|
29
31
|
return <ListingItem isLoading />
|
|
30
32
|
}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { useQuery } from "@tanstack/react-query"
|
|
2
|
+
import { useConfig } from "wagmi"
|
|
3
|
+
import { readContract } from "wagmi/actions"
|
|
2
4
|
import { parseUnits } from "viem"
|
|
3
5
|
import { ONE_SECOND_MS } from "../utils/time"
|
|
4
6
|
import { usePortalApiClient } from "./usePortalApiClient"
|
|
5
|
-
import {
|
|
7
|
+
import { priceOracleContract } from "../lib/contracts"
|
|
8
|
+
import { CHAIN_ID } from "../constants"
|
|
9
|
+
import { usePassportContext } from "./usePassportContext"
|
|
10
|
+
import { normalizePrecision } from "../utils/numbers"
|
|
6
11
|
|
|
7
12
|
export const CONVERSION_RATE_DECIMALS = 18
|
|
8
13
|
|
|
@@ -21,30 +26,58 @@ export const QUERY_KEY = "passport.assetsConversionRates"
|
|
|
21
26
|
*/
|
|
22
27
|
export function useAssetsConversionRates() {
|
|
23
28
|
const portalApiClient = usePortalApiClient()
|
|
24
|
-
const {
|
|
25
|
-
|
|
26
|
-
const collateralPrice = collateralPriceData?.toString()
|
|
29
|
+
const { environment = "mainnet" } = usePassportContext()
|
|
30
|
+
const config = useConfig()
|
|
27
31
|
|
|
28
32
|
return useQuery({
|
|
29
|
-
queryKey: [QUERY_KEY
|
|
30
|
-
queryFn: async () =>
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
queryKey: [QUERY_KEY],
|
|
34
|
+
queryFn: async () =>
|
|
35
|
+
Promise.all([
|
|
36
|
+
portalApiClient.getPortalStatistics(),
|
|
37
|
+
readContract(config, {
|
|
38
|
+
...priceOracleContract,
|
|
39
|
+
functionName: "latestRoundData",
|
|
40
|
+
chainId: CHAIN_ID[environment],
|
|
41
|
+
}),
|
|
42
|
+
]),
|
|
43
|
+
select: ([portalStatistics, btcPriceData]) => {
|
|
33
44
|
const tTokenConversionRate = portalStatistics.tTokenPrice
|
|
45
|
+
const [, btcConversionRate] = btcPriceData
|
|
34
46
|
|
|
35
47
|
const tPrice = parseUnits(
|
|
36
48
|
tTokenConversionRate.toString(),
|
|
37
49
|
CONVERSION_RATE_DECIMALS,
|
|
38
50
|
)
|
|
39
51
|
|
|
52
|
+
const btcPrice = normalizePrecision(
|
|
53
|
+
btcConversionRate,
|
|
54
|
+
CONVERSION_RATE_DECIMALS,
|
|
55
|
+
)
|
|
56
|
+
|
|
40
57
|
return {
|
|
41
58
|
rates: {
|
|
42
59
|
mT: tPrice,
|
|
43
|
-
BTC:
|
|
60
|
+
BTC: btcPrice,
|
|
44
61
|
},
|
|
45
62
|
decimals: CONVERSION_RATE_DECIMALS,
|
|
46
63
|
}
|
|
47
64
|
},
|
|
48
|
-
refetchInterval:
|
|
65
|
+
refetchInterval: ({ state }) => {
|
|
66
|
+
if (!state.data) return MAX_PRICE_DELAY
|
|
67
|
+
|
|
68
|
+
const [, btcPriceData] = state.data
|
|
69
|
+
const [, , , updatedAt] = btcPriceData
|
|
70
|
+
|
|
71
|
+
if (!updatedAt) return MAX_PRICE_DELAY
|
|
72
|
+
|
|
73
|
+
const age = Date.now() - Number(updatedAt) * 1000
|
|
74
|
+
|
|
75
|
+
return age > MAX_PRICE_DELAY
|
|
76
|
+
? // If the data is stale, we want to refetch as soon as possible, but
|
|
77
|
+
// not faster than once per second, to avoid excessive requests.
|
|
78
|
+
// Math.max ensures the interval is at least 1 second.
|
|
79
|
+
Math.max(ONE_SECOND_MS, MAX_PRICE_DELAY - age)
|
|
80
|
+
: MAX_PRICE_DELAY - age
|
|
81
|
+
},
|
|
49
82
|
})
|
|
50
83
|
}
|
|
@@ -13,7 +13,6 @@ import { bigIntMax, normalizePrecision } from "../utils/numbers"
|
|
|
13
13
|
import useWalletAccount from "./useWalletAccount"
|
|
14
14
|
import { getAsset } from "../utils/assets"
|
|
15
15
|
import { convertToUsd } from "../utils/currency"
|
|
16
|
-
import { useCollateralPrice } from "./useCollateralPrice"
|
|
17
16
|
|
|
18
17
|
const DEBT_AND_COLL_PRECISION = 18
|
|
19
18
|
|
|
@@ -86,6 +85,22 @@ const BORROWER_OPERATIONS_ABI = [
|
|
|
86
85
|
},
|
|
87
86
|
] as const
|
|
88
87
|
|
|
88
|
+
const PRICE_FEED_ABI = [
|
|
89
|
+
{
|
|
90
|
+
inputs: [],
|
|
91
|
+
name: "fetchPrice",
|
|
92
|
+
outputs: [
|
|
93
|
+
{
|
|
94
|
+
internalType: "uint256",
|
|
95
|
+
name: "",
|
|
96
|
+
type: "uint256",
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
|
+
stateMutability: "view",
|
|
100
|
+
type: "function",
|
|
101
|
+
},
|
|
102
|
+
] as const
|
|
103
|
+
|
|
89
104
|
/**
|
|
90
105
|
* Query hook for getting borrow data. Returns collateral and trove debt for the
|
|
91
106
|
* connected account, based on it's evm address.
|
|
@@ -95,18 +110,18 @@ export function useBorrowData(queryOptions = {}) {
|
|
|
95
110
|
const { environment = "mainnet" } = usePassportContext()
|
|
96
111
|
const walletAccount = useWalletAccount()
|
|
97
112
|
|
|
98
|
-
const { data: collateralPrice } = useCollateralPrice()
|
|
99
|
-
|
|
100
113
|
const contractAddress = useMemo(() => {
|
|
101
114
|
if (environment === "mainnet") {
|
|
102
115
|
return {
|
|
103
116
|
troveManager: mainnetBorrowContracts.TroveManager.address,
|
|
104
117
|
borrowerOperations: mainnetBorrowContracts.BorrowerOperations.address,
|
|
118
|
+
priceFeed: mainnetBorrowContracts.PriceFeed.address,
|
|
105
119
|
}
|
|
106
120
|
}
|
|
107
121
|
return {
|
|
108
122
|
troveManager: testnetBorrowContracts.TroveManager.address,
|
|
109
123
|
borrowerOperations: testnetBorrowContracts.BorrowerOperations.address,
|
|
124
|
+
priceFeed: testnetBorrowContracts.PriceFeed.address,
|
|
110
125
|
}
|
|
111
126
|
}, [environment])
|
|
112
127
|
|
|
@@ -129,9 +144,15 @@ export function useBorrowData(queryOptions = {}) {
|
|
|
129
144
|
functionName: "MUSD_GAS_COMPENSATION",
|
|
130
145
|
chainId,
|
|
131
146
|
},
|
|
147
|
+
{
|
|
148
|
+
abi: PRICE_FEED_ABI,
|
|
149
|
+
address: contractAddress.priceFeed,
|
|
150
|
+
functionName: "fetchPrice",
|
|
151
|
+
chainId,
|
|
152
|
+
},
|
|
132
153
|
],
|
|
133
154
|
query: {
|
|
134
|
-
enabled: !!walletAccount.accountAddress
|
|
155
|
+
enabled: !!walletAccount.accountAddress,
|
|
135
156
|
staleTime: 5 * ONE_MINUTE_MS,
|
|
136
157
|
retry: 1,
|
|
137
158
|
select: (data) => {
|
|
@@ -140,6 +161,7 @@ export function useBorrowData(queryOptions = {}) {
|
|
|
140
161
|
|
|
141
162
|
const [rawCollateral, principal, interest] = data[0].result!
|
|
142
163
|
const gasCompensation = data[1].result!
|
|
164
|
+
const collateralPrice = data[2].result!
|
|
143
165
|
|
|
144
166
|
const btcDetails = getAsset("BTC")
|
|
145
167
|
|
|
@@ -151,7 +173,7 @@ export function useBorrowData(queryOptions = {}) {
|
|
|
151
173
|
usd: convertToUsd(
|
|
152
174
|
rawCollateral,
|
|
153
175
|
DEBT_AND_COLL_PRECISION,
|
|
154
|
-
collateralPrice
|
|
176
|
+
collateralPrice,
|
|
155
177
|
DEBT_AND_COLL_PRECISION,
|
|
156
178
|
),
|
|
157
179
|
}
|
|
@@ -116,6 +116,11 @@ export function useTokensBalances<T extends MezoChainToken[]>(
|
|
|
116
116
|
|
|
117
117
|
const isMezoChainId = isMezoChain(config.state.chainId)
|
|
118
118
|
|
|
119
|
+
console.log("walletAccount?.accountAddress: ", walletAccount?.accountAddress)
|
|
120
|
+
console.log("conversionRatesData: ", conversionRatesData)
|
|
121
|
+
console.log("isMezoChainId: ", isMezoChainId)
|
|
122
|
+
console.log("chainId: ", config.state.chainId)
|
|
123
|
+
|
|
119
124
|
return useQuery({
|
|
120
125
|
queryKey: [
|
|
121
126
|
TOKEN_BALANCES_QUERY_KEY,
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Address } from "viem"
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
address: "0x7b7c000000000000000000000000000000000015" as Address,
|
|
5
|
+
abi: [
|
|
6
|
+
{
|
|
7
|
+
inputs: [],
|
|
8
|
+
name: "decimals",
|
|
9
|
+
outputs: [
|
|
10
|
+
{
|
|
11
|
+
internalType: "uint8",
|
|
12
|
+
name: "",
|
|
13
|
+
type: "uint8",
|
|
14
|
+
},
|
|
15
|
+
],
|
|
16
|
+
stateMutability: "view",
|
|
17
|
+
type: "function",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
inputs: [],
|
|
21
|
+
name: "latestRoundData",
|
|
22
|
+
outputs: [
|
|
23
|
+
{
|
|
24
|
+
internalType: "uint80",
|
|
25
|
+
name: "roundId",
|
|
26
|
+
type: "uint80",
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
internalType: "int256",
|
|
30
|
+
name: "answer",
|
|
31
|
+
type: "int256",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
internalType: "uint256",
|
|
35
|
+
name: "startedAt",
|
|
36
|
+
type: "uint256",
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
internalType: "uint256",
|
|
40
|
+
name: "updatedAt",
|
|
41
|
+
type: "uint256",
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
internalType: "uint80",
|
|
45
|
+
name: "answeredInRound",
|
|
46
|
+
type: "uint80",
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
stateMutability: "view",
|
|
50
|
+
type: "function",
|
|
51
|
+
},
|
|
52
|
+
] as const,
|
|
53
|
+
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Query hook for getting borrow data. Returns collateral and trove debt for the
|
|
3
|
-
* connected account, based on it's evm address.
|
|
4
|
-
* @param queryOptions Query options passed to the underlying `useQuery` hook.
|
|
5
|
-
*/
|
|
6
|
-
export declare function useCollateralPrice(queryOptions?: {}): import("wagmi").UseReadContractReturnType<readonly [{
|
|
7
|
-
readonly inputs: readonly [];
|
|
8
|
-
readonly name: "fetchPrice";
|
|
9
|
-
readonly outputs: readonly [{
|
|
10
|
-
readonly internalType: "uint256";
|
|
11
|
-
readonly name: "";
|
|
12
|
-
readonly type: "uint256";
|
|
13
|
-
}];
|
|
14
|
-
readonly stateMutability: "view";
|
|
15
|
-
readonly type: "function";
|
|
16
|
-
}], "fetchPrice", readonly [], bigint>;
|
|
17
|
-
//# sourceMappingURL=useCollateralPrice.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useCollateralPrice.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCollateralPrice.ts"],"names":[],"mappings":"AAiCA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,KAAK;;;;;;;;;;uCAyBnD"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { useReadContract } from "wagmi";
|
|
2
|
-
import { useMemo } from "react";
|
|
3
|
-
import { ONE_MINUTE_MS } from "../utils/time";
|
|
4
|
-
import { mainnetBorrowContracts, testnetBorrowContracts, } from "../lib/contracts";
|
|
5
|
-
import { usePassportContext } from "./usePassportContext";
|
|
6
|
-
import { CHAIN_ID } from "../constants";
|
|
7
|
-
import useWalletAccount from "./useWalletAccount";
|
|
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 PRICE_FEED_ABI = [
|
|
14
|
-
{
|
|
15
|
-
inputs: [],
|
|
16
|
-
name: "fetchPrice",
|
|
17
|
-
outputs: [
|
|
18
|
-
{
|
|
19
|
-
internalType: "uint256",
|
|
20
|
-
name: "",
|
|
21
|
-
type: "uint256",
|
|
22
|
-
},
|
|
23
|
-
],
|
|
24
|
-
stateMutability: "view",
|
|
25
|
-
type: "function",
|
|
26
|
-
},
|
|
27
|
-
];
|
|
28
|
-
/**
|
|
29
|
-
* Query hook for getting borrow data. Returns collateral and trove debt for the
|
|
30
|
-
* connected account, based on it's evm address.
|
|
31
|
-
* @param queryOptions Query options passed to the underlying `useQuery` hook.
|
|
32
|
-
*/
|
|
33
|
-
export function useCollateralPrice(queryOptions = {}) {
|
|
34
|
-
const { environment = "mainnet" } = usePassportContext();
|
|
35
|
-
const walletAccount = useWalletAccount();
|
|
36
|
-
const priceFeedContractAddress = useMemo(() => {
|
|
37
|
-
if (environment === "mainnet") {
|
|
38
|
-
return mainnetBorrowContracts.PriceFeed.address;
|
|
39
|
-
}
|
|
40
|
-
return testnetBorrowContracts.PriceFeed.address;
|
|
41
|
-
}, [environment]);
|
|
42
|
-
const chainId = CHAIN_ID[environment];
|
|
43
|
-
return useReadContract({
|
|
44
|
-
abi: PRICE_FEED_ABI,
|
|
45
|
-
address: priceFeedContractAddress,
|
|
46
|
-
functionName: "fetchPrice",
|
|
47
|
-
chainId,
|
|
48
|
-
query: {
|
|
49
|
-
enabled: !!walletAccount.accountAddress,
|
|
50
|
-
staleTime: 5 * ONE_MINUTE_MS,
|
|
51
|
-
retry: 1,
|
|
52
|
-
...queryOptions,
|
|
53
|
-
},
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=useCollateralPrice.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,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,GAAG,kBAAkB,EAAE,CAAA;IACxD,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,CAAC,GAAG,aAAa;YAC5B,KAAK,EAAE,CAAC;YACR,GAAG,YAAY;SAChB;KACF,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { useReadContract } from "wagmi"
|
|
2
|
-
import { useMemo } from "react"
|
|
3
|
-
import { ONE_MINUTE_MS } from "../utils/time"
|
|
4
|
-
import {
|
|
5
|
-
mainnetBorrowContracts,
|
|
6
|
-
testnetBorrowContracts,
|
|
7
|
-
} from "../lib/contracts"
|
|
8
|
-
import { usePassportContext } from "./usePassportContext"
|
|
9
|
-
import { CHAIN_ID } from "../constants"
|
|
10
|
-
import useWalletAccount from "./useWalletAccount"
|
|
11
|
-
|
|
12
|
-
// Wagmi handles typesafety with ABI const assertions. TypeScript doesn't
|
|
13
|
-
// support importing JSON as const yet so types cannot be inferred from the
|
|
14
|
-
// imported contract. As a workaround there is minimal ABI definition that can
|
|
15
|
-
// be asserted types from.
|
|
16
|
-
// Ref: https://wagmi.sh/core/typescript#const-assert-abis-typed-data
|
|
17
|
-
|
|
18
|
-
const PRICE_FEED_ABI = [
|
|
19
|
-
{
|
|
20
|
-
inputs: [],
|
|
21
|
-
name: "fetchPrice",
|
|
22
|
-
outputs: [
|
|
23
|
-
{
|
|
24
|
-
internalType: "uint256",
|
|
25
|
-
name: "",
|
|
26
|
-
type: "uint256",
|
|
27
|
-
},
|
|
28
|
-
],
|
|
29
|
-
stateMutability: "view",
|
|
30
|
-
type: "function",
|
|
31
|
-
},
|
|
32
|
-
] as const
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Query hook for getting borrow data. Returns collateral and trove debt for the
|
|
36
|
-
* connected account, based on it's evm address.
|
|
37
|
-
* @param queryOptions Query options passed to the underlying `useQuery` hook.
|
|
38
|
-
*/
|
|
39
|
-
export function useCollateralPrice(queryOptions = {}) {
|
|
40
|
-
const { environment = "mainnet" } = usePassportContext()
|
|
41
|
-
const walletAccount = useWalletAccount()
|
|
42
|
-
|
|
43
|
-
const priceFeedContractAddress = useMemo(() => {
|
|
44
|
-
if (environment === "mainnet") {
|
|
45
|
-
return mainnetBorrowContracts.PriceFeed.address
|
|
46
|
-
}
|
|
47
|
-
return testnetBorrowContracts.PriceFeed.address
|
|
48
|
-
}, [environment])
|
|
49
|
-
|
|
50
|
-
const chainId = CHAIN_ID[environment]
|
|
51
|
-
|
|
52
|
-
return useReadContract({
|
|
53
|
-
abi: PRICE_FEED_ABI,
|
|
54
|
-
address: priceFeedContractAddress,
|
|
55
|
-
functionName: "fetchPrice",
|
|
56
|
-
chainId,
|
|
57
|
-
query: {
|
|
58
|
-
enabled: !!walletAccount.accountAddress,
|
|
59
|
-
staleTime: 5 * ONE_MINUTE_MS,
|
|
60
|
-
retry: 1,
|
|
61
|
-
...queryOptions,
|
|
62
|
-
},
|
|
63
|
-
})
|
|
64
|
-
}
|