deribit 0.3.3

Rust client for deribit. Please look at tests/examples for detailed usages.
Documentation
use anyhow::Error;
use deribit::{
    models::{HeartbeatType, SetHeartbeatRequest, SubscriptionParams, TestRequest},
    DeribitBuilder,
};
use dotenv::dotenv;
use env_logger::init;
use futures::StreamExt;

#[tokio::main]
async fn main() -> Result<(), Error> {
    let _ = dotenv();
    init();

    let drb = DeribitBuilder::default().testnet(true).build().unwrap();

    let (mut client, mut subscription) = drb.connect().await?;

    let resp = client.call(SetHeartbeatRequest::with_interval(10)).await?;
    println!("Hearbet response {:?}", resp.await?);

    while let Some(Ok(sub)) = subscription.next().await {
        if sub.is_heartbeat() {
            match sub.params {
                SubscriptionParams::Heartbeat { r#type: ty } => match ty {
                    HeartbeatType::TestRequest => {
                        println!("Test Requested");
                        client.call(TestRequest::default()).await?;
                    }
                    _ => println!("Heartbeat"),
                },
                _ => {}
            }
        }
    }

    Ok(())
}