feat(cli): burn

This commit is contained in:
thesimplekid
2024-06-09 11:40:45 +01:00
parent bfc737f2f5
commit 7c4c24d0b7
3 changed files with 25 additions and 0 deletions

View File

@@ -54,6 +54,8 @@ enum Commands {
MintInfo(sub_commands::mint_info::MintInfoSubcommand),
/// Mint proofs via bolt11
Mint(sub_commands::mint::MintSubCommand),
/// Burn Spent tokens
Burn(sub_commands::burn::BurnSubCommand),
/// Restore proofs from seed
Restore(sub_commands::restore::RestoreSubCommand),
}
@@ -113,6 +115,9 @@ async fn main() -> Result<()> {
Commands::Mint(sub_command_args) => {
sub_commands::mint::mint(wallet, sub_command_args).await
}
Commands::Burn(sub_command_args) => {
sub_commands::burn::burn(wallet, sub_command_args).await
}
Commands::Restore(sub_command_args) => {
sub_commands::restore::restore(wallet, sub_command_args).await
}

View File

@@ -0,0 +1,19 @@
use anyhow::Result;
use cdk::wallet::Wallet;
use clap::Args;
#[derive(Args)]
pub struct BurnSubCommand {
/// Token Memo
#[arg(short, long)]
mint_url: Option<String>,
}
pub async fn burn(wallet: Wallet, sub_command_args: &BurnSubCommand) -> Result<()> {
let amount_burnt = wallet
.check_all_pending_proofs(sub_command_args.mint_url.clone().map(|u| u.into()))
.await?;
println!("{amount_burnt} burned");
Ok(())
}

View File

@@ -1,4 +1,5 @@
pub mod balance;
pub mod burn;
pub mod check_spent;
pub mod decode_token;
pub mod melt;