Encode expanded spending keys

This commit is contained in:
Aditya Kulkarni 2019-09-24 11:14:13 -07:00
parent 37e47981b1
commit 0743dadcd0

View File

@ -13,6 +13,7 @@ use zcash_primitives::{
};
use zcash_primitives::{
legacy::TransparentAddress,
keys::ExpandedSpendingKey,
zip32::{ExtendedFullViewingKey, ExtendedSpendingKey},
JUBJUB,
};
@ -38,6 +39,25 @@ where
}
}
/// Writes an [`ExpandedSpendingKey`] as a Bech32-encoded string.
///
/// # Examples
///
/// ```
/// use zcash_client_backend::{
/// constants::testnet::{COIN_TYPE, HRP_SAPLING_EXPANDED_SPENDING_KEY},
/// encoding::encode_expanded_spending_key,
/// keys::spending_key,
/// };
///
/// let expsk = spending_key(&[0; 32][..], COIN_TYPE, 0).expsk;
/// let encoded = encode_expanded_spending_key(HRP_SAPLING_EXPANDED_SPENDING_KEY, &expsk);
/// ```
pub fn encode_expanded_spending_key(htp: &str, sk: &ExpandedSpendingKey<Bls12>) -> String {
bech32_encode(htp, |w| sk.write(w))
}
/// Writes an [`ExtendedSpendingKey`] as a Bech32-encoded string.
///
/// # Examples