开始我的第一个闪电贷
该案例最简单的闪电贷合约,不提供任何策略,只是贷款还款操作,往合约转代币即可成功完成一笔闪电贷。
第一步,添加所需要的接口
import { ILendingPoolAddressesProvider } from "./ILendingPoolAddressesProvider.sol"; // 通过该接口获取LendingPool地址
import { FlashLoanReceiverBase } from "./FlashLoanReceiverBase.sol"; // 接收闪电贷金额的合约必须通过IFlashLoanReceiver 接口实现的 executeOperation()
import { ILendingPool } from "./ILendingPool.sol"; // 通过该接口调用flashloan
import { IERC20 } from "./IERC20.sol"; // 涉及到ERC20代币所需第二步,设置FlashLoanReceiverBase
abstract contract FlashLoanReceiverBase is IFlashLoanReceiver {
using SafeERC20 for IERC20;
using SafeMath for uint256;
ILendingPoolAddressesProvider public immutable override ADDRESSES_PROVIDER;
ILendingPool public immutable override LENDING_POOL;
constructor(ILendingPoolAddressesProvider provider) public {
ADDRESSES_PROVIDER = provider;
LENDING_POOL = ILendingPool(provider.getLendingPool());
}
}第三步,完善策略合约
第四步,合约部署
第五步,调用闪电贷
编码和解码参数
编码
解码
预留提币接口
Last updated