01/10/2024 - BE - Custody internal state for `Assets` reports too much locked collateral
What
When a user increase a long or short position, the whole size of the position is re-added to the Asset
struct, we keep another value LockedAmount
in the Custody
that is increased properly.
Impact
Every-time someone increase an existing positon, the Assets.locked
of the Custody
drifts up compared to positionAccounting.lockedAmount
.
In term of impact, this affected the borrow rate calculation: users may have paid a higher borrow rate on positions.
Overall this very marginally increased the AUM due to taking more fees (
Resolution
Add integration tests that triggers the issue
Fix the calculation in the code: add only the increased size and not the whole amount in the code.
Add an one time patch IX to the program that doctors the existing values of Assets.Locked, aligning them with the correct LockedAmount kept in the stats
Add related integration tests that check the patch IX
Details
issue found: Gaius & Jaki (initial report), Corto and Orex investigation afterward issue fix: Orex and Corto patch in: Release/6 - Adrena Program v1.0.5 on 01/30/2024 proposal url: https://dao.adrena.xyz/dao/AdrenaDAO/proposal/J6bGmeSpTU5A7XMuTDeZ4RCznoAyC5JGYYitybEuVvgU
Last updated