Bridge does not have a function to upgrade the ERC721Bridgeable implementation
When native L2 NFT is bridged, a new L1 NFT contract is deployed.
This contract is an ERC1967 proxy to allow for upgrading the ERC721Bridgeable
implementation if needed. The ERC721Bridgeable
implementation inherits UUPSProxied that can be upgraded via upgradeToAndCall()
, and upgrading requires onlyOwner()
permissions
TheERC721Bridgeable
implementation transfers owner permission to the initializer, which will be the bridge
However, since the bridge is the owner of the contract, the implementation cannot be upgraded, as there is no function in the bridge to do so.
The ERC721Bridgeable
implementation cannot be upgraded as a result.
Manual Review
Add a function in the bridge to upgrade the ERC721Bridgeable
implementation, similar to these functions for the Cairo bridge
Likelyhood/Impact: High, it will never (until an upgrade) be able to update or transfer the ownership of any collections created on L1.
Likelyhood/Impact: High, it will never (until an upgrade) be able to update or transfer the ownership of any collections created on L1.
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.