Now days smart wallet are widely used, and the issue is happen when interaction with smart wallets that utilizing logic in their receive or fallback functions. The issue arises because the use of the transfer method for sending Ether to these smart wallets can lead to transaction reversion due to compatibility problems with the smart wallets.
The withdraw function uses transfer
to send ETH when user wants to get his funds out. If users attempt to withdraw funds using a Smart Wallet that has any extra logic on the receive method, the transaction will run out of gas and fail.
POC:
Output:
Impact
this issue it prevents successful transactions to smart wallets that rely on custom logic within their receive or fallback functions.
Tools Used
Recommendations
Use call Method for Ether Transfers Instead of using the transfer method,
or give user chance to specify the receiver of funds.
Invalid, known issues [Medium-2](https://github.com/Cyfrin/2024-08-tadle/issues/1)
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.