-
Notifications
You must be signed in to change notification settings - Fork 3.9k
NFT bridge between L1 and Optimism #2421
Description
The purpose of this issue is to solicit feedback on an initial proposal for an ERC721 bridge between L1 and Optimism. The bridge allows owners of L1 NFTs to make deposits into L2 and withdrawals back to L1 in the same manner that ERC20s can be transferred using the Standard Token Bridge.
The relevant code can be found in this PR or in the standalone repo here. All contracts have been tested locally. For more information regarding the bridge, check out these slides (credit goes to Mark!)
The design of the ERC721 Bridge is almost exactly the same as the Standard Token Bridge, with one main difference: token URIs are transferred off-chain using a permissioned oracle. The reason for this design choice is mostly due to the cost of transferring a token URI from L1 to L2 on-chain, which can be expensive since it is a large string. Also, it is common for NFT projects to change token URIs for various reasons, which means users would need to pay gas fees every time they want to to update their L2 token URI. We view this as a temporary solution until it is possible to read L1 state from L2, which would allow us to permissionlessly view tokenURIs from L2 without using an oracle. To be clear, only token URIs would be transferred off-chain; token IDs would be sent on-chain.
We'd love to hear the community's feedback on the design of the bridge, as well as the following open questions:
- What is the best way to handle the transfer of token URIs from L1 to L2?
- Should there be a token list to maintain a source of truth for high-profile NFT projects, similar to Optimism's ERC20 Token List?
- Who would maintain this token list?