0

I am trying to create a transaction on Uniswap programatically, the flow nd code seems to be there, but for whatever reason the transaction fails on Ropsten for "Warning! Error encountered during contract execution [Reverted]". I am using javascript along with Nodejs as my server. Any suggestions on why it is failing? Code below:

const { ethers } = require("ethers");

const walletAddress = "My_own_address";
const wethErc20Address = "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2";
const uniErc20Address = "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984";

const uniswapRouterAbi = [
  "function swapExactTokensForTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts)",
];

async function buyListedTokenWithEth(
  amountEthFloat,
  uniswapRouterAddress,
  provider
) {
  const wallet = new ethers.Wallet(Buffer.from(privateKey, "hex"));

  const signer = wallet.connect(provider); //provider is Infura https ROPSTEN url

  const exchangeContract = new ethers.Contract(
    uniswapRouterAddress,
    uniswapRouterAbi,
    signer
  );
  const ethAmount = ethers.utils.parseEther("0.1");

  const tx = await exchangeContract.swapExactTokensForTokens(
    ethAmount,
    0,
    [wethErc20Address, uniErc20Address],
    walletAddress, 
    createDeadline(), // Math.floor(Date.now() / 1000) + 20
    createGasOverrides() // { gasLimit: ethers.utils.hexlify(300000), gasPrice: gasPriceWei }
  );
  console.log("https://ropsten.etherscan.io/tx/" + tx.hash);
}
TylerH
  • 20,799
  • 66
  • 75
  • 101
Pespi coke
  • 1
  • 1
  • 1

1 Answers1

0

The line:

const tx = await exchangeContract.swapExactTokensForTokens(

Should be:

const tx = await exchangeContract.methods.swapExactTokensForTokens(

MortezaE
  • 378
  • 3
  • 13