#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fund {
#[prost(string, tag="1")]
pub code: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub category_code: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub employee_number: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub employee_name: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub limit_amount: ::prost::alloc::string::String,
#[prost(string, tag="7")]
pub department_code: ::prost::alloc::string::String,
#[prost(string, tag="8")]
pub trade_code: ::prost::alloc::string::String,
#[prost(string, tag="9")]
pub part_code: ::prost::alloc::string::String,
#[prost(string, tag="12")]
pub part_name: ::prost::alloc::string::String,
#[prost(string, tag="13")]
pub product_deal_code: ::prost::alloc::string::String,
#[prost(string, tag="14")]
pub add_up_position: ::prost::alloc::string::String,
#[prost(string, tag="15")]
pub trading_system_code: ::prost::alloc::string::String,
#[prost(string, tag="16")]
pub unique_trading_unit_code: ::prost::alloc::string::String,
#[prost(string, tag="17")]
pub unique_trading_unit_part_code: ::prost::alloc::string::String,
#[prost(int64, tag="18")]
pub unique_trading_unit_serial_number: i64,
#[prost(bool, tag="19")]
pub add_up_unique_trading_unit: bool,
#[prost(string, tag="20")]
pub short_selling_id: ::prost::alloc::string::String,
#[prost(bool, tag="22")]
pub etf_lp: bool,
#[prost(enumeration="ProgramTradingType", optional, tag="23")]
pub program_trading_type: ::core::option::Option<i32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FundLimit {
#[prost(string, tag="1")]
pub fund: ::prost::alloc::string::String,
#[prost(enumeration="FundLimitType", tag="2")]
pub limit_type: i32,
#[prost(int64, tag="3")]
pub long_limit_quantity: i64,
#[prost(int64, tag="4")]
pub long_limit_amount: i64,
#[prost(int64, tag="5")]
pub short_limit_quantity: i64,
#[prost(int64, tag="6")]
pub short_limit_amount: i64,
#[prost(int64, tag="7")]
pub limit_quantity_per_order: i64,
#[prost(int64, tag="8")]
pub limit_amount_per_order: i64,
#[prost(int64, tag="9")]
pub tick_limit: i64,
#[prost(int64, tag="10")]
pub unfilled_limit: i64,
#[prost(int64, tag="11")]
pub spread_limit_quantity_per_order: i64,
#[prost(map="string, message", tag="17")]
pub symbol_states: ::std::collections::HashMap<::prost::alloc::string::String, SymbolLimitState>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SymbolLimitState {
#[prost(int64, tag="1")]
pub current_long_quantity: i64,
#[prost(int64, tag="2")]
pub current_short_quantity: i64,
#[prost(int64, tag="3")]
pub current_unfilled_quantity: i64,
#[prost(int64, tag="4")]
pub current_unfilled_long_quantity: i64,
#[prost(int64, tag="5")]
pub current_unfilled_long_amount: i64,
#[prost(int64, tag="6")]
pub current_unfilled_short_quantity: i64,
#[prost(int64, tag="7")]
pub current_unfilled_short_amount: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFundRequest {
#[prost(string, tag="1")]
pub fund: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFundLimitRequest {
#[prost(string, tag="1")]
pub fund: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFundLimitResponse {
#[prost(map="string, message", tag="1")]
pub fund_limits: ::std::collections::HashMap<::prost::alloc::string::String, FundLimit>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateFundLimitRequest {
#[prost(string, tag="1")]
pub fund: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub symbol: ::prost::alloc::string::String,
#[prost(message, optional, tag="3")]
pub fund_limit: ::core::option::Option<FundLimit>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListFundsRequest {
#[prost(uint32, optional, tag="1")]
pub page_size: ::core::option::Option<u32>,
#[prost(string, optional, tag="2")]
pub page_token: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="3")]
pub filter: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListFundsResponse {
#[prost(message, repeated, tag="1")]
pub funds: ::prost::alloc::vec::Vec<Fund>,
#[prost(string, tag="2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FundLimitType {
FundLimitUnspecified = 0,
Kospi200Future = 1,
Stock = 2,
}
impl FundLimitType {
pub fn as_str_name(&self) -> &'static str {
match self {
FundLimitType::FundLimitUnspecified => "FUND_LIMIT_UNSPECIFIED",
FundLimitType::Kospi200Future => "KOSPI_200_Future",
FundLimitType::Stock => "STOCK",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"FUND_LIMIT_UNSPECIFIED" => Some(Self::FundLimitUnspecified),
"KOSPI_200_Future" => Some(Self::Kospi200Future),
"STOCK" => Some(Self::Stock),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ProgramTradingType {
Unspecified = 0,
IndexArbitrage = 1,
StockArbitrage = 2,
EtfLpHedge = 3,
}
impl ProgramTradingType {
pub fn as_str_name(&self) -> &'static str {
match self {
ProgramTradingType::Unspecified => "PROGRAM_TRADING_TYPE_UNSPECIFIED",
ProgramTradingType::IndexArbitrage => "INDEX_ARBITRAGE",
ProgramTradingType::StockArbitrage => "STOCK_ARBITRAGE",
ProgramTradingType::EtfLpHedge => "ETF_LP_HEDGE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PROGRAM_TRADING_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"INDEX_ARBITRAGE" => Some(Self::IndexArbitrage),
"STOCK_ARBITRAGE" => Some(Self::StockArbitrage),
"ETF_LP_HEDGE" => Some(Self::EtfLpHedge),
_ => None,
}
}
}
include!("kdo.v1.fund.tonic.rs");
include!("kdo.v1.fund.serde.rs");