#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarginAccountSummary {
#[prost(string, tag="1")]
pub margin_account_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub account_state: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub equity: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub initial_margin_required: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub maintenance_margin_required: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub free_collateral: ::prost::alloc::string::String,
#[prost(string, tag="7")]
pub withdrawable_collateral: ::prost::alloc::string::String,
#[prost(string, tag="8")]
pub total_position_notional: ::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 updated_at: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMarginAccountSummaryRequest {
#[prost(string, tag="1")]
pub margin_account_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMarginAccountSummaryResponse {
#[prost(string, tag="1")]
pub margin_account_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub account_state: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub equity: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub initial_margin_required: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub maintenance_margin_required: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub free_collateral: ::prost::alloc::string::String,
#[prost(string, tag="7")]
pub withdrawable_collateral: ::prost::alloc::string::String,
#[prost(string, tag="8")]
pub total_position_notional: ::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 updated_at: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListMarginAccountsRequest {
#[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 state: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListMarginAccountsResponse {
#[prost(message, repeated, tag="1")]
pub accounts: ::prost::alloc::vec::Vec<MarginAccountSummary>,
#[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 CreateMarginAccountRequest {
#[prost(string, optional, tag="1")]
pub label: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="2")]
pub collateral_asset: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CreateMarginAccountResponse {
#[prost(string, tag="1")]
pub margin_account_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub account_state: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub collateral_asset: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub created_at: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetAvailableCollateralRequest {
#[prost(string, optional, tag="1")]
pub asset: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetAvailableCollateralResponse {
#[prost(string, tag="1")]
pub asset: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub wallet_available: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub wallet_locked: ::prost::alloc::string::String,
#[prost(string, optional, tag="4")]
pub margin_transferable: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TransferCollateralToMarginAccountRequest {
#[prost(string, tag="1")]
pub margin_account_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub asset: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub amount: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TransferCollateralToMarginAccountResponse {
#[prost(string, tag="1")]
pub movement_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub margin_account_id: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub asset: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub amount: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub status: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub new_equity: ::prost::alloc::string::String,
#[prost(string, tag="7")]
pub new_total_collateral_value: ::prost::alloc::string::String,
#[prost(string, tag="8")]
pub new_withdrawable_collateral: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TransferCollateralFromMarginAccountRequest {
#[prost(string, tag="1")]
pub margin_account_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub asset: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub amount: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TransferCollateralFromMarginAccountResponse {
#[prost(string, tag="1")]
pub movement_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub margin_account_id: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub asset: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub amount: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub status: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub new_equity: ::prost::alloc::string::String,
#[prost(string, tag="7")]
pub new_total_collateral_value: ::prost::alloc::string::String,
#[prost(string, tag="8")]
pub new_withdrawable_collateral: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarginAccountMovement {
#[prost(string, tag="1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub movement_type: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub asset: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub amount: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub status: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub created_at: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMarginAccountMovementsRequest {
#[prost(string, tag="1")]
pub margin_account_id: ::prost::alloc::string::String,
#[prost(string, optional, tag="2")]
pub movement_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(uint32, optional, tag="3")]
pub page: ::core::option::Option<u32>,
#[prost(uint32, optional, tag="4")]
pub page_size: ::core::option::Option<u32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMarginAccountMovementsResponse {
#[prost(message, repeated, tag="1")]
pub movements: ::prost::alloc::vec::Vec<MarginAccountMovement>,
#[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 SimulateOrderRiskRequest {
#[prost(string, tag="1")]
pub margin_account_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub trading_pair_id: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub side: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub position_side: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub order_type: ::prost::alloc::string::String,
#[prost(string, optional, tag="6")]
pub price: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="7")]
pub quantity: ::prost::alloc::string::String,
#[prost(string, tag="8")]
pub leverage: ::prost::alloc::string::String,
#[prost(bool, optional, tag="9")]
pub reduce_only: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SimulateOrderRiskResponse {
#[prost(bool, tag="1")]
pub accepted: bool,
#[prost(string, optional, tag="2")]
pub reject_reason: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag="3")]
pub equity_after: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub initial_margin_required_after: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub maintenance_margin_required_after: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub free_collateral_after: ::prost::alloc::string::String,
#[prost(string, optional, tag="7")]
pub estimated_fee: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="8")]
pub estimated_liquidation_price: ::core::option::Option<::prost::alloc::string::String>,
}
include!("monaco.api.margin_accounts.tonic.rs");