From 4fadaa05153d4f37f1a473768439049394c06a5d Mon Sep 17 00:00:00 2001 From: pradyuman-verma <pradyumnverma27@gmail.com> Date: Fri, 19 Nov 2021 19:52:34 +0530 Subject: [PATCH] minor fix --- .../connectors/uniswap-sell-beta/helpers.sol | 2 +- .../uniswap-sell-beta/interface.sol | 2 +- .../connectors/uniswap-sell-beta/main.sol | 13 ++--- test/uniswap-sell-beta/uniswap-sell-beta.js | 55 +++++++++++++++++++ 4 files changed, 63 insertions(+), 9 deletions(-) create mode 100644 test/uniswap-sell-beta/uniswap-sell-beta.js diff --git a/contracts/arbitrum/connectors/uniswap-sell-beta/helpers.sol b/contracts/arbitrum/connectors/uniswap-sell-beta/helpers.sol index e7027aca..9342a8e7 100644 --- a/contracts/arbitrum/connectors/uniswap-sell-beta/helpers.sol +++ b/contracts/arbitrum/connectors/uniswap-sell-beta/helpers.sol @@ -58,7 +58,7 @@ abstract contract Helpers is ISwapRouter { TransferHelper.safeApprove(tokenIn, address(router), amountIn); } - function getSingleInput(ISwapRouter.ExactInputSingleParams memory params) + function swapSingleInput(ISwapRouter.ExactInputSingleParams memory params) public returns (uint256) { diff --git a/contracts/arbitrum/connectors/uniswap-sell-beta/interface.sol b/contracts/arbitrum/connectors/uniswap-sell-beta/interface.sol index f9c4e4d6..633ea36e 100644 --- a/contracts/arbitrum/connectors/uniswap-sell-beta/interface.sol +++ b/contracts/arbitrum/connectors/uniswap-sell-beta/interface.sol @@ -32,5 +32,5 @@ interface ISwapRouter { function exactInputSingle(ExactInputSingleParams calldata params) external payable - returns (uint256 amountOut); + returns (uint256); } diff --git a/contracts/arbitrum/connectors/uniswap-sell-beta/main.sol b/contracts/arbitrum/connectors/uniswap-sell-beta/main.sol index e564ec2c..40881767 100644 --- a/contracts/arbitrum/connectors/uniswap-sell-beta/main.sol +++ b/contracts/arbitrum/connectors/uniswap-sell-beta/main.sol @@ -8,18 +8,17 @@ abstract contract uniswapSellBeta is Helpers { address tokenIn, address tokenOut, uint24 fee, - uint256 amountIn, uint256 amountOutMinimum, bool zeroForOne - ) public returns (uint256 amountOut) { - approveTransfer(tokenIn, msg.sender, address(this), amountIn); - amountOut = getSingleInput( + ) public payable returns (uint256 amountOut) { + approveTransfer(tokenIn, msg.sender, address(this), msg.value); + amountOut = swapSingleInput( getParams( tokenIn, tokenOut, msg.sender, fee, - amountIn, + msg.value, amountOutMinimum, zeroForOne ) @@ -27,6 +26,6 @@ abstract contract uniswapSellBeta is Helpers { } } -abstract contract UniswapSellBetaArbitrum is uniswapSellBeta { - string public constant name = "UniswapSample-v1"; +contract UniswapSellBetaArbitrum is uniswapSellBeta { + string public constant name = "UniswapSellBeta"; } diff --git a/test/uniswap-sell-beta/uniswap-sell-beta.js b/test/uniswap-sell-beta/uniswap-sell-beta.js new file mode 100644 index 00000000..4e76d80b --- /dev/null +++ b/test/uniswap-sell-beta/uniswap-sell-beta.js @@ -0,0 +1,55 @@ +const { expect } = require("chai"); +const hre = require("hardhat"); +const { web3, deployments, waffle, ethers } = hre; +const { provider, deployContract } = waffle; +const deployAndEnableConnector = require("../../scripts/deployAndEnableConnector.js"); +const buildDSAv2 = require("../../scripts/buildDSAv2"); +const encodeSpells = require("../../scripts/encodeSpells.js"); + +const addresses = require("../../scripts/constant/addresses"); +const abis = require("../../scripts/constant/abis"); + +const UniswapSellBetaArtifacts = require("../../artifacts/contracts/arbitrum/connectors/uniswap-sell-beta/main.sol/UniswapSellBetaArbitrum.json"); + +const FeeAmount = { + LOW: 500, + MEDIUM: 3000, + HIGH: 10000, +}; + +const TICK_SPACINGS = { + 500: 10, + 3000: 60, + 10000: 200, +}; + +const USDT_ADDR = "0xdac17f958d2ee523a2206206994597c13d831ec7"; +const DAI_ADDR = "0x6b175474e89094c44da98b954eedeac495271d0f"; + +describe("Uniswap-sell-beta", function() { + let UniswapSellBeta, uniswapSellBeta; + before(async () => { + UniswapSellBeta = await ethers.getContractFactory( + "UniswapSellBetaArbitrum" + ); + uniswapSellBeta = await UniswapSellBeta.deploy(); + [owner, add1, add2] = await ethers.getSigners(); + await uniswapSellBeta.deployed(); + }); + + it("Should have contracts deployed.", async function() { + expect(uniswapSellBeta.address).to.be.true; + }); + + it("Should Perfrom a swap", async () => { + const tx = await uniswapSellBeta.sell( + USDT_ADDR, + DAI_ADDR, + ethers.utils.parseEther("1.0"), + ethers.utils.parseEther("10.0"), + true, + { value: ethers.utils.parseEther("10.0") } + ); + console.log(tx); + }); +});