1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#![cfg_attr(not(test), deny(clippy::unwrap_used))]
#![cfg_attr(docsrs, feature(doc_auto_cfg))]

//! # Wollet
//!
//! An elements and liquid Watch-Only Wallet defined by a
//! [CT descriptor](https://github.com/ElementsProject/ELIPs/blob/main/elip-0150.mediawiki).
//!
//! For an entry point see [`Wollet::new()`]

mod clients;
mod config;
mod descriptor;
mod domain;
mod error;
mod model;
mod persister;
mod pset_create;
mod registry;
mod store;
mod tx_builder;
mod update;
mod util;
mod wollet;

pub use crate::clients::BlockchainBackend;
pub use crate::config::ElementsNetwork;
pub use crate::descriptor::{Chain, WolletDescriptor};
pub use crate::error::Error;
pub use crate::model::{
    AddressResult, IssuanceDetails, Recipient, UnvalidatedRecipient, WalletTx, WalletTxOut,
};
pub use crate::persister::{FsPersister, NoPersist, PersistError, Persister};
pub use crate::registry::{asset_ids, issuance_ids, Contract, Entity};
pub use crate::tx_builder::TxBuilder;
pub use crate::update::Update;
pub use crate::util::EC;
pub use crate::wollet::Wollet;

#[cfg(feature = "electrum")]
pub use crate::wollet::full_scan_with_electrum_client;
#[cfg(feature = "electrum")]
pub use clients::electrum_client::{ElectrumClient, ElectrumUrl};

#[cfg(feature = "esplora")]
pub use clients::esplora_client::EsploraClient;

#[cfg(feature = "esplora_wasm")]
pub use clients::esplora_wasm_client::EsploraWasmClient;

#[cfg(feature = "esplora_wasm")]
pub use clients::esplora_wasm_client::async_sleep;

pub use elements_miniscript;
pub use elements_miniscript::elements;
pub use elements_miniscript::elements::bitcoin::{self, hashes, secp256k1};