pub struct PositionData<'a> {
pub token_balance: i128,
pub price_usdc_base_units: u64,
pub twap5min: i64,
pub spot_market: &'a SpotMarket,
}Expand description
Input data for a single position in margin calculations.
The caller is responsible for computing token_balance — this allows
different services to compose balances differently (e.g. Drift-only
vs Drift + deposit addresses - pending withdraws).
Fields§
§token_balance: i128Token balance in base units (positive = deposit, negative = borrow).
Use get_token_balance() to compute from a SpotPosition, then add
any off-chain adjustments.
price_usdc_base_units: u64Current oracle price in USDC base units (1e6).
twap5min: i645-minute TWAP from SpotMarket::historical_oracle_data.last_oracle_price_twap5min.
spot_market: &'a SpotMarketThe spot market configuration.
Auto Trait Implementations§
impl<'a> Freeze for PositionData<'a>
impl<'a> RefUnwindSafe for PositionData<'a>
impl<'a> Send for PositionData<'a>
impl<'a> Sync for PositionData<'a>
impl<'a> Unpin for PositionData<'a>
impl<'a> UnsafeUnpin for PositionData<'a>
impl<'a> UnwindSafe for PositionData<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more