update_mint_url.rs 817 B

12345678910111213141516171819202122232425262728293031323334
  1. use anyhow::{anyhow, Result};
  2. use cdk::mint_url::MintUrl;
  3. use cdk::wallet::MultiMintWallet;
  4. use clap::Args;
  5. #[derive(Args)]
  6. pub struct UpdateMintUrlSubCommand {
  7. /// Old Mint Url
  8. old_mint_url: MintUrl,
  9. /// New Mint Url
  10. new_mint_url: MintUrl,
  11. }
  12. pub async fn update_mint_url(
  13. multi_mint_wallet: &MultiMintWallet,
  14. sub_command_args: &UpdateMintUrlSubCommand,
  15. ) -> Result<()> {
  16. let UpdateMintUrlSubCommand {
  17. old_mint_url,
  18. new_mint_url,
  19. } = sub_command_args;
  20. let mut wallet = multi_mint_wallet
  21. .get_wallet(&sub_command_args.old_mint_url)
  22. .await
  23. .ok_or(anyhow!("Unknown mint url"))?
  24. .clone();
  25. wallet.update_mint_url(new_mint_url.clone()).await?;
  26. println!("Mint Url changed from {old_mint_url} to {new_mint_url}");
  27. Ok(())
  28. }