use alloy::signers::local::PrivateKeySigner;
use hyperliquid_rust_sdk_toaster::{BaseUrl, ExchangeClient, InfoClient};
use log::info;
#[tokio::main]
async fn main() {
env_logger::init();
let wallet: PrivateKeySigner =
"e908f86dbb4d55ac876378565aafeabc187f6690f046459397b17d9b9a19688e"
.parse()
.unwrap();
let address = wallet.address();
let exchange_client = ExchangeClient::new(None, wallet, Some(BaseUrl::Testnet), None, None, None)
.await
.unwrap();
let info_client = InfoClient::new(None, Some(BaseUrl::Testnet)).await.unwrap();
let response = exchange_client
.update_leverage(5, "ETH", false, None)
.await
.unwrap();
info!("Update leverage response: {response:?}");
let response = exchange_client
.update_isolated_margin(1.0, "ETH", None)
.await
.unwrap();
info!("Update isolated margin response: {response:?}");
let user_state = info_client.user_state(address).await.unwrap();
info!("User state: {user_state:?}");
}