mirror of
https://github.com/Instadapp/dsa-connectors-old.git
synced 2024-07-29 22:47:46 +00:00
Fixed repay issue
This commit is contained in:
parent
96346543b9
commit
9ec4a5a0bb
|
@ -131,8 +131,6 @@ contract BasicResolver is AaveHelpers {
|
|||
AaveCoreInterface aaveCore = AaveCoreInterface(getAaveCoreAddress());
|
||||
ATokenInterface atoken = ATokenInterface(aaveCore.getReserveATokenAddress(token));
|
||||
|
||||
_amt = _amt == uint(-1) ? atoken.balanceOf(address(this)) : _amt;
|
||||
|
||||
uint initialBal = token == getEthAddr() ? address(this).balance : TokenInterface(token).balanceOf(address(this));
|
||||
atoken.redeem(_amt);
|
||||
uint finialBal = token == getEthAddr() ? address(this).balance : TokenInterface(token).balanceOf(address(this));
|
||||
|
@ -178,8 +176,22 @@ contract BasicResolver is AaveHelpers {
|
|||
uint _amt = getUint(getId, amt);
|
||||
AaveInterface aave = AaveInterface(getAaveAddress());
|
||||
|
||||
_amt = _amt == uint(-1) ? getPaybackBalance(aave, token) : _amt;
|
||||
|
||||
if (_amt == uint(-1)) {
|
||||
if (token == getEthAddr()) {
|
||||
uint ethAmt = getPaybackBalance(aave, token) + 100000000;
|
||||
require(address(this).balance >= ethAmt, "not-enough-eth");
|
||||
aave.repay.value(ethAmt)(token, ethAmt, payable(address(this)));
|
||||
} else {
|
||||
TokenInterface tokenContract = TokenInterface(token);
|
||||
require(tokenContract.balanceOf(address(this)) >= _amt, "not-enough-token");
|
||||
tokenContract.approve(getAaveCoreAddress(), uint(-1));
|
||||
uint initalBal = tokenContract.balanceOf(address(this));
|
||||
aave.repay(token, uint(-1), payable(address(this)));
|
||||
uint finalBal = tokenContract.balanceOf(address(this));
|
||||
tokenContract.approve(getAaveCoreAddress(), 0);
|
||||
_amt = sub(initalBal, finalBal);
|
||||
}
|
||||
} else {
|
||||
uint ethAmt;
|
||||
if (token == getEthAddr()) {
|
||||
require(address(this).balance >= _amt, "not-enough-eth");
|
||||
|
@ -189,8 +201,9 @@ contract BasicResolver is AaveHelpers {
|
|||
require(tokenContract.balanceOf(address(this)) >= _amt, "not-enough-token");
|
||||
tokenContract.approve(getAaveCoreAddress(), _amt);
|
||||
}
|
||||
|
||||
aave.repay.value(ethAmt)(token, _amt, payable(address(this)));
|
||||
}
|
||||
|
||||
|
||||
setUint(setId, _amt);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user