fn from(spending_key: SpendingKey) -> ReceivingKey {
        let derived_bytes = prf_addr(spending_key.bytes, 0);

        ReceivingKey::from(derived_bytes)
    }
/// For this invocation of SHA256Compress as PRF^addr, t=0, which
/// is populated by default in an empty block of all zeros to
/// start.
///
/// https://zips.z.cash/protocol/protocol.pdf#sproutkeycomponents
/// https://zips.z.cash/protocol/protocol.pdf#concreteprfs
For this invocation of SHA256Compress as PRF^addr, t=0, which
is populated by default in an empty block of all zeros to
start.


For this invocation of SHA256Compress as PRF^addr t = 0 which is populated by default in an empty block of all zeros to start .
fn from(spending_key: SpendingKey) -> ReceivingKey {
        let derived_bytes = prf_addr(spending_key.bytes, 0);
        ReceivingKey::from(derived_bytes)
    }
fn from ( spending_key : SpendingKey ) -> ReceivingKey { let derived_bytes = prf_addr ( spending_key . bytes , 0 ) ; ReceivingKey :: from ( derived_bytes ) }
For this invocation of SHA256Compress as PRF^addr, t=0, which
is populated by default in an empty block of all zeros to
start.
For this invocation of SHA256Compress as PRF^addr t = 0 which is populated by default in an empty block of all zeros to start .
spending_key
SpendingKey