123456789101112131415161718192021222324252627282930313233 |
- use anyhow::Result;
- use cdk::nuts::nut00::ProofsMethods;
- use cdk::wallet::multi_mint_wallet::MultiMintWallet;
- pub async fn check_pending(multi_mint_wallet: &MultiMintWallet) -> Result<()> {
- let wallets = multi_mint_wallet.get_wallets().await;
- for (i, wallet) in wallets.iter().enumerate() {
- let mint_url = wallet.mint_url.clone();
- println!("{i}: {mint_url}");
- // Get all pending proofs
- let pending_proofs = wallet.get_pending_proofs().await?;
- if pending_proofs.is_empty() {
- println!("No pending proofs found");
- continue;
- }
- println!(
- "Found {} pending proofs with {} {}",
- pending_proofs.len(),
- pending_proofs.total_amount()?,
- wallet.unit
- );
- // Try to reclaim any proofs that are no longer pending
- match wallet.reclaim_unspent(pending_proofs).await {
- Ok(()) => println!("Successfully reclaimed pending proofs"),
- Err(e) => println!("Error reclaimed pending proofs: {e}"),
- }
- }
- Ok(())
- }
|