Add subcommand to print internal bitcoin wallet descriptor

Example:

 cargo run --package swap --bin swap -- export-bitcoin-wallet

{"descriptor":"wpkh(xprv9s21ZrQH143K2q85eUf2ppCtti2Zar6aDCW5dCC5DG9VvutJ3cpe3Qf9wZpQeraNf9JEuGem1RyJZQMEWCN2DpWyL5WbsvmSW6wbL7Jq53H/84'/0'/0'/0/*)","blockheight":0,"label":"cli-bitcoin"}
This commit is contained in:
rishflab 2021-10-01 10:36:08 +10:00
parent 9ea73a8e66
commit e42812ba37
6 changed files with 74 additions and 0 deletions

View file

@ -239,6 +239,22 @@ where
tor_socks5_port,
},
},
RawCommand::ExportBitcoinWallet { bitcoin } => {
let (bitcoin_electrum_rpc_url, bitcoin_target_block) =
bitcoin.apply_defaults(is_testnet)?;
Arguments {
env_config: env_config_from(is_testnet),
debug,
json,
sled,
data_dir: data::data_dir_from(data, is_testnet)?,
cmd: Command::ExportBitcoinWallet {
bitcoin_electrum_rpc_url,
bitcoin_target_block,
},
}
}
};
Ok(ParseResult::Arguments(arguments))
@ -289,6 +305,10 @@ pub enum Command {
namespace: XmrBtcNamespace,
tor_socks5_port: u16,
},
ExportBitcoinWallet {
bitcoin_electrum_rpc_url: Url,
bitcoin_target_block: usize,
},
}
#[derive(structopt::StructOpt, Debug)]
@ -427,6 +447,11 @@ enum RawCommand {
#[structopt(flatten)]
tor: Tor,
},
/// Print the internal bitcoin wallet descriptor
ExportBitcoinWallet {
#[structopt(flatten)]
bitcoin: Bitcoin,
},
}
#[derive(structopt::StructOpt, Debug)]