1use {
10 crate::models,
11 serde::{Deserialize, Serialize},
12};
13
14#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
17pub enum ExchangeType {
18 #[serde(rename = "INDEPENDENT_RESERVE")]
19 IndependentReserve,
20 #[serde(rename = "ENCLAVE_MARKETS")]
21 EnclaveMarkets,
22 #[serde(rename = "BIT")]
23 Bit,
24 #[serde(rename = "COINFLEX")]
25 Coinflex,
26 #[serde(rename = "KUCOIN")]
27 Kucoin,
28 #[serde(rename = "PXS")]
29 Pxs,
30 #[serde(rename = "LIQUID")]
31 Liquid,
32 #[serde(rename = "BITHUMB")]
33 Bithumb,
34 #[serde(rename = "BITFINEX")]
35 Bitfinex,
36 #[serde(rename = "BITSO")]
37 Bitso,
38 #[serde(rename = "BITSTAMP")]
39 Bitstamp,
40 #[serde(rename = "KRAKEN")]
41 Kraken,
42 #[serde(rename = "KRAKENINTL")]
43 Krakenintl,
44 #[serde(rename = "BINANCE")]
45 Binance,
46 #[serde(rename = "BINANCEUS")]
47 Binanceus,
48 #[serde(rename = "CRYPTOCOM")]
49 Cryptocom,
50 #[serde(rename = "BYBIT_V2")]
51 BybitV2,
52 #[serde(rename = "COINBASEPRO")]
53 Coinbasepro,
54 #[serde(rename = "COINBASEPRIME")]
55 Coinbaseprime,
56 #[serde(rename = "COINBASEINTERNATIONAL")]
57 Coinbaseinternational,
58 #[serde(rename = "WHITEBIT")]
59 Whitebit,
60 #[serde(rename = "COINBASEEXCHANGE")]
61 Coinbaseexchange,
62 #[serde(rename = "KORBIT")]
63 Korbit,
64 #[serde(rename = "HITBTC")]
65 Hitbtc,
66 #[serde(rename = "GEMINI")]
67 Gemini,
68 #[serde(rename = "CIRCLE")]
69 Circle,
70 #[serde(rename = "BITMEX")]
71 Bitmex,
72 #[serde(rename = "HUOBI")]
73 Huobi,
74 #[serde(rename = "DERIBIT")]
75 Deribit,
76 #[serde(rename = "OKCOIN_V5")]
77 OkcoinV5,
78 #[serde(rename = "OKEX")]
79 Okex,
80 #[serde(rename = "COINMETRO")]
81 Coinmetro,
82 #[serde(rename = "GATEIO")]
83 Gateio,
84 #[serde(rename = "SCRYPT")]
85 Scrypt,
86 #[serde(rename = "COINHAKO")]
87 Coinhako,
88 #[serde(rename = "LIGHTBIT")]
89 Lightbit,
90 #[serde(rename = "BULLISH")]
91 Bullish,
92 #[serde(rename = "CANVAS_CONNECT")]
93 CanvasConnect,
94 #[serde(rename = "BITGET")]
95 Bitget,
96 #[serde(rename = "LUNO")]
97 Luno,
98 #[serde(rename = "BIT_GENERA")]
99 BitGenera,
100 #[serde(rename = "TRANSFERO")]
101 Transfero,
102}
103
104impl std::fmt::Display for ExchangeType {
105 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
106 match self {
107 Self::IndependentReserve => write!(f, "INDEPENDENT_RESERVE"),
108 Self::EnclaveMarkets => write!(f, "ENCLAVE_MARKETS"),
109 Self::Bit => write!(f, "BIT"),
110 Self::Coinflex => write!(f, "COINFLEX"),
111 Self::Kucoin => write!(f, "KUCOIN"),
112 Self::Pxs => write!(f, "PXS"),
113 Self::Liquid => write!(f, "LIQUID"),
114 Self::Bithumb => write!(f, "BITHUMB"),
115 Self::Bitfinex => write!(f, "BITFINEX"),
116 Self::Bitso => write!(f, "BITSO"),
117 Self::Bitstamp => write!(f, "BITSTAMP"),
118 Self::Kraken => write!(f, "KRAKEN"),
119 Self::Krakenintl => write!(f, "KRAKENINTL"),
120 Self::Binance => write!(f, "BINANCE"),
121 Self::Binanceus => write!(f, "BINANCEUS"),
122 Self::Cryptocom => write!(f, "CRYPTOCOM"),
123 Self::BybitV2 => write!(f, "BYBIT_V2"),
124 Self::Coinbasepro => write!(f, "COINBASEPRO"),
125 Self::Coinbaseprime => write!(f, "COINBASEPRIME"),
126 Self::Coinbaseinternational => write!(f, "COINBASEINTERNATIONAL"),
127 Self::Whitebit => write!(f, "WHITEBIT"),
128 Self::Coinbaseexchange => write!(f, "COINBASEEXCHANGE"),
129 Self::Korbit => write!(f, "KORBIT"),
130 Self::Hitbtc => write!(f, "HITBTC"),
131 Self::Gemini => write!(f, "GEMINI"),
132 Self::Circle => write!(f, "CIRCLE"),
133 Self::Bitmex => write!(f, "BITMEX"),
134 Self::Huobi => write!(f, "HUOBI"),
135 Self::Deribit => write!(f, "DERIBIT"),
136 Self::OkcoinV5 => write!(f, "OKCOIN_V5"),
137 Self::Okex => write!(f, "OKEX"),
138 Self::Coinmetro => write!(f, "COINMETRO"),
139 Self::Gateio => write!(f, "GATEIO"),
140 Self::Scrypt => write!(f, "SCRYPT"),
141 Self::Coinhako => write!(f, "COINHAKO"),
142 Self::Lightbit => write!(f, "LIGHTBIT"),
143 Self::Bullish => write!(f, "BULLISH"),
144 Self::CanvasConnect => write!(f, "CANVAS_CONNECT"),
145 Self::Bitget => write!(f, "BITGET"),
146 Self::Luno => write!(f, "LUNO"),
147 Self::BitGenera => write!(f, "BIT_GENERA"),
148 Self::Transfero => write!(f, "TRANSFERO"),
149 }
150 }
151}
152
153impl Default for ExchangeType {
154 fn default() -> ExchangeType {
155 Self::IndependentReserve
156 }
157}