The deployment script deployLaunchHook.s.sol contains a critical flag mismatch: it mines for hook addresses with BEFORE_INITIALIZE_FLAG (bit 0), but the TokenLaunchHook contract implements afterInitialize (requires AFTER_INITIALIZE_FLAG, bit 1). This discrepancy causes address bitmask conflicts with the actual hook permissions, permanently bricking pool initialization.
Likelihood:
The deployment script is deterministically incorrect; every deployment will produce a hook address incompatible with the actual callback implementation.
Impact:
Immediate: PoolManager.initialize() reverts due to address/permission bitmask mismatch (security check prevents initialization)
No complex exploit needed—this is a deterministic deployment failure. The Foundry script will generate addresses with 0x01... prefix while the contract emits afterInitialize callbacks. Attempting to initialize a pool with this hook results in revert.
Update the deployment script to use AFTER_INITIALIZE_FLAG to match the actual hook implementation. Ensure the mined address bitmask aligns with the afterInitialize callback.
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.
The contest is complete and the rewards are being distributed.