use blockchain::common::cli_prompts::prompt_visible; use blockchain::env; use blockchain::standalone_tools::vanity_resolver::canonical_vanity_address_input; use blockchain::wallets::structures::Wallet; #[tokio::main] async fn main() { // Accept a directly pasted address as an arg or prompt interactively. let args: Vec = env::args().collect(); if args.len() > 1 && args.len() != 2 { println!("Usage: ./verify_address "); return; } let address = if args.len() == 2 { args[1].trim().to_string() } else { prompt_visible("Please enter the wallet address: ") .await .trim() .to_string() }; let is_valid = Wallet::short_address_validation(&address) || canonical_vanity_address_input(&address) .is_some_and(|vanity| Wallet::short_address_validation(&vanity)); println!("{is_valid}"); }