use alloy::{primitives::Address, signers::local::PrivateKeySigner};
use hyperliquid_rust_sdk_extended::{BaseUrl, ExchangeClient};
use log::info;
const CREATOR_PRIVATE_KEY: &str = "0xa3d1b9e63d491a1b0da608175d36a8e643b755763e0f9296ab1ef7b281e792c2";
const VAULT_ADDRESS: &str = "0x475ec1d74ac6c5cf3ba7129b412bc2a2597f5710";
#[tokio::main]
async fn main() {
env_logger::init();
let wallet: PrivateKeySigner = CREATOR_PRIVATE_KEY.parse().unwrap();
let vault_address: Address = VAULT_ADDRESS.parse().unwrap();
info!("Wallet address: {:?}", wallet.address());
info!("Vault address: {}", vault_address);
let exchange_client = ExchangeClient::new(
None,
wallet,
Some(BaseUrl::Testnet),
None,
Some(vault_address),
)
.await
.unwrap();
let result = exchange_client
.vault_modify(
false, None, None, None, )
.await;
info!("Vault modify result: {result:?}");
}