TokenManager::withdraw sends native token to msg.sender instead of _msgSender(), it is not always guaranteed that msg.sender is _msgSender() as _msgSender() is based on context and can a totally different address if a trusted forwarder functionality is added
TokenManager::withdraw sends native token to msg.sender instead of _msgSender() as we see here, it is not always guaranteed that msg.sender is the same as _msgSender() as _msgSender() is based on context and can a totally different address if a trusted forwarder functionality is added
possible loss of funds
Manual Review
it's beneficial to stick to one _msgSender() or msg.sender. in this case _msgSender() is recommended
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.