} => {
let database = open_database(&wallet_opts);
let wallet = new_offline_wallet(network, &wallet_opts, database)?;
- let result = bdk_cli::handle_offline_wallet_subcommand(&wallet, offline_subcommand)?;
+ let result = bdk_cli::handle_offline_wallet_subcommand(
+ &wallet,
+ &wallet_opts,
+ offline_subcommand,
+ )?;
serde_json::to_string_pretty(&result)?
}
CliSubCommand::Key {
ReplSubCommand::OfflineWalletSubCommand(offline_subcommand) => {
bdk_cli::handle_offline_wallet_subcommand(
&online_wallet,
+ &wallet_opts,
offline_subcommand,
)
}
/// Offline wallet sub-commands are described in [`OfflineWalletSubCommand`].
pub fn handle_offline_wallet_subcommand<T, D>(
wallet: &Wallet<T, D>,
+ wallet_opts: &WalletOpts,
offline_subcommand: OfflineWalletSubCommand,
) -> Result<serde_json::Value, Error>
where
}
let (psbt, details) = tx_builder.finish()?;
- Ok(json!({"psbt": base64::encode(&serialize(&psbt)),"details": details,}))
+ if wallet_opts.verbose {
+ Ok(
+ json!({"psbt": base64::encode(&serialize(&psbt)),"details": details, "serialized_psbt": psbt}),
+ )
+ } else {
+ Ok(json!({"psbt": base64::encode(&serialize(&psbt)),"details": details}))
+ }
}
BumpFee {
txid,
..Default::default()
};
let finalized = wallet.sign(&mut psbt, signopt)?;
- Ok(json!({"psbt": base64::encode(&serialize(&psbt)),"is_finalized": finalized,}))
+ if wallet_opts.verbose {
+ Ok(
+ json!({"psbt": base64::encode(&serialize(&psbt)),"is_finalized": finalized, "serialized_psbt": psbt}),
+ )
+ } else {
+ Ok(json!({"psbt": base64::encode(&serialize(&psbt)),"is_finalized": finalized,}))
+ }
}
ExtractPsbt { psbt } => {
let psbt = base64::decode(&psbt).unwrap();
..Default::default()
};
let finalized = wallet.finalize_psbt(&mut psbt, signopt)?;
- Ok(json!({ "psbt": base64::encode(&serialize(&psbt)),"is_finalized": finalized,}))
+ if wallet_opts.verbose {
+ Ok(
+ json!({ "psbt": base64::encode(&serialize(&psbt)),"is_finalized": finalized, "serialized_psbt": psbt}),
+ )
+ } else {
+ Ok(json!({ "psbt": base64::encode(&serialize(&psbt)),"is_finalized": finalized,}))
+ }
}
CombinePsbt { psbt } => {
let mut psbts = psbt