hdwallet/
lib.rs

1//! HD wallet(BIP-32) related key derivation utilities.
2//!
3//! This crate is build upon secp256k1 crate, only provide BIP-32 related features, for signatures
4//! see the [secp256k1 documentation](https://docs.rs/secp256k1).
5//!
6//! * [`ChainPath`] and [`KeyChain`] used to derive HD wallet keys.
7//! * [`Derivation`] contains key derivation info.
8//! * [`ExtendedPrivKey`] and [`ExtendedPubKey`] according to BIP-32 described represents a key
9//! that can derives child keys.
10//! * [`KeyIndex`] indicate index and type in a child key derivation (Normal key or Hardened key).
11//! * [`Error`] errors.
12//!
13//! `hdwallet` crate itself is a key derivation framework.
14//! Check `hdwallet-bitcoin` if you want to derive bitcoin keys, and you can find or submit other crypto
15//! currencies support on [hdwallet homepage](https://github.com/jjyr/hdwallet).
16//!
17
18#[macro_use]
19extern crate lazy_static;
20
21pub mod error;
22pub mod extended_key;
23pub mod key_chain;
24pub mod traits;
25
26pub use crate::extended_key::{key_index::KeyIndex, ExtendedPrivKey, ExtendedPubKey, KeySeed};
27pub use crate::key_chain::{
28    chain_path::{ChainPath, Error as ChainPathError, SubPath},
29    DefaultKeyChain, Derivation, KeyChain,
30};
31
32// re-exports
33pub use rand_core;
34pub use ring;
35pub use secp256k1;