FlashLoanBase
Inherits: IERC3156FlashBorrower, IMorphoFlashLoanCallback
Title: FlashLoanBase
Abstract base for flash loan borrowers with validation logic.
Supports both Morpho flash loans and ERC-3156 flash mints.
State Variables
CALLBACK_SUCCESS
ERC-3156 callback success return value.
bytes32 internal constant CALLBACK_SUCCESS = keccak256("ERC3156FlashBorrower.onFlashLoan")
Functions
_validateFlashLoan
Validates ERC-3156 flash loan callback parameters.
function _validateFlashLoan(
address lender,
address expectedLender,
address initiator
) internal view;
Parameters
| Name | Type | Description |
|---|---|---|
lender | address | Actual msg.sender. |
expectedLender | address | Expected flash lender address. |
initiator | address | Initiator passed to callback (must be this contract). |
_validateLender
Validates that msg.sender is the expected lender.
function _validateLender(
address lender,
address expectedLender
) internal pure;
Parameters
| Name | Type | Description |
|---|---|---|
lender | address | Actual msg.sender. |
expectedLender | address | Expected flash lender address. |
Errors
FlashLoan__InvalidLender
Thrown when flash loan callback called by wrong lender.
error FlashLoan__InvalidLender();
FlashLoan__InvalidInitiator
Thrown when flash loan initiator is not this contract.
error FlashLoan__InvalidInitiator();
FlashLoan__InvalidOperation
Thrown when callback receives unknown operation type.
error FlashLoan__InvalidOperation();