| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | 
							- use std::sync::Arc;
 
- use std::time::Duration;
 
- use cdk::error::Error;
 
- use cdk::nuts::nut00::ProofsMethods;
 
- use cdk::nuts::CurrencyUnit;
 
- use cdk::wallet::{SendOptions, Wallet};
 
- use cdk::Amount;
 
- use cdk_sqlite::wallet::memory;
 
- use rand::random;
 
- use tracing_subscriber::EnvFilter;
 
- #[tokio::main]
 
- async fn main() -> Result<(), Error> {
 
-     let default_filter = "debug";
 
-     let sqlx_filter = "sqlx=warn,hyper_util=warn,reqwest=warn,rustls=warn";
 
-     let env_filter = EnvFilter::new(format!("{},{}", default_filter, sqlx_filter));
 
-     // Parse input
 
-     tracing_subscriber::fmt().with_env_filter(env_filter).init();
 
-     // Initialize the memory store for the wallet
 
-     let localstore = Arc::new(memory::empty().await?);
 
-     // Generate a random seed for the wallet
 
-     let seed = random::<[u8; 64]>();
 
-     // Define the mint URL and currency unit
 
-     let mint_url = "https://fake.thesimplekid.dev";
 
-     let unit = CurrencyUnit::Sat;
 
-     let amount = Amount::from(10);
 
-     // Create a new wallet
 
-     let wallet = Wallet::new(mint_url, unit, localstore, seed, None)?;
 
-     let quote = wallet.mint_bolt12_quote(None, None).await?;
 
-     let proofs = wallet
 
-         .wait_and_mint_quote(
 
-             quote,
 
-             Default::default(),
 
-             Default::default(),
 
-             Duration::from_secs(10),
 
-         )
 
-         .await?;
 
-     // Mint the received amount
 
-     let receive_amount = proofs.total_amount()?;
 
-     println!("Received {} from mint {}", receive_amount, mint_url);
 
-     // Send a token with the specified amount
 
-     let prepared_send = wallet.prepare_send(amount, SendOptions::default()).await?;
 
-     let token = prepared_send.confirm(None).await?;
 
-     println!("Token:");
 
-     println!("{}", token);
 
-     Ok(())
 
- }
 
 
  |