When users bridge a token from L2 to L1 and the ERC721 on L1 is not escrowed (meaning it uses ERC721Bridgeable), the L2 token's URI will not be propagated or stored in the newly minted NFTs on L1, potentially causing the NFT to lose its value.
Users can bridge their L2 NFTs to L1 by calling deposit_tokens. During this operation, the bridged NFT's data, including the token's base_uri and uris (if they exist), will be populated on Request data, then the data will be send to L1.
However, when user's call withdrawTokens on L1 to retrieve the NFTs, if the collection is not escrowed, it will mint the collection to the users, providing the corresponding token ids, but not set or store token's base uri or uris.
This could potentially cause the bridged NFTs to lose value, as they may not properly display the collection's base URI or token URIs, which are often the main value proposition for most NFTs.
Manual review
Provide or set the URI or base URI when minting the NFTs on L1
URI is not lost on the origin chain and it can be modified with `ERC721UriImpl`. As explained in the TODO below, that’s a design choice and it will be implemented as a future feature. https://github.com/Cyfrin/2024-07-ark-project/blob/main/apps/blockchain/ethereum/src/Bridge.sol#L206 `ERC721Bridgable` is out of scope.
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.