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}