The SablierFlowBase contract emits EIP-4906 metadata update events but fails to properly implement the EIP-4906 interface, specifically lacking the required supportsInterface(bytes4)
function that should return true for interface ID 0x49064906
. This prevents NFT marketplaces and other protocols from detecting the contract's metadata update capabilities.
The SablierFlowBase contract inherits from ERC721 and uses EIP-4906 events for metadata updates:
However, the contract doesn't implement the required supportsInterface(bytes4)
function to signal EIP-4906 support. This function should return true for the EIP-4906 interface ID (0x49064906
).
HIGH. Stream NFTs contain critical information that must stay updated:
Stream status (STREAMING_SOLVENT, STREAMING_INSOLVENT, etc.)
Current balance and withdrawal amounts
Rate per second and duration details
Covered/uncovered debt amounts
Without proper EIP-4906 interface support:
NFT marketplaces won't detect metadata update capabilities
Stream NFT displays may show stale data after state changes
Buyers might make decisions based on outdated stream information
Critical stream parameters (balance, status) might not refresh properly
This is especially problematic for transferable streams where accurate metadata is crucial for secondary market trading.
MEDIUM. This affects all transferable stream NFTs in the protocol, and the issue will manifest whenever:
Stream parameters are updated
Deposits or withdrawals occur
Stream status changes
NFTs are listed on marketplaces
Below is pseudo code PoC
Implement EIP-4906 interface support in SablierFlowBase as the standard is doing here
This ensures:
Proper interface detection by NFT marketplaces
Accurate metadata updates for stream NFTs
Compliance with EIP-4906 specification
Better integration with third-party protocols
The fix is simple to implement and critical for the proper functioning of transferable stream NFTs in secondary markets.
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.