crypto-botters 0.6.0

A library for cryptocurrency exchange APIs.
Documentation
use log::LevelFilter;
use serde_json::json;
use crypto_botters::{
    Client,
    binance::{BinanceOption, BinanceRequestResult},
};

struct Api {
    client: Client,
}

impl Api {
    fn new() -> Self {
        Self {
            client: Client::new(),
        }
    }

    async fn get_orderbook(&self) -> BinanceRequestResult<serde_json::Value> {
        self.client.get(
            "https://api.binance.com/api/v3/ticker/bookTicker",
            Some(&json!({ "symbol": "BTCUSDT" })),
            [BinanceOption::Default],
        ).await
    }
}

#[tokio::main]
async fn main() {
    env_logger::builder()
        .filter_level(LevelFilter::Debug)
        .init();

    let api = Api::new();
    let handle = tokio::spawn(async move {
        log::info!("in async block");
        let orderbook = api.get_orderbook().await;
        println!("{:?}", orderbook);
    });
    let result = handle.await;
    println!("{:?}", result);
}