dsa-connectors/test/uniswap-sell-beta/uniswap-sell-beta.js
2021-11-20 00:13:17 +05:30

83 lines
2.3 KiB
JavaScript

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 USDC_ADDR = "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8";
const WETH_ADDR = "0x82af49447d8a07e3bd95bd0d56f35241523fbab1";
describe("Uniswap-sell-beta", function() {
let UniswapSellBeta, uniswapSellBeta;
before(async () => {
const account = "0xa067668661c84476afcdc6fa5d758c4c01c34352";
[owner, add1, add2] = await ethers.getSigners();
const tokenArtifact = await artifacts.readArtifact(
"@openzeppelin/contracts/token/ERC20/IERC20.sol:IERC20"
);
const token = new ethers.Contract(
WETH_ADDR,
tokenArtifact.abi,
ethers.provider
);
await hre.network.provider.request({
method: "hardhat_impersonateAccount",
params: [account],
});
const signer = await ethers.getSigner(account);
console.log(await token.connect(signer).balanceOf(account));
await token
.connect(signer)
.transfer(owner.address, ethers.utils.parseUnits("0.00000001", 18));
await hre.network.provider.request({
method: "hardhat_stopImpersonatingAccount",
params: [account],
});
UniswapSellBeta = await ethers.getContractFactory(
"UniswapSellBetaArbitrum"
);
uniswapSellBeta = await UniswapSellBeta.deploy();
await uniswapSellBeta.deployed();
});
it("Should have contracts deployed.", async function() {
expect(uniswapSellBeta.address).to.exist;
});
it("Should Perfrom a swap", async () => {
const tx = await uniswapSellBeta.sell(
WETH_ADDR,
USDC_ADDR,
3000,
ethers.utils.parseUnits("10.0"),
0,
true
);
console.log(tx);
});
});