@mezo-org/passport 0.4.0-dev.58 → 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.
- package/dist/src/components/Dropdown/Receive/Receive.js +1 -1
- package/dist/src/components/Dropdown/Receive/Receive.js.map +1 -1
- package/dist/src/hooks/useBorrowData.d.ts +55 -33
- package/dist/src/hooks/useBorrowData.d.ts.map +1 -1
- package/dist/src/hooks/useBorrowData.js +47 -12
- package/dist/src/hooks/useBorrowData.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 +4 -0
- package/dist/src/lib/contracts/index.js.map +1 -1
- package/package.json +2 -2
- package/src/components/Dropdown/Receive/Receive.tsx +1 -1
- package/src/hooks/useBorrowData.ts +50 -12
- package/src/lib/contracts/index.ts +5 -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, "
|
|
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":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,EACN,WAAW,EACX,eAAe,EACf,cAAc,EACd,YAAY,GACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,gBAAgB,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,gBAAgB,MAAM,iCAAiC,CAAA;AAM9D,SAAS,OAAO,CAAC,KAAmB;IAClC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IAEzB,MAAM,EAAE,WAAW,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAE5C,MAAM,gBAAgB,GAAG,qBAAqB,CAC5C,OAAO,EACP,MAAM,EACN,WAAW,KAAK,SAAS,CAC1B,CAAA;IAED,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,EAAE,CAAA;IAEhC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3E,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,IAAI,CAAC,OAAO,CAAC,CAAA;QACb,yBAAyB,CAAC,IAAI,CAAC,CAAA;QAE/B,UAAU,CAAC,GAAG,EAAE;YACd,yBAAyB,CAAC,KAAK,CAAC,CAAA;QAClC,CAAC,EAAE,IAAI,CAAC,CAAA;IACV,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;IAEnB,MAAM,EAAE,aAAa,EAAE,GAAG,gBAAgB,EAAE,CAAA;IAE5C,OAAO,CACL,oBAAC,gBAAgB;QACf,oBAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"Receive.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Receive/Receive.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,EACN,WAAW,EACX,eAAe,EACf,cAAc,EACd,YAAY,GACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,gBAAgB,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,gBAAgB,MAAM,iCAAiC,CAAA;AAM9D,SAAS,OAAO,CAAC,KAAmB;IAClC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IAEzB,MAAM,EAAE,WAAW,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAE5C,MAAM,gBAAgB,GAAG,qBAAqB,CAC5C,OAAO,EACP,MAAM,EACN,WAAW,KAAK,SAAS,CAC1B,CAAA;IAED,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,EAAE,CAAA;IAEhC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3E,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,IAAI,CAAC,OAAO,CAAC,CAAA;QACb,yBAAyB,CAAC,IAAI,CAAC,CAAA;QAE/B,UAAU,CAAC,GAAG,EAAE;YACd,yBAAyB,CAAC,KAAK,CAAC,CAAA;QAClC,CAAC,EAAE,IAAI,CAAC,CAAA;IACV,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;IAEnB,MAAM,EAAE,aAAa,EAAE,GAAG,gBAAgB,EAAE,CAAA;IAE5C,OAAO,CACL,oBAAC,gBAAgB;QACf,oBAAC,WAAW,4BAAgC;QAE5C,oBAAC,cAAc,IACb,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAChC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EACnC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe,IAElC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,CAC7B,6LAIG,CACJ,CAAC,CAAC,CAAC,CACF,4IAGG,CACJ,CACc;QAEjB,oBAAC,KAAK,IACJ,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,CAAC,EACP,SAAS,EAAE;gBACT,KAAK,EAAE;oBACL,KAAK,EAAE;wBACL,WAAW,EAAE,CAAC;wBACd,KAAK,EAAE,aAAa;wBACpB,MAAM,EAAE,QAAQ;qBACjB;iBACF;aACF,GACD;QAEF,oBAAC,eAAe,IACd,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAChC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EACnC,SAAS,EAAE;gBACT,KAAK,EAAE;oBACL,KAAK,EAAE;wBACL,SAAS,EAAE,QAAQ;qBACpB;iBACF;aACF,IAEA,OAAO,CACQ;QAElB,oBAAC,MAAM,IACL,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE;gBACT,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;qBACpC;iBACF;aACF,IAEA,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAClD;QAET,oBAAC,MAAM,IAAC,IAAI,EAAC,WAAW,SAAK,GAAG,EAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAC,QAAQ,oBAE/D,CACQ,CACpB,CAAA;AACH,CAAC;AAED,eAAe,OAAO,CAAA"}
|
|
@@ -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").
|
|
7
|
-
readonly
|
|
8
|
-
readonly
|
|
9
|
-
|
|
10
|
-
|
|
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
|
|
13
|
-
readonly
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
readonly
|
|
19
|
-
readonly name: "
|
|
20
|
-
readonly
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
readonly
|
|
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
|
|
39
|
-
readonly
|
|
40
|
-
|
|
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":"
|
|
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,
|
|
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
|
|
84
|
+
return {
|
|
85
|
+
troveManager: mainnetBorrowContracts.TroveManager.address,
|
|
86
|
+
borrowerOperations: mainnetBorrowContracts.BorrowerOperations.address,
|
|
87
|
+
};
|
|
70
88
|
}
|
|
71
|
-
return
|
|
89
|
+
return {
|
|
90
|
+
troveManager: testnetBorrowContracts.TroveManager.address,
|
|
91
|
+
borrowerOperations: testnetBorrowContracts.BorrowerOperations.address,
|
|
92
|
+
};
|
|
72
93
|
}, [environment]);
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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
|
-
|
|
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":"AAAA,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"useBorrowData.js","sourceRoot":"","sources":["../../../src/hooks/useBorrowData.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;
|
|
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;
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mezo-org/passport",
|
|
3
|
-
"version": "0.4.0-dev.
|
|
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.
|
|
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",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useAccount,
|
|
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
|
|
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
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
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
|
-
|
|
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
|
|
|
@@ -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"
|