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
//! `coins-core` is an abstract description of UTXO transactions. It provides a collection of
//! traits that provide consistent interfaces to UTXO transaction construction. Coins's traits
//! ensure that types are consistent across all steps in the tx construction process, and allow
//! for code reuse when building transactions on multiple chains (e.g. Bitcoin Mainnet and Bitcoin
//! Testnet).
//!
//! Many concepts familiar to UTXO chain developers have been genericized. Transactions are
//! modeled as a collection of `Input`s and `Output`s. Rather than addresses or scripts, the
//! `Output` trait has an associated `RecipientIdentifier`. Similarly, rather than an outpoint,
//! the `Input` trait has an associated `TXOIdentfier`.
//!
//! Support for other chains may be added by implementing these traits. We have provided an
//! implementation suitable for Bitcoin chains (mainnet, testnet, and signet) in the
//! `bitcoins` crate.
#![forbid(unsafe_code)]
#![warn(missing_docs)]
#![warn(unused_extern_crates)]
#[cfg_attr(tarpaulin, skip)]
#[macro_use]
pub mod macros;
pub mod builder;
pub mod enc;
pub mod hashes;
pub mod nets;
pub mod prelude;
pub mod ser;
pub mod types;
pub use prelude::*;