hypercall_types/
balance_update.rs1use crate::WalletAddress;
2use rust_decimal::Decimal;
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6#[serde(rename_all = "snake_case")]
7pub enum BalanceUpdateReason {
8 OptionFillPremium,
9 Deposit,
10 Withdrawal,
11 Settlement,
12 LiquidationBonus,
13 TestnetFunding,
14 FaucetFunding,
15}
16
17#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
18pub struct BalanceUpdate {
19 pub balance_update_seq: u64,
20 pub wallet: WalletAddress,
21 pub delta: Decimal,
22 pub balance_after: Decimal,
23 pub reason: BalanceUpdateReason,
24 pub reference_id: Option<String>,
25 pub source_command_id: Option<i64>,
26 pub timestamp_ms: u64,
27}