]> Untitled Git - bdk-cli/commitdiff
[repl] Expose list_transactions() in the REPL
authorAlekos Filini <alekos.filini@gmail.com>
Tue, 21 Jul 2020 16:37:15 +0000 (18:37 +0200)
committerAlekos Filini <alekos.filini@gmail.com>
Tue, 21 Jul 2020 16:37:15 +0000 (18:37 +0200)
src/cli.rs

index 8ea39ed84aa31109ff16c024b85d6237f4e0682c..788aa69d911eb36d33b3bc90cfe844ff3816b8ac 100644 (file)
@@ -57,6 +57,9 @@ pub fn make_cli_subcommands<'a, 'b>() -> App<'a, 'b> {
         .subcommand(
             SubCommand::with_name("list_unspent").about("Lists the available spendable UTXOs"),
         )
+        .subcommand(
+            SubCommand::with_name("list_transactions").about("Lists all the incoming and outgoing transactions of the wallet"),
+        )
         .subcommand(
             SubCommand::with_name("get_balance").about("Returns the current wallet balance"),
         )
@@ -296,6 +299,23 @@ where
             res += &format!("{} value {} SAT\n", utxo.outpoint, utxo.txout.value);
         }
 
+        Ok(Some(res))
+    } else if let Some(_sub_matches) = matches.subcommand_matches("list_transactions") {
+        let mut res = String::new();
+        for crate::types::TransactionDetails {
+            txid,
+            sent,
+            received,
+            height,
+            ..
+        } in wallet.list_transactions(false)?
+        {
+            res += &format!(
+                "{} - sent {}, received {} - height: {:?}\n",
+                txid, sent, received, height
+            );
+        }
+
         Ok(Some(res))
     } else if let Some(_sub_matches) = matches.subcommand_matches("get_balance") {
         Ok(Some(format!("{} SAT", wallet.get_balance()?)))