1#[allow(clippy::derive_partial_eq_without_eq)]
6#[derive(Clone, PartialEq, ::prost::Message)]
7pub struct SubmitOrderRequest {
8 #[prost(string, tag="1")]
10 pub fund_code: ::prost::alloc::string::String,
11 #[prost(string, tag="2")]
13 pub symbol: ::prost::alloc::string::String,
14 #[prost(enumeration="super::common::OrderSide", tag="3")]
16 pub side: i32,
17 #[prost(int64, tag="4")]
19 pub quantity: i64,
20 #[prost(string, tag="5")]
22 pub price: ::prost::alloc::string::String,
23 #[prost(enumeration="QuoteType", tag="6")]
25 pub quote_type: i32,
26 #[prost(bool, tag="7")]
28 pub is_lp: bool,
29 #[prost(enumeration="super::common::AmendMethodType", optional, tag="8")]
31 pub auto_amend_strategy: ::core::option::Option<i32>,
32 #[prost(enumeration="LimitPriceType", optional, tag="9")]
34 pub limit_price_type: ::core::option::Option<i32>,
35 #[prost(enumeration="super::common::OrderConditionType", optional, tag="10")]
37 pub order_condition: ::core::option::Option<i32>,
38 #[prost(bool, optional, tag="11")]
42 pub need_hedge: ::core::option::Option<bool>,
43 #[prost(uint64, optional, tag="12")]
45 pub auto_amend_initial_wait_ms: ::core::option::Option<u64>,
46 #[prost(enumeration="QuickOrderOrigin", optional, tag="13")]
49 pub quick_order_origin: ::core::option::Option<i32>,
50}
51#[allow(clippy::derive_partial_eq_without_eq)]
52#[derive(Clone, PartialEq, ::prost::Message)]
53pub struct SubmitOrderResponse {
54 #[prost(uint64, tag="1")]
56 pub order_id: u64,
57 #[prost(enumeration="OrderStatus", tag="2")]
59 pub status: i32,
60 #[prost(string, tag="3")]
62 pub message: ::prost::alloc::string::String,
63}
64#[allow(clippy::derive_partial_eq_without_eq)]
67#[derive(Clone, PartialEq, ::prost::Message)]
68pub struct AmendOrderRequest {
69 #[prost(uint64, tag="1")]
71 pub original_order_id: u64,
72 #[prost(string, tag="3")]
74 pub symbol: ::prost::alloc::string::String,
75 #[prost(string, tag="5")]
77 pub price: ::prost::alloc::string::String,
78}
79#[allow(clippy::derive_partial_eq_without_eq)]
80#[derive(Clone, PartialEq, ::prost::Message)]
81pub struct AmendOrderResponse {
82 #[prost(uint64, tag="1")]
84 pub order_id: u64,
85 #[prost(uint64, tag="2")]
87 pub original_order_id: u64,
88 #[prost(enumeration="OrderStatus", tag="3")]
90 pub status: i32,
91 #[prost(string, tag="4")]
93 pub message: ::prost::alloc::string::String,
94}
95#[allow(clippy::derive_partial_eq_without_eq)]
98#[derive(Clone, PartialEq, ::prost::Message)]
99pub struct CancelOrderRequest {
100 #[prost(uint64, tag="1")]
102 pub original_order_id: u64,
103 #[prost(string, tag="3")]
105 pub symbol: ::prost::alloc::string::String,
106}
107#[allow(clippy::derive_partial_eq_without_eq)]
108#[derive(Clone, PartialEq, ::prost::Message)]
109pub struct CancelOrderResponse {
110 #[prost(uint64, tag="1")]
112 pub order_id: u64,
113 #[prost(uint64, tag="2")]
115 pub original_order_id: u64,
116 #[prost(enumeration="OrderStatus", tag="3")]
118 pub status: i32,
119 #[prost(string, tag="4")]
121 pub message: ::prost::alloc::string::String,
122}
123#[allow(clippy::derive_partial_eq_without_eq)]
126#[derive(Clone, PartialEq, ::prost::Message)]
127pub struct ListAllUnfilledOrdersRequest {
128 #[prost(string, optional, tag="1")]
130 pub fund_code: ::core::option::Option<::prost::alloc::string::String>,
131 #[prost(string, optional, tag="2")]
133 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
134 #[prost(enumeration="super::common::OrderSide", optional, tag="3")]
136 pub side: ::core::option::Option<i32>,
137}
138#[allow(clippy::derive_partial_eq_without_eq)]
139#[derive(Clone, PartialEq, ::prost::Message)]
140pub struct ListAllUnfilledOrdersResponse {
141 #[prost(message, repeated, tag="1")]
143 pub orders: ::prost::alloc::vec::Vec<Order>,
144}
145#[allow(clippy::derive_partial_eq_without_eq)]
148#[derive(Clone, Copy, PartialEq, ::prost::Message)]
149pub struct CancelAllOrdersRequest {
150}
151#[allow(clippy::derive_partial_eq_without_eq)]
152#[derive(Clone, PartialEq, ::prost::Message)]
153pub struct CancelAllOrdersResponse {
154 #[prost(int32, tag="1")]
156 pub cancelled_count: i32,
157 #[prost(string, tag="2")]
159 pub message: ::prost::alloc::string::String,
160}
161#[allow(clippy::derive_partial_eq_without_eq)]
164#[derive(Clone, PartialEq, ::prost::Message)]
165pub struct StreamOrderResultsRequest {
166 #[prost(string, optional, tag="1")]
168 pub fund_code: ::core::option::Option<::prost::alloc::string::String>,
169 #[prost(string, optional, tag="2")]
171 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
172}
173#[allow(clippy::derive_partial_eq_without_eq)]
174#[derive(Clone, PartialEq, ::prost::Message)]
175pub struct OrderResult {
176 #[prost(uint64, tag="1")]
178 pub order_id: u64,
179 #[prost(string, tag="2")]
181 pub symbol: ::prost::alloc::string::String,
182 #[prost(string, tag="3")]
184 pub fund_code: ::prost::alloc::string::String,
185 #[prost(enumeration="super::common::OrderSide", tag="4")]
187 pub side: i32,
188 #[prost(string, tag="5")]
190 pub price: ::prost::alloc::string::String,
191 #[prost(int64, tag="6")]
193 pub quantity: i64,
194 #[prost(enumeration="OrderResultType", tag="7")]
196 pub result_type: i32,
197 #[prost(message, optional, tag="8")]
199 pub timestamp: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
200 #[prost(oneof="order_result::Details", tags="10, 11, 12, 13")]
202 pub details: ::core::option::Option<order_result::Details>,
203}
204pub mod order_result {
206 #[allow(clippy::derive_partial_eq_without_eq)]
208#[derive(Clone, PartialEq, ::prost::Oneof)]
209 pub enum Details {
210 #[prost(message, tag="10")]
211 Received(super::ReceivedDetails),
212 #[prost(message, tag="11")]
213 Rejected(super::RejectedDetails),
214 #[prost(message, tag="12")]
215 Filled(super::FilledDetails),
216 #[prost(message, tag="13")]
217 Cancelled(super::CancelledDetails),
218 }
219}
220#[allow(clippy::derive_partial_eq_without_eq)]
221#[derive(Clone, Copy, PartialEq, ::prost::Message)]
222pub struct ReceivedDetails {
223 #[prost(uint64, tag="1")]
225 pub receive_time: u64,
226}
227#[allow(clippy::derive_partial_eq_without_eq)]
228#[derive(Clone, PartialEq, ::prost::Message)]
229pub struct RejectedDetails {
230 #[prost(string, tag="1")]
232 pub rejection_code: ::prost::alloc::string::String,
233 #[prost(string, tag="2")]
235 pub error_message: ::prost::alloc::string::String,
236}
237#[allow(clippy::derive_partial_eq_without_eq)]
238#[derive(Clone, PartialEq, ::prost::Message)]
239pub struct FilledDetails {
240 #[prost(string, tag="1")]
242 pub filled_price: ::prost::alloc::string::String,
243 #[prost(int64, tag="2")]
245 pub filled_quantity: i64,
246 #[prost(uint64, tag="3")]
248 pub trade_time: u64,
249}
250#[allow(clippy::derive_partial_eq_without_eq)]
251#[derive(Clone, PartialEq, ::prost::Message)]
252pub struct CancelledDetails {
253 #[prost(string, tag="1")]
255 pub cancellation_code: ::prost::alloc::string::String,
256 #[prost(int64, tag="2")]
258 pub cancelled_quantity: i64,
259}
260#[allow(clippy::derive_partial_eq_without_eq)]
262#[derive(Clone, PartialEq, ::prost::Message)]
263pub struct ListOrdersRequest {
264 #[prost(string, tag="1")]
266 pub filter: ::prost::alloc::string::String,
267 #[prost(int32, tag="2")]
269 pub page_size: i32,
270 #[prost(string, tag="3")]
271 pub page_token: ::prost::alloc::string::String,
272}
273#[allow(clippy::derive_partial_eq_without_eq)]
275#[derive(Clone, PartialEq, ::prost::Message)]
276pub struct ListOrdersResponse {
277 #[prost(message, repeated, tag="1")]
279 pub orders: ::prost::alloc::vec::Vec<Order>,
280 #[prost(string, tag="2")]
282 pub next_page_token: ::prost::alloc::string::String,
283}
284#[allow(clippy::derive_partial_eq_without_eq)]
286#[derive(Clone, PartialEq, ::prost::Message)]
287pub struct Order {
288 #[prost(string, tag="1")]
290 pub order_id: ::prost::alloc::string::String,
291 #[prost(enumeration="super::common::OrderSide", tag="2")]
293 pub order_side: i32,
294 #[prost(string, tag="3")]
296 pub symbol: ::prost::alloc::string::String,
297 #[prost(string, tag="4")]
299 pub price: ::prost::alloc::string::String,
300 #[prost(int64, tag="5")]
302 pub quantity: i64,
303 #[prost(int64, tag="6")]
305 pub filled_quantity: i64,
306 #[prost(enumeration="OrderStatus", tag="7")]
308 pub status: i32,
309 #[prost(int64, tag="8")]
311 pub created_at: i64,
312 #[prost(int64, tag="9")]
314 pub updated_at: i64,
315 #[prost(string, tag="10")]
317 pub fund_code: ::prost::alloc::string::String,
318}
319#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
322#[repr(i32)]
323pub enum QuoteType {
324 Unspecified = 0,
325 Limit = 1,
327 Market = 2,
329 BestTake = 3,
331 BestMake = 4,
333}
334impl QuoteType {
335 pub fn as_str_name(&self) -> &'static str {
340 match self {
341 QuoteType::Unspecified => "QUOTE_TYPE_UNSPECIFIED",
342 QuoteType::Limit => "QUOTE_TYPE_LIMIT",
343 QuoteType::Market => "QUOTE_TYPE_MARKET",
344 QuoteType::BestTake => "QUOTE_TYPE_BEST_TAKE",
345 QuoteType::BestMake => "QUOTE_TYPE_BEST_MAKE",
346 }
347 }
348 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
350 match value {
351 "QUOTE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
352 "QUOTE_TYPE_LIMIT" => Some(Self::Limit),
353 "QUOTE_TYPE_MARKET" => Some(Self::Market),
354 "QUOTE_TYPE_BEST_TAKE" => Some(Self::BestTake),
355 "QUOTE_TYPE_BEST_MAKE" => Some(Self::BestMake),
356 _ => None,
357 }
358 }
359}
360#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
362#[repr(i32)]
363pub enum LimitPriceType {
364 Unspecified = 0,
366 BestTake = 1,
368 BestTakePlus1 = 2,
370 BestTakePlus2 = 3,
372 BestTakePlus3 = 4,
374 BestMakeMinus1 = 5,
376 BestMakeMinus2 = 6,
378 BestMakeMinus3 = 7,
380}
381impl LimitPriceType {
382 pub fn as_str_name(&self) -> &'static str {
387 match self {
388 LimitPriceType::Unspecified => "LIMIT_PRICE_TYPE_UNSPECIFIED",
389 LimitPriceType::BestTake => "LIMIT_PRICE_TYPE_BEST_TAKE",
390 LimitPriceType::BestTakePlus1 => "LIMIT_PRICE_TYPE_BEST_TAKE_PLUS_1",
391 LimitPriceType::BestTakePlus2 => "LIMIT_PRICE_TYPE_BEST_TAKE_PLUS_2",
392 LimitPriceType::BestTakePlus3 => "LIMIT_PRICE_TYPE_BEST_TAKE_PLUS_3",
393 LimitPriceType::BestMakeMinus1 => "LIMIT_PRICE_TYPE_BEST_MAKE_MINUS_1",
394 LimitPriceType::BestMakeMinus2 => "LIMIT_PRICE_TYPE_BEST_MAKE_MINUS_2",
395 LimitPriceType::BestMakeMinus3 => "LIMIT_PRICE_TYPE_BEST_MAKE_MINUS_3",
396 }
397 }
398 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
400 match value {
401 "LIMIT_PRICE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
402 "LIMIT_PRICE_TYPE_BEST_TAKE" => Some(Self::BestTake),
403 "LIMIT_PRICE_TYPE_BEST_TAKE_PLUS_1" => Some(Self::BestTakePlus1),
404 "LIMIT_PRICE_TYPE_BEST_TAKE_PLUS_2" => Some(Self::BestTakePlus2),
405 "LIMIT_PRICE_TYPE_BEST_TAKE_PLUS_3" => Some(Self::BestTakePlus3),
406 "LIMIT_PRICE_TYPE_BEST_MAKE_MINUS_1" => Some(Self::BestMakeMinus1),
407 "LIMIT_PRICE_TYPE_BEST_MAKE_MINUS_2" => Some(Self::BestMakeMinus2),
408 "LIMIT_PRICE_TYPE_BEST_MAKE_MINUS_3" => Some(Self::BestMakeMinus3),
409 _ => None,
410 }
411 }
412}
413#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
415#[repr(i32)]
416pub enum QuickOrderOrigin {
417 Unspecified = 0,
419 Mm = 1,
421}
422impl QuickOrderOrigin {
423 pub fn as_str_name(&self) -> &'static str {
428 match self {
429 QuickOrderOrigin::Unspecified => "QUICK_ORDER_ORIGIN_UNSPECIFIED",
430 QuickOrderOrigin::Mm => "QUICK_ORDER_ORIGIN_MM",
431 }
432 }
433 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
435 match value {
436 "QUICK_ORDER_ORIGIN_UNSPECIFIED" => Some(Self::Unspecified),
437 "QUICK_ORDER_ORIGIN_MM" => Some(Self::Mm),
438 _ => None,
439 }
440 }
441}
442#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
443#[repr(i32)]
444pub enum OrderStatus {
445 Unspecified = 0,
446 Submitted = 1,
448 Rejected = 2,
450}
451impl OrderStatus {
452 pub fn as_str_name(&self) -> &'static str {
457 match self {
458 OrderStatus::Unspecified => "ORDER_STATUS_UNSPECIFIED",
459 OrderStatus::Submitted => "ORDER_STATUS_SUBMITTED",
460 OrderStatus::Rejected => "ORDER_STATUS_REJECTED",
461 }
462 }
463 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
465 match value {
466 "ORDER_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
467 "ORDER_STATUS_SUBMITTED" => Some(Self::Submitted),
468 "ORDER_STATUS_REJECTED" => Some(Self::Rejected),
469 _ => None,
470 }
471 }
472}
473#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
474#[repr(i32)]
475pub enum OrderResultType {
476 Unspecified = 0,
477 Received = 1,
479 Rejected = 2,
481 Filled = 3,
483 Cancelled = 4,
485}
486impl OrderResultType {
487 pub fn as_str_name(&self) -> &'static str {
492 match self {
493 OrderResultType::Unspecified => "ORDER_RESULT_TYPE_UNSPECIFIED",
494 OrderResultType::Received => "ORDER_RESULT_TYPE_RECEIVED",
495 OrderResultType::Rejected => "ORDER_RESULT_TYPE_REJECTED",
496 OrderResultType::Filled => "ORDER_RESULT_TYPE_FILLED",
497 OrderResultType::Cancelled => "ORDER_RESULT_TYPE_CANCELLED",
498 }
499 }
500 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
502 match value {
503 "ORDER_RESULT_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
504 "ORDER_RESULT_TYPE_RECEIVED" => Some(Self::Received),
505 "ORDER_RESULT_TYPE_REJECTED" => Some(Self::Rejected),
506 "ORDER_RESULT_TYPE_FILLED" => Some(Self::Filled),
507 "ORDER_RESULT_TYPE_CANCELLED" => Some(Self::Cancelled),
508 _ => None,
509 }
510 }
511}
512include!("kdo.v1.order.tonic.rs");
513include!("kdo.v1.order.serde.rs");
514