The ExecutionFeeRefundFailed event is defined but is never emitted in the catch blocks of the refund fee as the Protocol itself depends upon Many Offchain functionalities the Event Logs play a major part in this case and not emitting the events will make it hard to trace the failed refund transactions
Usually this would be a low issue but as the protocol is heavily dependent upon off-chain functionalities not having proper event logs will cause discrepancies i.e In case of multiple Execution Fee Refund failures it would be hard to trace the failed transactions hence this will would be a medium in this case
In the PerpetualVault::_mint function , the event is not emitted
In the PerpetualVault::_handleReturn function , the event is not emitted
In the PerpetualVault::_cancelFlow function the event is not emitted
Manual Review
Emit the ExecutionFeeRefundFailed event in the refund fee catch blocks of PerpetualVault::_mint, PerpetualVault::_cancelFlow and PerpetualVault::_handleReturn functions
Please read the CodeHawks documentation to know which submissions are valid. If you disagree, provide a coded PoC and explain the real likelihood and the detailed impact on the mainnet without any supposition (if, it could, etc) to prove your point.
Please read the CodeHawks documentation to know which submissions are valid. If you disagree, provide a coded PoC and explain the real likelihood and the detailed impact on the mainnet without any supposition (if, it could, etc) to prove your point.
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.