use amp_rs::signer::lwk::LwkSoftwareSigner;
use amp_rs::ElementsRpc;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
println!("đ Generating test address for funding...");
let (mnemonic, _signer) = LwkSoftwareSigner::generate_new_indexed(300)?;
println!("đ Mnemonic (first 50 chars): {}...", &mnemonic[..50]);
let elements_rpc = ElementsRpc::from_env()?;
let wallet_name = "amp_elements_wallet_funding_static";
match elements_rpc.create_wallet(wallet_name, false).await {
Ok(_) => println!("â
Created Elements wallet: {}", wallet_name),
Err(e) if e.to_string().contains("already exists") => {
println!("âšī¸ Wallet {} already exists", wallet_name);
}
Err(e) => return Err(e.into()),
}
let address = elements_rpc
.get_new_address(wallet_name, Some("bech32"))
.await?;
println!("đ Unconfidential address: {}", address);
let confidential_address = elements_rpc
.get_confidential_address(wallet_name, &address)
.await?;
println!("đ Confidential address: {}", confidential_address);
println!("\nđ° Send L-BTC to either address:");
println!(" Unconfidential: {}", address);
println!(" Confidential: {}", confidential_address);
Ok(())
}