barter_data/subscription/
trade.rs1use super::SubscriptionKind;
2use barter_instrument::Side;
3use barter_macro::{DeSubKind, SerSubKind};
4use serde::{Deserialize, Serialize};
5
6#[derive(
9 Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug, Default, DeSubKind, SerSubKind,
10)]
11pub struct PublicTrades;
12
13impl SubscriptionKind for PublicTrades {
14 type Event = PublicTrade;
15
16 fn as_str(&self) -> &'static str {
17 "public_trades"
18 }
19}
20
21impl std::fmt::Display for PublicTrades {
22 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
23 write!(f, "{}", self.as_str())
24 }
25}
26
27#[derive(Clone, PartialEq, PartialOrd, Debug, Deserialize, Serialize)]
29pub struct PublicTrade {
30 pub id: String,
31 pub price: f64,
32 pub amount: f64,
33 pub side: Side,
34}