hypercall_types/
settlement_events.rs1use crate::{MarginMode, WalletAddress};
2use rust_decimal::Decimal;
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7pub struct SettlementEconomics {
8 pub settlement_entry_price: Decimal,
9 pub cost_basis: Decimal,
10 pub net_pnl: Decimal,
11}
12
13#[derive(Debug, Clone, Serialize, Deserialize)]
15pub struct PositionExpiredMessage {
16 pub wallet_address: WalletAddress,
18 pub margin_mode: MarginMode,
20 pub symbol: String,
21 pub position_size: Decimal,
23 pub settlement_price: Decimal,
25 pub settlement_value: Decimal,
27 #[serde(default)]
29 pub settlement_entry_price: Option<Decimal>,
30 #[serde(default)]
32 pub cost_basis: Option<Decimal>,
33 #[serde(default)]
35 pub net_pnl: Option<Decimal>,
36 pub timestamp: u64,
37}