Contractless/src/bin/verify_address.rs

31 lines
933 B
Rust
Raw Normal View History

2026-06-29 16:05:30 +00:00
use blockchain::common::cli_prompts::prompt_visible;
2026-05-24 17:56:57 +00:00
use blockchain::env;
use blockchain::standalone_tools::vanity_resolver::canonical_vanity_address_input;
2026-05-24 17:56:57 +00:00
use blockchain::wallets::structures::Wallet;
#[tokio::main]
async fn main() {
2026-06-29 16:05:30 +00:00
// Accept a directly pasted address as an arg or prompt interactively.
2026-05-24 17:56:57 +00:00
let args: Vec<String> = env::args().collect();
if args.len() > 1 && args.len() != 2 {
2026-06-29 16:05:30 +00:00
println!("Usage: ./verify_address <wallet_address>");
2026-05-24 17:56:57 +00:00
return;
}
2026-06-29 16:05:30 +00:00
let address = if args.len() == 2 {
args[1].trim().to_string()
2026-05-24 17:56:57 +00:00
} else {
2026-06-29 16:05:30 +00:00
prompt_visible("Please enter the wallet address: ")
.await
.trim()
.to_string()
2026-05-24 17:56:57 +00:00
};
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}");
2026-05-24 17:56:57 +00:00
}