#![doc = include_str!("../README.md")]
#![deny(missing_docs)]
pub mod config;
pub mod types;
pub mod wallet;
pub use lexe_common::default_lexe_data_dir;
#[cfg(feature = "blocking")]
pub mod blocking_wallet;
pub mod util {
pub use lexe_byte_array::ByteArray;
pub use lexe_hex::hex;
}
pub use anyhow;
pub use bip39;
pub use bitcoin;
pub use lightning;
pub use semver;
pub fn init_logger(default_level: &str) {
lexe_logger::init_with_default(default_level);
}
pub use serde_json;
pub use tracing;
mod unstable {
pub mod ffs;
pub mod payments_db;
pub mod provision;
pub mod wallet_db;
pub static SDK_USER_AGENT: std::sync::LazyLock<&'static str> =
std::sync::LazyLock::new(|| {
let releases = provision::releases_json();
let node_releases =
releases.0.get("node").expect("No 'node' in releases.json");
let (latest_node_version, _release) =
node_releases.last_key_value().expect("No node releases");
let sdk_with_version = lexe_api::user_agent_to_lexe!();
let user_agent =
format!("{sdk_with_version} node/{latest_node_version}");
Box::leak(user_agent.into_boxed_str())
});
}
#[cfg(feature = "unstable")]
pub use unstable::*;