How to swap tokens using a flash loan on Solidity – Language Help


SimpleFlashLoan.sol – Bharati – Replit

I was actually watching a video by BharatiDWConsultancy, hence the name Bharati (he isn’t the only one with a tutorial that I try). Specifically, this one: Flash Loan Crypto Arbitrage Step-by-Step | AAVE Flash Loans Solidity DIY Tutorials | Solidity Code – YouTube

I was able to successfully test the flash loans and receive test money. Anything he did in the video, I also did, such as sending $1,000 USDC to my account as profit by borrowing a flash loan of $10,000 USDC.

But now, I’m trying to add business logic, specifically SwapExactTokensForTokens, because I do want to do this in real time, so this is what I try to add to SimpleFlashLoan (In ArbitrageFlashLoan, we assume we get 10% profit from a token that isn’t even specified, which certainly isn’t sure to happen in real time):

        interface IUniswapV2Router {
        function swapExactTokensForTokens(
            uint amountIn,
            uint amountOutMin,
            address[] calldata path,
            address to,
            uint deadline
          ) external returns (uint[] memory amounts);
        }

But whenever I try to compile and run the script on Remix IDE, it keeps saying there is an error, and when I try resolving that, there’s another, and then another! I don’t know what to do! So here I am.

First it says there’s a parser error because nested functions are not allowed in Solidity, so I removed ExecuteOperation, and then it says there is an error by the left parenthesis of “asset” in the following code:

IERC20(asset).approve(address(POOL), totalAmount);

I can go on and on. Sometimes, it’ll say a certain character was expected, that caused an error in the first place!

And by the way, I was also gonna try to use swapExactTokensForTokensSupportingFeeOnTransferTokens to swap with one token on Uniswap V2 and another on a different exchange (Uniswap V3 or PancakeSwap). I’m not even sure if this is what I need to use to do that, or I can just do this on swapExactTokensForTokens.

Help would be highly appreciated.



Source link

Leave a Comment