UNPKG

forta-flashloan-detector

Version:

A library for forta agents that detects if a transaction event contains a flashloan

20 lines (16 loc) 827 B
const { ethers, getEthersProvider } = require('forta-agent'); const comptrollerAbi = ['function getAllMarkets() public view returns (address[] memory)']; const ironBankControllerAddress = '0xab1c342c7bf5ec5f02adea1c2270670bca144cbb'; const ironBankControllerContract = new ethers .Contract(ironBankControllerAddress, comptrollerAbi, getEthersProvider()); const ironBankFlashloanSig = 'event Flashloan(address indexed receiver, uint256 amount, uint256 totalFee, uint256 reservesFee)'; let ironBankMarketsAddresses = []; module.exports = { initIronBankMarkets: async () => { ironBankMarketsAddresses = await ironBankControllerContract.getAllMarkets(); }, hasIronBankFlashloan: (txEvent) => { const events = txEvent.filterLog(ironBankFlashloanSig, ironBankMarketsAddresses); return !!events.length; }, };