1#[allow(clippy::derive_partial_eq_without_eq)]
5#[derive(Clone, PartialEq, ::prost::Message)]
6pub struct Fund {
7 #[prost(string, tag="1")]
9 pub code: ::prost::alloc::string::String,
10 #[prost(string, tag="2")]
12 pub name: ::prost::alloc::string::String,
13 #[prost(string, tag="3")]
15 pub category_code: ::prost::alloc::string::String,
16 #[prost(string, tag="4")]
18 pub employee_number: ::prost::alloc::string::String,
19 #[prost(string, tag="5")]
21 pub employee_name: ::prost::alloc::string::String,
22 #[prost(string, tag="6")]
24 pub limit_amount: ::prost::alloc::string::String,
25 #[prost(string, tag="7")]
27 pub department_code: ::prost::alloc::string::String,
28 #[prost(string, tag="8")]
30 pub trade_code: ::prost::alloc::string::String,
31 #[prost(string, tag="9")]
33 pub part_code: ::prost::alloc::string::String,
34 #[prost(string, tag="12")]
36 pub part_name: ::prost::alloc::string::String,
37 #[prost(string, tag="13")]
39 pub product_deal_code: ::prost::alloc::string::String,
40 #[prost(string, tag="14")]
42 pub add_up_position: ::prost::alloc::string::String,
43 #[prost(string, tag="15")]
45 pub trading_system_code: ::prost::alloc::string::String,
46 #[prost(string, tag="16")]
48 pub unique_trading_unit_code: ::prost::alloc::string::String,
49 #[prost(string, tag="17")]
51 pub unique_trading_unit_part_code: ::prost::alloc::string::String,
52 #[prost(int64, tag="18")]
54 pub unique_trading_unit_serial_number: i64,
55 #[prost(bool, tag="19")]
57 pub add_up_unique_trading_unit: bool,
58 #[prost(string, tag="20")]
60 pub short_selling_id: ::prost::alloc::string::String,
61 #[prost(bool, tag="22")]
63 pub etf_lp: bool,
64 #[prost(enumeration="ProgramTradingType", optional, tag="23")]
66 pub program_trading_type: ::core::option::Option<i32>,
67}
68#[allow(clippy::derive_partial_eq_without_eq)]
69#[derive(Clone, PartialEq, ::prost::Message)]
70pub struct FundLimit {
71 #[prost(string, tag="1")]
72 pub fund: ::prost::alloc::string::String,
73 #[prost(enumeration="FundLimitType", tag="2")]
75 pub limit_type: i32,
76 #[prost(int64, tag="3")]
78 pub long_limit_quantity: i64,
79 #[prost(int64, tag="4")]
81 pub long_limit_amount: i64,
82 #[prost(int64, tag="5")]
84 pub short_limit_quantity: i64,
85 #[prost(int64, tag="6")]
87 pub short_limit_amount: i64,
88 #[prost(int64, tag="7")]
90 pub limit_quantity_per_order: i64,
91 #[prost(int64, tag="8")]
93 pub limit_amount_per_order: i64,
94 #[prost(int64, tag="9")]
96 pub tick_limit: i64,
97 #[prost(int64, tag="10")]
99 pub unfilled_limit: i64,
100 #[prost(int64, tag="11")]
102 pub spread_limit_quantity_per_order: i64,
103 #[prost(map="string, message", tag="17")]
105 pub symbol_states: ::std::collections::HashMap<::prost::alloc::string::String, SymbolLimitState>,
106}
107#[allow(clippy::derive_partial_eq_without_eq)]
109#[derive(Clone, Copy, PartialEq, ::prost::Message)]
110pub struct SymbolLimitState {
111 #[prost(int64, tag="1")]
113 pub current_long_quantity: i64,
114 #[prost(int64, tag="2")]
116 pub current_short_quantity: i64,
117 #[prost(int64, tag="3")]
119 pub current_unfilled_quantity: i64,
120 #[prost(int64, tag="4")]
122 pub current_unfilled_long_quantity: i64,
123 #[prost(int64, tag="5")]
125 pub current_unfilled_long_amount: i64,
126 #[prost(int64, tag="6")]
128 pub current_unfilled_short_quantity: i64,
129 #[prost(int64, tag="7")]
131 pub current_unfilled_short_amount: i64,
132}
133#[allow(clippy::derive_partial_eq_without_eq)]
137#[derive(Clone, PartialEq, ::prost::Message)]
138pub struct GetFundRequest {
139 #[prost(string, tag="1")]
141 pub fund: ::prost::alloc::string::String,
142}
143#[allow(clippy::derive_partial_eq_without_eq)]
145#[derive(Clone, PartialEq, ::prost::Message)]
146pub struct GetFundLimitRequest {
147 #[prost(string, tag="1")]
149 pub fund: ::prost::alloc::string::String,
150}
151#[allow(clippy::derive_partial_eq_without_eq)]
153#[derive(Clone, PartialEq, ::prost::Message)]
154pub struct GetFundLimitResponse {
155 #[prost(map="string, message", tag="1")]
157 pub fund_limits: ::std::collections::HashMap<::prost::alloc::string::String, FundLimit>,
158}
159#[allow(clippy::derive_partial_eq_without_eq)]
161#[derive(Clone, PartialEq, ::prost::Message)]
162pub struct UpdateFundLimitRequest {
163 #[prost(string, tag="1")]
165 pub fund: ::prost::alloc::string::String,
166 #[prost(string, tag="2")]
168 pub symbol: ::prost::alloc::string::String,
169 #[prost(message, optional, tag="3")]
171 pub fund_limit: ::core::option::Option<FundLimit>,
172}
173#[allow(clippy::derive_partial_eq_without_eq)]
175#[derive(Clone, PartialEq, ::prost::Message)]
176pub struct ListFundsRequest {
177 #[prost(uint32, optional, tag="1")]
179 pub page_size: ::core::option::Option<u32>,
180 #[prost(string, optional, tag="2")]
182 pub page_token: ::core::option::Option<::prost::alloc::string::String>,
183 #[prost(string, tag="3")]
196 pub filter: ::prost::alloc::string::String,
197}
198#[allow(clippy::derive_partial_eq_without_eq)]
200#[derive(Clone, PartialEq, ::prost::Message)]
201pub struct ListFundsResponse {
202 #[prost(message, repeated, tag="1")]
204 pub funds: ::prost::alloc::vec::Vec<Fund>,
205 #[prost(string, tag="2")]
207 pub next_page_token: ::prost::alloc::string::String,
208}
209#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
210#[repr(i32)]
211pub enum FundLimitType {
212 FundLimitUnspecified = 0,
213 Kospi200Future = 1,
214 Stock = 2,
215}
216impl FundLimitType {
217 pub fn as_str_name(&self) -> &'static str {
222 match self {
223 FundLimitType::FundLimitUnspecified => "FUND_LIMIT_UNSPECIFIED",
224 FundLimitType::Kospi200Future => "KOSPI_200_Future",
225 FundLimitType::Stock => "STOCK",
226 }
227 }
228 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
230 match value {
231 "FUND_LIMIT_UNSPECIFIED" => Some(Self::FundLimitUnspecified),
232 "KOSPI_200_Future" => Some(Self::Kospi200Future),
233 "STOCK" => Some(Self::Stock),
234 _ => None,
235 }
236 }
237}
238#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
240#[repr(i32)]
241pub enum ProgramTradingType {
242 Unspecified = 0,
243 IndexArbitrage = 1,
245 StockArbitrage = 2,
247 EtfLpHedge = 3,
249}
250impl ProgramTradingType {
251 pub fn as_str_name(&self) -> &'static str {
256 match self {
257 ProgramTradingType::Unspecified => "PROGRAM_TRADING_TYPE_UNSPECIFIED",
258 ProgramTradingType::IndexArbitrage => "INDEX_ARBITRAGE",
259 ProgramTradingType::StockArbitrage => "STOCK_ARBITRAGE",
260 ProgramTradingType::EtfLpHedge => "ETF_LP_HEDGE",
261 }
262 }
263 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
265 match value {
266 "PROGRAM_TRADING_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
267 "INDEX_ARBITRAGE" => Some(Self::IndexArbitrage),
268 "STOCK_ARBITRAGE" => Some(Self::StockArbitrage),
269 "ETF_LP_HEDGE" => Some(Self::EtfLpHedge),
270 _ => None,
271 }
272 }
273}
274include!("kdo.v1.fund.tonic.rs");
275include!("kdo.v1.fund.serde.rs");
276