/aave-flash-loan-tutorial

Create an Aave Flash Loan arbitrage smart contract from scratch in this comprehensive flash loan tutorial from Block Explorer.

Primary LanguageSolidity

Aave Flash Loan Tutorial

Create an Aave Flash Loan arbitrage smart contract from scratch in this comprehensive flash loan tutorial by Block Explorer.

Project repo:

https://github.com/jspruance/aave-flash-loan-tutorial

Aave v3 Flash Loan documentation:

https://docs.aave.com/developers/guides/flash-loans https://docs.aave.com/developers/deployed-contracts/v3-testnet-addresses

DAI-TestnetMintableERC20-Aave token (Goerli):

0xDF1742fE5b0bFc12331D8EAec6b478DfDbD31464

USDC-TestnetMintableERC20-Aave token(Goerli):

0xA2025B15a1757311bfD68cb14eaeFCc237AF5b43

AAVE PoolAddressProvider (Goerli):

0x5E52dEc931FFb32f609681B8438A51c675cc232d

Remix imports:

import {FlashLoanReceiverBase} from "https://github.com/aave/protocol-v2/blob/master/contracts/flashloan/base/FlashLoanReceiverBase.sol"; import {ILendingPool} from "https://github.com/aave/protocol-v2/blob/master/contracts/interfaces/ILendingPool.sol"; import {ILendingPoolAddressesProvider} from "https://github.com/aave/protocol-v2/blob/master/contracts/interfaces/ILendingPoolAddressesProvider.sol"; import {IERC20} from "https://github.com/aave/protocol-v2/blob/master/contracts/dependencies/openzeppelin/contracts/IERC20.sol";

Dex.sol deployed (Goerli):

0xD6e8c479B6B62d8Ce985C0f686D39e96af9424df

Add liquidity to Dex.sol:

USDC 1500 DAI 1500

Approve:

USDC 1000000000 DAI 1200000000000000000000

Request Loan - USDC (6 decimal):

0xA2025B15a1757311bfD68cb14eaeFCc237AF5b43,1000000000 // 1,000 USDC 0xA2025B15a1757311bfD68cb14eaeFCc237AF5b43,1000000 // 1 USDC