ids_apis/
kdo.v1.market.rs

1// @generated
2// This file is @generated by prost-build.
3/// ETF 주문장 스트리밍 요청
4#[allow(clippy::derive_partial_eq_without_eq)]
5#[derive(Clone, PartialEq, ::prost::Message)]
6pub struct StreamEtfOrderbookRequest {
7    /// 리소스 이름 (예: etfs/A069500)
8    #[prost(string, tag="1")]
9    pub etf: ::prost::alloc::string::String,
10    /// 필터링 조건 (선택적, AIP-160)
11    #[prost(string, tag="2")]
12    pub filter: ::prost::alloc::string::String,
13}
14/// 선물 주문장 스트리밍 요청
15#[allow(clippy::derive_partial_eq_without_eq)]
16#[derive(Clone, PartialEq, ::prost::Message)]
17pub struct StreamFuturesOrderbookRequest {
18    /// 리소스 이름 (예: futures/K101W9000)
19    #[prost(string, tag="1")]
20    pub future: ::prost::alloc::string::String,
21    /// 필터링 조건 (선택적, AIP-160)
22    #[prost(string, tag="2")]
23    pub filter: ::prost::alloc::string::String,
24}
25/// ETF 주문장 데이터
26#[allow(clippy::derive_partial_eq_without_eq)]
27#[derive(Clone, PartialEq, ::prost::Message)]
28pub struct EtfOrderbookData {
29    /// 매수 호가 (10단계, AIP-144)
30    #[prost(int64, repeated, tag="1")]
31    pub bid_prices: ::prost::alloc::vec::Vec<i64>,
32    /// 매도 호가 (10단계)
33    #[prost(int64, repeated, tag="2")]
34    pub ask_prices: ::prost::alloc::vec::Vec<i64>,
35    /// 매수 수량 (10단계)
36    #[prost(int64, repeated, tag="3")]
37    pub bid_quantities: ::prost::alloc::vec::Vec<i64>,
38    /// 매도 수량 (10단계)
39    #[prost(int64, repeated, tag="4")]
40    pub ask_quantities: ::prost::alloc::vec::Vec<i64>,
41    /// LP 매수 수량 (10단계)
42    #[prost(int64, repeated, tag="5")]
43    pub lp_bid_quantities: ::prost::alloc::vec::Vec<i64>,
44    /// LP 매도 수량 (10단계)
45    #[prost(int64, repeated, tag="6")]
46    pub lp_ask_quantities: ::prost::alloc::vec::Vec<i64>,
47    /// 중간 호가
48    #[prost(int64, tag="7")]
49    pub mid_price: i64,
50    /// 중간 매도 수량
51    #[prost(int64, tag="8")]
52    pub mid_ask_quantity: i64,
53    /// 중간 매수 수량
54    #[prost(int64, tag="9")]
55    pub mid_bid_quantity: i64,
56    /// 총 매도 호가 수량
57    #[prost(int64, tag="10")]
58    pub ask_quote_total_quantity: i64,
59    /// 총 매수 호가 수량
60    #[prost(int64, tag="11")]
61    pub bid_quote_total_quantity: i64,
62    /// 예상 가격
63    #[prost(int64, tag="12")]
64    pub est_price: i64,
65    /// 예상 거래량
66    #[prost(int64, tag="13")]
67    pub est_volume: i64,
68    /// 세션 ID
69    #[prost(enumeration="SessionId", tag="14")]
70    pub session_id: i32,
71}
72/// 선물 주문장 데이터
73#[allow(clippy::derive_partial_eq_without_eq)]
74#[derive(Clone, PartialEq, ::prost::Message)]
75pub struct FuturesOrderbookData {
76    /// 매수 호가 (5단계, AIP-144)
77    #[prost(float, repeated, tag="1")]
78    pub bid_prices: ::prost::alloc::vec::Vec<f32>,
79    /// 매도 호가 (5단계)
80    #[prost(float, repeated, tag="2")]
81    pub ask_prices: ::prost::alloc::vec::Vec<f32>,
82    /// 매수 수량 (5단계)
83    #[prost(int64, repeated, tag="3")]
84    pub bid_quantities: ::prost::alloc::vec::Vec<i64>,
85    /// 매도 수량 (5단계)
86    #[prost(int64, repeated, tag="4")]
87    pub ask_quantities: ::prost::alloc::vec::Vec<i64>,
88    /// 매수 주문 수 (5단계)
89    #[prost(int64, repeated, tag="5")]
90    pub bid_counts: ::prost::alloc::vec::Vec<i64>,
91    /// 매도 주문 수 (5단계)
92    #[prost(int64, repeated, tag="6")]
93    pub ask_counts: ::prost::alloc::vec::Vec<i64>,
94    /// 총 매도 호가 수량
95    #[prost(int64, tag="7")]
96    pub ask_quote_total_quantity: i64,
97    /// 총 매수 호가 수량
98    #[prost(int64, tag="8")]
99    pub bid_quote_total_quantity: i64,
100    /// 중간 가격
101    #[prost(float, tag="9")]
102    pub mid_price: f32,
103    /// 예상 가격
104    #[prost(float, tag="10")]
105    pub est_price: f32,
106    /// 예상 거래량
107    #[prost(int64, tag="11")]
108    pub est_volume: i64,
109    /// 세션 ID
110    #[prost(enumeration="SessionId", tag="12")]
111    pub session_id: i32,
112}
113/// 주문 정보
114#[allow(clippy::derive_partial_eq_without_eq)]
115#[derive(Clone, PartialEq, ::prost::Message)]
116pub struct Order {
117    /// 주문 ID
118    #[prost(string, tag="1")]
119    pub order_id: ::prost::alloc::string::String,
120    /// 주문 타입
121    #[prost(enumeration="OrderType", tag="2")]
122    pub order_type: i32,
123    /// 상품 (예: etfs/A069500)
124    #[prost(string, tag="3")]
125    pub symbol: ::prost::alloc::string::String,
126    /// 주문 가격
127    #[prost(float, tag="4")]
128    pub price: f32,
129    /// 주문 수량
130    #[prost(int64, tag="5")]
131    pub quantity: i64,
132    /// 체결 수량
133    #[prost(int64, tag="6")]
134    pub filled_quantity: i64,
135    /// 주문 상태
136    #[prost(enumeration="OrderStatus", tag="7")]
137    pub status: i32,
138    /// 주문 시간 (Unix timestamp)
139    #[prost(int64, tag="8")]
140    pub created_at: i64,
141    /// 업데이트 시간 (Unix timestamp)
142    #[prost(int64, tag="9")]
143    pub updated_at: i64,
144}
145/// 주문 접수 요청
146#[allow(clippy::derive_partial_eq_without_eq)]
147#[derive(Clone, PartialEq, ::prost::Message)]
148pub struct PlaceOrderRequest {
149    /// 주문 타입
150    #[prost(enumeration="OrderType", tag="1")]
151    pub order_type: i32,
152    /// 상품 (예: etfs/A069500)
153    #[prost(string, tag="2")]
154    pub symbol: ::prost::alloc::string::String,
155    /// 주문 가격
156    #[prost(int64, tag="3")]
157    pub price: i64,
158    /// 주문 수량
159    #[prost(int64, tag="4")]
160    pub quantity: i64,
161}
162/// 주문 접수 응답
163#[allow(clippy::derive_partial_eq_without_eq)]
164#[derive(Clone, PartialEq, ::prost::Message)]
165pub struct PlaceOrderResponse {
166    /// 생성된 주문 정보
167    #[prost(message, optional, tag="1")]
168    pub order: ::core::option::Option<Order>,
169}
170/// 주문 취소 요청
171#[allow(clippy::derive_partial_eq_without_eq)]
172#[derive(Clone, PartialEq, ::prost::Message)]
173pub struct CancelOrderRequest {
174    /// 취소할 주문 ID
175    #[prost(string, tag="1")]
176    pub order_id: ::prost::alloc::string::String,
177}
178/// 주문 취소 응답
179#[allow(clippy::derive_partial_eq_without_eq)]
180#[derive(Clone, PartialEq, ::prost::Message)]
181pub struct CancelOrderResponse {
182    /// 취소된 주문 정보
183    #[prost(message, optional, tag="1")]
184    pub order: ::core::option::Option<Order>,
185}
186/// 모든 주문 취소 요청
187#[allow(clippy::derive_partial_eq_without_eq)]
188#[derive(Clone, PartialEq, ::prost::Message)]
189pub struct CancelAllOrdersRequest {
190    /// 선택적: 특정 상품의 주문만 취소
191    #[prost(string, tag="1")]
192    pub symbol: ::prost::alloc::string::String,
193}
194/// 모든 주문 취소 응답
195#[allow(clippy::derive_partial_eq_without_eq)]
196#[derive(Clone, PartialEq, ::prost::Message)]
197pub struct CancelAllOrdersResponse {
198    /// 취소된 주문 수
199    #[prost(int32, tag="1")]
200    pub cancelled_count: i32,
201    /// 취소된 주문 목록
202    #[prost(message, repeated, tag="2")]
203    pub cancelled_orders: ::prost::alloc::vec::Vec<Order>,
204}
205/// 주문 목록 조회 요청
206#[allow(clippy::derive_partial_eq_without_eq)]
207#[derive(Clone, PartialEq, ::prost::Message)]
208pub struct ListOrdersRequest {
209    /// 필터링 조건 (선택적, AIP-160)
210    #[prost(string, tag="1")]
211    pub filter: ::prost::alloc::string::String,
212    /// 페이징 (AIP-158)
213    #[prost(int32, tag="2")]
214    pub page_size: i32,
215    #[prost(string, tag="3")]
216    pub page_token: ::prost::alloc::string::String,
217}
218/// 주문 목록 조회 응답
219#[allow(clippy::derive_partial_eq_without_eq)]
220#[derive(Clone, PartialEq, ::prost::Message)]
221pub struct ListOrdersResponse {
222    /// 주문 목록
223    #[prost(message, repeated, tag="1")]
224    pub orders: ::prost::alloc::vec::Vec<Order>,
225    /// 다음 페이지 토큰 (AIP-158)
226    #[prost(string, tag="2")]
227    pub next_page_token: ::prost::alloc::string::String,
228}
229/// 주문 업데이트 스트리밍 요청
230#[allow(clippy::derive_partial_eq_without_eq)]
231#[derive(Clone, PartialEq, ::prost::Message)]
232pub struct StreamOrderUpdatesRequest {
233    /// 필터링 조건 (선택적, AIP-160)
234    #[prost(string, tag="1")]
235    pub filter: ::prost::alloc::string::String,
236}
237/// 주문 업데이트
238#[allow(clippy::derive_partial_eq_without_eq)]
239#[derive(Clone, PartialEq, ::prost::Message)]
240pub struct OrderUpdate {
241    /// 업데이트된 주문
242    #[prost(message, optional, tag="1")]
243    pub order: ::core::option::Option<Order>,
244    #[prost(enumeration="order_update::UpdateType", tag="2")]
245    pub update_type: i32,
246}
247/// Nested message and enum types in `OrderUpdate`.
248pub mod order_update {
249    /// 업데이트 타입
250    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
251    #[repr(i32)]
252    pub enum UpdateType {
253        /// 기본값
254        Unspecified = 0,
255        /// 주문 생성
256        Created = 1,
257        /// 주문 업데이트
258        Updated = 2,
259        /// 주문 체결
260        Filled = 3,
261        /// 주문 취소
262        Cancelled = 4,
263    }
264    impl UpdateType {
265        /// String value of the enum field names used in the ProtoBuf definition.
266        ///
267        /// The values are not transformed in any way and thus are considered stable
268        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
269        pub fn as_str_name(&self) -> &'static str {
270            match self {
271                UpdateType::Unspecified => "UPDATE_TYPE_UNSPECIFIED",
272                UpdateType::Created => "CREATED",
273                UpdateType::Updated => "UPDATED",
274                UpdateType::Filled => "FILLED",
275                UpdateType::Cancelled => "CANCELLED",
276            }
277        }
278        /// Creates an enum from field names used in the ProtoBuf definition.
279        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
280            match value {
281                "UPDATE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
282                "CREATED" => Some(Self::Created),
283                "UPDATED" => Some(Self::Updated),
284                "FILLED" => Some(Self::Filled),
285                "CANCELLED" => Some(Self::Cancelled),
286                _ => None,
287            }
288        }
289    }
290}
291#[allow(clippy::derive_partial_eq_without_eq)]
292#[derive(Clone, PartialEq, ::prost::Message)]
293pub struct Symbol {
294    #[prost(string, tag="1")]
295    pub symbol: ::prost::alloc::string::String,
296    #[prost(string, tag="2")]
297    pub name: ::prost::alloc::string::String,
298}
299/// ETF LP 설정
300#[allow(clippy::derive_partial_eq_without_eq)]
301#[derive(Clone, PartialEq, ::prost::Message)]
302pub struct EtfLpConfig {
303    /// ETF 심볼
304    #[prost(message, optional, tag="1")]
305    pub etf_symbol: ::core::option::Option<Symbol>,
306    /// 선물 심볼
307    #[prost(message, optional, tag="2")]
308    pub future_symbol: ::core::option::Option<Symbol>,
309    /// Basis 값
310    #[prost(float, tag="3")]
311    pub basis: f32,
312    /// Offset 값
313    #[prost(float, tag="4")]
314    pub offset: f32,
315    /// 주문 수량
316    #[prost(int64, tag="5")]
317    pub quantity: i64,
318    /// 호가 깊이 (1~10)
319    #[prost(int64, tag="6")]
320    pub depth: i64,
321    /// 호가 단위
322    #[prost(int64, tag="7")]
323    pub tick_size: i64,
324}
325/// ETF LP 시작 요청
326#[allow(clippy::derive_partial_eq_without_eq)]
327#[derive(Clone, PartialEq, ::prost::Message)]
328pub struct StartEtfLpRequest {
329    /// ETF 리소스 이름 (예: etfs/A069500)
330    #[prost(string, tag="1")]
331    pub etf: ::prost::alloc::string::String,
332    /// LP 설정
333    #[prost(message, optional, tag="2")]
334    pub config: ::core::option::Option<EtfLpConfig>,
335}
336/// ETF LP 시작 응답
337#[allow(clippy::derive_partial_eq_without_eq)]
338#[derive(Clone, PartialEq, ::prost::Message)]
339pub struct StartEtfLpResponse {
340    /// LP 상태
341    #[prost(enumeration="EtfLpStatus", tag="1")]
342    pub status: i32,
343    /// 메시지
344    #[prost(string, tag="2")]
345    pub message: ::prost::alloc::string::String,
346}
347/// ETF LP 중지 요청
348#[allow(clippy::derive_partial_eq_without_eq)]
349#[derive(Clone, PartialEq, ::prost::Message)]
350pub struct StopEtfLpRequest {
351    /// ETF 리소스 이름 (예: etfs/A069500)
352    #[prost(string, tag="1")]
353    pub etf: ::prost::alloc::string::String,
354}
355/// ETF LP 중지 응답
356#[allow(clippy::derive_partial_eq_without_eq)]
357#[derive(Clone, PartialEq, ::prost::Message)]
358pub struct StopEtfLpResponse {
359    /// LP 상태
360    #[prost(enumeration="EtfLpStatus", tag="1")]
361    pub status: i32,
362    /// 메시지
363    #[prost(string, tag="2")]
364    pub message: ::prost::alloc::string::String,
365}
366/// ETF LP 상태 조회 요청
367#[allow(clippy::derive_partial_eq_without_eq)]
368#[derive(Clone, PartialEq, ::prost::Message)]
369pub struct GetEtfLpStatusRequest {
370    /// ETF 리소스 이름 (예: etfs/A069500)
371    #[prost(string, tag="1")]
372    pub etf: ::prost::alloc::string::String,
373}
374/// ETF LP 상태 조회 응답
375#[allow(clippy::derive_partial_eq_without_eq)]
376#[derive(Clone, PartialEq, ::prost::Message)]
377pub struct GetEtfLpStatusResponse {
378    /// LP 상태
379    #[prost(enumeration="EtfLpStatus", tag="1")]
380    pub status: i32,
381    /// 현재 설정
382    #[prost(message, optional, tag="2")]
383    pub config: ::core::option::Option<EtfLpConfig>,
384    /// 시작 시간 (Unix timestamp)
385    #[prost(int64, tag="3")]
386    pub started_at: i64,
387    #[prost(int64, tag="4")]
388    pub etf_price: i64,
389    #[prost(float, tag="5")]
390    pub future_price: f32,
391    #[prost(float, tag="6")]
392    pub etf_theo_price: f32,
393}
394/// ETF LP 설정 업데이트 요청
395#[allow(clippy::derive_partial_eq_without_eq)]
396#[derive(Clone, PartialEq, ::prost::Message)]
397pub struct UpdateEtfLpConfigRequest {
398    /// ETF 리소스 이름 (예: etfs/A069500)
399    #[prost(string, tag="1")]
400    pub etf: ::prost::alloc::string::String,
401    /// 새로운 설정
402    #[prost(message, optional, tag="2")]
403    pub config: ::core::option::Option<EtfLpConfig>,
404}
405/// ETF LP 설정 업데이트 응답
406#[allow(clippy::derive_partial_eq_without_eq)]
407#[derive(Clone, PartialEq, ::prost::Message)]
408pub struct UpdateEtfLpConfigResponse {
409    /// 업데이트된 설정
410    #[prost(message, optional, tag="1")]
411    pub config: ::core::option::Option<EtfLpConfig>,
412    /// 메시지
413    #[prost(string, tag="2")]
414    pub message: ::prost::alloc::string::String,
415}
416/// 세션 ID 열거형 (AIP-126)
417#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
418#[repr(i32)]
419pub enum SessionId {
420    /// 기본값
421    Unspecified = 0,
422    /// 장개시전
423    Previous = 1,
424    /// 이상무
425    Connected = 2,
426    /// 시가단일가
427    OpeningOnePrice = 3,
428    /// 단일가
429    OnePrice = 4,
430    /// 종가단일가
431    ClosingOnePrice = 5,
432    /// VI장중단일가
433    ViOnePrice = 6,
434    /// VI시가단일가
435    ViOpeningOnePrice = 7,
436    /// VI종가단일가
437    ViClosingOnePrice = 8,
438    /// 단위매매
439    UnitTrade = 9,
440    /// 장종료후호가접수
441    PostMarket = 10,
442    /// 경매매수호가 접수 세션
443    AuctionBid = 11,
444    /// 경매매도호가 접수 세션
445    AuctionAsk = 12,
446    /// 거래정지
447    Suspended = 13,
448    /// SHUTDOWN
449    Shutdown = 14,
450    /// 장마감
451    Closed = 15,
452    /// 기타
453    Etc = 16,
454}
455impl SessionId {
456    /// String value of the enum field names used in the ProtoBuf definition.
457    ///
458    /// The values are not transformed in any way and thus are considered stable
459    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
460    pub fn as_str_name(&self) -> &'static str {
461        match self {
462            SessionId::Unspecified => "SESSION_ID_UNSPECIFIED",
463            SessionId::Previous => "PREVIOUS",
464            SessionId::Connected => "CONNECTED",
465            SessionId::OpeningOnePrice => "OPENING_ONE_PRICE",
466            SessionId::OnePrice => "ONE_PRICE",
467            SessionId::ClosingOnePrice => "CLOSING_ONE_PRICE",
468            SessionId::ViOnePrice => "VI_ONE_PRICE",
469            SessionId::ViOpeningOnePrice => "VI_OPENING_ONE_PRICE",
470            SessionId::ViClosingOnePrice => "VI_CLOSING_ONE_PRICE",
471            SessionId::UnitTrade => "UNIT_TRADE",
472            SessionId::PostMarket => "POST_MARKET",
473            SessionId::AuctionBid => "AUCTION_BID",
474            SessionId::AuctionAsk => "AUCTION_ASK",
475            SessionId::Suspended => "SUSPENDED",
476            SessionId::Shutdown => "SHUTDOWN",
477            SessionId::Closed => "CLOSED",
478            SessionId::Etc => "ETC",
479        }
480    }
481    /// Creates an enum from field names used in the ProtoBuf definition.
482    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
483        match value {
484            "SESSION_ID_UNSPECIFIED" => Some(Self::Unspecified),
485            "PREVIOUS" => Some(Self::Previous),
486            "CONNECTED" => Some(Self::Connected),
487            "OPENING_ONE_PRICE" => Some(Self::OpeningOnePrice),
488            "ONE_PRICE" => Some(Self::OnePrice),
489            "CLOSING_ONE_PRICE" => Some(Self::ClosingOnePrice),
490            "VI_ONE_PRICE" => Some(Self::ViOnePrice),
491            "VI_OPENING_ONE_PRICE" => Some(Self::ViOpeningOnePrice),
492            "VI_CLOSING_ONE_PRICE" => Some(Self::ViClosingOnePrice),
493            "UNIT_TRADE" => Some(Self::UnitTrade),
494            "POST_MARKET" => Some(Self::PostMarket),
495            "AUCTION_BID" => Some(Self::AuctionBid),
496            "AUCTION_ASK" => Some(Self::AuctionAsk),
497            "SUSPENDED" => Some(Self::Suspended),
498            "SHUTDOWN" => Some(Self::Shutdown),
499            "CLOSED" => Some(Self::Closed),
500            "ETC" => Some(Self::Etc),
501            _ => None,
502        }
503    }
504}
505/// 주문 타입 열거형
506#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
507#[repr(i32)]
508pub enum OrderType {
509    /// 기본값
510    Unspecified = 0,
511    /// 매수
512    Buy = 1,
513    /// 매도
514    Sell = 2,
515}
516impl OrderType {
517    /// String value of the enum field names used in the ProtoBuf definition.
518    ///
519    /// The values are not transformed in any way and thus are considered stable
520    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
521    pub fn as_str_name(&self) -> &'static str {
522        match self {
523            OrderType::Unspecified => "ORDER_TYPE_UNSPECIFIED",
524            OrderType::Buy => "BUY",
525            OrderType::Sell => "SELL",
526        }
527    }
528    /// Creates an enum from field names used in the ProtoBuf definition.
529    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
530        match value {
531            "ORDER_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
532            "BUY" => Some(Self::Buy),
533            "SELL" => Some(Self::Sell),
534            _ => None,
535        }
536    }
537}
538/// 주문 상태 열거형
539#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
540#[repr(i32)]
541pub enum OrderStatus {
542    /// 기본값
543    Unspecified = 0,
544    /// 대기중
545    Pending = 1,
546    /// 부분체결
547    PartialFilled = 2,
548    /// 체결완료
549    Filled = 3,
550    /// 취소됨
551    Cancelled = 4,
552    /// 거부됨
553    Rejected = 5,
554}
555impl OrderStatus {
556    /// String value of the enum field names used in the ProtoBuf definition.
557    ///
558    /// The values are not transformed in any way and thus are considered stable
559    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
560    pub fn as_str_name(&self) -> &'static str {
561        match self {
562            OrderStatus::Unspecified => "ORDER_STATUS_UNSPECIFIED",
563            OrderStatus::Pending => "PENDING",
564            OrderStatus::PartialFilled => "PARTIAL_FILLED",
565            OrderStatus::Filled => "FILLED",
566            OrderStatus::Cancelled => "CANCELLED",
567            OrderStatus::Rejected => "REJECTED",
568        }
569    }
570    /// Creates an enum from field names used in the ProtoBuf definition.
571    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
572        match value {
573            "ORDER_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
574            "PENDING" => Some(Self::Pending),
575            "PARTIAL_FILLED" => Some(Self::PartialFilled),
576            "FILLED" => Some(Self::Filled),
577            "CANCELLED" => Some(Self::Cancelled),
578            "REJECTED" => Some(Self::Rejected),
579            _ => None,
580        }
581    }
582}
583/// ETF LP 상태
584#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
585#[repr(i32)]
586pub enum EtfLpStatus {
587    /// 기본값
588    Unspecified = 0,
589    /// 중지됨
590    Stopped = 1,
591    /// 시작중
592    Starting = 2,
593    /// 실행중
594    Running = 3,
595    /// 오류
596    Error = 4,
597}
598impl EtfLpStatus {
599    /// String value of the enum field names used in the ProtoBuf definition.
600    ///
601    /// The values are not transformed in any way and thus are considered stable
602    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
603    pub fn as_str_name(&self) -> &'static str {
604        match self {
605            EtfLpStatus::Unspecified => "ETF_LP_STATUS_UNSPECIFIED",
606            EtfLpStatus::Stopped => "STOPPED",
607            EtfLpStatus::Starting => "STARTING",
608            EtfLpStatus::Running => "RUNNING",
609            EtfLpStatus::Error => "ERROR",
610        }
611    }
612    /// Creates an enum from field names used in the ProtoBuf definition.
613    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
614        match value {
615            "ETF_LP_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
616            "STOPPED" => Some(Self::Stopped),
617            "STARTING" => Some(Self::Starting),
618            "RUNNING" => Some(Self::Running),
619            "ERROR" => Some(Self::Error),
620            _ => None,
621        }
622    }
623}
624include!("kdo.v1.market.tonic.rs");
625include!("kdo.v1.market.serde.rs");
626// @@protoc_insertion_point(module)