The protocol doesnt support weird tokens like Tether Gold (that return false on every operation)
| Title | The protocol doesnt support weird tokens like Tether Gold (that return false on every operation) |
|---|---|
| Reward | $886, Unique |
| Contest | Ammplify - 2 Sep 2025 on Sherlock |
| Author | anonymousjoe |
| Context | Weird Token |
The protocol uses TransferHelper.safeTransferFrom for its token transfers. That does not work for a token which returns false from every operation.
Tokens like Tether Gold make the transfer revert every time, so they are not supported by the protocol.
if (change > 0) {
// Pull tokens from the original caller and send to MAKER_FACET
TransferHelper.safeTransferFrom(token, _currentTokenRequester, msg.sender, uint256(change));
} else if (change < 0) {
// Send tokens from our balance to MAKER_FACET (for fee collection, etc.)
TransferHelper.safeTransfer(token, msg.sender, uint256(-change));
}
// After primary transfer, sweep any dust the contract may still hold for this token
uint256 residual = IERC20(token).balanceOf(address(this));
if (residual > 0) {
TransferHelper.safeTransfer(token, msg.sender, residual);
}
Alpha: the protocol intended to tolerate odd return values, but Tether Gold is special: it returns false on success.
Conclusion
This finding would earn you $886. Read the README and the sponsor's messages so you know exactly which behaviours are in scope, and keep a list of weird tokens to hand — this one, for instance.