[go: up one dir, main page]

hal/
lib.rs

1extern crate bip39 as bip39lib;
2extern crate bitcoin;
3extern crate byteorder;
4extern crate chrono;
5extern crate hex;
6#[macro_use]
7extern crate lazy_static;
8extern crate lightning_invoice;
9extern crate miniscript as miniscriptlib;
10extern crate secp256k1;
11extern crate serde;
12
13pub mod address;
14pub mod bech32;
15pub mod bip32;
16pub mod bip39;
17pub mod block;
18pub mod key;
19pub mod lightning;
20pub mod message;
21pub mod miniscript;
22pub mod psbt;
23pub mod tx;
24mod serde_utils;
25pub use serde_utils::HexBytes;
26
27use bitcoin::Network;
28
29lazy_static! {
30	/// A global secp256k1 context.
31	pub static ref SECP: secp256k1::Secp256k1<secp256k1::All> = secp256k1::Secp256k1::new();
32}
33
34
35/// Get JSON-able objects that describe the type.
36pub trait GetInfo<T: ::serde::Serialize> {
37	/// Get a description of this object given the network of interest.
38	fn get_info(&self, network: Network) -> T;
39}