curvance 1.0.24 → 1.1.0
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/abis/BaseCToken.json +13 -5
- package/dist/abis/BorrowableCToken.json +13 -5
- package/dist/abis/SimpleZapper.json +411 -0
- package/dist/chains/index.d.ts +88 -81
- package/dist/chains/index.d.ts.map +1 -1
- package/dist/chains/monad-testnet.json +107 -100
- package/dist/classes/BorrowableCToken.d.ts +51 -0
- package/dist/classes/BorrowableCToken.d.ts.map +1 -0
- package/dist/classes/BorrowableCToken.js +113 -0
- package/dist/classes/BorrowableCToken.js.map +1 -0
- package/dist/classes/CToken.d.ts +30 -58
- package/dist/classes/CToken.d.ts.map +1 -1
- package/dist/classes/CToken.js +184 -133
- package/dist/classes/CToken.js.map +1 -1
- package/dist/classes/Calldata.d.ts +12 -0
- package/dist/classes/Calldata.d.ts.map +1 -0
- package/dist/classes/Calldata.js +19 -0
- package/dist/classes/Calldata.js.map +1 -0
- package/dist/classes/ERC20.d.ts +3 -3
- package/dist/classes/ERC20.d.ts.map +1 -1
- package/dist/classes/ERC20.js +5 -2
- package/dist/classes/ERC20.js.map +1 -1
- package/dist/classes/Faucet.d.ts +1 -1
- package/dist/classes/Faucet.d.ts.map +1 -1
- package/dist/classes/Faucet.js +2 -1
- package/dist/classes/Faucet.js.map +1 -1
- package/dist/classes/Market.d.ts +9 -6
- package/dist/classes/Market.d.ts.map +1 -1
- package/dist/classes/Market.js +12 -8
- package/dist/classes/Market.js.map +1 -1
- package/dist/classes/OracleManager.d.ts +1 -1
- package/dist/classes/OracleManager.d.ts.map +1 -1
- package/dist/classes/OracleManager.js +2 -1
- package/dist/classes/OracleManager.js.map +1 -1
- package/dist/classes/ProtocolReader.d.ts +9 -8
- package/dist/classes/ProtocolReader.d.ts.map +1 -1
- package/dist/classes/ProtocolReader.js +9 -5
- package/dist/classes/ProtocolReader.js.map +1 -1
- package/dist/classes/Redstone.d.ts +3 -2
- package/dist/classes/Redstone.d.ts.map +1 -1
- package/dist/classes/Redstone.js +3 -3
- package/dist/classes/Redstone.js.map +1 -1
- package/dist/classes/Zapper.d.ts +28 -0
- package/dist/classes/Zapper.d.ts.map +1 -0
- package/dist/classes/Zapper.js +52 -0
- package/dist/classes/Zapper.js.map +1 -0
- package/dist/helpers.d.ts +100 -82
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +14 -1
- package/dist/helpers.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/setup.d.ts +18 -3
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +31 -14
- package/dist/setup.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,111 +1,118 @@
|
|
|
1
1
|
{
|
|
2
|
-
"CentralRegistry": "
|
|
3
|
-
"OracleManager": "
|
|
4
|
-
"
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"MockOracle": "0x7bc425dDc6B665eB15D93e968eFc2Eba8b98153a",
|
|
9
|
-
"USDC": "0x37C15781c4ca1E6b6f726F5fa818d98516E624B2",
|
|
10
|
-
"WBTC": "0xb6c53477Fd401212E16f351Bf2Fac85f086aAb0a",
|
|
11
|
-
"SWETH": "0xfed38FC665BF74362c50E6391555F5E78dd9E53D",
|
|
12
|
-
"DAI": "0xEB9423e6Fff26B282dd6999FF2b47aB59E65338D",
|
|
13
|
-
"LUSD": "0x21856c5701954e97102866cE5a76B43539F5a9dE",
|
|
14
|
-
"mkUSD": "0x5708Fad502E1E039420c2Ae9034EeD11561a5423",
|
|
15
|
-
"mETH": "0x9c1e89809b6a945cEEf1dD9655C558C47Ca642d3",
|
|
16
|
-
"mUSD": "0xea1090EA2F9b8870AE360CFD5c7e26A25Be6cdA7",
|
|
17
|
-
"Faucet": "0x02B27962780d1948e548943C40CF3A39928F3196",
|
|
18
|
-
"Test WBTC / Test USDC": {
|
|
19
|
-
"address": "0xaE1332D1d2dc23Bc496625FeaabAf26a9CcE3c3a",
|
|
20
|
-
"isMarket": true,
|
|
21
|
-
"WBTC-DynamicIRM": "0x8767dA5fcA4B32313894a639770066AB08D38A9B",
|
|
22
|
-
"tokens": {
|
|
23
|
-
"WBTC": "0x7877041DC0A410Dc2e7dA9D8FfC0D6Fc688d71cC",
|
|
24
|
-
"USDC": "0x46ECF99dDd1940Cbff5bB5B7A0e6775125e0D11C"
|
|
25
|
-
},
|
|
26
|
-
"USDC-DynamicIRM": "0xeb9f042E752a6eE02E6E0436C4d28173EbF55e41"
|
|
2
|
+
"CentralRegistry": "0x2F0DF3eb61bC4e160289F7E5127e3b756780b624",
|
|
3
|
+
"OracleManager": "0xDBa9f44b5Cb303d4CDCa40aa586EA7D7CD6a6413",
|
|
4
|
+
"adaptors": {
|
|
5
|
+
"ChainlinkAdaptor": "0x844B09Cf96dDFe6B8A608A0B58520CE605F76F6E",
|
|
6
|
+
"RedstoneClassicAdaptor": "0x0376b5db22c73f719AdeBbB5DaE5870B5F90395e",
|
|
7
|
+
"RedstoneCoreAdaptor": "0xcDc2c744a15D8f7767f7a2fb1757919D6F15022B"
|
|
27
8
|
},
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"isMarket": true,
|
|
31
|
-
"LUSD-DynamicIRM": "0xD2a580E09688aD06BCAc64865b85fad0ef63FE23",
|
|
32
|
-
"tokens": {
|
|
33
|
-
"LUSD": "0x17A4089DBBCE2e862d7f76A0290d9c21eabdcdA2",
|
|
34
|
-
"SWETH": "0x5A744d1A6B02af8fbB74A0080ABE29778F13dbDf"
|
|
35
|
-
}
|
|
9
|
+
"calldataCheckers": {
|
|
10
|
+
"RedstoneAdaptorMulticallChecker": "0x4a041dc980a5ce8D00f63efF7E89009fe1702604"
|
|
36
11
|
},
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"mUSD": "0xB0E96c843d86Ab840C634867389F7A6e432b057A",
|
|
42
|
-
"mETH": "0x7e92A78f9c728f1aE2226257a4AfEBFAAA432a4A"
|
|
43
|
-
},
|
|
44
|
-
"mETH-DynamicIRM": "0x87A9d0345b32b8ba2CE18df4083B42eD06dfc5a6"
|
|
12
|
+
"zappers": {
|
|
13
|
+
"nativeVaultZapper": "0xda34AccA0b72662Be611BEb22524AaF124B36d23",
|
|
14
|
+
"vaultZapper": "0x096D992B46f41bF6b7C3e28fCA104fbeea7c63e6",
|
|
15
|
+
"simpleZapper": "0xE986A7E9007affef15604Fbc18dD14B85CbF5857"
|
|
45
16
|
},
|
|
46
|
-
"
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
17
|
+
"MockOracle": "0x225502Ec05F6c297308d5e9FafA1735515Ba7191",
|
|
18
|
+
"USDC": "0x1e071Bd0D4BF5120b58e2b89FE2F3b3D04fCfCf1",
|
|
19
|
+
"WBTC": "0xb946ABc340385c537BbAc5E65B24Db8Af780A550",
|
|
20
|
+
"SWETH": "0x5b2FDA16251187E575d111633A9D89189023Be35",
|
|
21
|
+
"DAI": "0x2Be44B614E14956ac10653b501a32836f97757f9",
|
|
22
|
+
"LUSD": "0xBeead9a094dc5D06f0641d73d630E20251C1d0E0",
|
|
23
|
+
"mkUSD": "0x2B70eb3021391e93013092d5B1Bf02387945b90A",
|
|
24
|
+
"mETH": "0x3A2731d1f03228A863a159553cC878eb92D88a65",
|
|
25
|
+
"mUSD": "0x9E9c50165e0c927d9aa846dA3602d5Ea2C90044e",
|
|
26
|
+
"Faucet": "0x6CEF38bD9Cd0C92a7CfCA0CD07058457D53fFf37",
|
|
27
|
+
"markets": {
|
|
28
|
+
"Test WBTC / Test USDC": {
|
|
29
|
+
"address": "0xD6588F1f6120C3D981115491aF7D12CAB89C0Bb0",
|
|
30
|
+
"WBTC-DynamicIRM": "0x6F6162b60F5637eb504a526490E17f026Af72722",
|
|
31
|
+
"tokens": {
|
|
32
|
+
"WBTC": "0x968eA30A64F0e95af69C5f18f430bC041621419f",
|
|
33
|
+
"USDC": "0x156e8C11e7b2502049f5b7138759f23BcE1EC050"
|
|
34
|
+
},
|
|
35
|
+
"USDC-DynamicIRM": "0xdb0F673F36D120BB6f5b5697785878304F3C8c2A"
|
|
53
36
|
},
|
|
54
|
-
"
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
"VotingHub": "0x729C1FEb69D0869c1ED4DfE42444b336565236bF",
|
|
62
|
-
"WMON-MockPermissionV3Aggregator": "0x4Dff7a398D547c71fd0BdFFBd2C258b152cB4a74",
|
|
63
|
-
"WMON-ChainlinkAdaptor": "0xE8d949Fb0BB9229F7DE16637932F36ffF1f5Aa32",
|
|
64
|
-
"VaultAggregator-WMON-aprMON": "0x30516f19dfAA39D993bd0040731e305F09f3977E",
|
|
65
|
-
"VaultAggregator-WMON-shMON": "0x97100969B56847bDcA158fD3394B85264ACAd124",
|
|
66
|
-
"Apriori (aprMON) / wMON": {
|
|
67
|
-
"address": "0x940b4C48d9F5178f3a8c2c4B1E849B73F4939Cff",
|
|
68
|
-
"isMarket": true,
|
|
69
|
-
"aprMON-DynamicIRM": "0x42Bf4E2420113Cc92834a2c8EF8b3E49BcBb0A02",
|
|
70
|
-
"tokens": {
|
|
71
|
-
"aprMON": "0x7F7b099615cCcb805754479bB4c900144432fFb8",
|
|
72
|
-
"WMON": "0x2F7692f424Ac74d2647f346BC81e39345D486bca"
|
|
37
|
+
"Test LUSD / Test SWETH": {
|
|
38
|
+
"address": "0x8749Bc5820BB951D7a8E70F8EcA3Da453F4C03F9",
|
|
39
|
+
"LUSD-DynamicIRM": "0x1CbB4a19C215d7F917Bb531A7E761346bF2Cda0E",
|
|
40
|
+
"tokens": {
|
|
41
|
+
"LUSD": "0x055da4c80dc58EdD186dBA0CFAD6a15bF82f38b5",
|
|
42
|
+
"SWETH": "0x84f5328d934283A70B59361952EfC62ec8A36757"
|
|
43
|
+
}
|
|
73
44
|
},
|
|
74
|
-
"
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
"shMON": "0x7235042eA35F6098CB1E3B2FDb13648b89C377E7",
|
|
82
|
-
"WMON": "0xdb2fC2Ce605Fefe490243e401d654c318d553B55"
|
|
45
|
+
"Test mUSD / Test mETH": {
|
|
46
|
+
"address": "0x34897EFc54CB80f900532Cb87Cb76d0b67B98C76",
|
|
47
|
+
"tokens": {
|
|
48
|
+
"mUSD": "0x6C7143b0a5d37FAF9B81bF8fa27c2af51305Af2A",
|
|
49
|
+
"mETH": "0x56e709743Cc8da96678cD55a2ac182c03E48A8F7"
|
|
50
|
+
},
|
|
51
|
+
"mETH-DynamicIRM": "0xa0333980Eca77E412b0d506C6bcF03348176C792"
|
|
83
52
|
},
|
|
84
|
-
"
|
|
85
|
-
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
"isMarket": true,
|
|
93
|
-
"gMON-DynamicIRM": "0x8700bD7ea892241892782aF411eB6f9E0855BC34",
|
|
94
|
-
"tokens": {
|
|
95
|
-
"gMON": "0x31408AA7465A83D8C9DCC3956d55d217f5653aaD",
|
|
96
|
-
"WMON": "0xE3C9E904cCeAB90fcEB91E457fCB501984086f7E"
|
|
53
|
+
"Test DAI / Test mkUSD": {
|
|
54
|
+
"address": "0x155B9Cb59cdF67B4F1f287A4a270d95C9b50ed82",
|
|
55
|
+
"DAI-DynamicIRM": "0xc36178f0A39F10AFFd436eDfd04f372599420131",
|
|
56
|
+
"tokens": {
|
|
57
|
+
"DAI": "0x309CC0ADd0BF2790dAD10B46b79e633440283136",
|
|
58
|
+
"mkUSD": "0x5A95375287cf67b83723b9Ca16D6255a9cEaE461"
|
|
59
|
+
},
|
|
60
|
+
"mkUSD-DynamicIRM": "0xB4EF3136DBe8333F1148f8b9f1b6f731Cb0c768F"
|
|
97
61
|
},
|
|
98
|
-
"
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
62
|
+
"Apriori (aprMON) / wMON": {
|
|
63
|
+
"address": "0x4D6192A5E3012D394cf3D5041888ac7D3960c584",
|
|
64
|
+
"plugins": {
|
|
65
|
+
"nativeVaultPositionManager": "0x16F95048d64f92DF1a889431e05025d0c5Fc6009"
|
|
66
|
+
},
|
|
67
|
+
"WMON-DynamicIRM": "0x7c245D004eCc6292fE89aF5A894b1dA306CbbaC4",
|
|
68
|
+
"tokens": {
|
|
69
|
+
"WMON": "0x679125118C236F7AbD5b5667E3B43564E9947435",
|
|
70
|
+
"aprMON": "0x90453aAfCF84E04103233726948881B260e01D31"
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"Fastlane (shMON) / wMON": {
|
|
74
|
+
"address": "0x66a08Ff9c6D7b054004768771fD148083A03A034",
|
|
75
|
+
"plugins": {
|
|
76
|
+
"nativeVaultPositionManager": "0xAb019932741f81e262fAC8e86400d476b7Ba5BCC"
|
|
77
|
+
},
|
|
78
|
+
"WMON-DynamicIRM": "0x8A1F36E489B61a55617b79fBC47048baE10186BA",
|
|
79
|
+
"tokens": {
|
|
80
|
+
"WMON": "0x61E771Aa32F954E57EadCAcD69166fcaA404c6a1",
|
|
81
|
+
"shMON": "0xdAC8aa3D833E32903D8B72A1beA3F1c9c1F727ae"
|
|
82
|
+
}
|
|
107
83
|
},
|
|
108
|
-
"
|
|
84
|
+
"Kintsu (sMON) / wMON": {
|
|
85
|
+
"address": "0x891121e5756Bea0939198170372510E347B9fE8F",
|
|
86
|
+
"plugins": {
|
|
87
|
+
"nativeVaultPositionManager": "0xF0D9Fdc67cACeB540CF1d7618D6f2E8593D7f043"
|
|
88
|
+
},
|
|
89
|
+
"WMON-DynamicIRM": "0x6eC4BAeB4bd69AE0Cfddf425c7FaDd3b58bECEa1",
|
|
90
|
+
"tokens": {
|
|
91
|
+
"WMON": "0xcA091D9529773EF81A05f4acc51c5F707143c252",
|
|
92
|
+
"sMON": "0xBeD25a6b20b14ACc65b81dB6128113B6ecdFe794"
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
"Magma (gMON) / wMON": {
|
|
96
|
+
"address": "0x5823A4a97047dC89f982e7DEAe0FBb47644A9EF5",
|
|
97
|
+
"plugins": {
|
|
98
|
+
"nativeVaultPositionManager": "0xc84CB3A8c88727c3B2e92d7BAd65E93d1fa9ADc1"
|
|
99
|
+
},
|
|
100
|
+
"WMON-DynamicIRM": "0x56Ee21efb7FE68577eC0B7256BdAA7d42cC5a190",
|
|
101
|
+
"tokens": {
|
|
102
|
+
"WMON": "0xbBA0E641C57719AF36C6d7917E2b1C4Bf9B6FBf8",
|
|
103
|
+
"gMON": "0x45A714F833200dCa106b496Ac756D293a1A01e40"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
109
106
|
},
|
|
110
|
-
"
|
|
107
|
+
"MessagingHub": "0x201b327847d171334b45fcE8b305F57951A0AAa8",
|
|
108
|
+
"CVE": "0x38C62478Ce798944AC4d0d315892c8edDB3Fc2bc",
|
|
109
|
+
"RewardManager": "0xA684E684f3a49E755A22542d6CA117a2253d7caA",
|
|
110
|
+
"VeCVE": "0x58e281d1a7997277e342e64fd394F8bE0eD7363A",
|
|
111
|
+
"GaugeManager": "0x3978fd9b71F335E6D5b8e2c78Ae3b7B5FF97c434",
|
|
112
|
+
"VotingHub": "0x61737DB96dB2790BAdB87A42A44128912eBFb823",
|
|
113
|
+
"WMON-MockPermissionV3Aggregator": "0xe736369E26bCa0101DA69b63bb00ef8E13f6d370",
|
|
114
|
+
"WMON-ChainlinkAdaptor": "0x9D7349359C502f0E71e9a23A10c9bCeA71Ad2A76",
|
|
115
|
+
"VaultAggregator-WMON-aprMON": "0xc556091aDE2d6A87f8ed4aa0E3C5426E88371111",
|
|
116
|
+
"VaultAggregator-WMON-shMON": "0xD887d6FdAaD2D4fa4Dd04607e98C8c1df184AB2C",
|
|
117
|
+
"ProtocolReader": "0x4BF956008D1A6D59194015119cC978a1E8E28851"
|
|
111
118
|
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Contract, TransactionResponse } from "ethers";
|
|
2
|
+
import { address, curvance_provider, TokenInput, USD } from "../types";
|
|
3
|
+
import { CToken, ICToken } from "./CToken";
|
|
4
|
+
import { DynamicMarketToken, StaticMarketToken, UserMarketToken } from "./ProtocolReader";
|
|
5
|
+
import { Market } from "./Market";
|
|
6
|
+
import { ChangeRate } from "../helpers";
|
|
7
|
+
import Decimal from "decimal.js";
|
|
8
|
+
import { ZapperTypes } from "./Zapper";
|
|
9
|
+
export interface IBorrowableCToken extends ICToken {
|
|
10
|
+
borrow(amount: bigint, receiver: address): Promise<TransactionResponse>;
|
|
11
|
+
repay(amount: bigint): Promise<TransactionResponse>;
|
|
12
|
+
interestFee(): Promise<bigint>;
|
|
13
|
+
marketOutstandingDebt(): Promise<bigint>;
|
|
14
|
+
debtBalance(account: address): Promise<bigint>;
|
|
15
|
+
IRM(): Promise<address>;
|
|
16
|
+
}
|
|
17
|
+
export interface IDynamicIRM {
|
|
18
|
+
ADJUSTMENT_RATE(): Promise<bigint>;
|
|
19
|
+
linkedToken(): Promise<address>;
|
|
20
|
+
borrowRate(assetsHeld: bigint, debt: bigint): Promise<bigint>;
|
|
21
|
+
predictedBorrowRate(assetsHeld: bigint, debt: bigint): Promise<bigint>;
|
|
22
|
+
supplyRate(assetsHeld: bigint, debt: bigint, interestFee: bigint): Promise<bigint>;
|
|
23
|
+
adjustedBorrowRate(assetsHeld: bigint, debt: bigint): Promise<bigint>;
|
|
24
|
+
utilizationRate(assetsHeld: bigint, debt: bigint): Promise<bigint>;
|
|
25
|
+
}
|
|
26
|
+
export declare class BorrowableCToken extends CToken {
|
|
27
|
+
contract: Contract & IBorrowableCToken;
|
|
28
|
+
constructor(provider: curvance_provider, address: address, cache: StaticMarketToken & DynamicMarketToken & UserMarketToken, market: Market);
|
|
29
|
+
get liquidity(): bigint;
|
|
30
|
+
get borrowRate(): bigint;
|
|
31
|
+
get predictedBorrowRate(): bigint;
|
|
32
|
+
get utilizationRate(): bigint;
|
|
33
|
+
get supplyRate(): bigint;
|
|
34
|
+
borrowChange(amount: USD, rateType: ChangeRate): Decimal;
|
|
35
|
+
depositAsCollateral(amount: TokenInput, zap?: ZapperTypes, receiver?: address | null): Promise<TransactionResponse>;
|
|
36
|
+
postCollateral(amount: TokenInput): Promise<TransactionResponse>;
|
|
37
|
+
fetchDebt(inUSD: true): Promise<USD>;
|
|
38
|
+
fetchDebt(inUSD: false): Promise<bigint>;
|
|
39
|
+
borrow(amount: TokenInput, receiver?: address | null): Promise<TransactionResponse>;
|
|
40
|
+
dynamicIRM(): Promise<Contract & IDynamicIRM>;
|
|
41
|
+
fetchBorrowRate(): Promise<bigint>;
|
|
42
|
+
fetchPredictedBorrowRate(): Promise<bigint>;
|
|
43
|
+
fetchUtilizationRate(): Promise<bigint>;
|
|
44
|
+
fetchSupplyRate(): Promise<bigint>;
|
|
45
|
+
fetchLiquidity(): Promise<bigint>;
|
|
46
|
+
repay(amount: TokenInput): Promise<TransactionResponse>;
|
|
47
|
+
interestFee(): Promise<bigint>;
|
|
48
|
+
marketOutstandingDebt(): Promise<bigint>;
|
|
49
|
+
debtBalance(account: address): Promise<bigint>;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=BorrowableCToken.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BorrowableCToken.d.ts","sourceRoot":"","sources":["../../src/classes/BorrowableCToken.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.BorrowableCToken = void 0;
|
|
7
|
+
const CToken_1 = require("./CToken");
|
|
8
|
+
const helpers_1 = require("../helpers");
|
|
9
|
+
const BorrowableCToken_json_1 = __importDefault(require("../abis/BorrowableCToken.json"));
|
|
10
|
+
const IDynamicIRM_json_1 = __importDefault(require("../abis/IDynamicIRM.json"));
|
|
11
|
+
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
12
|
+
class BorrowableCToken extends CToken_1.CToken {
|
|
13
|
+
contract;
|
|
14
|
+
constructor(provider, address, cache, market) {
|
|
15
|
+
super(provider, address, cache, market);
|
|
16
|
+
this.contract = (0, helpers_1.contractSetup)(provider, address, BorrowableCToken_json_1.default);
|
|
17
|
+
}
|
|
18
|
+
get liquidity() { return this.cache.liquidity; }
|
|
19
|
+
get borrowRate() { return this.cache.borrowRate; }
|
|
20
|
+
get predictedBorrowRate() { return this.cache.predictedBorrowRate; }
|
|
21
|
+
get utilizationRate() { return this.cache.utilizationRate; }
|
|
22
|
+
get supplyRate() { return this.cache.supplyRate; }
|
|
23
|
+
borrowChange(amount, rateType) {
|
|
24
|
+
const rate = this.borrowRate;
|
|
25
|
+
const rate_seconds = (0, helpers_1.getRateSeconds)(rateType);
|
|
26
|
+
const rate_percent = (0, decimal_js_1.default)(rate * rate_seconds).div(helpers_1.BPS);
|
|
27
|
+
return amount.mul(rate_percent);
|
|
28
|
+
}
|
|
29
|
+
async depositAsCollateral(amount, zap = 'none', receiver = null) {
|
|
30
|
+
if (this.cache.userDebt > 0) {
|
|
31
|
+
throw new Error("Cannot deposit as collateral when there is outstanding debt");
|
|
32
|
+
}
|
|
33
|
+
return super.depositAsCollateral(amount, zap, receiver);
|
|
34
|
+
}
|
|
35
|
+
async postCollateral(amount) {
|
|
36
|
+
if (this.cache.userDebt > 0) {
|
|
37
|
+
throw new Error("Cannot post collateral when there is outstanding debt");
|
|
38
|
+
}
|
|
39
|
+
return super.postCollateral(amount);
|
|
40
|
+
}
|
|
41
|
+
async fetchDebt(inUSD = true) {
|
|
42
|
+
const totalDebt = await this.contract.marketOutstandingDebt();
|
|
43
|
+
return inUSD ? this.fetchConvertTokensToUsd(totalDebt) : totalDebt;
|
|
44
|
+
}
|
|
45
|
+
async borrow(amount, receiver = null) {
|
|
46
|
+
const signer = (0, helpers_1.validateProviderAsSigner)(this.provider);
|
|
47
|
+
if (receiver == null)
|
|
48
|
+
receiver = signer.address;
|
|
49
|
+
const assets = this.convertTokenInput(amount);
|
|
50
|
+
const calldata = this.getCallData("borrow", [assets, receiver]);
|
|
51
|
+
return this.oracleRoute(calldata);
|
|
52
|
+
}
|
|
53
|
+
async dynamicIRM() {
|
|
54
|
+
const irm_addr = await this.contract.IRM();
|
|
55
|
+
return (0, helpers_1.contractSetup)(this.provider, irm_addr, IDynamicIRM_json_1.default);
|
|
56
|
+
}
|
|
57
|
+
async fetchBorrowRate() {
|
|
58
|
+
const irm = await this.dynamicIRM();
|
|
59
|
+
const assetsHeld = await this.totalAssets();
|
|
60
|
+
const debt = await this.contract.marketOutstandingDebt();
|
|
61
|
+
const borrowRate = (await irm.borrowRate(assetsHeld, debt));
|
|
62
|
+
this.cache.borrowRate = borrowRate;
|
|
63
|
+
return borrowRate;
|
|
64
|
+
}
|
|
65
|
+
async fetchPredictedBorrowRate() {
|
|
66
|
+
const irm = await this.dynamicIRM();
|
|
67
|
+
const assetsHeld = await this.totalAssets();
|
|
68
|
+
const debt = await this.contract.marketOutstandingDebt();
|
|
69
|
+
const predictedBorrowRate = (await irm.predictedBorrowRate(assetsHeld, debt));
|
|
70
|
+
this.cache.predictedBorrowRate = predictedBorrowRate;
|
|
71
|
+
return predictedBorrowRate;
|
|
72
|
+
}
|
|
73
|
+
async fetchUtilizationRate() {
|
|
74
|
+
const irm = await this.dynamicIRM();
|
|
75
|
+
const assetsHeld = await this.totalAssets();
|
|
76
|
+
const debt = await this.contract.marketOutstandingDebt();
|
|
77
|
+
const utilizationRate = (await irm.utilizationRate(assetsHeld, debt));
|
|
78
|
+
this.cache.utilizationRate = utilizationRate;
|
|
79
|
+
return utilizationRate;
|
|
80
|
+
}
|
|
81
|
+
async fetchSupplyRate() {
|
|
82
|
+
const irm = await this.dynamicIRM();
|
|
83
|
+
const assetsHeld = await this.totalAssets();
|
|
84
|
+
const debt = await this.contract.marketOutstandingDebt();
|
|
85
|
+
const fee = await this.contract.interestFee();
|
|
86
|
+
const supplyRate = (await irm.supplyRate(assetsHeld, debt, fee));
|
|
87
|
+
this.cache.supplyRate = supplyRate;
|
|
88
|
+
return supplyRate;
|
|
89
|
+
}
|
|
90
|
+
async fetchLiquidity() {
|
|
91
|
+
const assetsHeld = await this.contract.totalAssets();
|
|
92
|
+
const debt = await this.contract.marketOutstandingDebt();
|
|
93
|
+
const liquidity = assetsHeld - debt;
|
|
94
|
+
this.cache.liquidity = liquidity;
|
|
95
|
+
return liquidity;
|
|
96
|
+
}
|
|
97
|
+
async repay(amount) {
|
|
98
|
+
const assets = this.convertTokenInput(amount);
|
|
99
|
+
const calldata = this.getCallData("repay", [assets]);
|
|
100
|
+
return this.oracleRoute(calldata);
|
|
101
|
+
}
|
|
102
|
+
async interestFee() {
|
|
103
|
+
return this.contract.interestFee();
|
|
104
|
+
}
|
|
105
|
+
async marketOutstandingDebt() {
|
|
106
|
+
return this.contract.marketOutstandingDebt();
|
|
107
|
+
}
|
|
108
|
+
async debtBalance(account) {
|
|
109
|
+
return this.contract.debtBalance(account);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
exports.BorrowableCToken = BorrowableCToken;
|
|
113
|
+
//# sourceMappingURL=BorrowableCToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BorrowableCToken.js","sourceRoot":"","sources":["../../src/classes/BorrowableCToken.ts"],"names":[],"mappings":"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"}
|
package/dist/classes/CToken.d.ts
CHANGED
|
@@ -3,13 +3,14 @@ import { ChangeRate } from "../helpers";
|
|
|
3
3
|
import { AdaptorTypes, DynamicMarketToken, StaticMarketToken, UserMarketToken } from "./ProtocolReader";
|
|
4
4
|
import { ERC20 } from "./ERC20";
|
|
5
5
|
import { Market } from "./Market";
|
|
6
|
+
import { Calldata } from "./Calldata";
|
|
6
7
|
import Decimal from "decimal.js";
|
|
7
|
-
import { address, bytes, curvance_provider, Percentage, USD } from "../types";
|
|
8
|
+
import { address, bytes, curvance_provider, Percentage, TokenInput, USD } from "../types";
|
|
9
|
+
import { Zapper, ZapperTypes } from "./Zapper";
|
|
8
10
|
export interface AccountSnapshot {
|
|
9
11
|
asset: address;
|
|
10
12
|
decimals: bigint;
|
|
11
13
|
isCollateral: boolean;
|
|
12
|
-
exchangeRate: bigint;
|
|
13
14
|
collateralPosted: bigint;
|
|
14
15
|
debtBalance: bigint;
|
|
15
16
|
}
|
|
@@ -46,31 +47,18 @@ export interface ICToken {
|
|
|
46
47
|
transfer(receiver: address, amount: bigint): Promise<TransactionResponse>;
|
|
47
48
|
approve(spender: address, amount: bigint): Promise<TransactionResponse>;
|
|
48
49
|
allowance(owner: address, spender: address): Promise<bigint>;
|
|
50
|
+
isDelegate(user: address, delegate: address): Promise<boolean>;
|
|
51
|
+
setDelegateApproval(delegate: address, approved: boolean): Promise<TransactionResponse>;
|
|
49
52
|
}
|
|
50
|
-
export
|
|
51
|
-
borrow(amount: bigint, receiver: address): Promise<TransactionResponse>;
|
|
52
|
-
repay(amount: bigint): Promise<TransactionResponse>;
|
|
53
|
-
interestFee(): Promise<bigint>;
|
|
54
|
-
marketOutstandingDebt(): Promise<bigint>;
|
|
55
|
-
debtBalance(account: address): Promise<bigint>;
|
|
56
|
-
IRM(): Promise<address>;
|
|
57
|
-
}
|
|
58
|
-
export interface IDynamicIRM {
|
|
59
|
-
ADJUSTMENT_RATE(): Promise<bigint>;
|
|
60
|
-
linkedToken(): Promise<address>;
|
|
61
|
-
borrowRate(assetsHeld: bigint, debt: bigint): Promise<bigint>;
|
|
62
|
-
predictedBorrowRate(assetsHeld: bigint, debt: bigint): Promise<bigint>;
|
|
63
|
-
supplyRate(assetsHeld: bigint, debt: bigint, interestFee: bigint): Promise<bigint>;
|
|
64
|
-
adjustedBorrowRate(assetsHeld: bigint, debt: bigint): Promise<bigint>;
|
|
65
|
-
utilizationRate(assetsHeld: bigint, debt: bigint): Promise<bigint>;
|
|
66
|
-
}
|
|
67
|
-
export declare class CToken {
|
|
53
|
+
export declare class CToken extends Calldata<ICToken> {
|
|
68
54
|
provider: curvance_provider;
|
|
69
55
|
address: address;
|
|
70
56
|
contract: Contract & ICToken;
|
|
71
57
|
abi: any;
|
|
72
58
|
cache: StaticMarketToken & DynamicMarketToken & UserMarketToken;
|
|
73
59
|
market: Market;
|
|
60
|
+
zapTypes: ZapperTypes[];
|
|
61
|
+
leverageTypes: string[];
|
|
74
62
|
constructor(provider: curvance_provider, address: address, cache: StaticMarketToken & DynamicMarketToken & UserMarketToken, market: Market);
|
|
75
63
|
get adapters(): [AdaptorTypes, AdaptorTypes];
|
|
76
64
|
get borrowPaused(): boolean;
|
|
@@ -85,7 +73,6 @@ export declare class CToken {
|
|
|
85
73
|
get asset(): import("./ProtocolReader").StaticMarketAsset;
|
|
86
74
|
get isBorrowable(): boolean;
|
|
87
75
|
get canZap(): boolean;
|
|
88
|
-
get canLeverage(): boolean;
|
|
89
76
|
/** @returns Collateral Ratio in BPS or bigint */
|
|
90
77
|
getCollRatio(inBPS: true): Percentage;
|
|
91
78
|
getCollRatio(inBPS: false): bigint;
|
|
@@ -151,7 +138,7 @@ export declare class CToken {
|
|
|
151
138
|
ltv(): Percentage;
|
|
152
139
|
getAsset(asErc20: true): ERC20;
|
|
153
140
|
getAsset(asErc20: false): address;
|
|
154
|
-
getPrice(asset?: boolean, lower?: boolean):
|
|
141
|
+
getPrice(asset?: boolean, lower?: boolean): USD;
|
|
155
142
|
getApy(): Decimal;
|
|
156
143
|
getTvl(inUSD: true): USD;
|
|
157
144
|
getTvl(inUSD: false): bigint;
|
|
@@ -161,6 +148,12 @@ export declare class CToken {
|
|
|
161
148
|
getTotalCollateral(inUSD: false): bigint;
|
|
162
149
|
fetchTotalCollateral(inUSD: true): Promise<USD>;
|
|
163
150
|
fetchTotalCollateral(inUSD: false): Promise<bigint>;
|
|
151
|
+
getZapper(type: ZapperTypes): Zapper;
|
|
152
|
+
isPluginApproved(plugin: ZapperTypes): Promise<boolean>;
|
|
153
|
+
approvePlugin(plugin: ZapperTypes): Promise<TransactionResponse>;
|
|
154
|
+
getPluginAddress(plugin: ZapperTypes): address;
|
|
155
|
+
getAllowance(check_contract: address): Promise<bigint>;
|
|
156
|
+
approve(amount: TokenInput | null, spender: address): Promise<TransactionResponse>;
|
|
164
157
|
fetchDecimals(): Promise<bigint>;
|
|
165
158
|
fetchIsBorrowable(): Promise<boolean>;
|
|
166
159
|
fetchAsset(): Promise<`0x${string}`>;
|
|
@@ -174,54 +167,33 @@ export declare class CToken {
|
|
|
174
167
|
marketCollateralPosted(): Promise<bigint>;
|
|
175
168
|
balanceOf(account: address): Promise<bigint>;
|
|
176
169
|
maxDeposit(receiver: address): Promise<bigint>;
|
|
177
|
-
transfer(receiver: address, amount:
|
|
178
|
-
redeemCollateral(
|
|
179
|
-
postCollateral(
|
|
180
|
-
removeCollateral(
|
|
181
|
-
withdrawCollateral(
|
|
170
|
+
transfer(receiver: address, amount: TokenInput): Promise<TransactionResponse>;
|
|
171
|
+
redeemCollateral(amount: Decimal, receiver?: address | null, owner?: address | null): Promise<TransactionResponse>;
|
|
172
|
+
postCollateral(amount: TokenInput): Promise<TransactionResponse>;
|
|
173
|
+
removeCollateral(amount: TokenInput): Promise<TransactionResponse>;
|
|
174
|
+
withdrawCollateral(amount: TokenInput, receiver?: address | null, owner?: address | null): Promise<TransactionResponse>;
|
|
182
175
|
convertToAssets(shares: bigint): Promise<bigint>;
|
|
183
176
|
convertToShares(assets: bigint): Promise<bigint>;
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
177
|
+
convertTokenInput(amount: TokenInput, inShares?: boolean): bigint;
|
|
178
|
+
deposit(amount: TokenInput, zap?: ZapperTypes, receiver?: address | null): Promise<TransactionResponse>;
|
|
179
|
+
depositAsCollateral(amount: Decimal, zap?: ZapperTypes, receiver?: address | null): Promise<TransactionResponse>;
|
|
180
|
+
redeem(amount: TokenInput, receiver?: address | null, owner?: address | null): Promise<TransactionResponse>;
|
|
187
181
|
collateralPosted(account: address): Promise<bigint>;
|
|
188
182
|
multicall(calls: MulticallAction[]): Promise<TransactionResponse>;
|
|
189
183
|
getSnapshot(account: address): Promise<{
|
|
190
184
|
asset: `0x${string}`;
|
|
191
185
|
decimals: bigint;
|
|
192
186
|
isCollateral: boolean;
|
|
193
|
-
exchangeRate: bigint;
|
|
194
187
|
collateralPosted: bigint;
|
|
195
188
|
debtBalance: bigint;
|
|
196
189
|
}>;
|
|
197
190
|
fetchConvertTokensToUsd(tokenAmount: bigint, asset?: boolean): Promise<Decimal>;
|
|
198
191
|
convertTokensToUsd(tokenAmount: bigint, asset?: boolean): Decimal;
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
get liquidity(): bigint;
|
|
206
|
-
get borrowRate(): bigint;
|
|
207
|
-
get predictedBorrowRate(): bigint;
|
|
208
|
-
get utilizationRate(): bigint;
|
|
209
|
-
get supplyRate(): bigint;
|
|
210
|
-
borrowChange(amount: USD, rateType: ChangeRate): Decimal;
|
|
211
|
-
depositAsCollateral(assets: bigint, receiver: address): Promise<TransactionResponse>;
|
|
212
|
-
postCollateral(shares: bigint): Promise<TransactionResponse>;
|
|
213
|
-
fetchDebt(inUSD: true): Promise<USD>;
|
|
214
|
-
fetchDebt(inUSD: false): Promise<bigint>;
|
|
215
|
-
borrow(amount: bigint, receiver: address): Promise<TransactionResponse>;
|
|
216
|
-
dynamicIRM(): Promise<Contract & IDynamicIRM>;
|
|
217
|
-
fetchBorrowRate(): Promise<bigint>;
|
|
218
|
-
fetchPredictedBorrowRate(): Promise<bigint>;
|
|
219
|
-
fetchUtilizationRate(): Promise<bigint>;
|
|
220
|
-
fetchSupplyRate(): Promise<bigint>;
|
|
221
|
-
fetchLiquidity(): Promise<bigint>;
|
|
222
|
-
repay(amount: bigint): Promise<TransactionResponse>;
|
|
223
|
-
interestFee(): Promise<bigint>;
|
|
224
|
-
marketOutstandingDebt(): Promise<bigint>;
|
|
225
|
-
debtBalance(account: address): Promise<bigint>;
|
|
192
|
+
buildMultiCallAction(calldata: bytes): MulticallAction;
|
|
193
|
+
private _checkDepositApprovals;
|
|
194
|
+
oracleRoute(calldata: bytes, override?: {
|
|
195
|
+
[key: string]: any;
|
|
196
|
+
}): Promise<TransactionResponse>;
|
|
197
|
+
getPriceUpdates(): Promise<MulticallAction[]>;
|
|
226
198
|
}
|
|
227
199
|
//# sourceMappingURL=CToken.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CToken.d.ts","sourceRoot":"","sources":["../../src/classes/CToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"CToken.d.ts","sourceRoot":"","sources":["../../src/classes/CToken.ts"],"names":[],"mappings":"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"}
|