streets
module's stake
function is to allow a user to stake a Rapper NFT. The specific issue is that the function uses move_to(staker, StakeInfo { ... })
to create a StakeInfo
resource at the user's address. Since an account can only have one instance of a given resource, a user cannot stake a second Rapper NFT until the first one is unstaked.Likelihood:
This will occur whenever a user attempts to stake a second Rapper NFT.
The Move VM will revert the transaction with a move_to
error, as the resource already exists.
Impact:
This limitation is not a security vulnerability but severely restricts the protocol's usability.
It prevents users from staking multiple Rapper NFTs, which would be a logical next step for power users.
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.
The contest is complete and the rewards are being distributed.