curvance 1.0.24 → 1.0.25
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 +22 -14
- package/dist/chains/index.d.ts.map +1 -1
- package/dist/chains/monad-testnet.json +82 -74
- 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 -59
- package/dist/classes/CToken.d.ts.map +1 -1
- package/dist/classes/CToken.js +191 -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 +8 -7
- 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 +34 -15
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +14 -1
- package/dist/helpers.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 +1 -1
|
@@ -1,111 +1,119 @@
|
|
|
1
1
|
{
|
|
2
|
-
"CentralRegistry": "
|
|
3
|
-
"OracleManager": "
|
|
4
|
-
"ChainlinkAdaptor": "
|
|
5
|
-
"RedstoneClassicAdaptor": "
|
|
6
|
-
"RedstoneCoreAdaptor": "
|
|
7
|
-
"RedstoneAdaptorMulticallChecker": "
|
|
8
|
-
"MockOracle": "
|
|
9
|
-
"USDC": "
|
|
10
|
-
"WBTC": "
|
|
11
|
-
"SWETH": "
|
|
12
|
-
"DAI": "
|
|
13
|
-
"LUSD": "
|
|
14
|
-
"mkUSD": "
|
|
15
|
-
"mETH": "
|
|
16
|
-
"mUSD": "
|
|
17
|
-
"Faucet": "
|
|
2
|
+
"CentralRegistry": "0x95706D8E2c2dC42ef246aF264f1aEF78813bFAac",
|
|
3
|
+
"OracleManager": "0x0e005155311BC191fbBD7062cf4E60C36BDC7e96",
|
|
4
|
+
"ChainlinkAdaptor": "0x7F3f4C93B1b2cdFF88D6b5D875c1A2b28FBC8b83",
|
|
5
|
+
"RedstoneClassicAdaptor": "0xA65d0e3d557fbB145E0ccF89B72e15D14641A6f0",
|
|
6
|
+
"RedstoneCoreAdaptor": "0x2f5f3635C5253809F91a7Ac7459B41351C1D8670",
|
|
7
|
+
"RedstoneAdaptorMulticallChecker": "0xD12705101273c504b35e7F459A185a46297617B7",
|
|
8
|
+
"MockOracle": "0x0D1838603B2fCF47381c7d8c5bB7f570660d329D",
|
|
9
|
+
"USDC": "0xaD7a1905794015Ad333e49fe870Ad930A32D83f4",
|
|
10
|
+
"WBTC": "0x591b338B1A5Dc21676Dc5Fe428C168CeeaC22f4B",
|
|
11
|
+
"SWETH": "0xB04c5d9fE8C595A70D3839F5dE74361FD88023A6",
|
|
12
|
+
"DAI": "0x133192566d8984a20a646482B4C884bCDa947b64",
|
|
13
|
+
"LUSD": "0x35D7EA6Bc1A8bC47c11c9Ee6DB59Cbb84BF93A3a",
|
|
14
|
+
"mkUSD": "0x3B911808801d32F3C9Fdfc6Aab861b564874af13",
|
|
15
|
+
"mETH": "0xCd347fd43bd389D6D58832b4BD75e8A99eAA1535",
|
|
16
|
+
"mUSD": "0xC36c2C24A29945B767f82A6a70E3d28C7A2Fcc61",
|
|
17
|
+
"Faucet": "0xd3FDC0b3696C16699e68742a2ECa82baf2eC00Cb",
|
|
18
18
|
"Test WBTC / Test USDC": {
|
|
19
|
-
"address": "
|
|
19
|
+
"address": "0xa88713E9220AffaEA731D1D15aa1971EbF7dB4C5",
|
|
20
20
|
"isMarket": true,
|
|
21
|
-
"WBTC-DynamicIRM": "
|
|
21
|
+
"WBTC-DynamicIRM": "0x171D7588f641b478Bdae093c8200B8Ea1F6700D9",
|
|
22
22
|
"tokens": {
|
|
23
|
-
"WBTC": "
|
|
24
|
-
"USDC": "
|
|
23
|
+
"WBTC": "0x64723Ab5c115629a2a926c10D1f02eE23D12c3E5",
|
|
24
|
+
"USDC": "0x84c24BC0A810701df8798cD9f6D1E4E42E503121"
|
|
25
25
|
},
|
|
26
|
-
"USDC-DynamicIRM": "
|
|
26
|
+
"USDC-DynamicIRM": "0x0Fcab145a9156191c3236ACf561495BCf09BDA15"
|
|
27
27
|
},
|
|
28
28
|
"Test LUSD / Test SWETH": {
|
|
29
|
-
"address": "
|
|
29
|
+
"address": "0x3C39D0FD1f6797E893e360790A43d4F7E62CcD2e",
|
|
30
30
|
"isMarket": true,
|
|
31
|
-
"LUSD-DynamicIRM": "
|
|
31
|
+
"LUSD-DynamicIRM": "0x0b6Ee93e2d57c3Ea6A08c432A9c4dc0BA9fECF3c",
|
|
32
32
|
"tokens": {
|
|
33
|
-
"LUSD": "
|
|
34
|
-
"SWETH": "
|
|
33
|
+
"LUSD": "0x0990F62aD2cd62deB3911A14a86625aF279324BE",
|
|
34
|
+
"SWETH": "0x82FdB629B5Fbb16f1F5B407658F025726a710b47"
|
|
35
35
|
}
|
|
36
36
|
},
|
|
37
37
|
"Test mUSD / Test mETH": {
|
|
38
|
-
"address": "
|
|
38
|
+
"address": "0x67FEcbcd68B376EA537B464e31D6A16c1b4e842A",
|
|
39
39
|
"isMarket": true,
|
|
40
40
|
"tokens": {
|
|
41
|
-
"mUSD": "
|
|
42
|
-
"mETH": "
|
|
41
|
+
"mUSD": "0x51dAC461A63CF49AD52b7A565958442F29058133",
|
|
42
|
+
"mETH": "0xB3aC2CD15d594fb655073af03867109E564EB1cd"
|
|
43
43
|
},
|
|
44
|
-
"mETH-DynamicIRM": "
|
|
44
|
+
"mETH-DynamicIRM": "0xE2667C58082aec17F3c49940fB2eb64212b3f006"
|
|
45
45
|
},
|
|
46
46
|
"Test DAI / Test mkUSD": {
|
|
47
|
-
"address": "
|
|
47
|
+
"address": "0x3741Fee86bF4bcf7edEdE9FC45fc993baeA2d8d2",
|
|
48
48
|
"isMarket": true,
|
|
49
|
-
"DAI-DynamicIRM": "
|
|
49
|
+
"DAI-DynamicIRM": "0x872FF63Ed4E3A76988F21546d7dBFA82B033524C",
|
|
50
50
|
"tokens": {
|
|
51
|
-
"DAI": "
|
|
52
|
-
"mkUSD": "
|
|
51
|
+
"DAI": "0x05e5A31D678939304133Df3035b82175F0Fe17b1",
|
|
52
|
+
"mkUSD": "0x6B0655A35782bf5eC509B485062553CcD4EE00B4"
|
|
53
53
|
},
|
|
54
|
-
"mkUSD-DynamicIRM": "
|
|
54
|
+
"mkUSD-DynamicIRM": "0x50a4e86D650064666b609f0EB7cda5a053C78A72"
|
|
55
55
|
},
|
|
56
|
-
"MessagingHub": "
|
|
57
|
-
"CVE": "
|
|
58
|
-
"RewardManager": "
|
|
59
|
-
"VeCVE": "
|
|
60
|
-
"GaugeManager": "
|
|
61
|
-
"VotingHub": "
|
|
62
|
-
"WMON-MockPermissionV3Aggregator": "
|
|
63
|
-
"WMON-ChainlinkAdaptor": "
|
|
64
|
-
"VaultAggregator-WMON-aprMON": "
|
|
65
|
-
"VaultAggregator-WMON-shMON": "
|
|
56
|
+
"MessagingHub": "0x3ADF8B22a10107A0460006aC6222a8311Dc0De3D",
|
|
57
|
+
"CVE": "0x942B140e3eE2C31fCd53b7F358f63e7472BE1D41",
|
|
58
|
+
"RewardManager": "0xa7c260e9722B96F9436E8aCc410B7CDF4F2Fe447",
|
|
59
|
+
"VeCVE": "0xD914Dd0ac84dA75BFFebCbA1051Cf25D9245E15e",
|
|
60
|
+
"GaugeManager": "0xDe3D02a4B9629Eb4877f228987Ec184580EF90F7",
|
|
61
|
+
"VotingHub": "0xa5b3D28C93A7b3516f6845c9534BfB097C01e5ff",
|
|
62
|
+
"WMON-MockPermissionV3Aggregator": "0xCd88999af9e4c9dEA38982a5FdF0940d75232E9c",
|
|
63
|
+
"WMON-ChainlinkAdaptor": "0x559dd93571E7645FB343d2871Da0A8453957fdE3",
|
|
64
|
+
"VaultAggregator-WMON-aprMON": "0x198Be338311682254d32a0Cf7C0DB4Ef4Fe15A6D",
|
|
65
|
+
"VaultAggregator-WMON-shMON": "0x214a33E6Af25b93b779db63039312750F36033EA",
|
|
66
66
|
"Apriori (aprMON) / wMON": {
|
|
67
|
-
"address": "
|
|
67
|
+
"address": "0x9EDb74484bF69923B59Fb870bb14cE654EE85030",
|
|
68
68
|
"isMarket": true,
|
|
69
|
-
"
|
|
70
|
-
|
|
71
|
-
"
|
|
72
|
-
"WMON": "0x2F7692f424Ac74d2647f346BC81e39345D486bca"
|
|
69
|
+
"plugins": {
|
|
70
|
+
"nativeVaultPositionManager": "0x9ac9221Ed151b5c629D4e577feF724f311A1B3F0",
|
|
71
|
+
"nativeVaultZapper": "0xFA6316bD9C98181AB30d07F69B449bc1114f05A1"
|
|
73
72
|
},
|
|
74
|
-
"
|
|
73
|
+
"aprMON-DynamicIRM": "0x9404d710850150878A251396457A7032c9e4307B",
|
|
74
|
+
"tokens": {
|
|
75
|
+
"aprMON": "0x3AA88876944c3508ff5691E1d4cC3C0012C40E64",
|
|
76
|
+
"WMON": "0x262b63F92DfBc2C7Ae08A49E8e549Ad5Db048cC1"
|
|
77
|
+
}
|
|
75
78
|
},
|
|
76
79
|
"Fastlane (shMON) / wMON": {
|
|
77
|
-
"address": "
|
|
80
|
+
"address": "0x7e8F20CF13aDCBd015a73d79cc14B70F376BC0b6",
|
|
78
81
|
"isMarket": true,
|
|
79
|
-
"shMON-DynamicIRM": "0x5794A2bFFa40461784d5F401DaB686F26dB3B617",
|
|
80
|
-
"tokens": {
|
|
81
|
-
"shMON": "0x7235042eA35F6098CB1E3B2FDb13648b89C377E7",
|
|
82
|
-
"WMON": "0xdb2fC2Ce605Fefe490243e401d654c318d553B55"
|
|
83
|
-
},
|
|
84
|
-
"WMON-DynamicIRM": "0xF723C290170E50cea79072dD543a061a826085D4",
|
|
85
82
|
"plugins": {
|
|
86
|
-
"
|
|
87
|
-
"
|
|
83
|
+
"nativeVaultPositionManager": "0x3B9ce03863925EeD39fF3B984AAf6F7C4d0AA51A",
|
|
84
|
+
"nativeVaultZapper": "0xc448E294A277e59213ec9C90574710546d22017B"
|
|
85
|
+
},
|
|
86
|
+
"shMON-DynamicIRM": "0x9A99f16f77D9109C6647E249e1D5BDdE27043456",
|
|
87
|
+
"tokens": {
|
|
88
|
+
"shMON": "0xE7f1fF97325aa2a89CAA51E4F26dc6Fff1eADB80",
|
|
89
|
+
"WMON": "0x6D42f8B203523Ad49388331BDddc0Ed087b221f5"
|
|
88
90
|
}
|
|
89
91
|
},
|
|
90
|
-
"
|
|
91
|
-
"address": "
|
|
92
|
+
"Kintsu (sMON) / wMON": {
|
|
93
|
+
"address": "0x4ca79543a2960a88fFF2EF9a97B155c037c325AD",
|
|
92
94
|
"isMarket": true,
|
|
93
|
-
"
|
|
94
|
-
|
|
95
|
-
"
|
|
96
|
-
"WMON": "0xE3C9E904cCeAB90fcEB91E457fCB501984086f7E"
|
|
95
|
+
"plugins": {
|
|
96
|
+
"nativeVaultPositionManager": "0x4d342fa3d31972BD9Da80a22bc5597d25Bb2CE9E",
|
|
97
|
+
"nativeVaultZapper": "0xeE01F22514006a4bA4aE9F747B0A83714E77B06F"
|
|
97
98
|
},
|
|
98
|
-
"
|
|
99
|
+
"sMON-DynamicIRM": "0xe8361763954c0420092397b361D51a08516fc9D8",
|
|
100
|
+
"tokens": {
|
|
101
|
+
"sMON": "0x3268aAE70B9D7cfeE96CF886CeE81BcFD68e3F2c",
|
|
102
|
+
"WMON": "0x18FD92a1c40631500617b63617eF3A8BDBcd57d4"
|
|
103
|
+
}
|
|
99
104
|
},
|
|
100
|
-
"
|
|
101
|
-
"address": "
|
|
105
|
+
"Magma (gMON) / wMON": {
|
|
106
|
+
"address": "0xD20eBFCEbC49174df0B1Abb300f5Fc8ea5035061",
|
|
102
107
|
"isMarket": true,
|
|
103
|
-
"
|
|
104
|
-
|
|
105
|
-
"
|
|
106
|
-
"WMON": "0xc14E96cb1A9E20B46D61B7981A480CffA126a456"
|
|
108
|
+
"plugins": {
|
|
109
|
+
"nativeVaultPositionManager": "0xe2C8FbDCFEa8F678B19d454f3cAf6CE7Fa0A19a2",
|
|
110
|
+
"nativeVaultZapper": "0x6c781e4CaDCDC6A59c2A43E138206e06254F732C"
|
|
107
111
|
},
|
|
108
|
-
"
|
|
112
|
+
"gMON-DynamicIRM": "0xbE1a4830AeEE90E6Ed0B918d5e4986046A15460d",
|
|
113
|
+
"tokens": {
|
|
114
|
+
"gMON": "0x539B35dE0489d27Dc97BEDd194648B0741096167",
|
|
115
|
+
"WMON": "0x8b87B990192dE9fd8374e4547D93626494FE5A6F"
|
|
116
|
+
}
|
|
109
117
|
},
|
|
110
|
-
"ProtocolReader": "
|
|
118
|
+
"ProtocolReader": "0xEc0f69709A34265d29765C3777684A9F165d9edb"
|
|
111
119
|
}
|
|
@@ -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;
|
|
@@ -84,8 +72,6 @@ export declare class CToken {
|
|
|
84
72
|
get remainingDebt(): bigint;
|
|
85
73
|
get asset(): import("./ProtocolReader").StaticMarketAsset;
|
|
86
74
|
get isBorrowable(): boolean;
|
|
87
|
-
get canZap(): boolean;
|
|
88
|
-
get canLeverage(): boolean;
|
|
89
75
|
/** @returns Collateral Ratio in BPS or bigint */
|
|
90
76
|
getCollRatio(inBPS: true): Percentage;
|
|
91
77
|
getCollRatio(inBPS: false): bigint;
|
|
@@ -151,7 +137,7 @@ export declare class CToken {
|
|
|
151
137
|
ltv(): Percentage;
|
|
152
138
|
getAsset(asErc20: true): ERC20;
|
|
153
139
|
getAsset(asErc20: false): address;
|
|
154
|
-
getPrice(asset?: boolean, lower?: boolean):
|
|
140
|
+
getPrice(asset?: boolean, lower?: boolean): USD;
|
|
155
141
|
getApy(): Decimal;
|
|
156
142
|
getTvl(inUSD: true): USD;
|
|
157
143
|
getTvl(inUSD: false): bigint;
|
|
@@ -161,6 +147,12 @@ export declare class CToken {
|
|
|
161
147
|
getTotalCollateral(inUSD: false): bigint;
|
|
162
148
|
fetchTotalCollateral(inUSD: true): Promise<USD>;
|
|
163
149
|
fetchTotalCollateral(inUSD: false): Promise<bigint>;
|
|
150
|
+
getZapper(type: ZapperTypes): Zapper;
|
|
151
|
+
isPluginApproved(plugin: ZapperTypes): Promise<boolean>;
|
|
152
|
+
approvePlugin(plugin: ZapperTypes): Promise<TransactionResponse>;
|
|
153
|
+
getPluginAddress(plugin: ZapperTypes): address;
|
|
154
|
+
getAllowance(check_contract: address): Promise<bigint>;
|
|
155
|
+
approve(amount: TokenInput | null, spender: address): Promise<TransactionResponse>;
|
|
164
156
|
fetchDecimals(): Promise<bigint>;
|
|
165
157
|
fetchIsBorrowable(): Promise<boolean>;
|
|
166
158
|
fetchAsset(): Promise<`0x${string}`>;
|
|
@@ -174,54 +166,33 @@ export declare class CToken {
|
|
|
174
166
|
marketCollateralPosted(): Promise<bigint>;
|
|
175
167
|
balanceOf(account: address): Promise<bigint>;
|
|
176
168
|
maxDeposit(receiver: address): Promise<bigint>;
|
|
177
|
-
transfer(receiver: address, amount:
|
|
178
|
-
redeemCollateral(
|
|
179
|
-
postCollateral(
|
|
180
|
-
removeCollateral(
|
|
181
|
-
withdrawCollateral(
|
|
169
|
+
transfer(receiver: address, amount: TokenInput): Promise<TransactionResponse>;
|
|
170
|
+
redeemCollateral(amount: Decimal, receiver?: address | null, owner?: address | null): Promise<TransactionResponse>;
|
|
171
|
+
postCollateral(amount: TokenInput): Promise<TransactionResponse>;
|
|
172
|
+
removeCollateral(amount: TokenInput): Promise<TransactionResponse>;
|
|
173
|
+
withdrawCollateral(amount: TokenInput, receiver?: address | null, owner?: address | null): Promise<TransactionResponse>;
|
|
182
174
|
convertToAssets(shares: bigint): Promise<bigint>;
|
|
183
175
|
convertToShares(assets: bigint): Promise<bigint>;
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
176
|
+
convertTokenInput(amount: TokenInput, inShares?: boolean): bigint;
|
|
177
|
+
deposit(amount: TokenInput, zap?: ZapperTypes, receiver?: address | null): Promise<TransactionResponse>;
|
|
178
|
+
depositAsCollateral(amount: Decimal, zap?: ZapperTypes, receiver?: address | null): Promise<TransactionResponse>;
|
|
179
|
+
redeem(amount: TokenInput, receiver?: address | null, owner?: address | null): Promise<TransactionResponse>;
|
|
187
180
|
collateralPosted(account: address): Promise<bigint>;
|
|
188
181
|
multicall(calls: MulticallAction[]): Promise<TransactionResponse>;
|
|
189
182
|
getSnapshot(account: address): Promise<{
|
|
190
183
|
asset: `0x${string}`;
|
|
191
184
|
decimals: bigint;
|
|
192
185
|
isCollateral: boolean;
|
|
193
|
-
exchangeRate: bigint;
|
|
194
186
|
collateralPosted: bigint;
|
|
195
187
|
debtBalance: bigint;
|
|
196
188
|
}>;
|
|
197
189
|
fetchConvertTokensToUsd(tokenAmount: bigint, asset?: boolean): Promise<Decimal>;
|
|
198
190
|
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>;
|
|
191
|
+
buildMultiCallAction(calldata: bytes): MulticallAction;
|
|
192
|
+
private _checkDepositApprovals;
|
|
193
|
+
oracleRoute(calldata: bytes, override?: {
|
|
194
|
+
[key: string]: any;
|
|
195
|
+
}): Promise<TransactionResponse>;
|
|
196
|
+
getPriceUpdates(): Promise<MulticallAction[]>;
|
|
226
197
|
}
|
|
227
198
|
//# 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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"}
|