use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AcceptNonLpQuoteParams {
pub rfq_id: String,
}
pub type AcceptNonLpQuoteResponse = AcceptNonLpQuoteResult;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AcceptNonLpQuoteResult {
pub rfq_id: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CancelAllQuotesParams {}
pub type CancelAllQuotesResponse = Vec<CancelAllQuotesResultItem>;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CancelAllQuotesResultItem {
pub rfq_id: Option<String>,
pub quote_id: Option<String>,
pub quote_link_id: Option<String>,
pub code: Option<String>,
pub msg: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CancelAllRfqsParams {}
pub type CancelAllRfqsResponse = Vec<CancelAllRfqsResult>;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CancelAllRfqsResult {
pub rfq_id: Option<String>,
pub rfq_link_id: Option<String>,
pub code: Option<String>,
pub msg: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CancelQuoteParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub quote_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub rfq_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub quote_link_id: Option<String>,
}
pub type CancelQuoteResponse = CancelQuoteResult;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CancelQuoteResult {
pub rfq_id: Option<String>,
pub quote_id: Option<String>,
pub quote_link_id: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CancelRfqParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub rfq_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub rfq_link_id: Option<String>,
}
pub type CancelRfqResponse = CancelRfqResult;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CancelRfqResult {
pub rfq_id: Option<String>,
pub rfq_link_id: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CreateQuoteParams {
pub rfq_id: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub quote_link_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub anonymous: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub expire_in: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub quote_buy_list: Option<Vec<QuoteLeg>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub quote_sell_list: Option<Vec<QuoteLeg>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct QuoteLeg {
pub category: String,
pub symbol: String,
pub price: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub qty: Option<String>,
}
pub type CreateQuoteResponse = CreateQuoteResult;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CreateQuoteResult {
pub rfq_id: Option<String>,
pub quote_id: Option<String>,
pub quote_link_id: Option<String>,
pub expires_at: Option<String>,
pub desk_code: Option<String>,
pub status: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CreateRfqParams {
pub counterparties: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub rfq_link_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub anonymous: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub strategy_type: Option<String>,
pub list: Vec<CreateRfqLeg>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CreateRfqLeg {
pub category: String,
pub symbol: String,
pub side: String,
pub qty: String,
}
pub type CreateRfqResponse = CreateRfqResult;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CreateRfqResult {
pub rfq_id: Option<String>,
pub rfq_link_id: Option<String>,
pub status: Option<String>,
pub expires_at: Option<String>,
pub desk_code: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ExecuteQuoteParams {
pub rfq_id: String,
pub quote_id: String,
pub quote_side: String,
}
pub type ExecuteQuoteResponse = ExecuteQuoteResult;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ExecuteQuoteResult {
pub rfq_id: Option<String>,
pub rfq_link_id: Option<String>,
pub quote_id: Option<String>,
pub status: Option<String>,
}
pub type GetPublicTradesResponse = GetPublicTradesResult;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GetPublicTradesResult {
pub cursor: Option<String>,
pub list: Option<Vec<PublicTrade>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct PublicTrade {
pub rfq_id: Option<String>,
pub strategy_type: Option<String>,
pub created_at: Option<String>,
pub updated_at: Option<String>,
pub legs: Option<Vec<PublicTradeLeg>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct PublicTradeLeg {
pub category: Option<String>,
pub symbol: Option<String>,
pub side: Option<String>,
pub price: Option<String>,
pub qty: Option<String>,
pub mark_price: Option<String>,
}
pub type GetQuotesRealtimeResponse = GetQuotesRealtimeResult;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GetQuotesRealtimeResult {
pub list: Option<Vec<QuoteRealtimeItem>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct QuoteRealtimeItem {
pub rfq_id: Option<String>,
pub rfq_link_id: Option<String>,
pub quote_id: Option<String>,
pub quote_link_id: Option<String>,
pub expires_at: Option<String>,
pub status: Option<String>,
pub desk_code: Option<String>,
pub exec_quote_side: Option<String>,
pub created_at: Option<String>,
pub updated_at: Option<String>,
pub quote_buy_list: Option<Vec<QuoteItemLeg>>,
pub quote_sell_list: Option<Vec<QuoteItemLeg>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct QuoteItemLeg {
pub category: Option<String>,
pub symbol: Option<String>,
pub price: Option<String>,
pub qty: Option<String>,
}
pub type GetQuotesResponse = GetQuotesResult;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GetQuotesResult {
pub cursor: Option<String>,
pub list: Option<Vec<QuoteItem>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct QuoteItem {
pub rfq_id: Option<String>,
pub rfq_link_id: Option<String>,
pub quote_id: Option<String>,
pub quote_link_id: Option<String>,
pub expires_at: Option<String>,
pub desk_code: Option<String>,
pub status: Option<String>,
pub exec_quote_side: Option<String>,
pub created_at: Option<String>,
pub updated_at: Option<String>,
pub quote_buy_list: Option<Vec<QuoteItemLeg>>,
pub quote_sell_list: Option<Vec<QuoteItemLeg>>,
}
pub type GetRfqConfigResponse = GetRfqConfigResult;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GetRfqConfigResult {
pub desk_code: Option<String>,
pub max_legs: Option<i32>,
#[serde(rename = "maxLP")]
pub max_lp: Option<i32>,
pub max_active_rfq: Option<i32>,
pub rfq_expire_time: Option<i32>,
pub min_limit_qty_spot_order: Option<i64>,
pub min_limit_qty_contract_order: Option<i64>,
pub min_limit_qty_option_order: Option<i64>,
pub strategy_types: Option<Vec<RfqStrategyType>>,
pub counterparties: Option<Vec<RfqCounterparty>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RfqStrategyType {
pub strategy_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RfqCounterparty {
pub trader_name: Option<String>,
pub desk_code: Option<String>,
#[serde(rename = "type")]
pub type_: Option<String>,
}
pub type GetRfqsRealtimeResponse = GetRfqsRealtimeResult;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GetRfqsRealtimeResult {
pub list: Option<Vec<GetRfqsRealtimeItem>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GetRfqsRealtimeItem {
pub rfq_id: Option<String>,
pub rfq_link_id: Option<String>,
pub counterparties: Option<Vec<String>>,
pub expires_at: Option<String>,
pub strategy_type: Option<String>,
pub status: Option<String>,
pub accept_other_quote_status: Option<String>,
pub desk_code: Option<String>,
pub created_at: Option<String>,
pub updated_at: Option<String>,
pub legs: Option<Vec<GetRfqsRealtimeLeg>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GetRfqsRealtimeLeg {
pub category: Option<String>,
pub symbol: Option<String>,
pub side: Option<String>,
pub qty: Option<String>,
}
pub type GetRfqsResponse = GetRfqsResult;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GetRfqsResult {
pub cursor: Option<String>,
pub list: Option<Vec<GetRfqsListItem>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GetRfqsListItem {
pub rfq_id: Option<String>,
pub rfq_link_id: Option<String>,
pub counterparties: Option<Vec<String>>,
pub strategy_type: Option<String>,
pub expires_at: Option<String>,
pub status: Option<String>,
pub accept_other_quote_status: Option<String>,
pub desk_code: Option<String>,
pub created_at: Option<String>,
pub updated_at: Option<String>,
pub legs: Option<Vec<GetRfqsLeg>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GetRfqsLeg {
pub category: Option<String>,
pub symbol: Option<String>,
pub side: Option<String>,
pub qty: Option<String>,
}
pub type GetTradeHistoryResponse = GetTradeHistoryResult;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GetTradeHistoryResult {
pub cursor: Option<String>,
pub list: Option<Vec<GetTradeHistoryTrade>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GetTradeHistoryTrade {
pub rfq_id: Option<String>,
pub rfq_link_id: Option<String>,
pub quote_id: Option<String>,
pub quote_link_id: Option<String>,
pub quote_side: Option<String>,
pub strategy_type: Option<String>,
pub status: Option<String>,
pub rfq_desk_code: Option<String>,
pub quote_desk_code: Option<String>,
pub created_at: Option<String>,
pub updated_at: Option<String>,
pub legs: Option<Vec<GetTradeHistoryLeg>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GetTradeHistoryLeg {
pub category: Option<String>,
pub order_id: Option<String>,
pub symbol: Option<String>,
pub side: Option<String>,
pub price: Option<String>,
pub qty: Option<String>,
pub mark_price: Option<String>,
pub exec_fee: Option<String>,
pub exec_id: Option<String>,
pub result_code: Option<i32>,
pub result_message: Option<String>,
pub reject_party: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CancelAllRfqsResultItem {
pub rfq_id: Option<String>,
pub rfq_link_id: Option<String>,
pub code: Option<String>,
pub msg: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct PublicTradeItem {
pub rfq_id: Option<String>,
pub strategy_type: Option<String>,
pub created_at: Option<String>,
pub updated_at: Option<String>,
pub legs: Option<Vec<PublicTradeLeg>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct StrategyType {
pub strategy_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Counterparty {
pub trader_name: Option<String>,
pub desk_code: Option<String>,
#[serde(rename = "type")]
pub type_: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RfqRealtimeItem {
pub rfq_id: Option<String>,
pub rfq_link_id: Option<String>,
pub counterparties: Option<Vec<String>>,
pub expires_at: Option<String>,
pub strategy_type: Option<String>,
pub status: Option<String>,
pub accept_other_quote_status: Option<String>,
pub desk_code: Option<String>,
pub created_at: Option<String>,
pub updated_at: Option<String>,
pub legs: Option<Vec<RfqRealtimeLeg>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RfqRealtimeLeg {
pub category: Option<String>,
pub symbol: Option<String>,
pub side: Option<String>,
pub qty: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RfqItem {
pub rfq_id: Option<String>,
pub rfq_link_id: Option<String>,
pub counterparties: Option<Vec<String>>,
pub strategy_type: Option<String>,
pub expires_at: Option<String>,
pub status: Option<String>,
pub accept_other_quote_status: Option<String>,
pub desk_code: Option<String>,
pub created_at: Option<String>,
pub updated_at: Option<String>,
pub legs: Option<Vec<RfqLeg>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RfqLeg {
pub category: Option<String>,
pub symbol: Option<String>,
pub side: Option<String>,
pub qty: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct TradeHistoryItem {
pub rfq_id: Option<String>,
pub rfq_link_id: Option<String>,
pub quote_id: Option<String>,
pub quote_link_id: Option<String>,
pub quote_side: Option<String>,
pub strategy_type: Option<String>,
pub status: Option<String>,
pub rfq_desk_code: Option<String>,
pub quote_desk_code: Option<String>,
pub created_at: Option<String>,
pub updated_at: Option<String>,
pub legs: Option<Vec<TradeHistoryLeg>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct TradeHistoryLeg {
pub category: Option<String>,
pub order_id: Option<String>,
pub symbol: Option<String>,
pub side: Option<String>,
pub price: Option<String>,
pub qty: Option<String>,
pub mark_price: Option<String>,
pub exec_fee: Option<String>,
pub exec_id: Option<String>,
pub result_code: Option<i32>,
pub result_message: Option<String>,
pub reject_party: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetQuotesParams {
pub rfq_id: Option<String>,
pub quote_id: Option<String>,
pub quote_link_id: Option<String>,
pub trader_type: Option<String>,
pub status: Option<String>,
pub limit: Option<u32>,
pub cursor: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetTradeHistoryParams {
pub rfq_id: Option<String>,
pub rfq_link_id: Option<String>,
pub quote_id: Option<String>,
pub quote_link_id: Option<String>,
pub trader_type: Option<String>,
pub status: Option<String>,
pub limit: Option<u32>,
pub cursor: Option<String>,
}