#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListTradingPairsRequest {
#[prost(uint32, optional, tag="1")]
pub page: ::core::option::Option<u32>,
#[prost(uint32, optional, tag="2")]
pub page_size: ::core::option::Option<u32>,
#[prost(string, optional, tag="3")]
pub market_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="4")]
pub base_token: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="5")]
pub quote_token: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag="6")]
pub is_active: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListTradingPairsResponse {
#[prost(message, repeated, tag="1")]
pub trading_pairs: ::prost::alloc::vec::Vec<TradingPairData>,
#[prost(uint32, tag="2")]
pub page: u32,
#[prost(uint32, tag="3")]
pub page_size: u32,
#[prost(uint32, tag="4")]
pub total: u32,
#[prost(uint32, tag="5")]
pub total_pages: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetTradingPairRequest {
#[prost(string, tag="1")]
pub trading_pair_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TradingPairData {
#[prost(string, tag="1")]
pub base_asset_id: ::prost::alloc::string::String,
#[prost(int32, tag="2")]
pub base_decimals: i32,
#[prost(string, tag="3")]
pub base_icon_url: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub base_token: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub base_token_contract: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub id: ::prost::alloc::string::String,
#[prost(bool, tag="7")]
pub is_active: bool,
#[prost(int32, tag="8")]
pub maker_fee_bps: i32,
#[prost(string, tag="9")]
pub market_type: ::prost::alloc::string::String,
#[prost(string, tag="10")]
pub max_order_size: ::prost::alloc::string::String,
#[prost(string, tag="11")]
pub min_order_size: ::prost::alloc::string::String,
#[prost(string, tag="12")]
pub quote_asset_id: ::prost::alloc::string::String,
#[prost(int32, tag="13")]
pub quote_decimals: i32,
#[prost(string, tag="14")]
pub quote_icon_url: ::prost::alloc::string::String,
#[prost(string, tag="15")]
pub quote_token: ::prost::alloc::string::String,
#[prost(string, tag="16")]
pub quote_token_contract: ::prost::alloc::string::String,
#[prost(string, tag="17")]
pub symbol: ::prost::alloc::string::String,
#[prost(int32, tag="18")]
pub taker_fee_bps: i32,
#[prost(string, tag="19")]
pub tick_size: ::prost::alloc::string::String,
#[prost(string, optional, tag="20")]
pub min_leverage: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="21")]
pub max_leverage: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetTradingPairResponse {
#[prost(message, optional, tag="1")]
pub trading_pair: ::core::option::Option<TradingPairData>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetCandlesRequest {
#[prost(string, tag="1")]
pub trading_pair_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub interval: ::prost::alloc::string::String,
#[prost(uint64, optional, tag="3")]
pub start_time: ::core::option::Option<u64>,
#[prost(uint64, optional, tag="4")]
pub end_time: ::core::option::Option<u64>,
#[prost(uint32, optional, tag="5")]
pub limit: ::core::option::Option<u32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCandlesResponse {
#[prost(message, repeated, tag="1")]
pub candles: ::prost::alloc::vec::Vec<super::super::common::ohlcv::Candle>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMarketMetadataRequest {
#[prost(string, tag="1")]
pub trading_pair_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMarketMetadataResponse {
#[prost(string, tag="1")]
pub base_icon_url: ::prost::alloc::string::String,
#[prost(string, optional, tag="2")]
pub high_24h: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="3")]
pub last_price: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="4")]
pub last_price_timestamp: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="5")]
pub low_24h: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="6")]
pub market_initialization_timestamp: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="7")]
pub price_change_24h: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="8")]
pub price_change_percent_24h: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="9")]
pub quote_icon_url: ::prost::alloc::string::String,
#[prost(string, tag="10")]
pub symbol: ::prost::alloc::string::String,
#[prost(string, optional, tag="11")]
pub volume_24h: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="12")]
pub min_leverage: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="13")]
pub max_leverage: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="14")]
pub mark_price: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="15")]
pub index_price: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetOpenInterestRequest {
#[prost(string, tag="1")]
pub trading_pair_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetOpenInterestResponse {
#[prost(string, tag="1")]
pub trading_pair_id: ::prost::alloc::string::String,
#[prost(string, optional, tag="2")]
pub open_interest: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="3")]
pub updated_at: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFundingStateRequest {
#[prost(string, tag="1")]
pub trading_pair_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFundingStateResponse {
#[prost(string, tag="1")]
pub trading_pair_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub current_funding_rate: ::prost::alloc::string::String,
#[prost(string, optional, tag="3")]
pub estimated_next_funding_rate: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="4")]
pub next_funding_time: ::prost::alloc::string::String,
#[prost(uint32, tag="5")]
pub funding_interval_seconds: u32,
#[prost(string, optional, tag="6")]
pub last_funding_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="7")]
pub updated_at: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListFundingHistoryRequest {
#[prost(string, tag="1")]
pub trading_pair_id: ::prost::alloc::string::String,
#[prost(string, optional, tag="2")]
pub start_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="3")]
pub end_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(uint32, optional, tag="4")]
pub page: ::core::option::Option<u32>,
#[prost(uint32, optional, tag="5")]
pub page_size: ::core::option::Option<u32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FundingRecord {
#[prost(string, tag="1")]
pub trading_pair_id: ::prost::alloc::string::String,
#[prost(uint64, tag="2")]
pub epoch: u64,
#[prost(string, tag="3")]
pub funding_rate: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub funding_delta_per_unit: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub cumulative_funding_per_unit: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub reference_price: ::prost::alloc::string::String,
#[prost(uint32, tag="7")]
pub sample_count: u32,
#[prost(string, tag="8")]
pub window_started_at: ::prost::alloc::string::String,
#[prost(string, tag="9")]
pub window_closed_at: ::prost::alloc::string::String,
#[prost(string, tag="10")]
pub settled_at: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListFundingHistoryResponse {
#[prost(message, repeated, tag="1")]
pub records: ::prost::alloc::vec::Vec<FundingRecord>,
#[prost(uint32, tag="2")]
pub total: u32,
#[prost(uint32, tag="3")]
pub page: u32,
#[prost(uint32, tag="4")]
pub page_size: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RiskTier {
#[prost(string, tag="1")]
pub initial_margin_ratio: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub maintenance_margin_ratio: ::prost::alloc::string::String,
#[prost(string, optional, tag="3")]
pub max_position_notional: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPerpMarketConfigRequest {
#[prost(string, tag="1")]
pub trading_pair_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPerpMarketConfigResponse {
#[prost(string, tag="1")]
pub trading_pair_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub symbol: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub min_leverage: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub max_leverage: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub initial_margin_ratio: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub maintenance_margin_ratio: ::prost::alloc::string::String,
#[prost(uint32, tag="7")]
pub funding_interval_seconds: u32,
#[prost(string, optional, tag="8")]
pub liquidation_fee_bps: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag="9")]
pub risk_tiers: ::prost::alloc::vec::Vec<RiskTier>,
#[prost(string, tag="10")]
pub updated_at: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPerpMarketSummaryRequest {
#[prost(string, tag="1")]
pub trading_pair_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPerpMarketSummaryResponse {
#[prost(string, tag="1")]
pub trading_pair_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub symbol: ::prost::alloc::string::String,
#[prost(string, optional, tag="3")]
pub last_price: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="4")]
pub mark_price: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="5")]
pub index_price: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="6")]
pub high_24h: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="7")]
pub low_24h: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="8")]
pub volume_24h: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="9")]
pub price_change_24h: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="10")]
pub price_change_percent_24h: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="11")]
pub open_interest: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="12")]
pub current_funding_rate: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="13")]
pub estimated_next_funding_rate: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="14")]
pub next_funding_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="15")]
pub market_status: ::prost::alloc::string::String,
#[prost(string, tag="16")]
pub market_regime: ::prost::alloc::string::String,
#[prost(string, tag="17")]
pub updated_at: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMarkPriceRequest {
#[prost(string, tag="1")]
pub trading_pair_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMarkPriceResponse {
#[prost(string, tag="1")]
pub trading_pair_id: ::prost::alloc::string::String,
#[prost(string, optional, tag="2")]
pub mark_price: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="3")]
pub oracle_provider: ::prost::alloc::string::String,
#[prost(string, optional, tag="4")]
pub oracle_epoch: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="5")]
pub updated_at: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub regime: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct IndexComponent {
#[prost(string, tag="1")]
pub provider: ::prost::alloc::string::String,
#[prost(string, optional, tag="2")]
pub price: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="3")]
pub weight: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="4")]
pub updated_at: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetIndexPriceRequest {
#[prost(string, tag="1")]
pub trading_pair_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetIndexPriceResponse {
#[prost(string, tag="1")]
pub trading_pair_id: ::prost::alloc::string::String,
#[prost(string, optional, tag="2")]
pub index_price: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag="3")]
pub components: ::prost::alloc::vec::Vec<IndexComponent>,
#[prost(string, tag="4")]
pub updated_at: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetScreenerRequest {
#[prost(uint32, optional, tag="1")]
pub page: ::core::option::Option<u32>,
#[prost(uint32, optional, tag="2")]
pub page_size: ::core::option::Option<u32>,
#[prost(string, optional, tag="3")]
pub market_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag="4")]
pub is_active: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ScreenerSnapshotPoint {
#[prost(string, tag="1")]
pub bucket_start: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub quote_volume: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub price_change_percent: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScreenerItem {
#[prost(string, tag="1")]
pub trading_pair_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub symbol: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub base_icon_url: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub quote_icon_url: ::prost::alloc::string::String,
#[prost(string, optional, tag="5")]
pub last_price: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="6")]
pub last_price_timestamp: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="7")]
pub quote_volume_1h: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="8")]
pub quote_volume_24h: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="9")]
pub quote_volume_7d: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="10")]
pub price_change_percent_1h: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="11")]
pub price_change_percent_24h: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="12")]
pub price_change_percent_7d: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag="13")]
pub snapshot_7d: ::prost::alloc::vec::Vec<ScreenerSnapshotPoint>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetScreenerResponse {
#[prost(message, repeated, tag="1")]
pub items: ::prost::alloc::vec::Vec<ScreenerItem>,
#[prost(uint32, tag="2")]
pub page: u32,
#[prost(uint32, tag="3")]
pub page_size: u32,
#[prost(uint32, tag="4")]
pub total: u32,
#[prost(uint32, tag="5")]
pub total_pages: u32,
}
include!("monaco.api.market.tonic.rs");