use metaflux_client::{
Client,
types::VaultId,
types::vault::{CreateVault, VaultKind},
wallet::Wallet,
};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let priv_hex = std::env::var("MTF_PRIVATE_KEY")
.map_err(|_| "set MTF_PRIVATE_KEY=<64-char hex> to run this example")?;
let wallet = Wallet::from_hex(&priv_hex)?;
let client = Client::new("https://devnet-gateway.mtf.exchange")?;
let create = CreateVault {
name: "my-vault".into(),
lock_period_secs: 4 * 86_400, parent: None,
kind: VaultKind::User,
};
let resp = client.exchange().create_vault(&wallet, &create).await?;
println!("create_vault response: {resp:?}");
let nav = client.rest().info().vault_state(VaultId(1)).await?;
println!("vault state: {nav:?}");
Ok(())
}