Skip to main content

hypercall_types/
balance_update.rs

1use 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}