functions use the CREATE method where the address derivation depends only on the Deployer nonce. This is susceptible to reorg attacks.
The deployERC721Bridgeable function deploys a quest contract using the create, where the address derivation depends only on the nonce.
At the same time, some of the chains (Polygon, Optimism, Arbitrum) to which the Deployer will be deployed are suspicious of the reorg attack.
If users rely on the address derivation in advance or try to deploy the wallet with the same address on different EVM chains, any funds sent to the wallet could potentially be withdrawn by anyone else. All in all, it could lead to the theft of user funds.
Manual Review
Deploy the quest contract via create2 with salt that includes msg.sender .
`_l1ToL2Addresses` and `_l2ToL1Addresses` can only be set by the bridge owner or at the deployment in `withdrawTokens`. Even if there is a reorg, the contract will be deployed on a new address which won’t change anything to bridge tokens. No impact.
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.