@curvefi/llamalend-api 2.2.5 → 2.3.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/README.md +23 -26
- package/lib/constants/abis/ControllerV2.json +0 -17
- package/lib/constants/aliases.js +5 -5
- package/lib/lendMarkets/LendMarketTemplate.js +1 -0
- package/lib/lendMarkets/interfaces/leverageZapV2.d.ts +31 -63
- package/lib/lendMarkets/interfaces/v1/loanV1.d.ts +1 -0
- package/lib/lendMarkets/interfaces/v2/loanV2.d.ts +1 -0
- package/lib/lendMarkets/modules/common/leverageZapV2Base.d.ts +34 -65
- package/lib/lendMarkets/modules/common/leverageZapV2Base.js +107 -127
- package/lib/lendMarkets/modules/common/loanBase.d.ts +1 -0
- package/lib/lendMarkets/modules/v1/leverageV1ZapV2.d.ts +3 -3
- package/lib/lendMarkets/modules/v1/leverageV1ZapV2.js +12 -12
- package/lib/lendMarkets/modules/v1/loanV1.d.ts +1 -0
- package/lib/lendMarkets/modules/v1/loanV1.js +5 -0
- package/lib/lendMarkets/modules/v2/leverageV2ZapV2.d.ts +3 -3
- package/lib/lendMarkets/modules/v2/leverageV2ZapV2.js +10 -17
- package/lib/lendMarkets/modules/v2/loanV2.d.ts +1 -0
- package/lib/lendMarkets/modules/v2/loanV2.js +9 -0
- package/lib/utils.d.ts +3 -11
- package/lib/utils.js +2 -10
- package/package.json +1 -1
- package/src/constants/abis/ControllerV2.json +0 -17
- package/src/constants/aliases.ts +5 -5
- package/src/lendMarkets/LendMarketTemplate.ts +1 -0
- package/src/lendMarkets/interfaces/leverageZapV2.ts +30 -72
- package/src/lendMarkets/interfaces/v1/loanV1.ts +2 -0
- package/src/lendMarkets/interfaces/v2/loanV2.ts +2 -0
- package/src/lendMarkets/modules/common/leverageZapV2Base.ts +112 -175
- package/src/lendMarkets/modules/common/loanBase.ts +2 -0
- package/src/lendMarkets/modules/v1/leverageV1ZapV2.ts +9 -12
- package/src/lendMarkets/modules/v1/loanV1.ts +4 -0
- package/src/lendMarkets/modules/v2/leverageV2ZapV2.ts +7 -17
- package/src/lendMarkets/modules/v2/loanV2.ts +10 -0
- package/src/utils.ts +5 -27
|
@@ -20,9 +20,9 @@ export declare abstract class LeverageZapV2BaseModule {
|
|
|
20
20
|
protected abstract _calcRepayHealthCall(_dCollateral: bigint, _dDebt: bigint, N: number | bigint, user: string, full: boolean): Promise<bigint>;
|
|
21
21
|
protected abstract _calcDebtN1Call(_collateral: bigint, _debt: bigint, N: number | bigint): Promise<bigint>;
|
|
22
22
|
protected abstract _calcDebtN1MulticallCall(_collateral: bigint, _debt: bigint, N: number | bigint): any;
|
|
23
|
-
protected abstract _createLoanContractCall(_userCollateral: bigint,
|
|
24
|
-
protected abstract _borrowMoreContractCall(_userCollateral: bigint,
|
|
25
|
-
protected abstract _repayContractCall(_userCollateral: bigint,
|
|
23
|
+
protected abstract _createLoanContractCall(_userCollateral: bigint, _debt: bigint, _minRecv: bigint, range: number, router: string, exchangeCalldata: string, estimateGas: boolean): Promise<string | TGas>;
|
|
24
|
+
protected abstract _borrowMoreContractCall(_userCollateral: bigint, _debt: bigint, _minRecv: bigint, router: string, exchangeCalldata: string, estimateGas: boolean): Promise<string | TGas>;
|
|
25
|
+
protected abstract _repayContractCall(_userCollateral: bigint, _minRecv: bigint, router: string, exchangeCalldata: string, estimateGas: boolean): Promise<string | TGas>;
|
|
26
26
|
protected abstract _getMaxAdditionalBorrowable(_stateCollateral: bigint, _dCollateral: bigint, _N: bigint, _stateDebt: bigint, address: string): Promise<bigint>;
|
|
27
27
|
protected _getMarketId: () => number;
|
|
28
28
|
hasLeverage: () => boolean;
|
|
@@ -30,9 +30,8 @@ export declare abstract class LeverageZapV2BaseModule {
|
|
|
30
30
|
_get_k_effective_BN(N: number): Promise<BigNumber>;
|
|
31
31
|
maxLeverage(N: number): Promise<string>;
|
|
32
32
|
calcMinRecv(expected: TAmount, slippage: number): string;
|
|
33
|
-
leverageCreateLoanMaxRecv({ userCollateral,
|
|
33
|
+
leverageCreateLoanMaxRecv({ userCollateral, range, getExpected }: {
|
|
34
34
|
userCollateral: TAmount;
|
|
35
|
-
userBorrowed: TAmount;
|
|
36
35
|
range: number;
|
|
37
36
|
getExpected: GetExpectedFn;
|
|
38
37
|
}): Promise<{
|
|
@@ -44,9 +43,8 @@ export declare abstract class LeverageZapV2BaseModule {
|
|
|
44
43
|
maxLeverage: string;
|
|
45
44
|
avgPrice: string;
|
|
46
45
|
}>;
|
|
47
|
-
leverageCreateLoanMaxRecvAllRanges: (({ userCollateral,
|
|
46
|
+
leverageCreateLoanMaxRecvAllRanges: (({ userCollateral, getExpected }: {
|
|
48
47
|
userCollateral: TAmount;
|
|
49
|
-
userBorrowed: TAmount;
|
|
50
48
|
getExpected: GetExpectedFn;
|
|
51
49
|
}) => Promise<IDict<{
|
|
52
50
|
maxDebt: string;
|
|
@@ -56,9 +54,8 @@ export declare abstract class LeverageZapV2BaseModule {
|
|
|
56
54
|
collateralFromMaxDebt: string;
|
|
57
55
|
maxLeverage: string;
|
|
58
56
|
avgPrice: string;
|
|
59
|
-
}>>) & memoize.Memoized<({ userCollateral,
|
|
57
|
+
}>>) & memoize.Memoized<({ userCollateral, getExpected }: {
|
|
60
58
|
userCollateral: TAmount;
|
|
61
|
-
userBorrowed: TAmount;
|
|
62
59
|
getExpected: GetExpectedFn;
|
|
63
60
|
}) => Promise<IDict<{
|
|
64
61
|
maxDebt: string;
|
|
@@ -70,9 +67,8 @@ export declare abstract class LeverageZapV2BaseModule {
|
|
|
70
67
|
avgPrice: string;
|
|
71
68
|
}>>>;
|
|
72
69
|
private _leverageExpectedCollateral;
|
|
73
|
-
leverageCreateLoanExpectedCollateral({ userCollateral,
|
|
70
|
+
leverageCreateLoanExpectedCollateral({ userCollateral, debt, quote }: {
|
|
74
71
|
userCollateral: TAmount;
|
|
75
|
-
userBorrowed: TAmount;
|
|
76
72
|
debt: TAmount;
|
|
77
73
|
quote: IQuote;
|
|
78
74
|
}): Promise<{
|
|
@@ -83,17 +79,15 @@ export declare abstract class LeverageZapV2BaseModule {
|
|
|
83
79
|
leverage: string;
|
|
84
80
|
avgPrice: string;
|
|
85
81
|
}>;
|
|
86
|
-
leverageCreateLoanExpectedMetrics({ userCollateral,
|
|
82
|
+
leverageCreateLoanExpectedMetrics({ userCollateral, debt, range, quote, healthIsFull }: {
|
|
87
83
|
userCollateral: TAmount;
|
|
88
|
-
userBorrowed: TAmount;
|
|
89
84
|
debt: TAmount;
|
|
90
85
|
range: number;
|
|
91
86
|
quote: IQuote;
|
|
92
87
|
healthIsFull?: boolean;
|
|
93
88
|
}): Promise<ILeverageMetrics>;
|
|
94
|
-
leverageCreateLoanMaxRange({ userCollateral,
|
|
89
|
+
leverageCreateLoanMaxRange({ userCollateral, debt, getExpected }: {
|
|
95
90
|
userCollateral: TAmount;
|
|
96
|
-
userBorrowed: TAmount;
|
|
97
91
|
debt: TAmount;
|
|
98
92
|
getExpected: GetExpectedFn;
|
|
99
93
|
}): Promise<number>;
|
|
@@ -101,55 +95,47 @@ export declare abstract class LeverageZapV2BaseModule {
|
|
|
101
95
|
private _leverageCalcN1AllRanges;
|
|
102
96
|
private _leverageBands;
|
|
103
97
|
private _leverageCreateLoanBandsAllRanges;
|
|
104
|
-
leverageCreateLoanBandsAllRanges({ userCollateral,
|
|
98
|
+
leverageCreateLoanBandsAllRanges({ userCollateral, debt, getExpected, quote }: {
|
|
105
99
|
userCollateral: TAmount;
|
|
106
|
-
userBorrowed: TAmount;
|
|
107
100
|
debt: TAmount;
|
|
108
101
|
getExpected: GetExpectedFn;
|
|
109
102
|
quote: IQuote;
|
|
110
103
|
}): Promise<IDict<[number, number] | null>>;
|
|
111
|
-
leverageCreateLoanPricesAllRanges({ userCollateral,
|
|
104
|
+
leverageCreateLoanPricesAllRanges({ userCollateral, debt, getExpected, quote }: {
|
|
112
105
|
userCollateral: TAmount;
|
|
113
|
-
userBorrowed: TAmount;
|
|
114
106
|
debt: TAmount;
|
|
115
107
|
getExpected: GetExpectedFn;
|
|
116
108
|
quote: IQuote;
|
|
117
109
|
}): Promise<IDict<[string, string] | null>>;
|
|
118
110
|
private _leverageHealth;
|
|
119
|
-
leverageCreateLoanIsApproved({ userCollateral
|
|
111
|
+
leverageCreateLoanIsApproved({ userCollateral }: {
|
|
120
112
|
userCollateral: TAmount;
|
|
121
|
-
userBorrowed: TAmount;
|
|
122
113
|
}): Promise<boolean>;
|
|
123
|
-
leverageCreateLoanApproveEstimateGas({ userCollateral
|
|
114
|
+
leverageCreateLoanApproveEstimateGas({ userCollateral }: {
|
|
124
115
|
userCollateral: TAmount;
|
|
125
|
-
userBorrowed: TAmount;
|
|
126
116
|
}): Promise<TGas>;
|
|
127
|
-
leverageCreateLoanApprove({ userCollateral
|
|
117
|
+
leverageCreateLoanApprove({ userCollateral }: {
|
|
128
118
|
userCollateral: TAmount;
|
|
129
|
-
userBorrowed: TAmount;
|
|
130
119
|
}): Promise<string[]>;
|
|
131
120
|
private _leverageCreateLoan;
|
|
132
|
-
leverageCreateLoanEstimateGas({ userCollateral,
|
|
121
|
+
leverageCreateLoanEstimateGas({ userCollateral, debt, range, minRecv, router, calldata }: {
|
|
133
122
|
userCollateral: TAmount;
|
|
134
|
-
userBorrowed: TAmount;
|
|
135
123
|
debt: TAmount;
|
|
136
124
|
range: number;
|
|
137
125
|
minRecv: TAmount;
|
|
138
126
|
router: string;
|
|
139
127
|
calldata: string;
|
|
140
128
|
}): Promise<number>;
|
|
141
|
-
leverageCreateLoan({ userCollateral,
|
|
129
|
+
leverageCreateLoan({ userCollateral, debt, range, minRecv, router, calldata }: {
|
|
142
130
|
userCollateral: TAmount;
|
|
143
|
-
userBorrowed: TAmount;
|
|
144
131
|
debt: TAmount;
|
|
145
132
|
range: number;
|
|
146
133
|
minRecv: TAmount;
|
|
147
134
|
router: string;
|
|
148
135
|
calldata: string;
|
|
149
136
|
}): Promise<string>;
|
|
150
|
-
leverageBorrowMoreMaxRecv({ userCollateral,
|
|
137
|
+
leverageBorrowMoreMaxRecv({ userCollateral, getExpected, address }: {
|
|
151
138
|
userCollateral: TAmount;
|
|
152
|
-
userBorrowed: TAmount;
|
|
153
139
|
getExpected: GetExpectedFn;
|
|
154
140
|
address?: string;
|
|
155
141
|
}): Promise<{
|
|
@@ -160,9 +146,8 @@ export declare abstract class LeverageZapV2BaseModule {
|
|
|
160
146
|
collateralFromMaxDebt: string;
|
|
161
147
|
avgPrice: string;
|
|
162
148
|
}>;
|
|
163
|
-
leverageBorrowMoreExpectedCollateral({ userCollateral,
|
|
149
|
+
leverageBorrowMoreExpectedCollateral({ userCollateral, dDebt, quote, address }: {
|
|
164
150
|
userCollateral: TAmount;
|
|
165
|
-
userBorrowed: TAmount;
|
|
166
151
|
dDebt: TAmount;
|
|
167
152
|
quote: IQuote;
|
|
168
153
|
address?: string;
|
|
@@ -173,51 +158,44 @@ export declare abstract class LeverageZapV2BaseModule {
|
|
|
173
158
|
collateralFromDebt: string;
|
|
174
159
|
avgPrice: string;
|
|
175
160
|
}>;
|
|
176
|
-
leverageBorrowMoreExpectedMetrics({ userCollateral,
|
|
161
|
+
leverageBorrowMoreExpectedMetrics({ userCollateral, debt, quote, healthIsFull, address }: {
|
|
177
162
|
userCollateral: TAmount;
|
|
178
|
-
userBorrowed: TAmount;
|
|
179
163
|
debt: TAmount;
|
|
180
164
|
quote: IQuote;
|
|
181
165
|
healthIsFull?: boolean;
|
|
182
166
|
address?: string;
|
|
183
167
|
}): Promise<ILeverageMetrics>;
|
|
184
168
|
private _leverageBorrowMore;
|
|
185
|
-
leverageBorrowMoreIsApproved({ userCollateral
|
|
169
|
+
leverageBorrowMoreIsApproved({ userCollateral }: {
|
|
186
170
|
userCollateral: TAmount;
|
|
187
|
-
userBorrowed: TAmount;
|
|
188
171
|
}): Promise<boolean>;
|
|
189
|
-
leverageBorrowMoreApprove({ userCollateral
|
|
172
|
+
leverageBorrowMoreApprove({ userCollateral }: {
|
|
190
173
|
userCollateral: TAmount;
|
|
191
|
-
userBorrowed: TAmount;
|
|
192
174
|
}): Promise<string[]>;
|
|
193
|
-
leverageBorrowMoreEstimateGas({ userCollateral,
|
|
175
|
+
leverageBorrowMoreEstimateGas({ userCollateral, debt, minRecv, router, calldata }: {
|
|
194
176
|
userCollateral: TAmount;
|
|
195
|
-
userBorrowed: TAmount;
|
|
196
177
|
debt: TAmount;
|
|
197
178
|
minRecv: TAmount;
|
|
198
179
|
router: string;
|
|
199
180
|
calldata: string;
|
|
200
181
|
}): Promise<number>;
|
|
201
|
-
leverageBorrowMore({ userCollateral,
|
|
182
|
+
leverageBorrowMore({ userCollateral, debt, minRecv, router, calldata }: {
|
|
202
183
|
userCollateral: TAmount;
|
|
203
|
-
userBorrowed: TAmount;
|
|
204
184
|
debt: TAmount;
|
|
205
185
|
minRecv: TAmount;
|
|
206
186
|
router: string;
|
|
207
187
|
calldata: string;
|
|
208
188
|
}): Promise<string>;
|
|
209
|
-
leverageBorrowMoreFutureLeverage({ userCollateral,
|
|
189
|
+
leverageBorrowMoreFutureLeverage({ userCollateral, debt, quote, address }: {
|
|
210
190
|
userCollateral: TAmount;
|
|
211
|
-
userBorrowed: TAmount;
|
|
212
191
|
debt: TAmount;
|
|
213
192
|
quote: IQuote;
|
|
214
193
|
address?: string;
|
|
215
194
|
}): Promise<string>;
|
|
216
195
|
private _leverageRepayExpectedBorrowed;
|
|
217
|
-
leverageRepayExpectedBorrowed: ({ stateCollateral, userCollateral,
|
|
196
|
+
leverageRepayExpectedBorrowed: ({ stateCollateral, userCollateral, quote }: {
|
|
218
197
|
stateCollateral: TAmount;
|
|
219
198
|
userCollateral: TAmount;
|
|
220
|
-
userBorrowed: TAmount;
|
|
221
199
|
quote: IQuote;
|
|
222
200
|
}) => Promise<{
|
|
223
201
|
totalBorrowed: string;
|
|
@@ -226,63 +204,54 @@ export declare abstract class LeverageZapV2BaseModule {
|
|
|
226
204
|
userBorrowed: string;
|
|
227
205
|
avgPrice: string;
|
|
228
206
|
}>;
|
|
229
|
-
leverageRepayIsFull({ stateCollateral, userCollateral,
|
|
207
|
+
leverageRepayIsFull({ stateCollateral, userCollateral, quote, address }: {
|
|
230
208
|
stateCollateral: TAmount;
|
|
231
209
|
userCollateral: TAmount;
|
|
232
|
-
userBorrowed: TAmount;
|
|
233
210
|
quote: IQuote;
|
|
234
211
|
address?: string;
|
|
235
212
|
}): Promise<boolean>;
|
|
236
|
-
leverageRepayIsAvailable({ stateCollateral, userCollateral,
|
|
213
|
+
leverageRepayIsAvailable({ stateCollateral, userCollateral, quote, address }: {
|
|
237
214
|
stateCollateral: TAmount;
|
|
238
215
|
userCollateral: TAmount;
|
|
239
|
-
userBorrowed: TAmount;
|
|
240
216
|
quote: IQuote;
|
|
241
217
|
address?: string;
|
|
242
218
|
}): Promise<boolean>;
|
|
243
|
-
leverageRepayExpectedMetrics({ stateCollateral, userCollateral,
|
|
219
|
+
leverageRepayExpectedMetrics({ stateCollateral, userCollateral, healthIsFull, quote, address }: {
|
|
244
220
|
stateCollateral: TAmount;
|
|
245
221
|
userCollateral: TAmount;
|
|
246
|
-
userBorrowed: TAmount;
|
|
247
222
|
healthIsFull: boolean;
|
|
248
223
|
quote: IQuote;
|
|
249
224
|
address: string;
|
|
250
225
|
}): Promise<ILeverageMetrics>;
|
|
251
226
|
private _leverageRepayBands;
|
|
252
227
|
private _leverageRepayHealth;
|
|
253
|
-
leverageRepayIsApproved({ userCollateral
|
|
228
|
+
leverageRepayIsApproved({ userCollateral }: {
|
|
254
229
|
userCollateral: TAmount;
|
|
255
|
-
userBorrowed: TAmount;
|
|
256
230
|
}): Promise<boolean>;
|
|
257
|
-
leverageRepayApproveEstimateGas({ userCollateral
|
|
231
|
+
leverageRepayApproveEstimateGas({ userCollateral }: {
|
|
258
232
|
userCollateral: TAmount;
|
|
259
|
-
userBorrowed: TAmount;
|
|
260
233
|
}): Promise<TGas>;
|
|
261
|
-
leverageRepayApprove({ userCollateral
|
|
234
|
+
leverageRepayApprove({ userCollateral }: {
|
|
262
235
|
userCollateral: TAmount;
|
|
263
|
-
userBorrowed: TAmount;
|
|
264
236
|
}): Promise<string[]>;
|
|
265
237
|
private _leverageRepay;
|
|
266
|
-
leverageRepayEstimateGas({ stateCollateral, userCollateral,
|
|
238
|
+
leverageRepayEstimateGas({ stateCollateral, userCollateral, minRecv, router, calldata }: {
|
|
267
239
|
stateCollateral: TAmount;
|
|
268
240
|
userCollateral: TAmount;
|
|
269
|
-
userBorrowed: TAmount;
|
|
270
241
|
minRecv: TAmount;
|
|
271
242
|
router: string;
|
|
272
243
|
calldata: string;
|
|
273
244
|
}): Promise<number>;
|
|
274
|
-
leverageRepay({ stateCollateral, userCollateral,
|
|
245
|
+
leverageRepay({ stateCollateral, userCollateral, minRecv, router, calldata }: {
|
|
275
246
|
stateCollateral: TAmount;
|
|
276
247
|
userCollateral: TAmount;
|
|
277
|
-
userBorrowed: TAmount;
|
|
278
248
|
minRecv: TAmount;
|
|
279
249
|
router: string;
|
|
280
250
|
calldata: string;
|
|
281
251
|
}): Promise<string>;
|
|
282
|
-
leverageRepayFutureLeverage({ stateCollateral, userCollateral,
|
|
252
|
+
leverageRepayFutureLeverage({ stateCollateral, userCollateral, address }: {
|
|
283
253
|
stateCollateral: TAmount;
|
|
284
254
|
userCollateral: TAmount;
|
|
285
|
-
userBorrowed: TAmount;
|
|
286
255
|
address?: string;
|
|
287
256
|
}): Promise<string>;
|
|
288
257
|
}
|