Trait PositionMutExt

Source
pub trait PositionMutExt<const DECIMALS: u8>: PositionMut<DECIMALS>
where Self::Market: PerpMarketMut<DECIMALS, Num = Self::Num, Signed = Self::Signed>,
{ // Provided methods fn increase( &mut self, prices: Prices<Self::Num>, collateral_increment_amount: Self::Num, size_delta_usd: Self::Num, acceptable_price: Option<Self::Num>, ) -> Result<IncreasePosition<&mut Self, DECIMALS>> where Self: Sized { ... } fn decrease( &mut self, prices: Prices<Self::Num>, size_delta_usd: Self::Num, acceptable_price: Option<Self::Num>, collateral_withdrawal_amount: Self::Num, flags: DecreasePositionFlags, ) -> Result<DecreasePosition<&mut Self, DECIMALS>> where Self: Sized { ... } fn update_open_interest( &mut self, size_delta_usd: &Self::Signed, size_delta_in_tokens: &Self::Signed, ) -> Result<()> { ... } fn update_total_borrowing( &mut self, next_size_in_usd: &Self::Num, next_borrowing_factor: &Self::Num, ) -> Result<()> { ... } }
Expand description

Extension trait for PositionMut with utils.

Provided Methods§

Source

fn increase( &mut self, prices: Prices<Self::Num>, collateral_increment_amount: Self::Num, size_delta_usd: Self::Num, acceptable_price: Option<Self::Num>, ) -> Result<IncreasePosition<&mut Self, DECIMALS>>
where Self: Sized,

Create an action to increase the position.

Source

fn decrease( &mut self, prices: Prices<Self::Num>, size_delta_usd: Self::Num, acceptable_price: Option<Self::Num>, collateral_withdrawal_amount: Self::Num, flags: DecreasePositionFlags, ) -> Result<DecreasePosition<&mut Self, DECIMALS>>
where Self: Sized,

Create an action to decrease the position.

Source

fn update_open_interest( &mut self, size_delta_usd: &Self::Signed, size_delta_in_tokens: &Self::Signed, ) -> Result<()>

Update global open interest.

Source

fn update_total_borrowing( &mut self, next_size_in_usd: &Self::Num, next_borrowing_factor: &Self::Num, ) -> Result<()>

Update total borrowing.

Implementors§

Source§

impl<const DECIMALS: u8, P: PositionMut<DECIMALS>> PositionMutExt<DECIMALS> for P
where P::Market: PerpMarketMut<DECIMALS, Num = Self::Num, Signed = Self::Signed>,