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
//! HD wallet(BIP-32) related key derivation utilities. //! //! This crate is build upon secp256k1 crate, only provide BIP-32 related features, for signatures //! see the original [secp256k1 documentation](https://docs.rs/secp256k1). //! //! * [`ChainPath`] and [`KeyChain`] used to derivation child keys from string represented path. //! * [`HDKey`] return value of `key_chain.fetch_key`, `HDKey` represent a derivated key which //! include a `ExtendedPrivKey` and other derivation info. //! * [`ExtendedPrivKey`] and [`ExtendedPubKey`] as BIP-32 described it is basic struct in `hdwallet`. //! * [`KeyIndex`] is a simple enum indicate the index and type of child key(Normal key or Hardened //! key). //! * [`Error`] errors. #[macro_use] extern crate lazy_static; mod chain_path; mod error; mod key; mod key_chain; mod key_index; mod serialize; pub use crate::chain_path::{ChainPath, Error as ChainPathError, SubPath}; pub use crate::error::Error; pub use crate::key::{ ChildKey, ChildPrivKey, ChildPubKey, ExtendedKey, ExtendedPrivKey, ExtendedPubKey, KeySeed, }; pub use crate::key_chain::{DefaultKeyChain, HDKey, KeyChain}; pub use crate::key_index::KeyIndex; pub use crate::serialize::Serialize; pub use secp256k1;