use alloy::{primitives::address, signers::local::PrivateKeySigner};
use hyperliquid_rust_sdk_toaster::{BaseUrl, ExchangeClient};
use log::info;
#[tokio::main]
async fn main() {
env_logger::init();
let wallet: PrivateKeySigner =
"e908f86dbb4d55ac876378565aafeabc187f6690f046459397b17d9b9a19688e"
.parse()
.unwrap();
let exchange_client =
ExchangeClient::new(None, wallet.clone(), Some(BaseUrl::Testnet), None, None, None)
.await
.unwrap();
let max_fee_rate = "0.1%";
let builder = address!("0x1ab189B7801140900C711E458212F9c76F8dAC79");
let resp = exchange_client
.approve_builder_fee(builder, max_fee_rate.to_string(), Some(&wallet))
.await;
info!("resp: {resp:#?}");
}