mirror of
https://github.com/Instadapp/Gelato-automations.git
synced 2024-07-29 22:28:07 +00:00
50 lines
1.3 KiB
Solidity
50 lines
1.3 KiB
Solidity
// SPDX-License-Identifier: UNLICENSED
|
|
pragma solidity 0.7.4;
|
|
|
|
import {sub, wmul, wdiv} from "../../vendor/DSMath.sol";
|
|
|
|
function _wCalcCollateralToWithdraw(
|
|
uint256 _wMinColRatioA,
|
|
uint256 _wMinColRatioB,
|
|
uint256 _wColPrice,
|
|
uint256 _wPricedCol,
|
|
uint256 _wDebtOnA
|
|
) pure returns (uint256) {
|
|
return
|
|
wdiv(
|
|
sub(
|
|
_wPricedCol,
|
|
wdiv(
|
|
sub(
|
|
wmul(_wMinColRatioA, _wPricedCol),
|
|
wmul(_wMinColRatioA, wmul(_wMinColRatioB, _wDebtOnA))
|
|
),
|
|
sub(_wMinColRatioA, _wMinColRatioB)
|
|
)
|
|
),
|
|
_wColPrice
|
|
);
|
|
}
|
|
|
|
function _wCalcDebtToRepay(
|
|
uint256 _wMinColRatioA,
|
|
uint256 _wMinColRatioB,
|
|
uint256 _wPricedCol,
|
|
uint256 _wDebtOnA
|
|
) pure returns (uint256) {
|
|
return
|
|
sub(
|
|
_wDebtOnA,
|
|
wmul(
|
|
wdiv(1e18, _wMinColRatioA),
|
|
wdiv(
|
|
sub(
|
|
wmul(_wMinColRatioA, _wPricedCol),
|
|
wmul(_wMinColRatioA, wmul(_wMinColRatioB, _wDebtOnA))
|
|
),
|
|
sub(_wMinColRatioA, _wMinColRatioB)
|
|
)
|
|
)
|
|
);
|
|
}
|