Jack Grigg
6 years ago
7 changed files with 42 additions and 7 deletions
@ -0,0 +1,4 @@
|
||||
//! Zcash global and per-network constants.
|
||||
|
||||
pub mod mainnet; |
||||
pub mod testnet; |
@ -0,0 +1,4 @@
|
||||
/// The mainnet coin type for ZEC, as defined by [SLIP 44].
|
||||
///
|
||||
/// [SLIP 44]: https://github.com/satoshilabs/slips/blob/master/slip-0044.md
|
||||
pub const COIN_TYPE: u32 = 133; |
@ -0,0 +1,4 @@
|
||||
/// The testnet coin type for ZEC, as defined by [SLIP 44].
|
||||
///
|
||||
/// [SLIP 44]: https://github.com/satoshilabs/slips/blob/master/slip-0044.md
|
||||
pub const COIN_TYPE: u32 = 1; |
@ -0,0 +1,24 @@
|
||||
//! Helper functions for managing light client key material.
|
||||
|
||||
use zcash_primitives::zip32::{ChildIndex, ExtendedSpendingKey}; |
||||
|
||||
/// Derives the ZIP 32 [`ExtendedSpendingKey`] for a given coin type and account from the
|
||||
/// given seed.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```
|
||||
/// use zcash_client_backend::{constants::testnet::COIN_TYPE, keys::spending_key};
|
||||
///
|
||||
/// let extsk = spending_key(&[0; 32][..], COIN_TYPE, 0);
|
||||
/// ```
|
||||
pub fn spending_key(seed: &[u8], coin_type: u32, account: u32) -> ExtendedSpendingKey { |
||||
ExtendedSpendingKey::from_path( |
||||
&ExtendedSpendingKey::master(&seed), |
||||
&[ |
||||
ChildIndex::Hardened(32), |
||||
ChildIndex::Hardened(coin_type), |
||||
ChildIndex::Hardened(account), |
||||
], |
||||
) |
||||
} |
Loading…
Reference in new issue