There is a possiblity of a reentrancy attack in the claim functions of the Staking.sol contract.
Here,in the claim function of the Staking.sol contract tokens are transfered before updating the state of the claimable[msg.sender] to 0 which can cause a reentrancy attack to happen.
https://github.com/Cyfrin/2023-07-beedle/blob/658e046bda8b010a5b82d2d85e824f3823602d27/src/Staking.sol#L53C3-L59C5
This loophole could allow a attacker to execute the claim function multiple times before the previous call completes. This can lead to unexpected and harmful behavior, such as the theft of funds or unauthorized access to data.
Manual Review
Use a reentrancyGuard or update the state before transfering tokens.
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.