barter_execution/
balance.rs1use chrono::{DateTime, Utc};
2use derive_more::Constructor;
3use rust_decimal::Decimal;
4use serde::{Deserialize, Serialize};
5
6#[derive(
7 Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Deserialize, Serialize, Constructor,
8)]
9pub struct AssetBalance<AssetKey> {
10 pub asset: AssetKey,
11 pub balance: Balance,
12 pub time_exchange: DateTime<Utc>,
13}
14
15#[derive(
16 Debug,
17 Copy,
18 Clone,
19 PartialEq,
20 Eq,
21 PartialOrd,
22 Ord,
23 Hash,
24 Default,
25 Deserialize,
26 Serialize,
27 Constructor,
28)]
29pub struct Balance {
30 pub total: Decimal,
31 pub free: Decimal,
32}
33
34impl Balance {
35 pub fn used(&self) -> Decimal {
36 self.total - self.free
37 }
38}