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.