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
// LNP/BP lLibraries implementing LNPBP specifications & standards
// Written in 2019-2022 by
// Dr. Maxim Orlovsky <orlovsky@pandoracore.com>
//
// To the extent possible under law, the author(s) have dedicated all
// copyright and related and neighboring rights to this software to
// the public domain worldwide. This software is distributed without
// any warranty.
//
// You should have received a copy of the MIT License
// along with this software.
// If not, see <https://opensource.org/licenses/MIT>.
//! Umbrella crate for a set of libraries implementing LNP/BP specifications
//! <https://github.com/LNP-BP/LNPBPs> not fitting into a scope of other existing
//! LNP/BP core libraries (client-side-validation, BP, LNP, RGB, invoicing). It
//! can be used to simplify development of layer 2 & 3 solutions on top of
//! Lightning Network and Bitcoin blockchain.
//!
//! Currently, the repository contains the following crates:
//! - [`lnpbp_bech32`]: library implementing LNPBP-14 standard of Bech32
//! encoding for client-side-validated data.
//! - [`lnpbp_chain`]: library providing chain parameters for bitcoin-related
//! blockchains;
//! - [`lnpbp_elgamal`]: library implementing LNPBP-31 standard for ElGamal
//! encryption using Secp256k1 curve;
//!
//! Other libraries, implementing LNP/BP specifications, not included in this
//! crate:
//! - Client-side-validation foundation libraries ([`client_side_validation`](https://github.com/LNP-BP/client_side_validation))
//! - Bitcoin protocol core library ([`bp-core`](https://github.com/LNP-BP/bp-core))
//! - Lightning network protocol core library ([`lnp-core`](https://github.com/LNP-BP/lnp-core))
//! - RGB core library implementing confidential & scalable smart contracts for
//! Bitcoin & Lightning ([`rgb-core`](https://github.com/rgb-org/rgb-core))
//! - [Universal invoicing library](https://github.com/LNP-BP/invoices)
// Coding conventions
#![recursion_limit = "256"]
#![deny(dead_code, missing_docs, warnings)]
pub extern crate lnpbp_bech32 as bech32;
pub extern crate lnpbp_chain as chain;
#[cfg(feature = "elgamal")]
pub extern crate lnpbp_elgamal as elgamal;
#[cfg(feature = "identity")]
pub extern crate lnpbp_identity as id;