| 123456789101112131415161718192021222324252627282930313233343536373839 |
- use anyhow::{anyhow, Result};
- use cdk::mint_url::MintUrl;
- use cdk::nuts::CurrencyUnit;
- use cdk::wallet::types::WalletKey;
- use cdk::wallet::MultiMintWallet;
- use clap::Args;
- #[derive(Args)]
- pub struct UpdateMintUrlSubCommand {
- /// Old Mint Url
- old_mint_url: MintUrl,
- /// New Mint Url
- new_mint_url: MintUrl,
- }
- pub async fn update_mint_url(
- multi_mint_wallet: &MultiMintWallet,
- sub_command_args: &UpdateMintUrlSubCommand,
- ) -> Result<()> {
- let UpdateMintUrlSubCommand {
- old_mint_url,
- new_mint_url,
- } = sub_command_args;
- let mut wallet = multi_mint_wallet
- .get_wallet(&WalletKey::new(
- sub_command_args.old_mint_url.clone(),
- CurrencyUnit::Sat,
- ))
- .await
- .ok_or(anyhow!("Unknown mint url"))?
- .clone();
- wallet.update_mint_url(new_mint_url.clone()).await?;
- println!("Mint Url changed from {old_mint_url} to {new_mint_url}");
- Ok(())
- }
|