coins_bip32/
prelude.rs

1pub use crate::derived::{DerivedKey, DerivedPubkey, DerivedXPriv, DerivedXPub};
2pub use crate::enc::{MainnetEncoder, TestnetEncoder, XKeyEncoder};
3pub use crate::path::KeyDerivation;
4pub use crate::primitives::*;
5pub use crate::xkeys::{Parent, XPriv, XPub};
6pub use crate::Bip32Error;
7
8#[cfg(any(feature = "mainnet", feature = "testnet"))]
9pub use crate::defaults::*;
10
11/// Re-exported signer traits
12pub use k256;
13pub use k256::{
14    ecdsa::{
15        signature::{DigestSigner as _, DigestVerifier as _},
16        RecoveryId, Signature, SigningKey, VerifyingKey,
17    },
18    elliptic_curve::sec1::ToEncodedPoint as _,
19};
20
21/// shortcut for easy usage
22pub fn fingerprint_of(k: &VerifyingKey) -> KeyFingerprint {
23    use coins_core::hashes::Digest;
24    let digest = coins_core::hashes::Hash160::digest(k.to_sec1_bytes());
25    let mut fingerprint = [0u8; 4];
26    fingerprint.copy_from_slice(&digest[..4]);
27    fingerprint.into()
28}