When attempting to remove liquidity from the vault, the operation fails if the pool is configured to call after removing liquidity and donations are disabled.
The function UpliftOnlyExample.sol#L557~L566, which is invoked when adding liquidity to the vault, contains the following code:
However, if the pool is disabled for donations, the above call will revert due to the following code snippet in PoolConfigLib.sol:
Consequently, users are unable to remove liquidity from the vault when poolData.poolConfigBits.shouldCallAfterRemoveLiquidity() == true and config.supportsDonation() == false.
To resolve this issue, the code should be modified to ensure that the call from the hook to add liquidity does not revert even if config.supportsDonation() == false.
Please read the CodeHawks documentation to know which submissions are valid. If you disagree, provide a coded PoC and explain the real likelyhood and the detailed impact on the mainnet without any supposition (if, it could, etc) to prove your point.
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.