[[package]]
name = "libc"
-version = "0.2.183"
+version = "0.2.186"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d"
+checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
+ [[package]]
+ name = "libm"
+ version = "0.2.16"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
+
[[package]]
name = "libredox"
version = "0.1.18"
"portable-atomic",
]
+ [[package]]
+ name = "possiblyrandom"
+ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "9c564dbf654befd49035528299f1208a40508f6e07efb11c163444e304e4484f"
+ dependencies = [
+ "getrandom 0.2.17",
+ ]
+
[[package]]
name = "potential_utf"
-version = "0.1.4"
+version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77"
+checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564"
dependencies = [
"zerovec",
]
//! All subcommands are defined in the below enums.
#![allow(clippy::large_enum_variant)]
+#[cfg(feature = "bip322")]
+use crate::handlers::offline::{SignMessageCommand, VerifyMessageCommand};
+use crate::handlers::{
+ config::{ListWalletsCommand, SaveConfigCommand},
+ descriptor::DescriptorCommand,
+ key::{DeriveKeyCommand, GenerateKeyCommand, RestoreKeyCommand},
+ offline::{
+ BalanceCommand, BumpFeeCommand, CombinePsbtCommand, CreateTxCommand, ExtractPsbtCommand,
+ FinalizePsbtCommand, NewAddressCommand, PoliciesCommand, PublicDescriptorCommand,
+ SignCommand, TransactionsCommand, UnspentCommand, UnusedAddressCommand,
+ },
+};
+
#[cfg(feature = "silent-payments")]
-use {crate::utils::parse_sp_code_value_pairs, bdk_sp::encoding::SilentPaymentCode};
+use crate::handlers::{descriptor::SilentPaymentCodeCommand, offline::CreateSpTxCommand};
-use bdk_wallet::bitcoin::{
- Address, Network, OutPoint, ScriptBuf,
- bip32::{DerivationPath, Xpriv},
+#[cfg(any(
+ feature = "electrum",
+ feature = "esplora",
+ feature = "rpc",
+ feature = "cbf"
+))]
+use crate::{
+ client::ClientType,
+ handlers::online::{
+ BroadcastCommand, FullScanCommand, PayjoinHistoryCommand, ReceivePayjoinCommand,
+ ResumePayjoinCommand, SendPayjoinCommand, SyncCommand,
+ },
};
-use clap::{Args, Parser, Subcommand, ValueEnum, value_parser};
+
+#[cfg(feature = "compiler")]
+use crate::handlers::descriptor::CompileCommand;
+#[cfg(any(feature = "sqlite", feature = "redb"))]
+use crate::persister::DatabaseType;
+
+use bdk_wallet::bitcoin::Network;
+use clap::{Args, Parser, Subcommand, value_parser};
use clap_complete::Shell;
+ #[cfg(feature = "dns_payment")]
+ use crate::utils::parse_dns_recipient;
#[cfg(any(feature = "electrum", feature = "esplora", feature = "rpc"))]
use crate::utils::parse_proxy_auth;
-use crate::utils::{parse_address, parse_outpoint, parse_recipient};
/// The BDK Command Line Wallet App
///
mod persister;
mod utils;
+ #[cfg(feature = "dns_payment")]
+ mod dns_payment_instructions;
+
use bdk_wallet::bitcoin::Network;
-use log::{debug, error, warn};
+use log::{debug, warn};
-use crate::commands::CliOpts;
-use crate::handlers::*;
+use crate::commands::{CliOpts, CliSubCommand, WalletSubCommand};
+use crate::error::BDKCliError as Error;
+use crate::handlers::{AppCommand, AppContext};
+use crate::utils::output::FormatOutput;
+use crate::utils::runtime::WalletRuntime;
+use crate::utils::{command_requires_db, prepare_home_dir};
use clap::Parser;
#[tokio::main]