#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FuturesLp {
#[prost(string, tag="1")]
pub future_symbol: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub fund_code: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub etf_symbol: ::prost::alloc::string::String,
#[prost(double, tag="4")]
pub multiplier: f64,
#[prost(double, tag="6")]
pub ask_basis: f64,
#[prost(double, tag="7")]
pub bid_basis: f64,
#[prost(int64, tag="8")]
pub bid_quantity: i64,
#[prost(int64, tag="9")]
pub ask_quantity: i64,
#[prost(uint32, tag="10")]
pub depth: u32,
#[prost(double, tag="11")]
pub tick_size: f64,
#[prost(message, optional, tag="31")]
pub basis_adjustment: ::core::option::Option<FutureLpBasisAdjustment>,
#[prost(bool, tag="13")]
pub enabled: bool,
#[prost(message, optional, tag="19")]
pub quantity_limit: ::core::option::Option<FuturesLpQuantityLimit>,
#[prost(string, tag="20")]
pub etf_pricing: ::prost::alloc::string::String,
#[prost(int32, tag="21")]
pub portfolio_id: i32,
#[prost(message, optional, tag="22")]
pub pricing_method: ::core::option::Option<super::common::EtfPricing>,
#[prost(bool, tag="23")]
pub bid_enabled: bool,
#[prost(bool, tag="24")]
pub ask_enabled: bool,
#[prost(double, tag="25")]
pub imbalance_cancel_threshold_ratio: f64,
#[prost(bool, tag="26")]
pub imbalance_cancel_enabled: bool,
#[prost(int64, tag="27")]
pub thin_book_quantity_threshold: i64,
#[prost(int64, tag="28")]
pub thin_book_window_ticks: i64,
#[prost(double, tag="29")]
pub bid_offset: f64,
#[prost(double, tag="30")]
pub ask_offset: f64,
#[prost(string, tag="33")]
pub hedge_fund_code: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FuturesLpQuantityLimit {
#[prost(int64, tag="1")]
pub max_bid_quantity: i64,
#[prost(int64, tag="2")]
pub max_ask_quantity: i64,
#[prost(int64, optional, tag="3")]
pub net_quantity: ::core::option::Option<i64>,
#[prost(int64, optional, tag="4")]
pub max_net_quantity: ::core::option::Option<i64>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FutureLpBasisAdjustment {
#[prost(double, tag="1")]
pub bid_adjustment: f64,
#[prost(double, tag="2")]
pub ask_adjustment: f64,
#[prost(bool, tag="3")]
pub basis_pos_adj_enabled: bool,
#[prost(int64, tag="4")]
pub turnover_limit: i64,
#[prost(double, tag="5")]
pub turnover_basis: f64,
#[prost(int64, tag="6")]
pub avoidance_limit: i64,
#[prost(double, tag="7")]
pub avoidance_basis: f64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FuturesLpPricing {
#[prost(double, tag="1")]
pub future_bid_quote: f64,
#[prost(double, tag="2")]
pub future_ask_quote: f64,
#[prost(double, tag="3")]
pub bid_nav: f64,
#[prost(double, tag="4")]
pub ask_nav: f64,
#[prost(double, tag="5")]
pub etf_best_bid: f64,
#[prost(double, tag="6")]
pub etf_best_ask: f64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FuturesLpStatus {
#[prost(string, tag="1")]
pub future_symbol: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub fund_code: ::prost::alloc::string::String,
#[prost(enumeration="FuturesLpState", tag="3")]
pub state: i32,
#[prost(message, optional, tag="4")]
pub order_limit: ::core::option::Option<FuturesLpOrderLimitStatus>,
#[prost(message, optional, tag="5")]
pub pricing: ::core::option::Option<FuturesLpPricing>,
#[prost(message, optional, tag="6")]
pub fill_statistics: ::core::option::Option<FuturesLpFillStatistics>,
#[prost(string, tag="7")]
pub etf_symbol: ::prost::alloc::string::String,
#[prost(double, tag="8")]
pub multiplier: f64,
#[prost(double, tag="10")]
pub ask_basis: f64,
#[prost(double, tag="11")]
pub bid_basis: f64,
#[prost(int64, tag="19")]
pub bid_quantity: i64,
#[prost(int64, tag="20")]
pub ask_quantity: i64,
#[prost(message, optional, tag="30")]
pub basis_adjustment: ::core::option::Option<FutureLpBasisAdjustment>,
#[prost(message, optional, tag="22")]
pub quantity_limit: ::core::option::Option<FuturesLpQuantityLimit>,
#[prost(uint32, tag="23")]
pub depth: u32,
#[prost(string, tag="24")]
pub etf_pricing: ::prost::alloc::string::String,
#[prost(bool, optional, tag="26")]
pub bid_enabled: ::core::option::Option<bool>,
#[prost(bool, optional, tag="27")]
pub ask_enabled: ::core::option::Option<bool>,
#[prost(double, tag="28")]
pub bid_offset: f64,
#[prost(double, tag="29")]
pub ask_offset: f64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FuturesLpStatusUpdate {
#[prost(string, tag="1")]
pub future_symbol: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub fund_code: ::prost::alloc::string::String,
#[prost(enumeration="FuturesLpState", optional, tag="3")]
pub state: ::core::option::Option<i32>,
#[prost(message, optional, tag="4")]
pub pricing: ::core::option::Option<FuturesLpPricing>,
#[prost(message, optional, tag="5")]
pub fill_statistics: ::core::option::Option<FuturesLpFillStatistics>,
#[prost(double, optional, tag="7")]
pub ask_basis: ::core::option::Option<f64>,
#[prost(double, optional, tag="8")]
pub bid_basis: ::core::option::Option<f64>,
#[prost(int64, optional, tag="11")]
pub bid_quantity: ::core::option::Option<i64>,
#[prost(int64, optional, tag="12")]
pub ask_quantity: ::core::option::Option<i64>,
#[prost(message, optional, tag="26")]
pub basis_adjustment: ::core::option::Option<FutureLpBasisAdjustment>,
#[prost(message, optional, tag="19")]
pub quantity_limit: ::core::option::Option<FuturesLpQuantityLimit>,
#[prost(uint32, optional, tag="20")]
pub depth: ::core::option::Option<u32>,
#[prost(string, optional, tag="21")]
pub etf_pricing: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag="22")]
pub bid_enabled: ::core::option::Option<bool>,
#[prost(bool, optional, tag="23")]
pub ask_enabled: ::core::option::Option<bool>,
#[prost(double, optional, tag="24")]
pub bid_offset: ::core::option::Option<f64>,
#[prost(double, optional, tag="25")]
pub ask_offset: ::core::option::Option<f64>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FuturesLpFillStatistics {
#[prost(int64, tag="1")]
pub buy_filled_quantity: i64,
#[prost(int64, tag="2")]
pub sell_filled_quantity: i64,
#[prost(string, tag="3")]
pub buy_total_amount: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub sell_total_amount: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FuturesLpOrderLimitStatus {
#[prost(message, repeated, tag="1")]
pub time_frame_status: ::prost::alloc::vec::Vec<FuturesLpTimeFrameStatus>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FuturesLpTimeFrameStatus {
#[prost(uint64, tag="1")]
pub window_seconds: u64,
#[prost(uint32, tag="2")]
pub current_count: u32,
#[prost(uint32, tag="3")]
pub max_orders: u32,
#[prost(double, tag="4")]
pub usage_percent: f64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FuturesOrderBook {
#[prost(double, repeated, tag="1")]
pub bid_prices: ::prost::alloc::vec::Vec<f64>,
#[prost(double, repeated, tag="2")]
pub ask_prices: ::prost::alloc::vec::Vec<f64>,
#[prost(int64, repeated, tag="3")]
pub bid_quantities: ::prost::alloc::vec::Vec<i64>,
#[prost(int64, repeated, tag="4")]
pub ask_quantities: ::prost::alloc::vec::Vec<i64>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFuturesLpRequest {
#[prost(string, tag="1")]
pub future_symbol: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub fund_code: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub etf_symbol: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListFuturesLpsRequest {
#[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 ListFuturesLpsResponse {
#[prost(message, repeated, tag="1")]
pub futures_lps: ::prost::alloc::vec::Vec<FuturesLp>,
#[prost(string, tag="2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateFuturesLpRequest {
#[prost(string, tag="1")]
pub future_symbol: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub fund_code: ::prost::alloc::string::String,
#[prost(int64, optional, tag="4")]
pub bid_quantity: ::core::option::Option<i64>,
#[prost(int64, optional, tag="5")]
pub ask_quantity: ::core::option::Option<i64>,
#[prost(double, optional, tag="8")]
pub bid_basis: ::core::option::Option<f64>,
#[prost(double, optional, tag="9")]
pub ask_basis: ::core::option::Option<f64>,
#[prost(uint32, optional, tag="10")]
pub depth: ::core::option::Option<u32>,
#[prost(message, optional, tag="25")]
pub basis_adjustment: ::core::option::Option<FutureLpBasisAdjustment>,
#[prost(message, optional, tag="15")]
pub quantity_limit: ::core::option::Option<FuturesLpQuantityLimit>,
#[prost(string, optional, tag="16")]
pub etf_pricing: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag="17")]
pub bid_enabled: ::core::option::Option<bool>,
#[prost(bool, optional, tag="18")]
pub ask_enabled: ::core::option::Option<bool>,
#[prost(double, optional, tag="19")]
pub imbalance_cancel_threshold_ratio: ::core::option::Option<f64>,
#[prost(bool, optional, tag="20")]
pub imbalance_cancel_enabled: ::core::option::Option<bool>,
#[prost(int64, optional, tag="21")]
pub thin_book_quantity_threshold: ::core::option::Option<i64>,
#[prost(int64, optional, tag="22")]
pub thin_book_window_ticks: ::core::option::Option<i64>,
#[prost(double, optional, tag="23")]
pub bid_offset: ::core::option::Option<f64>,
#[prost(double, optional, tag="24")]
pub ask_offset: ::core::option::Option<f64>,
#[prost(string, tag="27")]
pub etf_symbol: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFuturesLpStatusRequest {
#[prost(string, tag="1")]
pub future_symbol: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub fund_code: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub etf_symbol: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListFuturesLpStatusesRequest {
#[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,
#[prost(string, tag="4")]
pub order_by: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListFuturesLpStatusesResponse {
#[prost(message, repeated, tag="1")]
pub futures_lp_statuses: ::prost::alloc::vec::Vec<FuturesLpStatus>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamFuturesLpStatusUpdateRequest {
#[prost(string, tag="1")]
pub future_symbol: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub fund_code: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub etf_symbol: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartFuturesLpRequest {
#[prost(string, tag="1")]
pub future_symbol: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub fund_code: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub etf_symbol: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartFuturesLpResponse {
#[prost(message, optional, tag="1")]
pub status: ::core::option::Option<FuturesLpStatus>,
#[prost(string, tag="2")]
pub message: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StopFuturesLpRequest {
#[prost(string, tag="1")]
pub future_symbol: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub fund_code: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub etf_symbol: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StopFuturesLpResponse {
#[prost(message, optional, tag="1")]
pub status: ::core::option::Option<FuturesLpStatus>,
#[prost(string, tag="2")]
pub message: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFuturesOrderBookRequest {
#[prost(string, tag="1")]
pub future_symbol: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub fund_code: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub etf_symbol: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamFuturesLpFillsRequest {
#[prost(string, tag="1")]
pub future_symbol: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub fund_code: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub etf_symbol: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FuturesLpFillSummary {
#[prost(int64, tag="1")]
pub future_buy_quantity: i64,
#[prost(double, tag="2")]
pub future_buy_avg_price: f64,
#[prost(int64, tag="3")]
pub future_sell_quantity: i64,
#[prost(double, tag="4")]
pub future_sell_avg_price: f64,
#[prost(int64, tag="5")]
pub etf_buy_quantity: i64,
#[prost(double, tag="6")]
pub etf_buy_avg_price: f64,
#[prost(int64, tag="7")]
pub etf_sell_quantity: i64,
#[prost(double, tag="8")]
pub etf_sell_avg_price: f64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamFuturesLpFillPairsRequest {
#[prost(string, tag="1")]
pub future_symbol: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub fund_code: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub etf_symbol: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FuturesLpFillPair {
#[prost(enumeration="super::common::OrderSide", tag="1")]
pub future_side: i32,
#[prost(int64, tag="2")]
pub future_quantity: i64,
#[prost(double, tag="3")]
pub future_price: f64,
#[prost(enumeration="super::common::OrderSide", tag="4")]
pub etf_side: i32,
#[prost(int64, tag="5")]
pub etf_quantity: i64,
#[prost(double, tag="6")]
pub etf_avg_price: f64,
#[prost(int64, tag="7")]
pub filled_at_unix_ms: i64,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FuturesLpState {
Unspecified = 0,
Idle = 1,
Running = 2,
Stopping = 3,
Error = 4,
}
impl FuturesLpState {
pub fn as_str_name(&self) -> &'static str {
match self {
FuturesLpState::Unspecified => "FUTURES_LP_STATE_UNSPECIFIED",
FuturesLpState::Idle => "FUTURES_LP_STATE_IDLE",
FuturesLpState::Running => "FUTURES_LP_STATE_RUNNING",
FuturesLpState::Stopping => "FUTURES_LP_STATE_STOPPING",
FuturesLpState::Error => "FUTURES_LP_STATE_ERROR",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"FUTURES_LP_STATE_UNSPECIFIED" => Some(Self::Unspecified),
"FUTURES_LP_STATE_IDLE" => Some(Self::Idle),
"FUTURES_LP_STATE_RUNNING" => Some(Self::Running),
"FUTURES_LP_STATE_STOPPING" => Some(Self::Stopping),
"FUTURES_LP_STATE_ERROR" => Some(Self::Error),
_ => None,
}
}
}
include!("kdo.v1.futures_lp.tonic.rs");
include!("kdo.v1.futures_lp.serde.rs");