pub struct SignedLeverageToNotional(/* private fields */);
Expand description
Leverage calculated based on the protocol’s internal representation.
This is calculated by comparing the notional size of a position against some amount of collateral (either active collateral from the trader or counter collateral from the liquidity pool). One of these values needs to be converted using a Price, so the leverage will change over time based on exchange rate.
Implementations§
§impl SignedLeverageToNotional
impl SignedLeverageToNotional
pub fn direction(self) -> DirectionToNotional
pub fn direction(self) -> DirectionToNotional
Extract the direction value
pub fn calculate(
notional_size: Signed<Notional>,
price_point: &PricePoint,
collateral: NonZero<Collateral>
) -> SignedLeverageToNotional
pub fn calculate( notional_size: Signed<Notional>, price_point: &PricePoint, collateral: NonZero<Collateral> ) -> SignedLeverageToNotional
Calculate based on notional size, a price point, and some amount of collateral.
Can fail because of overflow issues, but is otherwise guaranteed to return a sensible value since the collateral is a non-zero value.
pub fn into_number(self) -> Signed<Decimal256>
pub fn into_number(self) -> Signed<Decimal256>
Convert into the raw value.
pub fn into_base(
self,
market_type: MarketType
) -> Result<SignedLeverageToBase, Error>
pub fn into_base( self, market_type: MarketType ) -> Result<SignedLeverageToBase, Error>
Convert into an SignedLeverageToBase.
pub fn checked_mul_collateral(
self,
collateral: NonZero<Collateral>
) -> Result<Signed<Collateral>, Error>
pub fn checked_mul_collateral( self, collateral: NonZero<Collateral> ) -> Result<Signed<Collateral>, Error>
Multiply by active collateral of a position, returning the notional size in collateral of a position.
Trait Implementations§
§impl Clone for SignedLeverageToNotional
impl Clone for SignedLeverageToNotional
§fn clone(&self) -> SignedLeverageToNotional
fn clone(&self) -> SignedLeverageToNotional
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for SignedLeverageToNotional
impl Debug for SignedLeverageToNotional
§impl From<Signed<Decimal256>> for SignedLeverageToNotional
impl From<Signed<Decimal256>> for SignedLeverageToNotional
§fn from(value: Signed<Decimal256>) -> SignedLeverageToNotional
fn from(value: Signed<Decimal256>) -> SignedLeverageToNotional
impl Copy for SignedLeverageToNotional
Auto Trait Implementations§
impl RefUnwindSafe for SignedLeverageToNotional
impl Send for SignedLeverageToNotional
impl Sync for SignedLeverageToNotional
impl Unpin for SignedLeverageToNotional
impl UnwindSafe for SignedLeverageToNotional
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere T: CastFrom<U>,
self
to type T
. The semantics of numeric casting with the as
operator are followed, so <T as As>::as_::<U>
can be used in the same way as T as U
for numeric conversions. Read more