]> Untitled Git - bdk-cli/commitdiff
Add ReplOpt and ReplSubCommand
authorSteve Myers <steve@notmandatory.org>
Wed, 3 Feb 2021 06:59:42 +0000 (22:59 -0800)
committerSteve Myers <steve@notmandatory.org>
Wed, 3 Feb 2021 07:10:41 +0000 (23:10 -0800)
src/bdk_cli.rs

index 8dfc632d3d68c57cf7dd5d08849d1b62d9ea2eb1..439c42066700021807a303830753cf0d1bd080b2 100644 (file)
@@ -33,24 +33,43 @@ use rustyline::error::ReadlineError;
 use rustyline::Editor;
 use structopt::StructOpt;
 
-use bdk::bitcoin;
 #[cfg(feature = "esplora")]
 use bdk::blockchain::esplora::EsploraBlockchainConfig;
 use bdk::blockchain::{
     AnyBlockchain, AnyBlockchainConfig, ConfigurableBlockchain, ElectrumBlockchainConfig,
 };
+use bdk::database::BatchDatabase;
 use bdk::sled;
+use bdk::sled::Tree;
 use bdk::Wallet;
-use bdk_cli::{self, WalletOpt, WalletSubCommand};
+use bdk::{bitcoin, Error};
+use bdk_cli::WalletSubCommand;
+use bdk_cli::{
+    CliOpts, CliSubCommand, KeySubCommand, OfflineWalletSubCommand, OnlineWalletSubCommand,
+    WalletOpts,
+};
+use regex::Regex;
 
 #[derive(Debug, StructOpt, Clone, PartialEq)]
-#[structopt(name = "BDK CLI", setting = AppSettings::NoBinaryName,
+#[structopt(name = "", setting = AppSettings::NoBinaryName,
 version = option_env ! ("CARGO_PKG_VERSION").unwrap_or("unknown"),
 author = option_env ! ("CARGO_PKG_AUTHORS").unwrap_or(""))]
 struct ReplOpt {
     /// Wallet sub-command
     #[structopt(subcommand)]
-    pub subcommand: WalletSubCommand,
+    pub subcommand: ReplSubCommand,
+}
+
+#[derive(Debug, StructOpt, Clone, PartialEq)]
+pub enum ReplSubCommand {
+    #[structopt(flatten)]
+    OnlineWalletSubCommand(OnlineWalletSubCommand),
+    #[structopt(flatten)]
+    OfflineWalletSubCommand(OfflineWalletSubCommand),
+    #[structopt(flatten)]
+    KeySubCommand(KeySubCommand),
+    /// Exit REPL loop
+    Exit,
 }
 
 fn prepare_home_dir() -> PathBuf {