impermax-sdk 1.1.82 → 1.1.83
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.
|
@@ -290,21 +290,19 @@ class OnchainAccountLendingPool {
|
|
|
290
290
|
return __awaiter(this, void 0, void 0, function* () {
|
|
291
291
|
const { valueCollateral, valueA, valueB } = yield this.getMarketValues(onchainTypes_1.NO_CHANGES);
|
|
292
292
|
const [reservesWeight0, reservesWeight1] = yield this.lendingPool.getMarketReservesWeights();
|
|
293
|
-
const adjCollateralValue = valueCollateral / Math.sqrt(slippage);
|
|
294
293
|
const collateralValueA = valueCollateral * reservesWeight0;
|
|
295
294
|
const collateralValueB = valueCollateral * reservesWeight1;
|
|
296
|
-
console.log("getMaxDeleverage", valueCollateral, valueA, valueB, reservesWeight0, reservesWeight1, adjCollateralValue, collateralValueA, collateralValueB);
|
|
297
295
|
if (collateralValueA >= valueA && collateralValueB >= valueB) {
|
|
298
296
|
return this.getCollateral().getDeposited();
|
|
299
297
|
}
|
|
300
|
-
if (
|
|
298
|
+
if (valueCollateral < valueA + valueB) {
|
|
301
299
|
return 0;
|
|
302
300
|
}
|
|
303
301
|
if (valueA / collateralValueA < valueB / collateralValueB) {
|
|
304
|
-
return (valueA + valueA / collateralValueA * collateralValueB)
|
|
302
|
+
return (valueA + valueA / collateralValueA * collateralValueB);
|
|
305
303
|
}
|
|
306
304
|
else {
|
|
307
|
-
return (valueB + valueB / collateralValueB * collateralValueA)
|
|
305
|
+
return (valueB + valueB / collateralValueB * collateralValueA);
|
|
308
306
|
}
|
|
309
307
|
});
|
|
310
308
|
}
|