SherBuy.execute uses the function viewCapitalRequirements which checks whether the liquidity event is active with if (active() == false) revert InvalidState();. Then SherBuy.execute uses SherClaim.add which also checks for the same thing with the active function in L62:
the active() function is SherClaim checks if block.timestamp >= claimableAt;
the active() function is SherBuy checks if block.timestamp < SherClaim.claimableAt;
Handle
ych18
Vulnerability details
SherBuy.execute
uses the functionviewCapitalRequirements
which checks whether the liquidity event is active withif (active() == false) revert InvalidState();
. ThenSherBuy.execute
usesSherClaim.add
which also checks for the same thing with the active function in L62: