Contracts not following widely used and considered best practises ERC3156Receiver Specification
The contract uses the following specification for the callback from contract receiving loan
However widely used and supported in DeFi specification is as below
The above clearly shows that the function ordering is different or incorrect(relative to the specification)
This can lead to integration problems with most contracts in DeFi wanting to use one contract e.g for arbitrage, yield, liquidation wanting to use a common specification and this contract will not allow that ude to differences in the interface to be implemented.
This can also lead to errors as even if the specification is implemented when inputting parameters and inputs receiving contracts may input parameters incorrectly in order they understand or considered best practises of IERC3156Receiver.
Additionally it may lead to unexpected behaviours or open up attack paths by implementing interface this way as opposed to common way
Manual Analysis
Recommended the IFlashLoanReceiver.sol implement IERC3156FlashBorrower specification
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.