use quantus_cli::{chain::client::QuantusClient, error::Result, wallet::WalletManager};
#[tokio::main]
async fn main() -> Result<()> {
println!("🔮 Quantus CLI Library - Simple Usage Example");
let wallet_manager = WalletManager::new()?;
let wallets = wallet_manager.list_wallets()?;
println!("📋 Found {} wallet(s):", wallets.len());
for wallet in &wallets {
println!(" - {}: {}", wallet.name, wallet.address);
}
let client = QuantusClient::new("ws://127.0.0.1:9944").await?;
println!("🔗 Connected to Quantus node");
let runtime_version = client.get_runtime_version().await?;
println!("🔧 Runtime version: spec={}, tx={}", runtime_version.0, runtime_version.1);
let latest_block = client.get_latest_block().await?;
println!("📦 Latest block: {latest_block:?}");
let genesis_hash = client.get_genesis_hash().await?;
println!("🧬 Genesis hash: {genesis_hash:?}");
if wallets.is_empty() {
println!("📝 Creating a new wallet...");
let wallet_info =
wallet_manager.create_wallet("example_wallet", Some("example_password")).await?;
println!("✅ Created wallet:");
println!(" Name: {}", wallet_info.name);
println!(" Address: {}", wallet_info.address);
println!(" Key type: {}", wallet_info.key_type);
}
println!("✅ Example completed successfully!");
Ok(())
}