Struct levana_perpswap_cosmos::contracts::market::position::ClosedPosition
source · pub struct ClosedPosition {Show 27 fields
pub owner: Addr,
pub id: PositionId,
pub direction_to_base: DirectionToBase,
pub created_at: Timestamp,
pub price_point_created_at: Option<Timestamp>,
pub liquifunded_at: Timestamp,
pub trading_fee_collateral: Collateral,
pub trading_fee_usd: Usd,
pub funding_fee_collateral: Signed<Collateral>,
pub funding_fee_usd: Signed<Usd>,
pub borrow_fee_collateral: Collateral,
pub borrow_fee_usd: Usd,
pub crank_fee_collateral: Collateral,
pub crank_fee_usd: Usd,
pub delta_neutrality_fee_collateral: Signed<Collateral>,
pub delta_neutrality_fee_usd: Signed<Usd>,
pub deposit_collateral: Signed<Collateral>,
pub deposit_collateral_usd: Signed<Usd>,
pub active_collateral: Collateral,
pub pnl_collateral: Signed<Collateral>,
pub pnl_usd: Signed<Usd>,
pub notional_size: Signed<Notional>,
pub entry_price_base: PriceBaseInQuote,
pub close_time: Timestamp,
pub settlement_time: Timestamp,
pub reason: PositionCloseReason,
pub liquidation_margin: Option<LiquidationMargin>,
}
Expand description
Information on a closed position
Fields§
§owner: Addr
Owner at the time the position closed
id: PositionId
ID of the position
direction_to_base: DirectionToBase
Direction (to base) of the position
created_at: Timestamp
Timestamp the position was created, block time.
price_point_created_at: Option<Timestamp>
Timestamp of the price point used for creating this position.
liquifunded_at: Timestamp
Timestamp of the last liquifunding
trading_fee_collateral: Collateral
The one-time fee paid when opening or updating a position
this value is the current balance, including all updates
trading_fee_usd: Usd
Cumulative trading fees expressed in USD
funding_fee_collateral: Signed<Collateral>
The ongoing fee paid (and earned!) between positions to incentivize keeping longs and shorts in balance which in turn reduces risk for LPs
This value is the current balance, not a historical record of each payment
funding_fee_usd: Signed<Usd>
Cumulative funding fee in USD
borrow_fee_collateral: Collateral
The ongoing fee paid to LPs to lock up their deposit as counter-size collateral in this position
This value is the current balance, not a historical record of each payment
borrow_fee_usd: Usd
Cumulative borrow fee in USD
crank_fee_collateral: Collateral
Cumulative amount of crank fees paid by the position
crank_fee_usd: Usd
Cumulative crank fees in USD
delta_neutrality_fee_collateral: Signed<Collateral>
Cumulative amount of delta neutrality fees paid by (or received by) the position.
Positive == outgoing, negative == incoming, like funding_fee.
delta_neutrality_fee_usd: Signed<Usd>
Cumulative delta neutrality fee in USD
deposit_collateral: Signed<Collateral>
Deposit collateral for the position.
This includes any updates from collateral being added or removed.
deposit_collateral_usd: Signed<Usd>
Deposit collateral in USD, using cost basis analysis.
active_collateral: Collateral
Final active collateral, the amount sent back to the trader on close
pnl_collateral: Signed<Collateral>
Profit or loss of the position in terms of collateral.
This is the final collateral send to the trader minus all deposits (including updates).
pnl_usd: Signed<Usd>
Profit or loss, in USD
This is not simply the PnL in collateral converted to USD. It converts each individual event to a USD representation using the historical timestamp. This can be viewed as a cost basis view of PnL.
notional_size: Signed<Notional>
The notional size of the position at close.
entry_price_base: PriceBaseInQuote
Entry price
close_time: Timestamp
the time at which the position is actually closed
This will always be the block time when the crank closed the position, whether via liquidation, deferred execution of a ClosePosition call, or liquifunding.
settlement_time: Timestamp
needed for calculating final settlement amounts if by user: same as close time if by liquidation: first time position became liquidatable
reason: PositionCloseReason
the reason the position is closed
liquidation_margin: Option<LiquidationMargin>
liquidation margin at the time of close Optional for the sake of backwards-compatibility
Trait Implementations§
source§impl Clone for ClosedPosition
impl Clone for ClosedPosition
source§fn clone(&self) -> ClosedPosition
fn clone(&self) -> ClosedPosition
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ClosedPosition
impl Debug for ClosedPosition
source§impl<'de> Deserialize<'de> for ClosedPosition
impl<'de> Deserialize<'de> for ClosedPosition
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl JsonSchema for ClosedPosition
impl JsonSchema for ClosedPosition
source§fn schema_name() -> String
fn schema_name() -> String
source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
source§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref
keyword. Read moresource§impl PartialEq for ClosedPosition
impl PartialEq for ClosedPosition
source§fn eq(&self, other: &ClosedPosition) -> bool
fn eq(&self, other: &ClosedPosition) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for ClosedPosition
impl Serialize for ClosedPosition
impl StructuralPartialEq for ClosedPosition
Auto Trait Implementations§
impl Freeze for ClosedPosition
impl RefUnwindSafe for ClosedPosition
impl Send for ClosedPosition
impl Sync for ClosedPosition
impl Unpin for ClosedPosition
impl UnwindSafe for ClosedPosition
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 moresource§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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more