@mezo-org/passport 0.4.0-dev.57 → 0.4.0-dev.59

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.
Files changed (32) hide show
  1. package/dist/src/components/Dropdown/Receive/Receive.js +1 -1
  2. package/dist/src/components/Dropdown/Receive/Receive.js.map +1 -1
  3. package/dist/src/hooks/useAssetsConversionRates.d.ts.map +1 -1
  4. package/dist/src/hooks/useAssetsConversionRates.js +7 -2
  5. package/dist/src/hooks/useAssetsConversionRates.js.map +1 -1
  6. package/dist/src/hooks/useBorrowData.d.ts +55 -33
  7. package/dist/src/hooks/useBorrowData.d.ts.map +1 -1
  8. package/dist/src/hooks/useBorrowData.js +47 -12
  9. package/dist/src/hooks/useBorrowData.js.map +1 -1
  10. package/dist/src/hooks/useDropdownData.d.ts.map +1 -1
  11. package/dist/src/hooks/useDropdownData.js +5 -9
  12. package/dist/src/hooks/useDropdownData.js.map +1 -1
  13. package/dist/src/lib/contracts/index.d.ts +1 -1
  14. package/dist/src/lib/contracts/index.d.ts.map +1 -1
  15. package/dist/src/lib/contracts/index.js +4 -0
  16. package/dist/src/lib/contracts/index.js.map +1 -1
  17. package/dist/src/utils/cryptoAssets.d.ts +1 -1
  18. package/dist/src/utils/cryptoAssets.d.ts.map +1 -1
  19. package/dist/src/utils/cryptoAssets.js +2 -5
  20. package/dist/src/utils/cryptoAssets.js.map +1 -1
  21. package/dist/src/utils/currency.d.ts +1 -1
  22. package/dist/src/utils/currency.d.ts.map +1 -1
  23. package/dist/src/utils/currency.js +2 -2
  24. package/dist/src/utils/currency.js.map +1 -1
  25. package/package.json +2 -2
  26. package/src/components/Dropdown/Receive/Receive.tsx +1 -1
  27. package/src/hooks/useAssetsConversionRates.ts +7 -2
  28. package/src/hooks/useBorrowData.ts +50 -12
  29. package/src/hooks/useDropdownData.ts +15 -13
  30. package/src/lib/contracts/index.ts +5 -3
  31. package/src/utils/cryptoAssets.ts +9 -12
  32. package/src/utils/currency.ts +4 -3
@@ -22,7 +22,7 @@ function Receive(props) {
22
22
  }, [copy, address]);
23
23
  const { networkFamily } = useWalletAccount();
24
24
  return (React.createElement(NestedViewLayout, null,
25
- React.createElement(LabelMedium, null, "Receive assets on Mezo"),
25
+ React.createElement(LabelMedium, null, "Your Mezo Address"),
26
26
  React.createElement(ParagraphSmall, { marginTop: theme.sizing.scale300, marginBottom: theme.sizing.scale600, color: theme.colors.contentTertiary }, networkFamily === "bitcoin" ? (React.createElement(React.Fragment, null, "Mezo automatically created a smart account that's fully controlled by your connected Bitcoin wallet. Use this address to receive assets on Mezo.")) : (React.createElement(React.Fragment, null, "Your connected wallet address is your Mezo address. Use this address to receive assets on Mezo."))),
27
27
  React.createElement(Block, { as: QRCodeSVG, value: address, flex: 1, overrides: {
28
28
  Block: {
@@ -1 +1 @@
1
- {"version":3,"file":"Receive.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Receive/Receive.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Receive.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Receive/Receive.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAssetsConversionRates.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAssetsConversionRates.ts"],"names":[],"mappings":"AA+BA;;;;;;;GAOG;AACH,wBAAgB,wBAAwB;;;;;;;;;;;;;EAoDvC"}
1
+ {"version":3,"file":"useAssetsConversionRates.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAssetsConversionRates.ts"],"names":[],"mappings":"AAkCA;;;;;;;GAOG;AACH,wBAAgB,wBAAwB;;;;;;;;;;;;;EAsDvC"}
@@ -5,8 +5,11 @@ import { QUERY_KEYS } from "./constants";
5
5
  import { usePortalApiClient } from "./usePortalApiClient";
6
6
  import { priceOracleContract } from "../lib/contracts";
7
7
  import { fromFloatToBigInt } from "../utils/numbers";
8
- const BTC_TARGET_DIGITS = 18;
9
- const T_TARGET_DIGITS = 18;
8
+ import { getCryptoAsset } from "../utils/cryptoAssets";
9
+ import { CHAIN_ID } from "../constants";
10
+ import { usePassportContext } from "./usePassportContext";
11
+ const BTC_TARGET_DIGITS = getCryptoAsset("BTC").decimals;
12
+ const T_TARGET_DIGITS = getCryptoAsset("mT").decimals;
10
13
  // If the oracle has not been updated in at least 60 seconds, it is stale.
11
14
  const MAX_PRICE_DELAY = 60 * ONE_SECOND_MS;
12
15
  /**
@@ -36,6 +39,7 @@ function scalePriceByDigits(price, priceDigits) {
36
39
  */
37
40
  export function useAssetsConversionRates() {
38
41
  const portalApiClient = usePortalApiClient();
42
+ const { environment = "mainnet" } = usePassportContext();
39
43
  const btcPrice = useReadContract({
40
44
  ...priceOracleContract,
41
45
  functionName: "latestRoundData",
@@ -59,6 +63,7 @@ export function useAssetsConversionRates() {
59
63
  return scalePriceByDigits(answer, BTC_TARGET_DIGITS);
60
64
  },
61
65
  },
66
+ chainId: CHAIN_ID[environment],
62
67
  });
63
68
  const tPrice = useQuery({
64
69
  queryKey: [QUERY_KEYS.ASSETS_USD_CONVERSION],
@@ -1 +1 @@
1
- {"version":3,"file":"useAssetsConversionRates.js","sourceRoot":"","sources":["../../../src/hooks/useAssetsConversionRates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAssetsConversionRates.js","sourceRoot":"","sources":["../../../src/hooks/useAssetsConversionRates.ts"],"names":[],"mappings":"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"}
@@ -3,41 +3,63 @@
3
3
  * connected account, based on it's evm address.
4
4
  * @param queryOptions Query options passed to the underlying `useQuery` hook.
5
5
  */
6
- export declare function useBorrowData(queryOptions?: {}): import("wagmi").UseReadContractReturnType<readonly [{
7
- readonly inputs: readonly [{
8
- readonly internalType: "address";
9
- readonly name: "_borrower";
10
- readonly type: "address";
6
+ export declare function useBorrowData(queryOptions?: {}): import("wagmi").UseReadContractsReturnType<readonly [{
7
+ readonly abi: readonly [{
8
+ readonly inputs: readonly [{
9
+ readonly internalType: "address";
10
+ readonly name: "_borrower";
11
+ readonly type: "address";
12
+ }];
13
+ readonly name: "getEntireDebtAndColl";
14
+ readonly outputs: readonly [{
15
+ readonly internalType: "uint256";
16
+ readonly name: "coll";
17
+ readonly type: "uint256";
18
+ }, {
19
+ readonly internalType: "uint256";
20
+ readonly name: "principal";
21
+ readonly type: "uint256";
22
+ }, {
23
+ readonly internalType: "uint256";
24
+ readonly name: "interest";
25
+ readonly type: "uint256";
26
+ }, {
27
+ readonly internalType: "uint256";
28
+ readonly name: "pendingCollateral";
29
+ readonly type: "uint256";
30
+ }, {
31
+ readonly internalType: "uint256";
32
+ readonly name: "pendingPrincipal";
33
+ readonly type: "uint256";
34
+ }, {
35
+ readonly internalType: "uint256";
36
+ readonly name: "pendingInterest";
37
+ readonly type: "uint256";
38
+ }];
39
+ readonly stateMutability: "view";
40
+ readonly type: "function";
11
41
  }];
12
- readonly name: "getEntireDebtAndColl";
13
- readonly outputs: readonly [{
14
- readonly internalType: "uint256";
15
- readonly name: "coll";
16
- readonly type: "uint256";
17
- }, {
18
- readonly internalType: "uint256";
19
- readonly name: "principal";
20
- readonly type: "uint256";
21
- }, {
22
- readonly internalType: "uint256";
23
- readonly name: "interest";
24
- readonly type: "uint256";
25
- }, {
26
- readonly internalType: "uint256";
27
- readonly name: "pendingCollateral";
28
- readonly type: "uint256";
29
- }, {
30
- readonly internalType: "uint256";
31
- readonly name: "pendingPrincipal";
32
- readonly type: "uint256";
33
- }, {
34
- readonly internalType: "uint256";
35
- readonly name: "pendingInterest";
36
- readonly type: "uint256";
42
+ readonly address: `0x${string}`;
43
+ readonly functionName: "getEntireDebtAndColl";
44
+ readonly args: [`0x${string}`];
45
+ readonly chainId: number;
46
+ }, {
47
+ readonly abi: readonly [{
48
+ readonly inputs: readonly [];
49
+ readonly name: "MUSD_GAS_COMPENSATION";
50
+ readonly outputs: readonly [{
51
+ readonly internalType: "uint256";
52
+ readonly name: "";
53
+ readonly type: "uint256";
54
+ }];
55
+ readonly stateMutability: "view";
56
+ readonly type: "function";
37
57
  }];
38
- readonly stateMutability: "view";
39
- readonly type: "function";
40
- }], "getEntireDebtAndColl", [`0x${string}`], {
58
+ readonly address: `0x${string}`;
59
+ readonly functionName: "MUSD_GAS_COMPENSATION";
60
+ readonly args: [];
61
+ readonly chainId: number;
62
+ }], true, {
41
63
  collateral: bigint;
42
64
  troveDebt: bigint;
43
65
  } | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"useBorrowData.d.ts","sourceRoot":"","sources":["../../../src/hooks/useBorrowData.ts"],"names":[],"mappings":"AAgEA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,YAAY,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAiC9C;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB;;EAatC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB;;EAajC"}
1
+ {"version":3,"file":"useBorrowData.d.ts","sourceRoot":"","sources":["../../../src/hooks/useBorrowData.ts"],"names":[],"mappings":"AAgFA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,YAAY,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAuD9C;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB;;EAatC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB;;EAajC"}
@@ -1,4 +1,4 @@
1
- import { useAccount, useReadContract } from "wagmi";
1
+ import { useAccount, useReadContracts } from "wagmi";
2
2
  import { useCallback, useMemo } from "react";
3
3
  import { useQueryClient } from "@tanstack/react-query";
4
4
  import { ONE_MINUTE_MS } from "../utils/time";
@@ -56,6 +56,21 @@ const TROVE_MANAGER_ABI = [
56
56
  type: "function",
57
57
  },
58
58
  ];
59
+ const BORROWER_OPERATIONS_ABI = [
60
+ {
61
+ inputs: [],
62
+ name: "MUSD_GAS_COMPENSATION",
63
+ outputs: [
64
+ {
65
+ internalType: "uint256",
66
+ name: "",
67
+ type: "uint256",
68
+ },
69
+ ],
70
+ stateMutability: "view",
71
+ type: "function",
72
+ },
73
+ ];
59
74
  /**
60
75
  * Query hook for getting borrow data. Returns collateral and trove debt for the
61
76
  * connected account, based on it's evm address.
@@ -66,31 +81,51 @@ export function useBorrowData(queryOptions = {}) {
66
81
  const { address } = useAccount();
67
82
  const contractAddress = useMemo(() => {
68
83
  if (environment === "mainnet") {
69
- return mainnetBorrowContracts.TroveManager.address;
84
+ return {
85
+ troveManager: mainnetBorrowContracts.TroveManager.address,
86
+ borrowerOperations: mainnetBorrowContracts.BorrowerOperations.address,
87
+ };
70
88
  }
71
- return testnetBorrowContracts.TroveManager.address;
89
+ return {
90
+ troveManager: testnetBorrowContracts.TroveManager.address,
91
+ borrowerOperations: testnetBorrowContracts.BorrowerOperations.address,
92
+ };
72
93
  }, [environment]);
73
- return useReadContract({
74
- abi: TROVE_MANAGER_ABI,
75
- address: contractAddress,
76
- functionName: "getEntireDebtAndColl",
77
- args: [address || "0x"],
94
+ const chainId = CHAIN_ID[environment];
95
+ return useReadContracts({
96
+ contracts: [
97
+ {
98
+ abi: TROVE_MANAGER_ABI,
99
+ address: contractAddress.troveManager,
100
+ functionName: "getEntireDebtAndColl",
101
+ args: [address || "0x"],
102
+ chainId,
103
+ },
104
+ {
105
+ abi: BORROWER_OPERATIONS_ABI,
106
+ address: contractAddress.borrowerOperations,
107
+ functionName: "MUSD_GAS_COMPENSATION",
108
+ args: [],
109
+ chainId,
110
+ },
111
+ ],
78
112
  query: {
79
113
  enabled: !!address,
80
114
  staleTime: 5 * ONE_MINUTE_MS,
81
115
  retry: 1,
82
116
  select: (data) => {
83
- if (!data)
117
+ if (!data || data.some((item) => !item.result))
84
118
  return undefined;
85
- const [collateral, principal, interest] = data;
119
+ const [collateral, principal, interest] = data[0].result;
120
+ const gasCompensation = data[1].result;
86
121
  return {
87
122
  collateral,
88
- troveDebt: principal + interest,
123
+ // Principal includes gas compensation value which is not
124
+ troveDebt: principal + interest - gasCompensation,
89
125
  };
90
126
  },
91
127
  ...queryOptions,
92
128
  },
93
- chainId: CHAIN_ID[environment],
94
129
  });
95
130
  }
96
131
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"useBorrowData.js","sourceRoot":"","sources":["../../../src/hooks/useBorrowData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useBorrowData.js","sourceRoot":"","sources":["../../../src/hooks/useBorrowData.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDropdownData.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDropdownData.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EAGf,MAAM,uBAAuB,CAAA;AAW9B,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,cAAc,IAAI;IACpD,IAAI,EAAE,CAAC,CAAA;IACP,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AASD;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,0BAAkC,EAClC,4BAAoC,GACrC;;;CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4GA"}
1
+ {"version":3,"file":"useDropdownData.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDropdownData.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EAIf,MAAM,uBAAuB,CAAA;AAW9B,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,cAAc,IAAI;IACpD,IAAI,EAAE,CAAC,CAAA;IACP,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AASD;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,0BAAkC,EAClC,4BAAoC,GACrC;;;CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6GA"}
@@ -1,6 +1,6 @@
1
1
  import { useBalance } from "wagmi";
2
2
  import { useGetCurrentAccount } from ".";
3
- import { isBitcoinLikeCryptoAsset, mapCryptoAssetToDetails, } from "../utils/cryptoAssets";
3
+ import { getCryptoAsset, isBitcoinLikeCryptoAsset, mapCryptoAssetToDetails, } from "../utils/cryptoAssets";
4
4
  import { fromFixedPoint } from "../utils/numbers";
5
5
  import { useAssetsConversionRates } from "./useAssetsConversionRates";
6
6
  import useWalletAccount from "./useWalletAccount";
@@ -52,17 +52,13 @@ export default function useDropdownData({ accountDataRefetchInterval = 90000, na
52
52
  ...Object.entries(tokensBalances ?? {}),
53
53
  ].map((asset) => {
54
54
  const [type, balance] = asset;
55
- let conversionRate;
56
- let conversionRateDecimals;
57
55
  if (isBitcoinLikeCryptoAsset(type)) {
58
- conversionRate = assetsConversionRates.btc.price;
59
- conversionRateDecimals = assetsConversionRates.btc.decimals;
56
+ return mapCryptoAssetToDetails(type, balance, assetsConversionRates.btc.price, assetsConversionRates.btc.decimals);
60
57
  }
61
58
  if (type === "mT") {
62
- conversionRate = assetsConversionRates.t.price;
63
- conversionRateDecimals = assetsConversionRates.t.decimals;
59
+ return mapCryptoAssetToDetails(type, balance, assetsConversionRates.t.price, assetsConversionRates.t.decimals);
64
60
  }
65
- return mapCryptoAssetToDetails(type, balance, conversionRate, conversionRateDecimals);
61
+ return mapCryptoAssetToDetails(type, balance, 1n, 0);
66
62
  });
67
63
  const btcData = detailedAssets.find(({ type }) => type === "BTC");
68
64
  const musdData = detailedAssets.find(({ type }) => type === "MUSD");
@@ -81,7 +77,7 @@ export default function useDropdownData({ accountDataRefetchInterval = 90000, na
81
77
  const otherAssetsUsdTotal = otherAssetsData.reduce((sum, { usdBalance }) => sum + usdBalance, 0);
82
78
  const usdTotalBalance = detailedAssets.reduce((sum, { usdBalance }) => sum + usdBalance, 0);
83
79
  const matsBalance = passportAccount?.mats.totalMats || 0;
84
- const usdCollateral = convertToUsd(debt?.collateral ?? 0n, assetsConversionRates.btc.price, assetsConversionRates.btc.decimals);
80
+ const usdCollateral = convertToUsd(debt?.collateral ?? 0n, getCryptoAsset("MUSD").decimals, assetsConversionRates.btc.price, assetsConversionRates.btc.decimals);
85
81
  const usdTroveDebt = fromFixedPoint(debt?.troveDebt ?? 0n, 18);
86
82
  return {
87
83
  mezoId,
@@ -1 +1 @@
1
- {"version":3,"file":"useDropdownData.js","sourceRoot":"","sources":["../../../src/hooks/useDropdownData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDropdownData.js","sourceRoot":"","sources":["../../../src/hooks/useDropdownData.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Abi, Address } from "viem";
2
2
  export type MezoChainToken = "mcbBTC" | "mDAI" | "mFBTC" | "mSolvBTC" | "mswBTC" | "mT" | "mUSDC" | "mUSDe" | "mUSDT" | "mxSolvBTC" | "MUSD";
3
- export type MezoBorrowContract = "TroveManager";
3
+ export type MezoBorrowContract = "TroveManager" | "BorrowerOperations";
4
4
  type ContractsMap<K extends string> = Record<K, {
5
5
  address: Address;
6
6
  abi: Abi;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/contracts/index.ts"],"names":[],"mappings":"AA4BA,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,GAAG,cAAc,CAAA;AAE/C,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,EAEnB,YAAY,CAAC,kBAAkB,CAAC,CAAA;AAEhD,eAAO,MAAM,sBAAsB,EAEnB,YAAY,CAAC,kBAAkB,CAAC,CAAA;AAEhD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/contracts/index.ts"],"names":[],"mappings":"AA4BA,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,GAAG,cAAc,GAAG,oBAAoB,CAAA;AAEtE,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,EAGnB,YAAY,CAAC,kBAAkB,CAAC,CAAA;AAEhD,eAAO,MAAM,sBAAsB,EAGnB,YAAY,CAAC,kBAAkB,CAAC,CAAA;AAEhD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,eAAe,CAAA"}
@@ -10,6 +10,7 @@ import usdtMainnet from "@mezo-org/mezod-contracts/deployments/mainnet/mUSDT.jso
10
10
  import xsolvbtcMainnet from "@mezo-org/mezod-contracts/deployments/mainnet/mxSolvBTC.json";
11
11
  import musdMainnet from "@mezo-org/musd-contracts/deployments/mainnet/MUSD.json";
12
12
  import troveManagerMainnet from "@mezo-org/musd-contracts/deployments/mainnet/TroveManager.json";
13
+ import borrowerOperationsMainnet from "@mezo-org/musd-contracts/deployments/mainnet/BorrowerOperations.json";
13
14
  import cbbtcTestnet from "@mezo-org/mezod-contracts/deployments/testnet/mcbBTC.json";
14
15
  import daiTestnet from "@mezo-org/mezod-contracts/deployments/testnet/mDAI.json";
15
16
  import fbtcTestnet from "@mezo-org/mezod-contracts/deployments/testnet/mFBTC.json";
@@ -22,6 +23,7 @@ import usdtTestnet from "@mezo-org/mezod-contracts/deployments/testnet/mUSDT.jso
22
23
  import xsolvbtcTestnet from "@mezo-org/mezod-contracts/deployments/testnet/mxSolvBTC.json";
23
24
  import musdTestnet from "@mezo-org/musd-contracts/deployments/matsnet/MUSD.json";
24
25
  import troveManagerTestnet from "@mezo-org/musd-contracts/deployments/matsnet/TroveManager.json";
26
+ import borrowerOperationsTestnet from "@mezo-org/musd-contracts/deployments/matsnet/BorrowerOperations.json";
25
27
  export const testnetTokenContracts = {
26
28
  mcbBTC: cbbtcTestnet,
27
29
  mDAI: daiTestnet,
@@ -50,9 +52,11 @@ export const mainnetTokenContracts = {
50
52
  };
51
53
  export const mainnetBorrowContracts = {
52
54
  TroveManager: troveManagerMainnet,
55
+ BorrowerOperations: borrowerOperationsMainnet,
53
56
  };
54
57
  export const testnetBorrowContracts = {
55
58
  TroveManager: troveManagerTestnet,
59
+ BorrowerOperations: borrowerOperationsTestnet,
56
60
  };
57
61
  export { default as priceOracleContract } from "./priceOracle";
58
62
  //# sourceMappingURL=index.js.map
@@ -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;AAEhF,OAAO,mBAAmB,MAAM,gEAAgE,CAAA;AAEhG,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;AAEhF,OAAO,mBAAmB,MAAM,gEAAgE,CAAA;AA2BhG,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;CACa,CAAA;AAEhD,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,YAAY,EAAE,mBAAmB;CACa,CAAA;AAEhD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,eAAe,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;AA2B5G,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;CACC,CAAA;AAEhD,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,YAAY,EAAE,mBAAmB;IACjC,kBAAkB,EAAE,yBAAyB;CACC,CAAA;AAEhD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,eAAe,CAAA"}
@@ -33,7 +33,7 @@ export declare function isUsdLikeCryptoAsset(key: CryptoAssetKey): boolean;
33
33
  * @param usdConversionRate The USD conversion rate
34
34
  * @returns The balance details
35
35
  */
36
- export declare function mapCryptoAssetToDetails(type: CryptoAssetKey, balance: bigint, usdConversionRate?: bigint, usdConversionRateDecimals?: number): {
36
+ export declare function mapCryptoAssetToDetails(type: CryptoAssetKey, balance: bigint, usdConversionRate: bigint, usdConversionRateDecimals: number): {
37
37
  type: CryptoAssetKey;
38
38
  rawBalance: bigint;
39
39
  formattedBalance: string;
@@ -1 +1 @@
1
- {"version":3,"file":"cryptoAssets.d.ts","sourceRoot":"","sources":["../../../src/utils/cryptoAssets.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EAGV,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAIjD,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,KAAK,GAAG,KAAK,CAAA;AAE3D,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAqFD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,eAEjD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,cAAc,WAE3D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,WAEvD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,MAAM,EAC1B,yBAAyB,CAAC,EAAE,MAAM;;;;;;EA6BnC;AAED,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
1
+ {"version":3,"file":"cryptoAssets.d.ts","sourceRoot":"","sources":["../../../src/utils/cryptoAssets.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EAGV,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAIjD,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,KAAK,GAAG,KAAK,CAAA;AAE3D,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAqFD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,eAEjD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,cAAc,WAE3D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,WAEvD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,EACzB,yBAAyB,EAAE,MAAM;;;;;;EA0BlC;AAED,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { BitcoinCircle, EthCircle, MUsdCircle02, Cryptocurrency04, } from "@mezo-org/mezo-clay";
2
2
  import { convertToUsd, formatUsd } from "./currency";
3
- import { fromFixedPointToString, fromFixedPoint } from "./numbers";
3
+ import { fromFixedPointToString } from "./numbers";
4
4
  // TODO: Add actual icons for the assets
5
5
  const CRYPTO_ASSETS = {
6
6
  BTC: {
@@ -116,10 +116,7 @@ export function isUsdLikeCryptoAsset(key) {
116
116
  export function mapCryptoAssetToDetails(type, balance, usdConversionRate, usdConversionRateDecimals) {
117
117
  const { decimals } = getCryptoAsset(type);
118
118
  const formattedBalance = fromFixedPointToString(balance, decimals, isUsdLikeCryptoAsset(type) ? 2 : 4);
119
- let usdBalance = fromFixedPoint(balance, decimals);
120
- if (usdConversionRate && usdConversionRateDecimals) {
121
- usdBalance = convertToUsd(balance, usdConversionRate, usdConversionRateDecimals);
122
- }
119
+ const usdBalance = convertToUsd(balance, decimals, usdConversionRate, usdConversionRateDecimals);
123
120
  const formattedUsdBalance = formatUsd(usdBalance);
124
121
  return {
125
122
  type,
@@ -1 +1 @@
1
- {"version":3,"file":"cryptoAssets.js","sourceRoot":"","sources":["../../../src/utils/cryptoAssets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cryptoAssets.js","sourceRoot":"","sources":["../../../src/utils/cryptoAssets.ts"],"names":[],"mappings":"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"}
@@ -18,5 +18,5 @@ export declare function formatUsd(value: number): string;
18
18
  * @param decimals - The number of decimals for the asset
19
19
  * @returns - The value in USD as a number
20
20
  */
21
- export declare function convertToUsd(assetAmount: bigint, conversionRate: bigint, decimals: number): number;
21
+ export declare function convertToUsd(assetAmount: bigint, assetDecimals: number, conversionRate: bigint, conversionRateDecimals: number): number;
22
22
  //# sourceMappingURL=currency.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"currency.d.ts","sourceRoot":"","sources":["../../../src/utils/currency.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAM,GACpD,MAAM,CAOR;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,GACf,MAAM,CAKR"}
1
+ {"version":3,"file":"currency.d.ts","sourceRoot":"","sources":["../../../src/utils/currency.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAM,GACpD,MAAM,CAOR;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,sBAAsB,EAAE,MAAM,GAC7B,MAAM,CAKR"}
@@ -32,7 +32,7 @@ export function formatUsd(value) {
32
32
  * @param decimals - The number of decimals for the asset
33
33
  * @returns - The value in USD as a number
34
34
  */
35
- export function convertToUsd(assetAmount, conversionRate, decimals) {
36
- return fromFixedPoint((assetAmount * conversionRate) / 10n ** BigInt(decimals), decimals);
35
+ export function convertToUsd(assetAmount, assetDecimals, conversionRate, conversionRateDecimals) {
36
+ return fromFixedPoint((assetAmount * conversionRate) / 10n ** BigInt(conversionRateDecimals), assetDecimals);
37
37
  }
38
38
  //# sourceMappingURL=currency.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/utils/currency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE1C,MAAM,sBAAsB,GAA6B;IACvD,KAAK,EAAE,UAAU;IACjB,qBAAqB,EAAE,CAAC;IACxB,qBAAqB,EAAE,CAAC;CACzB,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,UAAmD,EAAE;IAErD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QAC/C,GAAG,sBAAsB;QACzB,GAAG,OAAO;KACX,CAAC,CAAA;IAEF,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,OAAO,cAAc,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;AACnD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,WAAmB,EACnB,cAAsB,EACtB,QAAgB;IAEhB,OAAO,cAAc,CACnB,CAAC,WAAW,GAAG,cAAc,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,EACxD,QAAQ,CACT,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/utils/currency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE1C,MAAM,sBAAsB,GAA6B;IACvD,KAAK,EAAE,UAAU;IACjB,qBAAqB,EAAE,CAAC;IACxB,qBAAqB,EAAE,CAAC;CACzB,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,UAAmD,EAAE;IAErD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QAC/C,GAAG,sBAAsB;QACzB,GAAG,OAAO;KACX,CAAC,CAAA;IAEF,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,OAAO,cAAc,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;AACnD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,WAAmB,EACnB,aAAqB,EACrB,cAAsB,EACtB,sBAA8B;IAE9B,OAAO,cAAc,CACnB,CAAC,WAAW,GAAG,cAAc,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,sBAAsB,CAAC,EACtE,aAAa,CACd,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mezo-org/passport",
3
- "version": "0.4.0-dev.57",
3
+ "version": "0.4.0-dev.59",
4
4
  "main": "dist/src/index.js",
5
5
  "license": "GPL-3.0-only",
6
6
  "scripts": {
@@ -40,7 +40,7 @@
40
40
  "@mezo-org/mezo-clay": "0.1.0-dev.27",
41
41
  "@mezo-org/mezod-contracts": "^1.0.0",
42
42
  "@mezo-org/musd-contracts": "^1.0.1",
43
- "@mezo-org/orangekit": "1.0.0-beta.40-dev.12",
43
+ "@mezo-org/orangekit": "1.0.0-beta.40-dev.13",
44
44
  "@mezo-org/sign-in-with-wallet": "1.0.0-beta.8",
45
45
  "qrcode.react": "^4.2.0",
46
46
  "styletron-engine-monolithic": "^1.0.0",
@@ -46,7 +46,7 @@ function Receive(props: ReceiveProps) {
46
46
 
47
47
  return (
48
48
  <NestedViewLayout>
49
- <LabelMedium>Receive assets on Mezo</LabelMedium>
49
+ <LabelMedium>Your Mezo Address</LabelMedium>
50
50
 
51
51
  <ParagraphSmall
52
52
  marginTop={theme.sizing.scale300}
@@ -5,9 +5,12 @@ import { QUERY_KEYS } from "./constants"
5
5
  import { usePortalApiClient } from "./usePortalApiClient"
6
6
  import { priceOracleContract } from "../lib/contracts"
7
7
  import { fromFloatToBigInt } from "../utils/numbers"
8
+ import { getCryptoAsset } from "../utils/cryptoAssets"
9
+ import { CHAIN_ID } from "../constants"
10
+ import { usePassportContext } from "./usePassportContext"
8
11
 
9
- const BTC_TARGET_DIGITS = 18
10
- const T_TARGET_DIGITS = 18
12
+ const BTC_TARGET_DIGITS = getCryptoAsset("BTC").decimals
13
+ const T_TARGET_DIGITS = getCryptoAsset("mT").decimals
11
14
  // If the oracle has not been updated in at least 60 seconds, it is stale.
12
15
  const MAX_PRICE_DELAY = 60 * ONE_SECOND_MS
13
16
 
@@ -39,6 +42,7 @@ function scalePriceByDigits(price: bigint, priceDigits: number): bigint {
39
42
  */
40
43
  export function useAssetsConversionRates() {
41
44
  const portalApiClient = usePortalApiClient()
45
+ const { environment = "mainnet" } = usePassportContext()
42
46
 
43
47
  const btcPrice = useReadContract({
44
48
  ...priceOracleContract,
@@ -64,6 +68,7 @@ export function useAssetsConversionRates() {
64
68
  return scalePriceByDigits(answer, BTC_TARGET_DIGITS)
65
69
  },
66
70
  },
71
+ chainId: CHAIN_ID[environment],
67
72
  })
68
73
 
69
74
  const tPrice = useQuery({
@@ -1,4 +1,4 @@
1
- import { useAccount, useReadContract } from "wagmi"
1
+ import { useAccount, useReadContracts } from "wagmi"
2
2
  import { useCallback, useMemo } from "react"
3
3
  import { useQueryClient } from "@tanstack/react-query"
4
4
  import { ONE_MINUTE_MS } from "../utils/time"
@@ -62,6 +62,22 @@ const TROVE_MANAGER_ABI = [
62
62
  },
63
63
  ] as const
64
64
 
65
+ const BORROWER_OPERATIONS_ABI = [
66
+ {
67
+ inputs: [],
68
+ name: "MUSD_GAS_COMPENSATION",
69
+ outputs: [
70
+ {
71
+ internalType: "uint256",
72
+ name: "",
73
+ type: "uint256",
74
+ },
75
+ ],
76
+ stateMutability: "view",
77
+ type: "function",
78
+ },
79
+ ] as const
80
+
65
81
  /**
66
82
  * Query hook for getting borrow data. Returns collateral and trove debt for the
67
83
  * connected account, based on it's evm address.
@@ -73,32 +89,54 @@ export function useBorrowData(queryOptions = {}) {
73
89
 
74
90
  const contractAddress = useMemo(() => {
75
91
  if (environment === "mainnet") {
76
- return mainnetBorrowContracts.TroveManager.address
92
+ return {
93
+ troveManager: mainnetBorrowContracts.TroveManager.address,
94
+ borrowerOperations: mainnetBorrowContracts.BorrowerOperations.address,
95
+ }
96
+ }
97
+ return {
98
+ troveManager: testnetBorrowContracts.TroveManager.address,
99
+ borrowerOperations: testnetBorrowContracts.BorrowerOperations.address,
77
100
  }
78
- return testnetBorrowContracts.TroveManager.address
79
101
  }, [environment])
80
102
 
81
- return useReadContract({
82
- abi: TROVE_MANAGER_ABI,
83
- address: contractAddress,
84
- functionName: "getEntireDebtAndColl",
85
- args: [address || "0x"],
103
+ const chainId = CHAIN_ID[environment]
104
+
105
+ return useReadContracts({
106
+ contracts: [
107
+ {
108
+ abi: TROVE_MANAGER_ABI,
109
+ address: contractAddress.troveManager,
110
+ functionName: "getEntireDebtAndColl",
111
+ args: [address || "0x"],
112
+ chainId,
113
+ },
114
+ {
115
+ abi: BORROWER_OPERATIONS_ABI,
116
+ address: contractAddress.borrowerOperations,
117
+ functionName: "MUSD_GAS_COMPENSATION",
118
+ args: [],
119
+ chainId,
120
+ },
121
+ ],
86
122
  query: {
87
123
  enabled: !!address,
88
124
  staleTime: 5 * ONE_MINUTE_MS,
89
125
  retry: 1,
90
126
  select: (data) => {
91
- if (!data) return undefined
127
+ if (!data || data.some((item) => !item.result)) return undefined
128
+
129
+ const [collateral, principal, interest] = data[0].result!
130
+ const gasCompensation = data[1].result!
92
131
 
93
- const [collateral, principal, interest] = data
94
132
  return {
95
133
  collateral,
96
- troveDebt: principal + interest,
134
+ // Principal includes gas compensation value which is not
135
+ troveDebt: principal + interest - gasCompensation,
97
136
  }
98
137
  },
99
138
  ...queryOptions,
100
139
  },
101
- chainId: CHAIN_ID[environment],
102
140
  })
103
141
  }
104
142
 
@@ -2,6 +2,7 @@ import { useBalance } from "wagmi"
2
2
  import { useGetCurrentAccount } from "."
3
3
  import {
4
4
  CryptoAssetKey,
5
+ getCryptoAsset,
5
6
  isBitcoinLikeCryptoAsset,
6
7
  mapCryptoAssetToDetails,
7
8
  } from "../utils/cryptoAssets"
@@ -74,24 +75,24 @@ export default function useDropdownData({
74
75
  ].map((asset) => {
75
76
  const [type, balance] = asset as [CryptoAssetKey, bigint]
76
77
 
77
- let conversionRate: bigint | undefined
78
- let conversionRateDecimals: number | undefined
79
-
80
78
  if (isBitcoinLikeCryptoAsset(type)) {
81
- conversionRate = assetsConversionRates.btc.price
82
- conversionRateDecimals = assetsConversionRates.btc.decimals
79
+ return mapCryptoAssetToDetails(
80
+ type,
81
+ balance,
82
+ assetsConversionRates.btc.price,
83
+ assetsConversionRates.btc.decimals,
84
+ )
83
85
  }
84
86
  if (type === "mT") {
85
- conversionRate = assetsConversionRates.t.price
86
- conversionRateDecimals = assetsConversionRates.t.decimals
87
+ return mapCryptoAssetToDetails(
88
+ type,
89
+ balance,
90
+ assetsConversionRates.t.price,
91
+ assetsConversionRates.t.decimals,
92
+ )
87
93
  }
88
94
 
89
- return mapCryptoAssetToDetails(
90
- type,
91
- balance,
92
- conversionRate,
93
- conversionRateDecimals,
94
- )
95
+ return mapCryptoAssetToDetails(type, balance, 1n, 0)
95
96
  })
96
97
 
97
98
  const btcData = detailedAssets.find(({ type }) => type === "BTC")!
@@ -129,6 +130,7 @@ export default function useDropdownData({
129
130
 
130
131
  const usdCollateral = convertToUsd(
131
132
  debt?.collateral ?? 0n,
133
+ getCryptoAsset("MUSD").decimals,
132
134
  assetsConversionRates.btc.price,
133
135
  assetsConversionRates.btc.decimals,
134
136
  )
@@ -9,8 +9,8 @@ import usdeMainnet from "@mezo-org/mezod-contracts/deployments/mainnet/mUSDe.jso
9
9
  import usdtMainnet from "@mezo-org/mezod-contracts/deployments/mainnet/mUSDT.json"
10
10
  import xsolvbtcMainnet from "@mezo-org/mezod-contracts/deployments/mainnet/mxSolvBTC.json"
11
11
  import musdMainnet from "@mezo-org/musd-contracts/deployments/mainnet/MUSD.json"
12
-
13
12
  import troveManagerMainnet from "@mezo-org/musd-contracts/deployments/mainnet/TroveManager.json"
13
+ import borrowerOperationsMainnet from "@mezo-org/musd-contracts/deployments/mainnet/BorrowerOperations.json"
14
14
 
15
15
  import cbbtcTestnet from "@mezo-org/mezod-contracts/deployments/testnet/mcbBTC.json"
16
16
  import daiTestnet from "@mezo-org/mezod-contracts/deployments/testnet/mDAI.json"
@@ -23,8 +23,8 @@ import usdeTestnet from "@mezo-org/mezod-contracts/deployments/testnet/mUSDe.jso
23
23
  import usdtTestnet from "@mezo-org/mezod-contracts/deployments/testnet/mUSDT.json"
24
24
  import xsolvbtcTestnet from "@mezo-org/mezod-contracts/deployments/testnet/mxSolvBTC.json"
25
25
  import musdTestnet from "@mezo-org/musd-contracts/deployments/matsnet/MUSD.json"
26
-
27
26
  import troveManagerTestnet from "@mezo-org/musd-contracts/deployments/matsnet/TroveManager.json"
27
+ import borrowerOperationsTestnet from "@mezo-org/musd-contracts/deployments/matsnet/BorrowerOperations.json"
28
28
 
29
29
  import { Abi, Address } from "viem"
30
30
 
@@ -41,7 +41,7 @@ export type MezoChainToken =
41
41
  | "mxSolvBTC"
42
42
  | "MUSD"
43
43
 
44
- export type MezoBorrowContract = "TroveManager"
44
+ export type MezoBorrowContract = "TroveManager" | "BorrowerOperations"
45
45
 
46
46
  type ContractsMap<K extends string> = Record<
47
47
  K,
@@ -81,10 +81,12 @@ export const mainnetTokenContracts = {
81
81
 
82
82
  export const mainnetBorrowContracts = {
83
83
  TroveManager: troveManagerMainnet,
84
+ BorrowerOperations: borrowerOperationsMainnet,
84
85
  } as unknown as ContractsMap<MezoBorrowContract>
85
86
 
86
87
  export const testnetBorrowContracts = {
87
88
  TroveManager: troveManagerTestnet,
89
+ BorrowerOperations: borrowerOperationsTestnet,
88
90
  } as unknown as ContractsMap<MezoBorrowContract>
89
91
 
90
92
  export { default as priceOracleContract } from "./priceOracle"
@@ -8,7 +8,7 @@ import {
8
8
  import { FC } from "react"
9
9
  import { MezoChainToken } from "../lib/contracts"
10
10
  import { convertToUsd, formatUsd } from "./currency"
11
- import { fromFixedPointToString, fromFixedPoint } from "./numbers"
11
+ import { fromFixedPointToString } from "./numbers"
12
12
 
13
13
  export type CryptoAssetKey = MezoChainToken | "BTC" | "ETH"
14
14
 
@@ -139,8 +139,8 @@ export function isUsdLikeCryptoAsset(key: CryptoAssetKey) {
139
139
  export function mapCryptoAssetToDetails(
140
140
  type: CryptoAssetKey,
141
141
  balance: bigint,
142
- usdConversionRate?: bigint,
143
- usdConversionRateDecimals?: number,
142
+ usdConversionRate: bigint,
143
+ usdConversionRateDecimals: number,
144
144
  ) {
145
145
  const { decimals } = getCryptoAsset(type)
146
146
 
@@ -150,15 +150,12 @@ export function mapCryptoAssetToDetails(
150
150
  isUsdLikeCryptoAsset(type) ? 2 : 4,
151
151
  )
152
152
 
153
- let usdBalance = fromFixedPoint(balance, decimals)
154
-
155
- if (usdConversionRate && usdConversionRateDecimals) {
156
- usdBalance = convertToUsd(
157
- balance,
158
- usdConversionRate,
159
- usdConversionRateDecimals,
160
- )
161
- }
153
+ const usdBalance = convertToUsd(
154
+ balance,
155
+ decimals,
156
+ usdConversionRate,
157
+ usdConversionRateDecimals,
158
+ )
162
159
 
163
160
  const formattedUsdBalance = formatUsd(usdBalance)
164
161
 
@@ -42,11 +42,12 @@ export function formatUsd(value: number): string {
42
42
  */
43
43
  export function convertToUsd(
44
44
  assetAmount: bigint,
45
+ assetDecimals: number,
45
46
  conversionRate: bigint,
46
- decimals: number,
47
+ conversionRateDecimals: number,
47
48
  ): number {
48
49
  return fromFixedPoint(
49
- (assetAmount * conversionRate) / 10n ** BigInt(decimals),
50
- decimals,
50
+ (assetAmount * conversionRate) / 10n ** BigInt(conversionRateDecimals),
51
+ assetDecimals,
51
52
  )
52
53
  }