deployERC721Bridgeable() and deployERC1155Bridgeable() functions uses abi.encodeWithSelector to encode the dataInit function call. This method however, doesn't provide type checking of function arguments.
As seen, the dataInit is encoded without any type checking.
abi.encodeCall will check the arguments type and gives error if not same.
Missing type check can lead to unexpected behavior.
Manual Review
Consider using encodeCall to generate dataInit.
Please, do not suppose impacts, think about the real impact of the bug and check the CodeHawks documentation to confirm: https://docs.codehawks.com/hawks-auditors/how-to-determine-a-finding-validity A PoC always helps to understand the real impact possible.
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.