The .transfer() method forwards only 2300 gas to the recipient. If target is a contract that requires more than 2300 gas to execute its fallback/receive function, the transfer will revert.
This can break compatibility with smart contract wallets (e.g., Gnosis Safe, multisigs, or contracts with logic in their receive/fallback).
Medium: Funds could be locked in the contract if the owner tries to withdraw to a contract address that needs more than 2300 gas.
Use .call{value: ...}("") instead of .transfer()
This allows you to forward all available gas and handle the success/failure explicitly.
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.