1#[allow(clippy::derive_partial_eq_without_eq)]
5#[derive(Clone, PartialEq, ::prost::Message)]
6pub struct EtfLp {
7 #[prost(string, tag="1")]
9 pub symbol: ::prost::alloc::string::String,
10 #[prost(string, tag="2")]
12 pub fund_code: ::prost::alloc::string::String,
13 #[prost(double, tag="3")]
14 pub ask_basis: f64,
15 #[prost(double, tag="4")]
17 pub bid_basis: f64,
18 #[prost(uint32, tag="8")]
20 pub depth: u32,
21 #[prost(int64, tag="9")]
23 pub tick_size: i64,
24 #[prost(message, optional, tag="10")]
26 pub offset: ::core::option::Option<EtfLpOffset>,
27 #[prost(bool, tag="11")]
29 pub enabled: bool,
30 #[prost(message, optional, tag="12")]
32 pub pricing_method: ::core::option::Option<super::common::EtfPricing>,
33 #[prost(double, optional, tag="13")]
35 pub bid_adjustment: ::core::option::Option<f64>,
36 #[prost(double, optional, tag="14")]
38 pub ask_adjustment: ::core::option::Option<f64>,
39 #[prost(int64, tag="15")]
41 pub bid_quantity: i64,
42 #[prost(int64, tag="16")]
44 pub ask_quantity: i64,
45 #[prost(bool, optional, tag="17")]
47 pub momentum_enabled: ::core::option::Option<bool>,
48 #[prost(uint32, optional, tag="18")]
50 pub momentum_window: ::core::option::Option<u32>,
51 #[prost(double, optional, tag="19")]
53 pub momentum_sensitivity: ::core::option::Option<f64>,
54 #[prost(message, optional, tag="20")]
56 pub quantity_limit: ::core::option::Option<EtfLpQuantityLimit>,
57 #[prost(enumeration="PrecomputePolicy", optional, tag="21")]
59 pub precompute_policy: ::core::option::Option<i32>,
60 #[prost(bool, tag="22")]
63 pub pricing_source_liquidity_imbalance_guard_enabled: bool,
64 #[prost(int32, tag="23")]
66 pub portfolio_id: i32,
67 #[prost(bool, tag="24")]
69 pub bid_enabled: bool,
70 #[prost(bool, tag="25")]
72 pub ask_enabled: bool,
73}
74#[allow(clippy::derive_partial_eq_without_eq)]
76#[derive(Clone, Copy, PartialEq, ::prost::Message)]
77pub struct EtfLpQuantityLimit {
78 #[prost(int64, tag="2")]
80 pub max_bid_quantity: i64,
81 #[prost(int64, tag="4")]
83 pub max_ask_quantity: i64,
84 #[prost(int64, optional, tag="5")]
87 pub net_quantity: ::core::option::Option<i64>,
88 #[prost(int64, optional, tag="6")]
93 pub max_net_quantity: ::core::option::Option<i64>,
94}
95#[allow(clippy::derive_partial_eq_without_eq)]
99#[derive(Clone, PartialEq, ::prost::Message)]
100pub struct EtfLpStatus {
101 #[prost(string, tag="1")]
103 pub etf_symbol: ::prost::alloc::string::String,
104 #[prost(string, tag="2")]
106 pub fund_code: ::prost::alloc::string::String,
107 #[prost(double, optional, tag="3")]
109 pub ask_basis: ::core::option::Option<f64>,
110 #[prost(double, optional, tag="4")]
111 pub bid_basis: ::core::option::Option<f64>,
112 #[prost(enumeration="EtfLpState", tag="8")]
114 pub state: i32,
115 #[prost(message, optional, tag="9")]
117 pub pricing: ::core::option::Option<LpPricing>,
118 #[prost(message, optional, tag="10")]
120 pub fill_statistics: ::core::option::Option<FillStatistics>,
121 #[prost(message, optional, tag="11")]
123 pub offset: ::core::option::Option<EtfLpOffset>,
124 #[prost(double, optional, tag="13")]
126 pub bid_adjustment: ::core::option::Option<f64>,
127 #[prost(double, optional, tag="14")]
129 pub ask_adjustment: ::core::option::Option<f64>,
130 #[prost(int64, tag="15")]
132 pub bid_quantity: i64,
133 #[prost(int64, tag="16")]
135 pub ask_quantity: i64,
136 #[prost(bool, optional, tag="17")]
138 pub momentum_enabled: ::core::option::Option<bool>,
139 #[prost(uint32, optional, tag="18")]
141 pub momentum_window: ::core::option::Option<u32>,
142 #[prost(double, optional, tag="19")]
144 pub momentum_sensitivity: ::core::option::Option<f64>,
145 #[prost(double, optional, tag="20")]
147 pub momentum_bid_adjustment: ::core::option::Option<f64>,
148 #[prost(double, optional, tag="21")]
150 pub momentum_ask_adjustment: ::core::option::Option<f64>,
151 #[prost(message, optional, tag="22")]
153 pub quantity_limit: ::core::option::Option<EtfLpQuantityLimit>,
154 #[prost(enumeration="PrecomputePolicy", optional, tag="23")]
156 pub precompute_policy: ::core::option::Option<i32>,
157 #[prost(uint32, tag="24")]
159 pub depth: u32,
160 #[prost(bool, tag="25")]
162 pub pricing_source_liquidity_imbalance_guard_enabled: bool,
163 #[prost(bool, optional, tag="26")]
165 pub bid_enabled: ::core::option::Option<bool>,
166 #[prost(bool, optional, tag="27")]
168 pub ask_enabled: ::core::option::Option<bool>,
169}
170#[allow(clippy::derive_partial_eq_without_eq)]
172#[derive(Clone, PartialEq, ::prost::Message)]
173pub struct EtfLpStatusUpdate {
174 #[prost(string, tag="1")]
176 pub etf_symbol: ::prost::alloc::string::String,
177 #[prost(string, tag="2")]
179 pub fund_code: ::prost::alloc::string::String,
180 #[prost(double, optional, tag="3")]
182 pub ask_basis: ::core::option::Option<f64>,
183 #[prost(double, optional, tag="4")]
184 pub bid_basis: ::core::option::Option<f64>,
185 #[prost(enumeration="EtfLpState", optional, tag="8")]
187 pub state: ::core::option::Option<i32>,
188 #[prost(message, optional, tag="9")]
190 pub pricing: ::core::option::Option<LpPricing>,
191 #[prost(message, optional, tag="10")]
193 pub fill_statistics: ::core::option::Option<FillStatistics>,
194 #[prost(message, optional, tag="11")]
196 pub offset: ::core::option::Option<EtfLpOffset>,
197 #[prost(double, optional, tag="12")]
199 pub bid_adjustment: ::core::option::Option<f64>,
200 #[prost(double, optional, tag="13")]
202 pub ask_adjustment: ::core::option::Option<f64>,
203 #[prost(int64, optional, tag="14")]
205 pub bid_quantity: ::core::option::Option<i64>,
206 #[prost(int64, optional, tag="15")]
208 pub ask_quantity: ::core::option::Option<i64>,
209 #[prost(bool, optional, tag="16")]
211 pub momentum_enabled: ::core::option::Option<bool>,
212 #[prost(uint32, optional, tag="17")]
214 pub momentum_window: ::core::option::Option<u32>,
215 #[prost(double, optional, tag="18")]
217 pub momentum_sensitivity: ::core::option::Option<f64>,
218 #[prost(double, optional, tag="19")]
220 pub momentum_bid_adjustment: ::core::option::Option<f64>,
221 #[prost(double, optional, tag="20")]
223 pub momentum_ask_adjustment: ::core::option::Option<f64>,
224 #[prost(message, optional, tag="21")]
226 pub quantity_limit: ::core::option::Option<EtfLpQuantityLimit>,
227 #[prost(enumeration="PrecomputePolicy", optional, tag="22")]
229 pub precompute_policy: ::core::option::Option<i32>,
230 #[prost(uint32, optional, tag="23")]
232 pub depth: ::core::option::Option<u32>,
233 #[prost(enumeration="PricingSourceLiquidityImbalanceGuardState", optional, tag="24")]
235 pub pricing_source_liquidity_imbalance_guard_state: ::core::option::Option<i32>,
236 #[prost(bool, optional, tag="25")]
238 pub bid_enabled: ::core::option::Option<bool>,
239 #[prost(bool, optional, tag="26")]
241 pub ask_enabled: ::core::option::Option<bool>,
242}
243#[allow(clippy::derive_partial_eq_without_eq)]
245#[derive(Clone, Copy, PartialEq, ::prost::Message)]
246pub struct EtfLpOffset {
247 #[prost(double, optional, tag="1")]
250 pub bid_offset: ::core::option::Option<f64>,
251 #[prost(double, optional, tag="2")]
252 pub ask_offset: ::core::option::Option<f64>,
253 #[prost(double, optional, tag="3")]
255 pub min_offset: ::core::option::Option<f64>,
256 #[prost(double, optional, tag="4")]
257 pub max_offset: ::core::option::Option<f64>,
258 #[prost(bool, optional, tag="7")]
260 pub time_adjustment_enabled: ::core::option::Option<bool>,
261 #[prost(uint64, optional, tag="8")]
262 pub adjustment_interval_secs: ::core::option::Option<u64>,
263 #[prost(double, optional, tag="9")]
264 pub adjustment_step: ::core::option::Option<f64>,
265 #[prost(bool, optional, tag="10")]
266 pub reset_on_fill: ::core::option::Option<bool>,
267 #[prost(bool, optional, tag="17")]
269 pub position_adjustment_enabled: ::core::option::Option<bool>,
270 #[prost(enumeration="PositionAdjustmentStrategy", optional, tag="18")]
271 pub position_strategy: ::core::option::Option<i32>,
272 #[prost(int64, optional, tag="19")]
273 pub position_threshold: ::core::option::Option<i64>,
274 #[prost(double, optional, tag="20")]
275 pub position_adjustment_step: ::core::option::Option<f64>,
276 #[prost(int64, tag="21")]
280 pub net_position: i64,
281}
282#[allow(clippy::derive_partial_eq_without_eq)]
284#[derive(Clone, PartialEq, ::prost::Message)]
285pub struct FillStatistics {
286 #[prost(int64, tag="1")]
288 pub buy_filled_quantity: i64,
289 #[prost(int64, tag="2")]
291 pub sell_filled_quantity: i64,
292 #[prost(string, tag="3")]
294 pub buy_total_amount: ::prost::alloc::string::String,
295 #[prost(string, tag="4")]
297 pub sell_total_amount: ::prost::alloc::string::String,
298}
299#[allow(clippy::derive_partial_eq_without_eq)]
301#[derive(Clone, Copy, PartialEq, ::prost::Message)]
302pub struct OrderStats {
303 #[prost(uint64, tag="1")]
305 pub total_orders_sent: u64,
306 #[prost(uint64, tag="2")]
308 pub orders_accepted: u64,
309 #[prost(uint64, tag="3")]
311 pub orders_rejected: u64,
312 #[prost(uint64, tag="4")]
314 pub orders_filled: u64,
315 #[prost(int64, tag="5")]
317 pub total_filled_quantity: i64,
318 #[prost(int64, tag="6")]
320 pub daily_filled_quantity: i64,
321}
322#[allow(clippy::derive_partial_eq_without_eq)]
339#[derive(Clone, Copy, PartialEq, ::prost::Message)]
340pub struct TimeFrameStatus {
341 #[prost(uint64, tag="1")]
343 pub window_seconds: u64,
344 #[prost(uint32, tag="2")]
346 pub current_count: u32,
347 #[prost(uint32, tag="3")]
349 pub max_orders: u32,
350 #[prost(double, tag="4")]
352 pub usage_percent: f64,
353}
354#[allow(clippy::derive_partial_eq_without_eq)]
356#[derive(Clone, PartialEq, ::prost::Message)]
357pub struct LpPricing {
358 #[prost(string, tag="1")]
359 pub etf_ask_quote: ::prost::alloc::string::String,
360 #[prost(string, tag="2")]
361 pub etf_bid_quote: ::prost::alloc::string::String,
362 #[prost(string, tag="3")]
364 pub etf_ask_nav: ::prost::alloc::string::String,
365 #[prost(string, tag="4")]
366 pub etf_bid_nav: ::prost::alloc::string::String,
367}
368#[allow(clippy::derive_partial_eq_without_eq)]
372#[derive(Clone, PartialEq, ::prost::Message)]
373pub struct CreateEtfLpRequest {
374 #[prost(message, optional, tag="1")]
376 pub etf_lp: ::core::option::Option<EtfLp>,
377}
378#[allow(clippy::derive_partial_eq_without_eq)]
380#[derive(Clone, PartialEq, ::prost::Message)]
381pub struct GetEtfLpRequest {
382 #[prost(string, tag="1")]
383 pub etf: ::prost::alloc::string::String,
384 #[prost(string, tag="2")]
385 pub fund: ::prost::alloc::string::String,
386}
387#[allow(clippy::derive_partial_eq_without_eq)]
389#[derive(Clone, PartialEq, ::prost::Message)]
390pub struct ListEtfLpsRequest {
391 #[prost(uint32, optional, tag="1")]
393 pub page_size: ::core::option::Option<u32>,
394 #[prost(string, optional, tag="2")]
396 pub page_token: ::core::option::Option<::prost::alloc::string::String>,
397 #[prost(string, tag="3")]
407 pub filter: ::prost::alloc::string::String,
408}
409#[allow(clippy::derive_partial_eq_without_eq)]
410#[derive(Clone, PartialEq, ::prost::Message)]
411pub struct ListEtfLpsResponse {
412 #[prost(message, repeated, tag="1")]
414 pub etf_lps: ::prost::alloc::vec::Vec<EtfLp>,
415 #[prost(string, tag="2")]
417 pub next_page_token: ::prost::alloc::string::String,
418}
419#[allow(clippy::derive_partial_eq_without_eq)]
420#[derive(Clone, PartialEq, ::prost::Message)]
421pub struct ListEtfLpStatusesRequest {
422 #[prost(uint32, optional, tag="1")]
424 pub page_size: ::core::option::Option<u32>,
425 #[prost(string, optional, tag="2")]
427 pub page_token: ::core::option::Option<::prost::alloc::string::String>,
428 #[prost(string, tag="3")]
445 pub filter: ::prost::alloc::string::String,
446 #[prost(string, tag="5")]
454 pub order_by: ::prost::alloc::string::String,
455}
456#[allow(clippy::derive_partial_eq_without_eq)]
457#[derive(Clone, PartialEq, ::prost::Message)]
458pub struct ListEtfLpStatusesResponse {
459 #[prost(message, repeated, tag="1")]
461 pub etf_lp_statuses: ::prost::alloc::vec::Vec<EtfLpStatus>,
462 #[prost(string, tag="2")]
464 pub next_page_token: ::prost::alloc::string::String,
465}
466#[allow(clippy::derive_partial_eq_without_eq)]
468#[derive(Clone, PartialEq, ::prost::Message)]
469pub struct UpdateEtfLpRequest {
470 #[prost(string, tag="1")]
472 pub symbol: ::prost::alloc::string::String,
473 #[prost(string, tag="2")]
475 pub fund_code: ::prost::alloc::string::String,
476 #[prost(uint32, optional, tag="4")]
481 pub depth: ::core::option::Option<u32>,
482 #[prost(message, optional, tag="5")]
484 pub offset: ::core::option::Option<EtfLpOffset>,
485 #[prost(double, optional, tag="6")]
486 pub ask_basis: ::core::option::Option<f64>,
487 #[prost(double, optional, tag="7")]
488 pub bid_basis: ::core::option::Option<f64>,
489 #[prost(int64, optional, tag="8")]
491 pub bid_quantity: ::core::option::Option<i64>,
492 #[prost(int64, optional, tag="9")]
494 pub ask_quantity: ::core::option::Option<i64>,
495 #[prost(double, optional, tag="10")]
497 pub bid_adjustment: ::core::option::Option<f64>,
498 #[prost(double, optional, tag="11")]
500 pub ask_adjustment: ::core::option::Option<f64>,
501 #[prost(bool, optional, tag="12")]
503 pub momentum_enabled: ::core::option::Option<bool>,
504 #[prost(uint32, optional, tag="13")]
506 pub momentum_window: ::core::option::Option<u32>,
507 #[prost(double, optional, tag="14")]
509 pub momentum_sensitivity: ::core::option::Option<f64>,
510 #[prost(message, optional, tag="15")]
512 pub quantity_limit: ::core::option::Option<EtfLpQuantityLimit>,
513 #[prost(enumeration="PrecomputePolicy", optional, tag="16")]
515 pub precompute_policy: ::core::option::Option<i32>,
516 #[prost(bool, optional, tag="17")]
518 pub pricing_source_liquidity_imbalance_guard_enabled: ::core::option::Option<bool>,
519 #[prost(message, optional, tag="18")]
522 pub pricing: ::core::option::Option<super::common::EtfPricing>,
523 #[prost(bool, optional, tag="19")]
525 pub bid_enabled: ::core::option::Option<bool>,
526 #[prost(bool, optional, tag="20")]
528 pub ask_enabled: ::core::option::Option<bool>,
529}
530#[allow(clippy::derive_partial_eq_without_eq)]
532#[derive(Clone, PartialEq, ::prost::Message)]
533pub struct GetEtfLpStatusRequest {
534 #[prost(string, tag="1")]
535 pub etf: ::prost::alloc::string::String,
536 #[prost(string, tag="2")]
537 pub fund: ::prost::alloc::string::String,
538}
539#[allow(clippy::derive_partial_eq_without_eq)]
541#[derive(Clone, PartialEq, ::prost::Message)]
542pub struct StreamEtfLpStatusUpdateRequest {
543 #[prost(string, tag="1")]
544 pub etf: ::prost::alloc::string::String,
545 #[prost(string, tag="2")]
546 pub fund: ::prost::alloc::string::String,
547}
548#[allow(clippy::derive_partial_eq_without_eq)]
550#[derive(Clone, PartialEq, ::prost::Message)]
551pub struct StartEtfLpRequest {
552 #[prost(string, tag="1")]
553 pub etf: ::prost::alloc::string::String,
554 #[prost(string, tag="2")]
555 pub fund: ::prost::alloc::string::String,
556}
557#[allow(clippy::derive_partial_eq_without_eq)]
559#[derive(Clone, PartialEq, ::prost::Message)]
560pub struct StartEtfLpResponse {
561 #[prost(message, optional, tag="1")]
563 pub status: ::core::option::Option<EtfLpStatus>,
564 #[prost(string, tag="2")]
566 pub message: ::prost::alloc::string::String,
567}
568#[allow(clippy::derive_partial_eq_without_eq)]
570#[derive(Clone, PartialEq, ::prost::Message)]
571pub struct StopEtfLpRequest {
572 #[prost(string, tag="1")]
573 pub etf: ::prost::alloc::string::String,
574 #[prost(string, tag="2")]
575 pub fund: ::prost::alloc::string::String,
576}
577#[allow(clippy::derive_partial_eq_without_eq)]
579#[derive(Clone, PartialEq, ::prost::Message)]
580pub struct StopEtfLpResponse {
581 #[prost(message, optional, tag="1")]
583 pub status: ::core::option::Option<EtfLpStatus>,
584 #[prost(string, tag="2")]
586 pub message: ::prost::alloc::string::String,
587}
588#[allow(clippy::derive_partial_eq_without_eq)]
590#[derive(Clone, PartialEq, ::prost::Message)]
591pub struct StreamLpEventsRequest {
592 #[prost(string, tag="1")]
593 pub etf: ::prost::alloc::string::String,
594 #[prost(string, tag="2")]
595 pub fund: ::prost::alloc::string::String,
596}
597#[allow(clippy::derive_partial_eq_without_eq)]
599#[derive(Clone, PartialEq, ::prost::Message)]
600pub struct GetUserOrderBookRequest {
601 #[prost(string, tag="1")]
602 pub etf: ::prost::alloc::string::String,
603 #[prost(string, tag="2")]
604 pub fund: ::prost::alloc::string::String,
605}
606#[allow(clippy::derive_partial_eq_without_eq)]
608#[derive(Clone, PartialEq, ::prost::Message)]
609pub struct UserOrderbookData {
610 #[prost(string, repeated, tag="1")]
612 pub bid_prices: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
613 #[prost(string, repeated, tag="2")]
615 pub ask_prices: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
616 #[prost(int64, repeated, tag="3")]
618 pub bid_quantities: ::prost::alloc::vec::Vec<i64>,
619 #[prost(int64, repeated, tag="4")]
621 pub ask_quantities: ::prost::alloc::vec::Vec<i64>,
622}
623#[allow(clippy::derive_partial_eq_without_eq)]
625#[derive(Clone, PartialEq, ::prost::Message)]
626pub struct ClearUserOrderBookRequest {
627 #[prost(string, tag="1")]
629 pub etf: ::prost::alloc::string::String,
630 #[prost(string, tag="2")]
632 pub fund: ::prost::alloc::string::String,
633}
634#[allow(clippy::derive_partial_eq_without_eq)]
636#[derive(Clone, PartialEq, ::prost::Message)]
637pub struct ClearUserOrderBookResponse {
638 #[prost(message, optional, tag="1")]
640 pub status: ::core::option::Option<EtfLpStatus>,
641 #[prost(string, tag="2")]
643 pub message: ::prost::alloc::string::String,
644 #[prost(int32, tag="3")]
646 pub cleared_count: i32,
647}
648#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
653#[repr(i32)]
654pub enum PricingSourceLiquidityImbalanceGuardState {
655 Unspecified = 0,
656 Normal = 1,
657 BidThin = 2,
658 AskThin = 3,
659}
660impl PricingSourceLiquidityImbalanceGuardState {
661 pub fn as_str_name(&self) -> &'static str {
666 match self {
667 PricingSourceLiquidityImbalanceGuardState::Unspecified => "PRICING_SOURCE_LIQUIDITY_IMBALANCE_GUARD_STATE_UNSPECIFIED",
668 PricingSourceLiquidityImbalanceGuardState::Normal => "PRICING_SOURCE_LIQUIDITY_IMBALANCE_GUARD_STATE_NORMAL",
669 PricingSourceLiquidityImbalanceGuardState::BidThin => "PRICING_SOURCE_LIQUIDITY_IMBALANCE_GUARD_STATE_BID_THIN",
670 PricingSourceLiquidityImbalanceGuardState::AskThin => "PRICING_SOURCE_LIQUIDITY_IMBALANCE_GUARD_STATE_ASK_THIN",
671 }
672 }
673 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
675 match value {
676 "PRICING_SOURCE_LIQUIDITY_IMBALANCE_GUARD_STATE_UNSPECIFIED" => Some(Self::Unspecified),
677 "PRICING_SOURCE_LIQUIDITY_IMBALANCE_GUARD_STATE_NORMAL" => Some(Self::Normal),
678 "PRICING_SOURCE_LIQUIDITY_IMBALANCE_GUARD_STATE_BID_THIN" => Some(Self::BidThin),
679 "PRICING_SOURCE_LIQUIDITY_IMBALANCE_GUARD_STATE_ASK_THIN" => Some(Self::AskThin),
680 _ => None,
681 }
682 }
683}
684#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
686#[repr(i32)]
687pub enum PrecomputePolicy {
688 Unspecified = 0,
689 OneToOne = 1,
694 ManyToOne = 2,
699 OneToMany = 3,
703}
704impl PrecomputePolicy {
705 pub fn as_str_name(&self) -> &'static str {
710 match self {
711 PrecomputePolicy::Unspecified => "PRECOMPUTE_POLICY_UNSPECIFIED",
712 PrecomputePolicy::OneToOne => "PRECOMPUTE_POLICY_ONE_TO_ONE",
713 PrecomputePolicy::ManyToOne => "PRECOMPUTE_POLICY_MANY_TO_ONE",
714 PrecomputePolicy::OneToMany => "PRECOMPUTE_POLICY_ONE_TO_MANY",
715 }
716 }
717 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
719 match value {
720 "PRECOMPUTE_POLICY_UNSPECIFIED" => Some(Self::Unspecified),
721 "PRECOMPUTE_POLICY_ONE_TO_ONE" => Some(Self::OneToOne),
722 "PRECOMPUTE_POLICY_MANY_TO_ONE" => Some(Self::ManyToOne),
723 "PRECOMPUTE_POLICY_ONE_TO_MANY" => Some(Self::OneToMany),
724 _ => None,
725 }
726 }
727}
728#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
730#[repr(i32)]
731pub enum PositionAdjustmentStrategy {
732 Unspecified = 0,
733 Avoidance = 1,
735 Turnover = 2,
737 All = 10,
739}
740impl PositionAdjustmentStrategy {
741 pub fn as_str_name(&self) -> &'static str {
746 match self {
747 PositionAdjustmentStrategy::Unspecified => "POSITION_ADJUSTMENT_STRATEGY_UNSPECIFIED",
748 PositionAdjustmentStrategy::Avoidance => "POSITION_ADJUSTMENT_STRATEGY_AVOIDANCE",
749 PositionAdjustmentStrategy::Turnover => "POSITION_ADJUSTMENT_STRATEGY_TURNOVER",
750 PositionAdjustmentStrategy::All => "POSITION_ADJUSTMENT_STRATEGY_ALL",
751 }
752 }
753 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
755 match value {
756 "POSITION_ADJUSTMENT_STRATEGY_UNSPECIFIED" => Some(Self::Unspecified),
757 "POSITION_ADJUSTMENT_STRATEGY_AVOIDANCE" => Some(Self::Avoidance),
758 "POSITION_ADJUSTMENT_STRATEGY_TURNOVER" => Some(Self::Turnover),
759 "POSITION_ADJUSTMENT_STRATEGY_ALL" => Some(Self::All),
760 _ => None,
761 }
762 }
763}
764#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
766#[repr(i32)]
767pub enum EtfLpState {
768 Unspecified = 0,
769 Idle = 1,
770 Running = 2,
771 Stopping = 3,
772 Error = 4,
773}
774impl EtfLpState {
775 pub fn as_str_name(&self) -> &'static str {
780 match self {
781 EtfLpState::Unspecified => "ETF_LP_STATE_UNSPECIFIED",
782 EtfLpState::Idle => "ETF_LP_STATE_IDLE",
783 EtfLpState::Running => "ETF_LP_STATE_RUNNING",
784 EtfLpState::Stopping => "ETF_LP_STATE_STOPPING",
785 EtfLpState::Error => "ETF_LP_STATE_ERROR",
786 }
787 }
788 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
790 match value {
791 "ETF_LP_STATE_UNSPECIFIED" => Some(Self::Unspecified),
792 "ETF_LP_STATE_IDLE" => Some(Self::Idle),
793 "ETF_LP_STATE_RUNNING" => Some(Self::Running),
794 "ETF_LP_STATE_STOPPING" => Some(Self::Stopping),
795 "ETF_LP_STATE_ERROR" => Some(Self::Error),
796 _ => None,
797 }
798 }
799}
800include!("kdo.v1.lp.tonic.rs");
801include!("kdo.v1.lp.serde.rs");
802