Fixed approve(token.approve => approve())

This commit is contained in:
Thrilok Kumar 2021-06-25 01:25:04 +05:30
parent 17fc4f6acb
commit 1a9ab0ac70
27 changed files with 81 additions and 63 deletions

View File

@ -27,6 +27,15 @@ abstract contract Basic is DSMath, Stores {
return abi.encode(eventName, eventParam);
}
function approve(TokenInterface token, address spender, uint256 amount) internal {
try token.approve(spender, amount) {
} catch {
token.approve(spender, 0);
token.approve(spender, amount);
}
}
function changeEthAddress(address buy, address sell) internal pure returns(TokenInterface _buy, TokenInterface _sell){
_buy = buy == ethAddr ? TokenInterface(wethAddr) : TokenInterface(buy);
_sell = sell == ethAddr ? TokenInterface(wethAddr) : TokenInterface(sell);
@ -38,7 +47,7 @@ abstract contract Basic is DSMath, Stores {
function convertWethToEth(bool isEth, TokenInterface token, uint amount) internal {
if(isEth) {
token.approve(address(token), amount);
approve(token, address(token), amount);
token.withdraw(amount);
}
}

View File

@ -74,7 +74,7 @@ abstract contract OneInchResolverHelpers is OneInchResolver {
if (address(_sellAddr) == ethAddr) {
ethAmt = oneInchData._sellAmt;
} else {
TokenInterface(_sellAddr).approve(oneInchAddr, oneInchData._sellAmt);
approve(TokenInterface(_sellAddr), oneInchAddr, oneInchData._sellAmt);
}
require(checkOneInchSig(oneInchData.callData), "Not-swap-function");

View File

@ -30,7 +30,7 @@ abstract contract OneProtoResolver is Helpers, Events {
if (address(_sellAddr) == ethAddr) {
ethAmt = _sellAmt;
} else {
_sellAddr.approve(address(oneProto), _sellAmt);
approve(_sellAddr, address(oneProto), _sellAmt);
}
@ -64,7 +64,7 @@ abstract contract OneProtoResolver is Helpers, Events {
if (address(_sellAddr) == ethAddr) {
ethAmt = _sellAmt;
} else {
_sellAddr.approve(address(oneProto), _sellAmt);
approve(_sellAddr, address(oneProto), _sellAmt);
}
uint initalBal = getTokenBal(_buyAddr);

View File

@ -37,7 +37,7 @@ abstract contract AaveResolver is Events, Helpers {
} else {
TokenInterface tokenContract = TokenInterface(token);
_amt = _amt == uint(-1) ? tokenContract.balanceOf(address(this)) : _amt;
tokenContract.approve(aaveProvider.getLendingPoolCore(), _amt);
approve(tokenContract, aaveProvider.getLendingPoolCore(), _amt);
}
aave.deposit{value: ethAmt}(token, _amt, referralCode);
@ -129,7 +129,7 @@ abstract contract AaveResolver is Events, Helpers {
if (token == ethAddr) {
ethAmt = _amt;
} else {
TokenInterface(token).approve(aaveProvider.getLendingPoolCore(), _amt);
approve(TokenInterface(token), aaveProvider.getLendingPoolCore(), _amt);
}
aave.repay{value: ethAmt}(token, _amt, payable(address(this)));

View File

@ -42,7 +42,7 @@ abstract contract AaveResolver is Events, Helpers {
_amt = _amt == uint(-1) ? tokenContract.balanceOf(address(this)) : _amt;
}
tokenContract.approve(address(aave), _amt);
approve(tokenContract, address(aave), _amt);
aave.deposit(_token, _amt, address(this), referralCode);
@ -153,7 +153,7 @@ abstract contract AaveResolver is Events, Helpers {
if (isEth) convertEthToWeth(isEth, tokenContract, _amt);
tokenContract.approve(address(aave), _amt);
approve(tokenContract, address(aave), _amt);
aave.repay(_token, _amt, rateMode, address(this));

View File

@ -42,7 +42,7 @@ abstract contract AaveResolver is Events, Helpers {
_amt = _amt == uint(-1) ? tokenContract.balanceOf(address(this)) : _amt;
}
tokenContract.approve(address(aave), _amt);
approve(tokenContract, address(aave), _amt);
aave.deposit(_token, _amt, address(this), referralCode);
@ -153,7 +153,7 @@ abstract contract AaveResolver is Events, Helpers {
if (isEth) convertEthToWeth(isEth, tokenContract, _amt);
tokenContract.approve(address(aave), _amt);
approve(tokenContract, address(aave), _amt);
aave.repay(_token, _amt, rateMode, address(this));

View File

@ -40,7 +40,7 @@ abstract contract CompoundResolver is Events, Helpers {
} else {
TokenInterface tokenContract = TokenInterface(token);
_amt = _amt == uint(-1) ? tokenContract.balanceOf(address(this)) : _amt;
tokenContract.approve(cToken, _amt);
approve(tokenContract, cToken, _amt);
require(CTokenInterface(cToken).mint(_amt) == 0, "deposit-failed");
}
setUint(setId, _amt);
@ -196,7 +196,7 @@ abstract contract CompoundResolver is Events, Helpers {
} else {
TokenInterface tokenContract = TokenInterface(token);
require(tokenContract.balanceOf(address(this)) >= _amt, "not-enough-token");
tokenContract.approve(cToken, _amt);
approve(tokenContract, cToken, _amt);
require(cTokenContract.repayBorrow(_amt) == 0, "repay-failed.");
}
setUint(setId, _amt);
@ -254,7 +254,7 @@ abstract contract CompoundResolver is Events, Helpers {
} else {
TokenInterface tokenContract = TokenInterface(token);
_amt = _amt == uint(-1) ? tokenContract.balanceOf(address(this)) : _amt;
tokenContract.approve(cToken, _amt);
approve(tokenContract, cToken, _amt);
require(ctokenContract.mint(_amt) == 0, "deposit-ctoken-failed.");
}
@ -385,7 +385,7 @@ abstract contract CompoundResolver is Events, Helpers {
} else {
TokenInterface tokenContract = TokenInterface(tokenToPay);
require(tokenContract.balanceOf(address(this)) >= _amt, "not-enough-token");
tokenContract.approve(cTokenPay, _amt);
approve(tokenContract, cTokenPay, _amt);
require(cTokenContract.liquidateBorrow(borrower, _amt, cTokenColl) == 0, "liquidate-failed");
}

View File

@ -40,7 +40,7 @@ abstract contract CreamResolver is Events, Helpers {
} else {
TokenInterface tokenContract = TokenInterface(token);
_amt = _amt == uint(-1) ? tokenContract.balanceOf(address(this)) : _amt;
tokenContract.approve(cToken, _amt);
approve(tokenContract, cToken, _amt);
require(CTokenInterface(cToken).mint(_amt) == 0, "deposit-failed");
}
setUint(setId, _amt);
@ -196,7 +196,7 @@ abstract contract CreamResolver is Events, Helpers {
} else {
TokenInterface tokenContract = TokenInterface(token);
require(tokenContract.balanceOf(address(this)) >= _amt, "not-enough-token");
tokenContract.approve(cToken, _amt);
approve(tokenContract, cToken, _amt);
require(cTokenContract.repayBorrow(_amt) == 0, "repay-failed.");
}
setUint(setId, _amt);
@ -254,7 +254,7 @@ abstract contract CreamResolver is Events, Helpers {
} else {
TokenInterface tokenContract = TokenInterface(token);
_amt = _amt == uint(-1) ? tokenContract.balanceOf(address(this)) : _amt;
tokenContract.approve(cToken, _amt);
approve(tokenContract, cToken, _amt);
require(ctokenContract.mint(_amt) == 0, "deposit-ctoken-failed.");
}
@ -384,7 +384,7 @@ abstract contract CreamResolver is Events, Helpers {
} else {
TokenInterface tokenContract = TokenInterface(tokenToPay);
require(tokenContract.balanceOf(address(this)) >= _amt, "not-enough-token");
tokenContract.approve(cTokenPay, _amt);
approve(tokenContract, cTokenPay, _amt);
require(cTokenContract.liquidateBorrow(borrower, _amt, cTokenColl) == 0, "liquidate-failed");
}

View File

@ -36,11 +36,11 @@ abstract contract DyDxResolver is Events, Helpers {
TokenInterface tokenContract = TokenInterface(wethAddr);
_amt = _amt == uint(-1) ? address(this).balance : _amt;
tokenContract.deposit{value: _amt}();
tokenContract.approve(address(solo), _amt);
approve(tokenContract, address(solo), _amt);
} else {
TokenInterface tokenContract = TokenInterface(token);
_amt = _amt == uint(-1) ? tokenContract.balanceOf(address(this)) : _amt;
tokenContract.approve(address(solo), _amt);
approve(tokenContract, address(solo), _amt);
}
solo.operate(getAccountArgs(), getActionsArgs(_marketId, _amt, true));
@ -77,7 +77,7 @@ abstract contract DyDxResolver is Events, Helpers {
if (token == ethAddr) {
TokenInterface tokenContract = TokenInterface(wethAddr);
tokenContract.approve(address(tokenContract), _amt);
approve(tokenContract, address(tokenContract), _amt);
tokenContract.withdraw(_amt);
}
@ -111,7 +111,7 @@ abstract contract DyDxResolver is Events, Helpers {
if (token == ethAddr) {
TokenInterface tokenContract = TokenInterface(wethAddr);
tokenContract.approve(address(tokenContract), _amt);
approve(tokenContract, address(tokenContract), _amt);
tokenContract.withdraw(_amt);
}
@ -148,11 +148,11 @@ abstract contract DyDxResolver is Events, Helpers {
TokenInterface tokenContract = TokenInterface(wethAddr);
require(address(this).balance >= _amt, "not-enough-eth");
tokenContract.deposit{value: _amt}();
tokenContract.approve(address(solo), _amt);
approve(tokenContract, address(solo), _amt);
} else {
TokenInterface tokenContract = TokenInterface(token);
require(tokenContract.balanceOf(address(this)) >= _amt, "not-enough-token");
tokenContract.approve(address(solo), _amt);
approve(tokenContract, address(solo), _amt);
}
solo.operate(getAccountArgs(), getActionsArgs(_marketId, _amt, true));

View File

@ -38,7 +38,7 @@ contract Main is Helpers, Events {
_amt = _amt == uint(-1) ? stakingToken.balanceOf(address(this)) : _amt;
stakingToken.approve(address(stakingContract), _amt);
approve(stakingToken, address(stakingContract), _amt);
stakingContract.stake(_amt);
setUint(setId, _amt);

View File

@ -54,12 +54,12 @@ abstract contract UniswapV3Resolver is Events, Helpers {
if (depositData.amount0In > 0) {
IERC20 _token0 = depositData.poolContract.token0();
convertEthToWeth(address(_token0) == wethAddr, TokenInterface(address(_token0)), depositData.amount0In);
_token0.safeApprove(address(pool), depositData.amount0In);
approve(TokenInterface(address(_token0)), address(pool), depositData.amount0In);
}
if (depositData.amount1In > 0) {
IERC20 _token1 = depositData.poolContract.token1();
convertEthToWeth(address(_token1) == wethAddr, TokenInterface(address(_token1)), depositData.amount1In);
_token1.safeApprove(address(pool), depositData.amount1In);
approve(TokenInterface(address(_token1)), address(pool), depositData.amount1In);
}
(uint amount0, uint amount1,) = depositData.poolContract.mint(depositData.mintAmount, address(this));
@ -151,7 +151,7 @@ abstract contract UniswapV3Resolver is Events, Helpers {
depositAndSwap.mintAmount;
if (address(depositAndSwap._token0) == wethAddr) {
depositAndSwap._token1.approve(address(gUniRouter), amount1In);
approve(depositAndSwap._token1, address(gUniRouter), amount1In);
(depositAndSwap.amount0, depositAndSwap.amount1, depositAndSwap.mintAmount) =
gUniRouter.rebalanceAndAddLiquidityETH{value: amount0In}(
@ -166,7 +166,7 @@ abstract contract UniswapV3Resolver is Events, Helpers {
address(this)
);
} else if (address(depositAndSwap._token1) == wethAddr) {
depositAndSwap._token0.approve(address(gUniRouter), amount0In);
approve(depositAndSwap._token0, address(gUniRouter), amount0In);
(depositAndSwap.amount0, depositAndSwap.amount1,depositAndSwap. mintAmount) =
gUniRouter.rebalanceAndAddLiquidityETH{value: amount1In}(
@ -181,8 +181,8 @@ abstract contract UniswapV3Resolver is Events, Helpers {
address(this)
);
} else {
depositAndSwap._token0.approve(address(gUniRouter), amount0In);
depositAndSwap._token1.approve(address(gUniRouter), amount1In);
approve(depositAndSwap._token0, address(gUniRouter), amount0In);
approve(depositAndSwap._token1, address(gUniRouter), amount1In);
(depositAndSwap.amount0, depositAndSwap.amount1, depositAndSwap.mintAmount) =
gUniRouter.rebalanceAndAddLiquidity(
depositAndSwap.poolContract,

View File

@ -35,7 +35,7 @@ contract Main is Helpers, Events {
_amt = _amt == uint(-1) ? stakingTokenContract.balanceOf(address(this)) : _amt;
stakingTokenContract.approve(address(stakingContract), _amt);
approve(stakingTokenContract, address(stakingContract), _amt);
stakingContract.stake(_amt);
setUint(setId, _amt);

View File

@ -37,7 +37,7 @@ abstract contract KyberResolver is Helpers, Events {
} else {
TokenInterface sellContract = TokenInterface(sellAddr);
_sellAmt = _sellAmt == uint(-1) ? sellContract.balanceOf(address(this)) : _sellAmt;
sellContract.approve(address(kyber), _sellAmt);
approve(sellContract, address(kyber), _sellAmt);
}
uint _buyAmt = kyber.trade{value: ethAmt}(

View File

@ -96,7 +96,7 @@ abstract contract MakerResolver is Helpers, Events {
_amt = _amt == uint(-1) ? tokenContract.balanceOf(address(this)) : _amt;
}
tokenContract.approve(address(colAddr), _amt);
approve(tokenContract, address(colAddr), _amt);
tokenJoinContract.join(address(this), _amt);
VatLike(managerContract.vat()).frob(
@ -245,7 +245,7 @@ abstract contract MakerResolver is Helpers, Events {
require(_maxDebt >= _amt, "paying-excess-debt");
daiJoinContract.dai().approve(address(daiJoinContract), _amt);
approve(daiJoinContract.dai(), address(daiJoinContract), _amt);
daiJoinContract.join(urn, _amt);
managerContract.frob(
@ -357,7 +357,7 @@ abstract contract MakerResolver is Helpers, Events {
_amtDeposit = _amtDeposit == uint(-1) ? makerData.tokenContract.balanceOf(address(this)) : _amtDeposit;
}
makerData.tokenContract.approve(address(makerData.colAddr), _amtDeposit);
approve(makerData.tokenContract, address(makerData.colAddr), _amtDeposit);
makerData.tokenJoinContract.join(urn, _amtDeposit);
managerContract.frob(
@ -462,7 +462,7 @@ abstract contract MakerResolver is Helpers, Events {
VatLike vat = daiJoinContract.vat();
uint chi = potContract.drip();
daiJoinContract.dai().approve(address(daiJoinContract), _amt);
approve(daiJoinContract.dai(), address(daiJoinContract), _amt);
daiJoinContract.join(address(this), _amt);
if (vat.can(address(this), address(potContract)) == 0) {
vat.hope(address(potContract));

View File

@ -49,7 +49,7 @@ contract OasisResolver is DSMath, Basic, Events {
bool isEth = address(_sellAddr) == wethAddr;
convertEthToWeth(isEth, _sellAddr, _expectedAmt);
_sellAddr.approve(address(oasis), _expectedAmt);
approve(_sellAddr, address(oasis), _expectedAmt);
uint _sellAmt = oasis.buyAllAmount(
address(_buyAddr),
@ -104,7 +104,7 @@ contract OasisResolver is DSMath, Basic, Events {
bool isEth = address(_sellAddr) == wethAddr;
convertEthToWeth(isEth, _sellAddr, _sellAmt);
_sellAddr.approve(address(oasis), _sellAmt);
approve(_sellAddr, address(oasis), _sellAmt);
uint _buyAmt = oasis.sellAllAmount(
address(_sellAddr),

View File

@ -36,10 +36,10 @@ abstract contract PolygonBridgeResolver is Events, Helpers {
TokenInterface _token = TokenInterface(token);
_amt = _amt == uint(-1) ? _token.balanceOf(address(this)) : _amt;
if (migrator.rootToChildToken(token) != address(0)) {
_token.approve(erc20Predicate, _amt);
approve(_token, erc20Predicate, _amt);
migrator.depositFor(targetDsa, token, abi.encode(_amt));
} else {
_token.approve(address(migratorPlasma), _amt);
approve(_token, address(migratorPlasma), _amt);
migratorPlasma.depositERC20ForUser(token, targetDsa, _amt);
}
}

View File

@ -102,7 +102,7 @@ contract AaveV1Helpers is protocolHelpers {
if (isEth) {
ethAmt = _amt;
} else {
token.approve(address(aaveCore), _amt);
approve(token, address(aaveCore), _amt);
}
transferFees(_token, feeAmt);
@ -180,7 +180,7 @@ contract AaveV1Helpers is protocolHelpers {
if (isEth) {
ethAmt = amt;
} else {
token.approve(address(aaveCore), amt);
approve(token, address(aaveCore), amt);
}
aave.repay{value:ethAmt}(_token, amt, payable(address(this)));

View File

@ -109,7 +109,7 @@ contract AaveV2Helpers is protocolHelpers {
convertEthToWeth(isEth, token, _amt);
token.approve(address(aave), _amt);
approve(token, address(aave), _amt);
aave.deposit(address(token), _amt, address(this), getReferralCode);
@ -178,7 +178,7 @@ contract AaveV2Helpers is protocolHelpers {
convertEthToWeth(isEth, token, _amt);
token.approve(address(aave), _amt);
approve(token, address(aave), _amt);
aave.repay(address(token), _amt, rateMode, address(this));
}

View File

@ -83,7 +83,7 @@ contract CompoundHelpers is protocolHelpers {
(uint feeAmt, uint _amt) = calculateFee(amt, fee, false);
if (_token != ethAddr) {
token.approve(address(ctoken), _amt);
approve(token, address(ctoken), _amt);
require(ctoken.mint(_amt) == 0, "deposit-failed");
} else {
CETHInterface(address(ctoken)).mint{value:_amt}();
@ -138,7 +138,7 @@ contract CompoundHelpers is protocolHelpers {
amt = ctoken.borrowBalanceCurrent(address(this));
}
if (address(token) != wethAddr) {
token.approve(address(ctoken), amt);
approve(token, address(ctoken), amt);
require(ctoken.repayBorrow(amt) == 0, "repay-failed.");
} else {
CETHInterface(address(ctoken)).repayBorrow{value:amt}();

View File

@ -73,7 +73,7 @@ abstract contract GebResolver is Helpers, Events {
_amt = _amt == uint(-1) ? tokenContract.balanceOf(address(this)) : _amt;
}
tokenContract.approve(address(colAddr), _amt);
approve(tokenContract, address(colAddr), _amt);
tokenJoinContract.join(address(this), _amt);
SafeEngineLike(managerContract.safeEngine()).modifySAFECollateralization(
@ -222,7 +222,7 @@ abstract contract GebResolver is Helpers, Events {
require(_maxDebt >= _amt, "paying-excess-debt");
coinJoinContract.systemCoin().approve(address(coinJoinContract), _amt);
approve(coinJoinContract.systemCoin(), address(coinJoinContract), _amt);
coinJoinContract.join(handler, _amt);
managerContract.modifySAFECollateralization(
@ -335,7 +335,7 @@ abstract contract GebResolver is Helpers, Events {
_amtDeposit = _amtDeposit == uint(-1) ? gebData.tokenContract.balanceOf(address(this)) : _amtDeposit;
}
gebData.tokenContract.approve(address(gebData.colAddr), _amtDeposit);
approve(gebData.tokenContract, address(gebData.colAddr), _amtDeposit);
gebData.tokenJoinContract.join(handler, _amtDeposit);
managerContract.modifySAFECollateralization(

View File

@ -78,8 +78,8 @@ abstract contract Helpers is DSMath, Basic {
isEth = address(_tokenB) == wethAddr;
convertEthToWeth(isEth, _tokenB, _amtB);
_tokenA.approve(address(router), _amtA);
_tokenB.approve(address(router), _amtB);
approve(_tokenA, address(router), _amtA);
approve(_tokenB, address(router), _amtB);
uint minAmtA = getMinAmount(_tokenA, _amtA, slippage);
uint minAmtB = getMinAmount(_tokenB, _amtB, slippage);
@ -141,6 +141,6 @@ abstract contract Helpers is DSMath, Basic {
TokenInterface uniToken = TokenInterface(exchangeAddr);
_uniAmt = _amt == uint(-1) ? uniToken.balanceOf(address(this)) : _amt;
uniToken.approve(address(router), _uniAmt);
approve(uniToken, address(router), _uniAmt);
}
}

View File

@ -114,7 +114,7 @@ abstract contract UniswapResolver is Helpers, Events {
bool isEth = address(_sellAddr) == wethAddr;
convertEthToWeth(isEth, _sellAddr, _expectedAmt);
_sellAddr.approve(address(router), _expectedAmt);
approve(_sellAddr, address(router), _expectedAmt);
uint _sellAmt = router.swapTokensForExactTokens(
_buyAmt,
@ -171,7 +171,7 @@ abstract contract UniswapResolver is Helpers, Events {
bool isEth = address(_sellAddr) == wethAddr;
convertEthToWeth(isEth, _sellAddr, _sellAmt);
_sellAddr.approve(address(router), _sellAmt);
approve(_sellAddr, address(router), _sellAmt);
uint _buyAmt = router.swapExactTokensForTokens(
_sellAmt,

View File

@ -50,7 +50,7 @@ abstract contract Resolver is Events, DSMath, Basic, Helpers {
uint _amt = getUint(getId, amt);
_amt = _amt == uint(-1) ? wethContract.balanceOf(address(this)) : _amt;
wethContract.approve(wethAddr, _amt);
approve(wethContract, wethAddr, _amt);
wethContract.withdraw(_amt);
setUint(setId, _amt);

View File

@ -155,7 +155,7 @@ abstract contract OneProtoResolver is OneHelpers {
if (address(_sellAddr) == ethAddr) {
ethAmt = _sellAmt;
} else {
_sellAddr.approve(address(oneProtoContract), _sellAmt);
approve(_sellAddr, address(oneProtoContract), _sellAmt);
}
@ -197,7 +197,7 @@ abstract contract OneProtoResolver is OneHelpers {
if (address(_sellAddr) == ethAddr) {
ethAmt = _sellAmt;
} else {
_sellAddr.approve(address(oneSplitContract), _sellAmt);
approve(_sellAddr, address(oneSplitContract), _sellAmt);
}
uint initalBal = getTokenBal(_buyAddr);
@ -442,7 +442,7 @@ abstract contract OneInchResolverHelpers is OneProtoResolverHelpers {
if (address(_sellAddr) == ethAddr) {
ethAmt = oneInchData._sellAmt;
} else {
TokenInterface(_sellAddr).approve(getOneInchAddress(), oneInchData._sellAmt);
approve(TokenInterface(_sellAddr), getOneInchAddress(), oneInchData._sellAmt);
}
require(checkOneInchSig(oneInchData.callData), "Not-swap-function");

View File

@ -32,13 +32,22 @@ abstract contract Basic is DSMath, Stores {
_sell = sell == maticAddr ? TokenInterface(wmaticAddr) : TokenInterface(sell);
}
function approve(TokenInterface token, address spender, uint256 amount) internal {
try token.approve(spender, amount) {
} catch {
token.approve(spender, 0);
token.approve(spender, amount);
}
}
function convertMaticToWmatic(bool isMatic, TokenInterface token, uint amount) internal {
if(isMatic) token.deposit{value: amount}();
}
function convertWmaticToMatic(bool isMatic, TokenInterface token, uint amount) internal {
if(isMatic) {
token.approve(address(token), amount);
approve(token, address(token), amount);
token.withdraw(amount);
}
}

View File

@ -43,7 +43,7 @@ abstract contract AaveResolver is Events, Helpers {
_amt = _amt == uint(-1) ? tokenContract.balanceOf(address(this)) : _amt;
}
tokenContract.approve(address(aave), _amt);
approve(tokenContract, address(aave), _amt);
aave.deposit(_token, _amt, address(this), referralCode);
@ -154,7 +154,7 @@ abstract contract AaveResolver is Events, Helpers {
if (isEth) convertMaticToWmatic(isEth, tokenContract, _amt);
tokenContract.approve(address(aave), _amt);
approve(tokenContract, address(aave), _amt);
aave.repay(_token, _amt, rateMode, address(this));

View File

@ -45,7 +45,7 @@ abstract contract Helpers is DSMath, Basic {
maticAmt = swapData._sellAmt;
} else {
address tokenProxy = AugustusSwapperInterface(paraswap).getTokenTransferProxy();
TokenInterface(_sellAddr).approve(tokenProxy, swapData._sellAmt);
approve(TokenInterface(_sellAddr), tokenProxy, swapData._sellAmt);
}
swapData._buyAmt = _swapHelper(swapData, maticAmt);