In the veRAACToken::lock
function, if a user attempts to lock tokens for a second time, the new lock position overwrites the existing one. This occurs because the _lockState.createLock
function does not handle multiple lock positions for the same user. As a result, users cannot create multiple lock positions, and their existing positions are lost when they attempt to lock additional tokens.
The lock
function allows users to lock tokens by specifying an amount and duration. However, the _lockState.createLock
function does not support multiple lock positions for the same user. Instead, it overwrites the existing lock position when a user calls the lock
function again and all locked tokens will be stucked.
Loss of Lock Positions: Users lose their existing lock positions when they attempt to lock additional tokens, resulting in a loss of tokens.
Manual review
To address this issue, veRAACToken::lock
should check if there is a locked position.
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.