pub struct TradeEvent {Show 21 fields
pub flags: u8,
pub trade_id: u64,
pub authority: Pubkey,
pub store: Pubkey,
pub market_token: Pubkey,
pub user: Pubkey,
pub position: Pubkey,
pub order: Pubkey,
pub final_output_token: Pubkey,
pub ts: i64,
pub slot: u64,
pub before: EventPositionState,
pub after: EventPositionState,
pub transfer_out: EventTransferOut,
pub prices: EventTradePrices,
pub execution_price: u128,
pub price_impact_value: i128,
pub price_impact_diff: u128,
pub pnl: EventTradePnl,
pub fees: EventTradeFees,
pub output_amounts: EventTradeOutputAmounts,
/* private fields */
}
Expand description
Trade event.
Fields§
§flags: u8
Trade flag.
trade_id: u64
Trade id.
Authority.
store: Pubkey
Store address.
market_token: Pubkey
Market token.
user: Pubkey
User.
position: Pubkey
Position address.
order: Pubkey
Order address.
final_output_token: Pubkey
Final output token.
ts: i64
Trade ts.
slot: u64
Trade slot.
before: EventPositionState
Before state.
after: EventPositionState
After state.
transfer_out: EventTransferOut
Transfer out.
prices: EventTradePrices
Prices.
execution_price: u128
Execution price.
price_impact_value: i128
Price impact value.
price_impact_diff: u128
Price impact diff.
pnl: EventTradePnl
Processed pnl.
fees: EventTradeFees
Fees.
output_amounts: EventTradeOutputAmounts
Output amounts.
Implementations§
Source§impl TradeEvent
impl TradeEvent
Sourcepub fn is_collateral_long(&self) -> bool
pub fn is_collateral_long(&self) -> bool
Return whether the collateral side is long.
Sourcepub fn is_increase(&self) -> bool
pub fn is_increase(&self) -> bool
Return whether the trade is caused by an increase order.
Sourcepub fn updated_at(&self) -> i64
pub fn updated_at(&self) -> i64
Updated at.
Sourcepub fn delta_size_in_usd(&self) -> u128
pub fn delta_size_in_usd(&self) -> u128
Delta size in usd.
Sourcepub fn delta_size_in_tokens(&self) -> u128
pub fn delta_size_in_tokens(&self) -> u128
Delta size in tokens.
Sourcepub fn delta_collateral_amount(&self) -> u128
pub fn delta_collateral_amount(&self) -> u128
Delta collateral amount.
Sourcepub fn delta_borrowing_factor(&self) -> u128
pub fn delta_borrowing_factor(&self) -> u128
Delta borrowing factor.
Sourcepub fn delta_funding_fee_amount_per_size(&self) -> u128
pub fn delta_funding_fee_amount_per_size(&self) -> u128
Delta funding fee amount per size.
Sourcepub fn funding_fee(&self) -> u128
pub fn funding_fee(&self) -> u128
Funding fee amount.
Sourcepub fn delta_claimable_funding_amount_per_size(
&self,
is_long_token: bool,
) -> u128
pub fn delta_claimable_funding_amount_per_size( &self, is_long_token: bool, ) -> u128
Delta claimable amount per size.
Sourcepub fn to_position(&self, meta: &impl HasMarketMeta) -> Position
pub fn to_position(&self, meta: &impl HasMarketMeta) -> Position
Create position from this event.
Trait Implementations§
Source§impl BorshDeserialize for TradeEventwhere
u8: BorshDeserialize,
[u8; 7]: BorshDeserialize,
u64: BorshDeserialize,
Pubkey: BorshDeserialize,
i64: BorshDeserialize,
EventPositionState: BorshDeserialize,
EventTransferOut: BorshDeserialize,
[u8; 8]: BorshDeserialize,
EventTradePrices: BorshDeserialize,
u128: BorshDeserialize,
i128: BorshDeserialize,
EventTradePnl: BorshDeserialize,
EventTradeFees: BorshDeserialize,
EventTradeOutputAmounts: BorshDeserialize,
impl BorshDeserialize for TradeEventwhere
u8: BorshDeserialize,
[u8; 7]: BorshDeserialize,
u64: BorshDeserialize,
Pubkey: BorshDeserialize,
i64: BorshDeserialize,
EventPositionState: BorshDeserialize,
EventTransferOut: BorshDeserialize,
[u8; 8]: BorshDeserialize,
EventTradePrices: BorshDeserialize,
u128: BorshDeserialize,
i128: BorshDeserialize,
EventTradePnl: BorshDeserialize,
EventTradeFees: BorshDeserialize,
EventTradeOutputAmounts: BorshDeserialize,
fn deserialize_reader<R>(reader: &mut R) -> Result<TradeEvent, Error>where
R: Read,
§fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
Deserializes this instance from a given slice of bytes.
Updates the buffer to point at the remaining bytes.
§fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
Deserialize this instance from a slice of bytes.
fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where
R: Read,
Source§impl BorshSerialize for TradeEventwhere
u8: BorshSerialize,
[u8; 7]: BorshSerialize,
u64: BorshSerialize,
Pubkey: BorshSerialize,
i64: BorshSerialize,
EventPositionState: BorshSerialize,
EventTransferOut: BorshSerialize,
[u8; 8]: BorshSerialize,
EventTradePrices: BorshSerialize,
u128: BorshSerialize,
i128: BorshSerialize,
EventTradePnl: BorshSerialize,
EventTradeFees: BorshSerialize,
EventTradeOutputAmounts: BorshSerialize,
impl BorshSerialize for TradeEventwhere
u8: BorshSerialize,
[u8; 7]: BorshSerialize,
u64: BorshSerialize,
Pubkey: BorshSerialize,
i64: BorshSerialize,
EventPositionState: BorshSerialize,
EventTransferOut: BorshSerialize,
[u8; 8]: BorshSerialize,
EventTradePrices: BorshSerialize,
u128: BorshSerialize,
i128: BorshSerialize,
EventTradePnl: BorshSerialize,
EventTradeFees: BorshSerialize,
EventTradeOutputAmounts: BorshSerialize,
Source§impl Clone for TradeEvent
impl Clone for TradeEvent
Source§fn clone(&self) -> TradeEvent
fn clone(&self) -> TradeEvent
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for TradeEvent
impl Debug for TradeEvent
Source§impl Decode for TradeEvent
impl Decode for TradeEvent
Source§fn decode<D>(decoder: D) -> Result<TradeEvent, DecodeError>where
D: Decoder,
fn decode<D>(decoder: D) -> Result<TradeEvent, DecodeError>where
D: Decoder,
Decode with the given
Decoder
.Source§impl<'de> Deserialize<'de> for TradeEvent
impl<'de> Deserialize<'de> for TradeEvent
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<TradeEvent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<TradeEvent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Discriminator for TradeEvent
impl Discriminator for TradeEvent
const DISCRIMINATOR: [u8; 8]
fn discriminator() -> [u8; 8]
Source§impl Display for TradeEvent
impl Display for TradeEvent
Source§impl Serialize for TradeEvent
impl Serialize for TradeEvent
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Source§impl Space for TradeEvent
impl Space for TradeEvent
const INIT_SPACE: usize = 1_232usize
Auto Trait Implementations§
impl Freeze for TradeEvent
impl RefUnwindSafe for TradeEvent
impl Send for TradeEvent
impl Sync for TradeEvent
impl Unpin for TradeEvent
impl UnwindSafe for TradeEvent
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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