From d1e4b028d65bf1c69c1d6904f85427ee001a2beb Mon Sep 17 00:00:00 2001 From: bhavik-m Date: Wed, 5 Jan 2022 13:12:35 +0530 Subject: [PATCH] added connector on polygon and arbitrum --- .../arbitrum/connectors/sushiswap/helpers.sol | 2 +- .../arbitrum/connectors/sushiswap/main.sol | 4 +- .../polygon/connectors/sushiswap/helpers.sol | 22 ++++----- .../polygon/connectors/sushiswap/main.sol | 46 +++++++++---------- 4 files changed, 37 insertions(+), 37 deletions(-) diff --git a/contracts/arbitrum/connectors/sushiswap/helpers.sol b/contracts/arbitrum/connectors/sushiswap/helpers.sol index ea29a03f..ae67bdd7 100644 --- a/contracts/arbitrum/connectors/sushiswap/helpers.sol +++ b/contracts/arbitrum/connectors/sushiswap/helpers.sol @@ -10,7 +10,7 @@ abstract contract Helpers is DSMath, Basic { * @dev ISushiSwapRouter */ ISushiSwapRouter internal constant router = - ISushiSwapRouter(0xd9e1cE17f2641f24aE83637ab66a2cca9C378B9F); + ISushiSwapRouter(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506); function getExpectedBuyAmt(address[] memory paths, uint256 sellAmt) internal diff --git a/contracts/arbitrum/connectors/sushiswap/main.sol b/contracts/arbitrum/connectors/sushiswap/main.sol index bd0078bc..b7716406 100644 --- a/contracts/arbitrum/connectors/sushiswap/main.sol +++ b/contracts/arbitrum/connectors/sushiswap/main.sol @@ -191,6 +191,6 @@ abstract contract SushipswapResolver is Helpers, Events { } } -contract ConnectV2Sushiswap is SushipswapResolver { - string public constant name = "Sushipswap-v1.1"; +contract ConnectV2SushiswapArbitrum is SushipswapResolver { + string public constant name = "Sushiswap-v1.1"; } diff --git a/contracts/polygon/connectors/sushiswap/helpers.sol b/contracts/polygon/connectors/sushiswap/helpers.sol index ea29a03f..9f43f2b6 100644 --- a/contracts/polygon/connectors/sushiswap/helpers.sol +++ b/contracts/polygon/connectors/sushiswap/helpers.sol @@ -10,7 +10,7 @@ abstract contract Helpers is DSMath, Basic { * @dev ISushiSwapRouter */ ISushiSwapRouter internal constant router = - ISushiSwapRouter(0xd9e1cE17f2641f24aE83637ab66a2cca9C378B9F); + ISushiSwapRouter(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506); function getExpectedBuyAmt(address[] memory paths, uint256 sellAmt) internal @@ -72,7 +72,7 @@ abstract contract Helpers is DSMath, Basic { uint256 _liquidity ) { - (TokenInterface _tokenA, TokenInterface _tokenB) = changeEthAddress( + (TokenInterface _tokenA, TokenInterface _tokenB) = changeMaticAddress( tokenA, tokenB ); @@ -85,11 +85,11 @@ abstract contract Helpers is DSMath, Basic { wmul(unitAmt, convertTo18(_tokenA.decimals(), _amtA)) ); - bool isEth = address(_tokenA) == wethAddr; - convertEthToWeth(isEth, _tokenA, _amtA); + bool isMatic = address(_tokenA) == wmaticAddr; + convertMaticToWmatic(isMatic, _tokenA, _amtA); - isEth = address(_tokenB) == wethAddr; - convertEthToWeth(isEth, _tokenB, _amtB); + isMatic = address(_tokenB) == wmaticAddr; + convertMaticToWmatic(isMatic, _tokenB, _amtB); approve(_tokenA, address(router), _amtA); approve(_tokenB, address(router), _amtB); @@ -149,11 +149,11 @@ abstract contract Helpers is DSMath, Basic { ); } - bool isEth = address(_tokenA) == wethAddr; - convertWethToEth(isEth, _tokenA, _amtA); + bool isMatic = address(_tokenA) == wmaticAddr; + convertWmaticToMatic(isMatic, _tokenA, _amtA); - isEth = address(_tokenB) == wethAddr; - convertWethToEth(isEth, _tokenB, _amtB); + isMatic = address(_tokenB) == wmaticAddr; + convertWmaticToMatic(isMatic, _tokenB, _amtB); } function _getRemoveLiquidityData( @@ -168,7 +168,7 @@ abstract contract Helpers is DSMath, Basic { uint256 _uniAmt ) { - (_tokenA, _tokenB) = changeEthAddress(tokenA, tokenB); + (_tokenA, _tokenB) = changeMaticAddress(tokenA, tokenB); address exchangeAddr = ISushiSwapFactory(router.factory()).getPair( address(_tokenA), address(_tokenB) diff --git a/contracts/polygon/connectors/sushiswap/main.sol b/contracts/polygon/connectors/sushiswap/main.sol index bd0078bc..a4647769 100644 --- a/contracts/polygon/connectors/sushiswap/main.sol +++ b/contracts/polygon/connectors/sushiswap/main.sol @@ -13,8 +13,8 @@ abstract contract SushipswapResolver is Helpers, Events { /** * @dev Deposit Liquidity. * @notice Deposit Liquidity to a SushiSwap pool. - * @param tokenA The address of token A.(For ETH: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) - * @param tokenB The address of token B.(For ETH: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) + * @param tokenA The address of token A.(For Matic: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) + * @param tokenB The address of token B.(For Matic: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) * @param amtA The amount of A tokens to deposit. * @param unitAmt The unit amount of of amtB/amtA with slippage. * @param slippage Slippage amount. @@ -48,8 +48,8 @@ abstract contract SushipswapResolver is Helpers, Events { /** * @dev Withdraw Liquidity. * @notice Withdraw Liquidity from a SushiSwap pool. - * @param tokenA The address of token A.(For ETH: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) - * @param tokenB The address of token B.(For ETH: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) + * @param tokenA The address of token A.(For Matic: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) + * @param tokenB The address of token B.(For Matic: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) * @param uniAmt The amount of pool tokens to withdraw. * @param unitAmtA The unit amount of amtA/uniAmt with slippage. * @param unitAmtB The unit amount of amtB/uniAmt with slippage. @@ -83,10 +83,10 @@ abstract contract SushipswapResolver is Helpers, Events { } /** - * @dev Buy ETH/ERC20_Token. + * @dev Buy Matic/ERC20_Token. * @notice Buy a token using a SushiSwap - * @param buyAddr The address of the token to buy.(For ETH: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) - * @param sellAddr The address of the token to sell.(For ETH: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) + * @param buyAddr The address of the token to buy.(For Matic: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) + * @param sellAddr The address of the token to sell.(For Matic: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) * @param buyAmt The amount of tokens to buy. * @param unitAmt The unit amount of sellAmt/buyAmt with slippage. * @param getId ID to retrieve buyAmt. @@ -101,7 +101,7 @@ abstract contract SushipswapResolver is Helpers, Events { uint256 setId ) external payable returns (string memory _eventName, bytes memory _eventParam) { uint _buyAmt = getUint(getId, buyAmt); - (TokenInterface _buyAddr, TokenInterface _sellAddr) = changeEthAddress(buyAddr, sellAddr); + (TokenInterface _buyAddr, TokenInterface _sellAddr) = changeMaticAddress(buyAddr, sellAddr); address[] memory paths = getPaths(address(_buyAddr), address(_sellAddr)); uint _slippageAmt = convert18ToDec(_sellAddr.decimals(), @@ -112,8 +112,8 @@ abstract contract SushipswapResolver is Helpers, Events { uint _expectedAmt = getExpectedSellAmt(paths, _buyAmt); require(_slippageAmt >= _expectedAmt, "Too much slippage"); - bool isEth = address(_sellAddr) == wethAddr; - convertEthToWeth(isEth, _sellAddr, _expectedAmt); + bool isMatic = address(_sellAddr) == wmaticAddr; + convertMaticToWmatic(isMatic, _sellAddr, _expectedAmt); approve(_sellAddr, address(router), _expectedAmt); uint _sellAmt = router.swapTokensForExactTokens( @@ -124,8 +124,8 @@ abstract contract SushipswapResolver is Helpers, Events { block.timestamp + 1 )[0]; - isEth = address(_buyAddr) == wethAddr; - convertWethToEth(isEth, _buyAddr, _buyAmt); + isMatic = address(_buyAddr) == wmaticAddr; + convertWmaticToMatic(isMatic, _buyAddr, _buyAmt); setUint(setId, _sellAmt); @@ -134,10 +134,10 @@ abstract contract SushipswapResolver is Helpers, Events { } /** - * @dev Sell ETH/ERC20_Token. + * @dev Sell Matic/ERC20_Token. * @notice Sell a token using a SushiSwap - * @param buyAddr The address of the token to buy.(For ETH: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) - * @param sellAddr The address of the token to sell.(For ETH: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) + * @param buyAddr The address of the token to buy.(For Matic: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) + * @param sellAddr The address of the token to sell.(For Matic: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) * @param sellAmt The amount of the token to sell. * @param unitAmt The unit amount of buyAmt/sellAmt with slippage. * @param getId ID to retrieve sellAmt. @@ -152,11 +152,11 @@ abstract contract SushipswapResolver is Helpers, Events { uint256 setId ) external payable returns (string memory _eventName, bytes memory _eventParam) { uint _sellAmt = getUint(getId, sellAmt); - (TokenInterface _buyAddr, TokenInterface _sellAddr) = changeEthAddress(buyAddr, sellAddr); + (TokenInterface _buyAddr, TokenInterface _sellAddr) = changeMaticAddress(buyAddr, sellAddr); address[] memory paths = getPaths(address(_buyAddr), address(_sellAddr)); if (_sellAmt == uint(-1)) { - _sellAmt = sellAddr == ethAddr ? + _sellAmt = sellAddr == maticAddr ? address(this).balance : _sellAddr.balanceOf(address(this)); } @@ -169,8 +169,8 @@ abstract contract SushipswapResolver is Helpers, Events { uint _expectedAmt = getExpectedBuyAmt(paths, _sellAmt); require(_slippageAmt <= _expectedAmt, "Too much slippage"); - bool isEth = address(_sellAddr) == wethAddr; - convertEthToWeth(isEth, _sellAddr, _sellAmt); + bool isMatic = address(_sellAddr) == wmaticAddr; + convertMaticToWmatic(isMatic, _sellAddr, _sellAmt); approve(_sellAddr, address(router), _sellAmt); uint _buyAmt = router.swapExactTokensForTokens( @@ -181,8 +181,8 @@ abstract contract SushipswapResolver is Helpers, Events { block.timestamp + 1 )[1]; - isEth = address(_buyAddr) == wethAddr; - convertWethToEth(isEth, _buyAddr, _buyAmt); + isMatic = address(_buyAddr) == wmaticAddr; + convertWmaticToMatic(isMatic, _buyAddr, _buyAmt); setUint(setId, _buyAmt); @@ -191,6 +191,6 @@ abstract contract SushipswapResolver is Helpers, Events { } } -contract ConnectV2Sushiswap is SushipswapResolver { - string public constant name = "Sushipswap-v1.1"; +contract ConnectV2SushiswapPolygon is SushipswapResolver { + string public constant name = "Sushiswap-v1.1"; }