|
@@ -5,9 +5,9 @@ use std::thread;
|
|
|
use std::time::Duration;
|
|
|
|
|
|
use bitcoin::Amount;
|
|
|
-use cashu_crab::cashu_mint::CashuMint;
|
|
|
use cashu_crab::cashu_wallet::CashuWallet;
|
|
|
-use cashu_crab::types::{BlindedMessages, MintKeys, ProofsStatus, Token, TokenData};
|
|
|
+use cashu_crab::client::Client;
|
|
|
+use cashu_crab::types::{MintKeys, Token, TokenData};
|
|
|
use lightning_invoice::Invoice;
|
|
|
use url::Url;
|
|
|
|
|
@@ -15,33 +15,33 @@ use url::Url;
|
|
|
async fn main() {
|
|
|
let url =
|
|
|
Url::from_str("https://legend.lnbits.com/cashu/api/v1/SKvHRus9dmjWHhstHrsazW/").unwrap();
|
|
|
- let mint = CashuMint::new(url);
|
|
|
+ let client = Client::new(url);
|
|
|
|
|
|
// NUT-09
|
|
|
// test_get_mint_info(&mint).await;
|
|
|
|
|
|
- let keys = test_get_mint_keys(&mint).await;
|
|
|
- let wallet = CashuWallet::new(mint.to_owned(), keys);
|
|
|
- test_get_mint_keysets(&mint).await;
|
|
|
+ let keys = test_get_mint_keys(&client).await;
|
|
|
+ let wallet = CashuWallet::new(client.to_owned(), keys);
|
|
|
+ test_get_mint_keysets(&client).await;
|
|
|
test_request_mint(&wallet).await;
|
|
|
let token = test_mint(&wallet).await;
|
|
|
let new_token = test_receive(&wallet, &token).await;
|
|
|
|
|
|
- test_check_spendable(&mint, &new_token).await;
|
|
|
+ test_check_spendable(&client, &new_token).await;
|
|
|
|
|
|
- test_check_fees(&mint).await;
|
|
|
+ test_check_fees(&client).await;
|
|
|
}
|
|
|
|
|
|
-async fn test_get_mint_keys(mint: &CashuMint) -> MintKeys {
|
|
|
- let mint_keys = mint.get_keys().await.unwrap();
|
|
|
+async fn test_get_mint_keys(client: &Client) -> MintKeys {
|
|
|
+ let mint_keys = client.get_keys().await.unwrap();
|
|
|
// println!("{:?}", mint_keys.0.capacity());
|
|
|
assert!(mint_keys.0.capacity() > 1);
|
|
|
|
|
|
mint_keys
|
|
|
}
|
|
|
|
|
|
-async fn test_get_mint_keysets(mint: &CashuMint) {
|
|
|
- let mint_keysets = mint.get_keysets().await.unwrap();
|
|
|
+async fn test_get_mint_keysets(client: &Client) {
|
|
|
+ let mint_keysets = client.get_keysets().await.unwrap();
|
|
|
|
|
|
assert!(!mint_keysets.keysets.is_empty())
|
|
|
}
|
|
@@ -71,7 +71,7 @@ async fn test_mint(wallet: &CashuWallet) -> String {
|
|
|
mint_res.to_string()
|
|
|
}
|
|
|
|
|
|
-async fn test_check_fees(mint: &CashuMint) {
|
|
|
+async fn test_check_fees(mint: &Client) {
|
|
|
let invoice = Invoice::from_str("lnbc10n1p3a6s0dsp5n55r506t2fv4r0mjcg30v569nk2u9s40ur4v3r3mgtscjvkvnrqqpp5lzfv8fmjzduelk74y9rsrxrayvhyzcdsh3zkdgv0g50napzalvqsdqhf9h8vmmfvdjn5gp58qengdqxq8p3aaymdcqpjrzjqwryaup9lh50kkranzgcdnn2fgvx390wgj5jd07rwr3vxeje0glc7z70cgqqg4sqqqqqqqlgqqqqrucqjq9qyysgqrjky5axsldzhqsjwsc38xa37k6t04le3ws4t26nqej62vst5xkz56qw85r6c4a3tr79588e0ceuuahwgfnkqc6n6269unlwqtvwr5vqqy0ncdq").unwrap();
|
|
|
|
|
|
let _fee = mint.check_fees(invoice).await.unwrap();
|
|
@@ -82,7 +82,7 @@ async fn test_receive(wallet: &CashuWallet, token: &str) -> String {
|
|
|
let prom = wallet.receive(token).await.unwrap();
|
|
|
println!("{:?}", prom);
|
|
|
let token = Token {
|
|
|
- mint: wallet.mint.url.clone(),
|
|
|
+ mint: wallet.client.mint_url.clone(),
|
|
|
proofs: prom,
|
|
|
};
|
|
|
|
|
@@ -96,10 +96,10 @@ async fn test_receive(wallet: &CashuWallet, token: &str) -> String {
|
|
|
s
|
|
|
}
|
|
|
|
|
|
-async fn test_check_spendable(mint: &CashuMint, token: &str) {
|
|
|
- let mint_keys = mint.get_keys().await.unwrap();
|
|
|
+async fn test_check_spendable(client: &Client, token: &str) {
|
|
|
+ let mint_keys = client.get_keys().await.unwrap();
|
|
|
|
|
|
- let wallet = CashuWallet::new(mint.to_owned(), mint_keys);
|
|
|
+ let wallet = CashuWallet::new(client.to_owned(), mint_keys);
|
|
|
|
|
|
let token_data = TokenData::from_str(token).unwrap();
|
|
|
let _spendable = wallet
|
|
@@ -109,10 +109,10 @@ async fn test_check_spendable(mint: &CashuMint, token: &str) {
|
|
|
// println!("Spendable: {:?}", spendable);
|
|
|
}
|
|
|
|
|
|
-async fn test_split(mint: &CashuMint, token: &str) {
|
|
|
- let mint_keys = mint.get_keys().await.unwrap();
|
|
|
+async fn _test_split(client: &Client, token: &str) {
|
|
|
+ let mint_keys = client.get_keys().await.unwrap();
|
|
|
|
|
|
- let wallet = CashuWallet::new(mint.clone(), mint_keys);
|
|
|
+ let wallet = CashuWallet::new(client.clone(), mint_keys);
|
|
|
let proofs = wallet.receive(token).await.unwrap();
|
|
|
|
|
|
let split = wallet
|
|
@@ -126,11 +126,11 @@ async fn test_split(mint: &CashuMint, token: &str) {
|
|
|
serde_json::to_string(&split.split_payload)
|
|
|
);
|
|
|
|
|
|
- let split = mint.split(split.split_payload).await;
|
|
|
+ let split = client.split(split.split_payload).await;
|
|
|
println!("Split res: {:#?}", split);
|
|
|
}
|
|
|
|
|
|
-async fn test_send(mint: &CashuMint, token: &str) {
|
|
|
+async fn _test_send(mint: &Client, token: &str) {
|
|
|
let mint_keys = mint.get_keys().await.unwrap();
|
|
|
|
|
|
let wallet = CashuWallet::new(mint.to_owned(), mint_keys);
|
|
@@ -140,7 +140,7 @@ async fn test_send(mint: &CashuMint, token: &str) {
|
|
|
println!("{:?}", send);
|
|
|
}
|
|
|
|
|
|
-async fn test_get_mint_info(mint: &CashuMint) {
|
|
|
+async fn test_get_mint_info(mint: &Client) {
|
|
|
let _mint_info = mint.get_info().await.unwrap();
|
|
|
|
|
|
// println!("{:?}", mint_info);
|