User might lose bdv on individual deposits when calling enrootDeposits
The way enrootDeposit works is that if a user has a deposit in an unripe token and its bdv (Bean denominated value) has increased, the user can call the function and update the deposit to the current appropriate bdv
The problem is that this invariant is not enforced for individual deposits when using enrootDeposits. When using enrootDeposits it's only looked that the total new bdv is larger than the old total bdv.
Meaning that if a user has had to equal deposits at bdv $1.00 and $1.20, they've called the function enrootDeposits when the actual bdv is $1.15, the transaction would succeed, although the user has lost bdv on their 2nd deposit (and it would've been more profitable for them if they had simply enrooted the first deposit only).
Since bdv is dynamic (based on an oracle's value) and a user's transaction might be stuck for a long time (e.g. due to set low gas), user could accidentally execute the transaction in suboptimal conditions, resulting in a loss.
Loss of bdv(and therefore stalk (governance power) and roots too)
Check that the bdv of each individual deposit is less than the current bdv
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.