use binance::api::*;
use binance::futures::general::*;
use binance::futures::market::*;
use binance::futures::model::*;
use binance::errors::ErrorKind as BinanceLibErrorKind;
fn main() {
general();
market_data();
}
fn general() {
let general: FuturesGeneral = Binance::new(None, None);
match general.ping() {
Ok(answer) => println!("{:?}", answer),
Err(err) => {
match err.0 {
BinanceLibErrorKind::BinanceError(response) => match response.code {
-1000_i16 => println!("An unknown error occured while processing the request"),
_ => println!("Non-catched code {}: {}", response.code, response.msg),
},
BinanceLibErrorKind::Msg(msg) => println!("Binancelib error msg: {}", msg),
_ => println!("Other errors: {}.", err.0),
};
}
}
match general.get_server_time() {
Ok(answer) => println!("Server Time: {}", answer.server_time),
Err(e) => println!("Error: {}", e),
}
match general.exchange_info() {
Ok(answer) => println!("Exchange information: {:?}", answer),
Err(e) => println!("Error: {}", e),
}
match general.get_symbol_info("btcusdt") {
Ok(answer) => println!("Symbol information: {:?}", answer),
Err(e) => println!("Error: {}", e),
}
}
fn market_data() {
let market: FuturesMarket = Binance::new(None, None);
match market.get_depth("btcusdt") {
Ok(answer) => println!("Depth update ID: {:?}", answer.last_update_id),
Err(e) => println!("Error: {}", e),
}
match market.get_trades("btcusdt") {
Ok(Trades::AllTrades(answer)) => println!("First trade: {:?}", answer[0]),
Err(e) => println!("Error: {}", e),
}
match market.get_agg_trades("btcusdt", None, None, None, None) {
Ok(AggTrades::AllAggTrades(answer)) => println!("First aggregated trade: {:?}", answer[0]),
Err(e) => println!("Error: {}", e),
}
match market.get_klines("btcusdt", "5m", 10, None, None) {
Ok(KlineSummaries::AllKlineSummaries(answer)) => println!("First kline: {:?}", answer[0]),
Err(e) => println!("Error: {}", e),
}
match market.get_24h_price_stats("btcusdt") {
Ok(answer) => println!("24hr price stats: {:?}", answer),
Err(e) => println!("Error: {}", e),
}
match market.get_price("btcusdt") {
Ok(answer) => println!("Price: {:?}", answer),
Err(e) => println!("Error: {}", e),
}
match market.get_all_book_tickers() {
Ok(BookTickers::AllBookTickers(answer)) => println!("First book ticker: {:?}", answer[0]),
Err(e) => println!("Error: {}", e),
}
match market.get_book_ticker("btcusdt") {
Ok(answer) => println!("Book ticker: {:?}", answer),
Err(e) => println!("Error: {}", e),
}
match market.get_mark_prices() {
Ok(MarkPrices::AllMarkPrices(answer)) => println!("First mark Prices: {:?}", answer[0]),
Err(e) => println!("Error: {}", e),
}
match market.get_all_liquidation_orders() {
Ok(LiquidationOrders::AllLiquidationOrders(answer)) => {
println!("First liquidation order: {:?}", answer[0]);
}
Err(e) => println!("Error: {}", e),
}
match market.open_interest("btcusdt") {
Ok(answer) => println!("Open interest: {:?}", answer),
Err(e) => println!("Error: {}", e),
}
}