#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Position {
#[prost(string, tag="1")]
pub position_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub margin_account_id: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub trading_pair_id: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub side: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub size: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub entry_price: ::prost::alloc::string::String,
#[prost(string, tag="7")]
pub mark_price: ::prost::alloc::string::String,
#[prost(string, optional, tag="8")]
pub index_price: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="9")]
pub unrealized_pnl: ::prost::alloc::string::String,
#[prost(string, tag="10")]
pub realized_pnl: ::prost::alloc::string::String,
#[prost(string, tag="11")]
pub isolated_margin: ::prost::alloc::string::String,
#[prost(string, optional, tag="12")]
pub leverage: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="13")]
pub maintenance_margin_required: ::prost::alloc::string::String,
#[prost(string, optional, tag="14")]
pub initial_margin_required: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="15")]
pub liquidation_price: ::prost::alloc::string::String,
#[prost(string, tag="16")]
pub status: ::prost::alloc::string::String,
#[prost(string, tag="17")]
pub updated_at: ::prost::alloc::string::String,
#[prost(string, optional, tag="18")]
pub risk_bucket_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="19")]
pub margin_mode: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListPositionsRequest {
#[prost(string, optional, tag="1")]
pub margin_account_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="2")]
pub trading_pair_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="3")]
pub status: ::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, ::prost::Message)]
pub struct ListPositionsResponse {
#[prost(message, repeated, tag="1")]
pub positions: ::prost::alloc::vec::Vec<Position>,
#[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 GetPositionRequest {
#[prost(string, tag="1")]
pub position_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPositionResponse {
#[prost(string, tag="1")]
pub position_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub margin_account_id: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub trading_pair_id: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub side: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub size: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub entry_price: ::prost::alloc::string::String,
#[prost(string, tag="7")]
pub mark_price: ::prost::alloc::string::String,
#[prost(string, optional, tag="8")]
pub index_price: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="9")]
pub unrealized_pnl: ::prost::alloc::string::String,
#[prost(string, tag="10")]
pub realized_pnl: ::prost::alloc::string::String,
#[prost(string, tag="11")]
pub isolated_margin: ::prost::alloc::string::String,
#[prost(string, optional, tag="12")]
pub leverage: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="13")]
pub maintenance_margin_required: ::prost::alloc::string::String,
#[prost(string, optional, tag="14")]
pub initial_margin_required: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="15")]
pub liquidation_price: ::prost::alloc::string::String,
#[prost(string, tag="16")]
pub status: ::prost::alloc::string::String,
#[prost(string, tag="17")]
pub updated_at: ::prost::alloc::string::String,
#[prost(string, optional, tag="18")]
pub risk_bucket_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="19")]
pub margin_mode: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ClosePositionRequest {
#[prost(string, tag="1")]
pub position_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub close_type: ::prost::alloc::string::String,
#[prost(string, optional, tag="3")]
pub limit_price: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag="4")]
pub slippage_tolerance_bps: ::core::option::Option<i32>,
#[prost(string, optional, tag="5")]
pub quantity: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ClosePositionResponse {
#[prost(string, tag="1")]
pub close_order_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub status: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub message: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub submitted_quantity: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BatchCloseAllRequest {
#[prost(string, optional, tag="1")]
pub trading_pair_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag="2")]
pub slippage_tolerance_bps: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchCloseAllResponse {
#[prost(int32, tag="1")]
pub total_requested: i32,
#[prost(int32, tag="2")]
pub total_closed: i32,
#[prost(int32, tag="3")]
pub total_failed: i32,
#[prost(message, repeated, tag="4")]
pub results: ::prost::alloc::vec::Vec<BatchCloseResult>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BatchCloseResult {
#[prost(string, tag="1")]
pub position_id: ::prost::alloc::string::String,
#[prost(string, optional, tag="2")]
pub close_order_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="3")]
pub status: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="4")]
pub submitted_quantity: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag="5")]
pub error: ::core::option::Option<BatchCloseError>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BatchCloseError {
#[prost(string, tag="1")]
pub code: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub message: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPositionRiskRequest {
#[prost(string, tag="1")]
pub position_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPositionRiskResponse {
#[prost(string, tag="1")]
pub position_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub mark_price: ::prost::alloc::string::String,
#[prost(string, optional, tag="3")]
pub index_price: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="4")]
pub unrealized_pnl: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub liquidation_price: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub margin_ratio: ::prost::alloc::string::String,
#[prost(string, tag="7")]
pub maintenance_margin_required: ::prost::alloc::string::String,
#[prost(string, optional, tag="8")]
pub initial_margin_required: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="9")]
pub updated_at: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AddPositionMarginRequest {
#[prost(string, tag="1")]
pub position_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub amount: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub asset: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AddPositionMarginResponse {
#[prost(string, tag="1")]
pub position_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub margin_account_id: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub new_isolated_margin: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub status: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub message: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReducePositionMarginRequest {
#[prost(string, tag="1")]
pub position_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub amount: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReducePositionMarginResponse {
#[prost(string, tag="1")]
pub position_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub margin_account_id: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub new_isolated_margin: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub status: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub message: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PositionHistoryEvent {
#[prost(string, tag="1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub position_id: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub margin_account_id: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub trading_pair_id: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub action: ::prost::alloc::string::String,
#[prost(string, optional, tag="6")]
pub size_change: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="7")]
pub price: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="8")]
pub realized_pnl: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="9")]
pub fees_paid: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="10")]
pub collateral_change: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="11")]
pub order_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="12")]
pub created_at: ::prost::alloc::string::String,
#[prost(string, optional, tag="13")]
pub entry_price: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="14")]
pub allocated_initial_margin: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="15")]
pub funding_paid: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="16")]
pub net_realized_pnl: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="17")]
pub realized_roe: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="18")]
pub position_side: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListPositionHistoryRequest {
#[prost(string, optional, tag="1")]
pub position_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="2")]
pub margin_account_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="3")]
pub trading_pair_id: ::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>,
#[prost(bool, optional, tag="6")]
pub reduction_only: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListPositionHistoryResponse {
#[prost(message, repeated, tag="1")]
pub events: ::prost::alloc::vec::Vec<PositionHistoryEvent>,
#[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 GetPositionPnlHistoryRequest {
#[prost(string, tag="1")]
pub position_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>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PositionPnlPoint {
#[prost(string, tag="1")]
pub bucket_start: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub quantity: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub entry_price: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub mark_price: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub unrealized_pnl: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub cum_realized_pnl: ::prost::alloc::string::String,
#[prost(string, tag="7")]
pub cum_funding_paid: ::prost::alloc::string::String,
#[prost(string, tag="8")]
pub cum_fees: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPositionPnlHistoryResponse {
#[prost(string, tag="1")]
pub position_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub interval: ::prost::alloc::string::String,
#[prost(message, repeated, tag="3")]
pub data: ::prost::alloc::vec::Vec<PositionPnlPoint>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TpSlLeg {
#[prost(string, tag="1")]
pub trigger_price: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub order_type: ::prost::alloc::string::String,
#[prost(string, optional, tag="3")]
pub limit_price: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="4")]
pub quantity: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="5")]
pub time_in_force: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag="6")]
pub slippage_tolerance_bps: ::core::option::Option<i32>,
#[prost(string, optional, tag="7")]
pub expires_at: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AttachPositionTpSlRequest {
#[prost(string, tag="1")]
pub position_id: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub take_profit: ::core::option::Option<TpSlLeg>,
#[prost(message, optional, tag="3")]
pub stop_loss: ::core::option::Option<TpSlLeg>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AttachPositionTpSlResponse {
#[prost(string, tag="1")]
pub position_id: ::prost::alloc::string::String,
#[prost(string, optional, tag="2")]
pub take_profit_order_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="3")]
pub stop_loss_order_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="4")]
pub status: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub message: ::prost::alloc::string::String,
}
include!("monaco.api.positions.tonic.rs");