The Soulmate staking contract allows users to deposit tokens and claim reward every week and can withdraw their balance at any time. There is a vulnerability that allows users who can hold the love token after claiming the airdrop for at least 7 days to claim at least their deposit. This means if a user claims an airdrop every day for 7 days, the user will have 7 tokens, if the user decides to deposit the 7 tokens into the contract, the user can claim 7 tokens immediately after depositing the tokens. This means the user still has 7 tokens and has withdrawed 7 tokens to his wallet.
Claim daily airdrop over 7 days, accumulating 7 LOVE tokens
Deposit these 7 tokens into the staking contract
Because the tokens were held for 7 days, immediately withdraw over 7 tokens
This results in the user withdrawing more than they deposited into the contract.
This vulnerability could lead to:
Distortion of the token economic incentives
Unfair depletion of staking rewards
Market effects from actors exploiting this issue
Manual Review
Separating airdrop eligibility from staking timelines
Improving logic checks around time held per user's balance
Limiting withdrawals strictly to deposited amounts
Closing this loophole will ensure fairer incentives for LOVE staking participants.
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.