A user can earn more rewards, longer than the time he has staked his LoveTokens, this can happen for first stake, and also happen when the user withdraw their stake and restakes it.
In the claim function below, lastClaim[msg.sender]
is based on the time the Soulmate NFT was minted for the first claim, this calculation is wrong and would lead to the user getting more reward greater than the duration, in which his LoveToken has been in the protocol.
##POC
A user will game the protocol to earn more reward
Manual Analysis
Set create a variable to track the first time the user is depositing to the protocol, so this variable would be set as lastClaim
for the first claim.
High severity, this allows users to claim additional rewards without committing to intended weekly staking period via multi-deposit/deposit right before claiming rewards.
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.