mintBridgedNFT
can revert du to _safeMint
and lose NFT on both chainIn the mintBridgedNFT
function, the NFT is minted on the destination chain after being burned on the source chain during a bridge operation. However, _safeMint
is used without checking whether the bridge operation is successful. If _safeMint
reverts, the NFT will be lost on both chains.
Likelyhood: Low
If _safeMint
reverts.
Impact: High
NFT is burned on both chain.
Create a simple contract without implementing a receive function for NFTs.
Bridge an NFT to this contract.
Check that the NFT doesn't exist on both chain.
Use _mint
instead of _safeMint
.
Alternatively:
Mint the NFT for the bridge and implement a withdraw function for the owner on the destination chain.
Implement a rescue function to transfer stucked NFTs.
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.