The contracts SablierV2MerkleLL.sol and SablierV2MerkleLT.sol can not utilize UNI, COMP and lot of copy-cats for airdrops because of the way the forceApprove function is implemented.
In the constructor of the SablierV2MerkleLL.sol and SablierV2MerkleLT.sol contracts, the forceApprove function is called to approve the LOCKUP_TRANCHED and LOCKUP_LINEAR contracts to spend the ASSET token. However, the current implementation prevents the protocol to be used by various ERC-20 tokens like UNI, COMP and lot of copy-cats since the allowance is hard coded to type(uint256).max. As we can see these tokens revert the transaction if the allowance is set to type(uint256).max.
This vulnerability prevents the contract to be used from various ERC-20 tokens which are developed like UNI and that leads to a limitation in the protocol.
Manual review
Consider approving uint(-1) which according to the logic of these contracts means infinite :
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.