67 lines
1.5 KiB
Solidity
67 lines
1.5 KiB
Solidity
|
|
// SPDX-License-Identifier: MIT
|
||
|
|
pragma solidity ^0.8.20;
|
||
|
|
|
||
|
|
interface IAavePool {
|
||
|
|
function supply(
|
||
|
|
address asset,
|
||
|
|
uint256 amount,
|
||
|
|
address onBehalfOf,
|
||
|
|
uint16 referralCode
|
||
|
|
) external;
|
||
|
|
|
||
|
|
function withdraw(
|
||
|
|
address asset,
|
||
|
|
uint256 amount,
|
||
|
|
address to
|
||
|
|
) external returns (uint256);
|
||
|
|
|
||
|
|
function borrow(
|
||
|
|
address asset,
|
||
|
|
uint256 amount,
|
||
|
|
uint256 interestRateMode,
|
||
|
|
uint16 referralCode,
|
||
|
|
address onBehalfOf
|
||
|
|
) external;
|
||
|
|
|
||
|
|
function repay(
|
||
|
|
address asset,
|
||
|
|
uint256 amount,
|
||
|
|
uint256 rateMode,
|
||
|
|
address onBehalfOf
|
||
|
|
) external returns (uint256);
|
||
|
|
|
||
|
|
function setUserUseReserveAsCollateral(
|
||
|
|
address asset,
|
||
|
|
bool useAsCollateral
|
||
|
|
) external;
|
||
|
|
|
||
|
|
function flashLoanSimple(
|
||
|
|
address receiverAddress,
|
||
|
|
address asset,
|
||
|
|
uint256 amount,
|
||
|
|
bytes calldata params,
|
||
|
|
uint16 referralCode
|
||
|
|
) external;
|
||
|
|
|
||
|
|
function flashLoan(
|
||
|
|
address receiverAddress,
|
||
|
|
address[] calldata assets,
|
||
|
|
uint256[] calldata amounts,
|
||
|
|
uint256[] calldata modes,
|
||
|
|
address onBehalfOf,
|
||
|
|
bytes calldata params,
|
||
|
|
uint16 referralCode
|
||
|
|
) external;
|
||
|
|
}
|
||
|
|
|
||
|
|
interface IFlashLoanReceiver {
|
||
|
|
function executeOperation(
|
||
|
|
address asset,
|
||
|
|
uint256 amount,
|
||
|
|
uint256 premium,
|
||
|
|
address initiator,
|
||
|
|
bytes calldata params
|
||
|
|
) external returns (bool);
|
||
|
|
}
|
||
|
|
|