the use of transfer and transferFrom functions for ERC20 token transfers. These functions, while widely used, can lead to unexpected failures and incompatibility with certain tokens due to their reliance on ERC20 standards that are not consistently followed by all tokens.
The protocol uses unsafe transfer and transferFrom functions in Swan::transferRoyalties` Swan::purchase
If the transfer fails (e.g., due to insufficient balance, allowance issues, or non-standard return values), transfer and transferFrom may not revert, causing the contract to continue under the assumption that the transfer was successful.
Manual Review
Replace instances of transfer and transferFrom with safeTransfer and safeTransferFrom from OpenZeppelin’s SafeERC20 library.
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.