123456789101112131415161718192021222324252627 |
- // SPDX-License-Identifier: MIT
- // OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC3156FlashBorrower.sol)
- pragma solidity ^0.8.20;
- /**
- * @dev Interface of the ERC-3156 FlashBorrower, as defined in
- * https://eips.ethereum.org/EIPS/eip-3156[ERC-3156].
- */
- interface IERC3156FlashBorrower {
- /**
- * @dev Receive a flash loan.
- * @param initiator The initiator of the loan.
- * @param token The loan currency.
- * @param amount The amount of tokens lent.
- * @param fee The additional amount of tokens to repay.
- * @param data Arbitrary data structure, intended to contain user-defined parameters.
- * @return The keccak256 hash of "ERC3156FlashBorrower.onFlashLoan"
- */
- function onFlashLoan(
- address initiator,
- address token,
- uint256 amount,
- uint256 fee,
- bytes calldata data
- ) external returns (bytes32);
- }
|