ftx_rs/
api.rs

1use crate::account::*;
2use crate::fills::*;
3use crate::futures::*;
4use crate::markets::*;
5use crate::orders::*;
6use crate::subaccounts::*;
7use crate::wallet::*;
8
9#[derive(Clone)]
10pub struct Ftx {
11    pub markets: MarketsClient,
12    pub subaccounts: SubAccountsClient,
13    pub futures: FuturesClient,
14    pub account: AccountClient,
15    pub wallet: WalletClient,
16    pub orders: OrdersClient,
17    pub fills: FillsClient,
18}
19
20impl Ftx {
21    pub fn new(api_key: Option<String>, secret_key: Option<String>) -> Self {
22        Ftx {
23            markets: MarketsClient::new(),
24            subaccounts: SubAccountsClient::new(api_key.clone(), secret_key.clone()),
25            futures: FuturesClient::new(),
26            account: AccountClient::new(api_key.clone(), secret_key.clone()),
27            wallet: WalletClient::new(api_key.clone(), secret_key.clone()),
28            orders: OrdersClient::new(api_key.clone(), secret_key.clone()),
29            fills: FillsClient::new(api_key.clone(), secret_key.clone()),
30        }
31    }
32}