ERC3156(for example, we support multiple FLs in one transaction using the Aave V2 protocol). There are some security precautions that are taken over from the standard, which are that the receiver function that is called when getting the FL checks if the
msg.senderis the protocol address and checks if the
initiatorof the FL is the action itself.
flParamGetterData. Both are used for on-chain getting of flash loan parameters. Because the flash loan action is always the first action, we can't pipe any previous action data into these actions, so we can call the
flParamGetterAddrsupplied by the user and on-chain fetch flash loan amounts and other info. This is needed where we for instance want to get the exact Maker Vault debt which changes from block to block, so that information must be fetched in that transaction.