Write more docs, make TxBuilder::with_recipients take Scripts

This commit is contained in:
Alekos Filini
2020-09-04 15:45:11 +02:00
parent 7065c1fed6
commit eee75219e0
13 changed files with 419 additions and 100 deletions

View File

@@ -57,7 +57,7 @@ impl AddressValidator for DummyValidator {
}
}
fn main() -> Result<(), magical_bitcoin_wallet::error::Error> {
fn main() -> Result<(), magical_bitcoin_wallet::Error> {
let descriptor = "sh(and_v(v:pk(tpubDDpWvmUrPZrhSPmUzCMBHffvC3HyMAPnWDSAQNBTnj1iZeJa7BZQEttFiP4DS4GCcXQHezdXhn86Hj6LHX5EDstXPWrMaSneRWM8yUf6NFd/*),after(630000)))";
let mut wallet: OfflineWallet<_> =
Wallet::new_offline(descriptor, None, Network::Regtest, MemoryDatabase::new())?;

View File

@@ -40,8 +40,7 @@ use miniscript::policy::Concrete;
use miniscript::Descriptor;
use magical_bitcoin_wallet::database::memory::MemoryDatabase;
use magical_bitcoin_wallet::types::ScriptType;
use magical_bitcoin_wallet::{OfflineWallet, Wallet};
use magical_bitcoin_wallet::{OfflineWallet, Wallet, ScriptType};
fn main() {
env_logger::init_from_env(

View File

@@ -37,10 +37,10 @@ use log::{debug, error, info, trace, LevelFilter};
use bitcoin::Network;
use magical_bitcoin_wallet::bitcoin;
use magical_bitcoin_wallet::blockchain::ElectrumBlockchain;
use magical_bitcoin_wallet::blockchain::compact_filters::*;
use magical_bitcoin_wallet::cli;
use magical_bitcoin_wallet::sled;
use magical_bitcoin_wallet::{Client, Wallet};
use magical_bitcoin_wallet::Wallet;
fn prepare_home_dir() -> PathBuf {
let mut dir = PathBuf::new();
@@ -88,19 +88,17 @@ fn main() {
.unwrap();
debug!("database opened successfully");
let client = Client::new(
matches.value_of("server").unwrap(),
matches.value_of("proxy"),
)
.unwrap();
let wallet = Wallet::new(
descriptor,
change_descriptor,
network,
tree,
ElectrumBlockchain::from(client),
)
.unwrap();
let num_threads = 1;
let mempool = Arc::new(Mempool::default());
let peers = (0..num_threads)
.map(|_| Peer::connect("192.168.1.136:8333", Arc::clone(&mempool), Network::Bitcoin))
.collect::<Result<_, _>>()
.unwrap();
let blockchain =
CompactFiltersBlockchain::new(peers, "./wallet-filters", Some(500_000)).unwrap();
let wallet = Wallet::new(descriptor, change_descriptor, network, tree, blockchain).unwrap();
let wallet = Arc::new(wallet);
if let Some(_sub_matches) = matches.subcommand_matches("repl") {