In class SablierFlow.sol
method _create()
is used to create a new NFT stream. But the NFT mint uses _mint()
which doesn't verify is the receiver supports ERC721 or not. Usage of smart accounts can lead to user having its funds stuck.
The method _safeMint()
succeeds if the receiver is EoA or supports NFT contracts. But this is not checked in _mint()
.
https://github.com/sablier-labs/flow/blob/main/src/SablierFlow.sol#L625
In case the receiver don't support smart accounts then the accrued interest will get stuck in the NFT contract.
VS Code
Use _safeMint()
for added protection.
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.