1#[allow(clippy::derive_partial_eq_without_eq)]
5#[derive(Clone, PartialEq, ::prost::Message)]
6pub struct OrderLog {
7 #[prost(int64, tag="1")]
9 pub id: i64,
10 #[prost(uint64, tag="2")]
12 pub order_id: u64,
13 #[prost(uint64, optional, tag="3")]
16 pub original_order_id: ::core::option::Option<u64>,
17 #[prost(string, tag="4")]
19 pub fund_code: ::prost::alloc::string::String,
20 #[prost(string, tag="5")]
22 pub symbol: ::prost::alloc::string::String,
23 #[prost(enumeration="OrderLogType", tag="6")]
25 pub log_type: i32,
26 #[prost(enumeration="super::common::OrderSide", tag="7")]
28 pub side: i32,
29 #[prost(enumeration="OrderType", tag="8")]
31 pub order_type: i32,
32 #[prost(string, tag="9")]
36 pub price: ::prost::alloc::string::String,
37 #[prost(string, tag="10")]
41 pub quantity: ::prost::alloc::string::String,
42 #[prost(string, optional, tag="11")]
44 pub filled_price: ::core::option::Option<::prost::alloc::string::String>,
45 #[prost(string, optional, tag="12")]
47 pub filled_quantity: ::core::option::Option<::prost::alloc::string::String>,
48 #[prost(string, optional, tag="13")]
50 pub filled_amount: ::core::option::Option<::prost::alloc::string::String>,
51 #[prost(string, optional, tag="14")]
53 pub rejection_code: ::core::option::Option<::prost::alloc::string::String>,
54 #[prost(string, optional, tag="15")]
56 pub error_message: ::core::option::Option<::prost::alloc::string::String>,
57 #[prost(uint64, tag="16")]
59 pub exchange_time: u64,
60 #[prost(uint64, tag="17")]
63 pub receive_time: u64,
64 #[prost(message, optional, tag="18")]
67 pub created_at: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
68 #[prost(enumeration="super::common::MarketType", tag="19")]
70 pub market_type: i32,
71 #[prost(uint32, tag="20")]
73 pub date: u32,
74 #[prost(string, optional, tag="21")]
76 pub user_area: ::core::option::Option<::prost::alloc::string::String>,
77}
78#[allow(clippy::derive_partial_eq_without_eq)]
79#[derive(Clone, Copy, PartialEq, ::prost::Message)]
80pub struct OrderLogFillStatistics {
81 #[prost(int64, tag="1")]
83 pub total_fills: i64,
84 #[prost(int64, tag="2")]
86 pub total_quantity: i64,
87 #[prost(int64, tag="3")]
89 pub total_amount: i64,
90 #[prost(int64, tag="4")]
92 pub buy_count: i64,
93 #[prost(int64, tag="5")]
95 pub sell_count: i64,
96}
97#[allow(clippy::derive_partial_eq_without_eq)]
101#[derive(Clone, PartialEq, ::prost::Message)]
102pub struct ListOrderLogsRequest {
103 #[prost(uint32, optional, tag="1")]
105 pub page_size: ::core::option::Option<u32>,
106 #[prost(string, optional, tag="2")]
108 pub page_token: ::core::option::Option<::prost::alloc::string::String>,
109 #[prost(string, tag="3")]
129 pub filter: ::prost::alloc::string::String,
130 #[prost(string, tag="4")]
138 pub order_by: ::prost::alloc::string::String,
139}
140#[allow(clippy::derive_partial_eq_without_eq)]
142#[derive(Clone, PartialEq, ::prost::Message)]
143pub struct ListOrderLogsResponse {
144 #[prost(message, repeated, tag="1")]
146 pub order_logs: ::prost::alloc::vec::Vec<OrderLog>,
147 #[prost(string, tag="2")]
149 pub next_page_token: ::prost::alloc::string::String,
150}
151#[allow(clippy::derive_partial_eq_without_eq)]
152#[derive(Clone, PartialEq, ::prost::Message)]
153pub struct GetOrderLogStatisticsRequest {
154 #[prost(string, tag="1")]
171 pub filter: ::prost::alloc::string::String,
172}
173#[allow(clippy::derive_partial_eq_without_eq)]
174#[derive(Clone, Copy, PartialEq, ::prost::Message)]
175pub struct GetOrderChainRequest {
176 #[prost(uint64, tag="1")]
177 pub order_id: u64,
178 #[prost(uint32, optional, tag="2")]
180 pub date: ::core::option::Option<u32>,
181}
182#[allow(clippy::derive_partial_eq_without_eq)]
183#[derive(Clone, PartialEq, ::prost::Message)]
184pub struct GetOrderChainResponse {
185 #[prost(message, repeated, tag="1")]
186 pub order_logs: ::prost::alloc::vec::Vec<OrderLog>,
187}
188#[allow(clippy::derive_partial_eq_without_eq)]
190#[derive(Clone, Copy, PartialEq, ::prost::Message)]
191pub struct GetHedgePairDetailRequest {
192 #[prost(uint64, tag="1")]
194 pub order_id: u64,
195 #[prost(uint32, optional, tag="2")]
197 pub date: ::core::option::Option<u32>,
198}
199#[allow(clippy::derive_partial_eq_without_eq)]
201#[derive(Clone, PartialEq, ::prost::Message)]
202pub struct StreamHedgePairDetailRequest {
203 #[prost(string, tag="1")]
205 pub symbol: ::prost::alloc::string::String,
206 #[prost(string, optional, tag="2")]
208 pub fund_code: ::core::option::Option<::prost::alloc::string::String>,
209 #[prost(string, optional, tag="3")]
211 pub hedge_symbol: ::core::option::Option<::prost::alloc::string::String>,
212 #[prost(enumeration="super::common::OrderSide", optional, tag="4")]
214 pub quote_side: ::core::option::Option<i32>,
215 #[prost(uint64, optional, tag="5")]
217 pub since_hedge_exchange_time_us: ::core::option::Option<u64>,
218}
219#[allow(clippy::derive_partial_eq_without_eq)]
221#[derive(Clone, PartialEq, ::prost::Message)]
222pub struct HedgePairDetail {
223 #[prost(uint64, tag="1")]
225 pub quote_order_id: u64,
226 #[prost(string, tag="2")]
228 pub quote_symbol: ::prost::alloc::string::String,
229 #[prost(enumeration="super::common::OrderSide", tag="3")]
231 pub quote_side: i32,
232 #[prost(int64, tag="4")]
234 pub quote_filled_quantity: i64,
235 #[prost(double, tag="5")]
237 pub quote_avg_price: f64,
238 #[prost(string, tag="6")]
240 pub hedge_symbol: ::prost::alloc::string::String,
241 #[prost(int64, tag="7")]
243 pub hedge_filled_quantity: i64,
244 #[prost(double, tag="8")]
246 pub hedge_avg_price: f64,
247 #[prost(double, tag="9")]
249 pub spread: f64,
250 #[prost(string, tag="10")]
252 pub fund_code: ::prost::alloc::string::String,
253 #[prost(uint32, tag="11")]
255 pub date: u32,
256 #[prost(uint64, tag="12")]
258 pub hedge_exchange_time: u64,
259}
260#[allow(clippy::derive_partial_eq_without_eq)]
262#[derive(Clone, Copy, PartialEq, ::prost::Message)]
263pub struct SideFillSummary {
264 #[prost(uint64, tag="1")]
266 pub fill_count: u64,
267 #[prost(int64, tag="2")]
269 pub filled_quantity: i64,
270 #[prost(double, tag="3")]
272 pub avg_price: f64,
273 #[prost(double, tag="4")]
275 pub amount: f64,
276 #[prost(uint64, tag="5")]
278 pub last_exchange_time: u64,
279}
280#[allow(clippy::derive_partial_eq_without_eq)]
282#[derive(Clone, PartialEq, ::prost::Message)]
283pub struct LegFillSummary {
284 #[prost(string, tag="1")]
285 pub fund_code: ::prost::alloc::string::String,
286 #[prost(string, tag="2")]
287 pub symbol: ::prost::alloc::string::String,
288 #[prost(message, optional, tag="3")]
290 pub bid: ::core::option::Option<SideFillSummary>,
291 #[prost(message, optional, tag="4")]
293 pub ask: ::core::option::Option<SideFillSummary>,
294}
295#[allow(clippy::derive_partial_eq_without_eq)]
297#[derive(Clone, PartialEq, ::prost::Message)]
298pub struct PairFillSummary {
299 #[prost(message, optional, tag="1")]
301 pub quote: ::core::option::Option<LegFillSummary>,
302 #[prost(message, optional, tag="2")]
304 pub hedge: ::core::option::Option<LegFillSummary>,
305 #[prost(uint32, tag="3")]
307 pub date: u32,
308}
309#[allow(clippy::derive_partial_eq_without_eq)]
311#[derive(Clone, PartialEq, ::prost::Message)]
312pub struct StreamPairFillSummaryRequest {
313 #[prost(string, tag="1")]
315 pub quote_fund_code: ::prost::alloc::string::String,
316 #[prost(string, tag="2")]
318 pub quote_symbol: ::prost::alloc::string::String,
319 #[prost(string, tag="3")]
321 pub hedge_fund_code: ::prost::alloc::string::String,
322 #[prost(string, tag="4")]
324 pub hedge_symbol: ::prost::alloc::string::String,
325 #[prost(uint32, optional, tag="5")]
327 pub date: ::core::option::Option<u32>,
328}
329#[allow(clippy::derive_partial_eq_without_eq)]
331#[derive(Clone, PartialEq, ::prost::Message)]
332pub struct ListHedgePairDetailsRequest {
333 #[prost(string, tag="1")]
335 pub symbol: ::prost::alloc::string::String,
336 #[prost(string, optional, tag="2")]
338 pub fund_code: ::core::option::Option<::prost::alloc::string::String>,
339 #[prost(string, optional, tag="3")]
341 pub hedge_symbol: ::core::option::Option<::prost::alloc::string::String>,
342 #[prost(enumeration="super::common::OrderSide", optional, tag="4")]
344 pub quote_side: ::core::option::Option<i32>,
345 #[prost(uint32, optional, tag="5")]
347 pub date: ::core::option::Option<u32>,
348 #[prost(uint64, optional, tag="6")]
350 pub since_hedge_exchange_time_us: ::core::option::Option<u64>,
351 #[prost(int32, tag="7")]
353 pub page_size: i32,
354 #[prost(string, tag="8")]
356 pub page_token: ::prost::alloc::string::String,
357}
358#[allow(clippy::derive_partial_eq_without_eq)]
360#[derive(Clone, PartialEq, ::prost::Message)]
361pub struct ListHedgePairDetailsResponse {
362 #[prost(message, repeated, tag="1")]
363 pub details: ::prost::alloc::vec::Vec<HedgePairDetail>,
364 #[prost(string, tag="2")]
365 pub next_page_token: ::prost::alloc::string::String,
366}
367#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
372#[repr(i32)]
373pub enum OrderLogType {
374 Unspecified = 0,
376 Received = 1,
378 Rejected = 2,
380 MeritzRejected = 3,
382 Filled = 4,
384 AutoCancelled = 5,
386}
387impl OrderLogType {
388 pub fn as_str_name(&self) -> &'static str {
393 match self {
394 OrderLogType::Unspecified => "ORDER_LOG_TYPE_UNSPECIFIED",
395 OrderLogType::Received => "RECEIVED",
396 OrderLogType::Rejected => "REJECTED",
397 OrderLogType::MeritzRejected => "MERITZ_REJECTED",
398 OrderLogType::Filled => "FILLED",
399 OrderLogType::AutoCancelled => "AUTO_CANCELLED",
400 }
401 }
402 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
404 match value {
405 "ORDER_LOG_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
406 "RECEIVED" => Some(Self::Received),
407 "REJECTED" => Some(Self::Rejected),
408 "MERITZ_REJECTED" => Some(Self::MeritzRejected),
409 "FILLED" => Some(Self::Filled),
410 "AUTO_CANCELLED" => Some(Self::AutoCancelled),
411 _ => None,
412 }
413 }
414}
415#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
418#[repr(i32)]
419pub enum OrderType {
420 Unspecified = 0,
421 New = 1,
423 Amend = 2,
425 Cancel = 3,
427}
428impl OrderType {
429 pub fn as_str_name(&self) -> &'static str {
434 match self {
435 OrderType::Unspecified => "ORDER_TYPE_UNSPECIFIED",
436 OrderType::New => "NEW",
437 OrderType::Amend => "AMEND",
438 OrderType::Cancel => "CANCEL",
439 }
440 }
441 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
443 match value {
444 "ORDER_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
445 "NEW" => Some(Self::New),
446 "AMEND" => Some(Self::Amend),
447 "CANCEL" => Some(Self::Cancel),
448 _ => None,
449 }
450 }
451}
452include!("kdo.v1.order_log.tonic.rs");
453include!("kdo.v1.order_log.serde.rs");
454