Request a flash loan and execute a callback on the receiver.
A specific guide for Flash Loans on Idle protocol can be found here
function flashLoan(IERC3156FlashBorrower _receiver, address _token, uint256 _amount, bytes calldata _params) external returns (bool);
_receiver : address of flash loan recipient. It must implement the IERC3156FlashBorrower interface
_token: address of the requested token. It must be equal to the underlying token used in the IdleToken where the flash loan is requested
_amount: underlying assets requested
_params: parameters for the `_receiver` callback
RETURN : flag whether the execution was successful or not