17 {
'Z',
'c',
'a',
's',
'h',
'S',
'a',
'p',
'l',
'i',
'n',
'g',
'F',
'V',
'F',
'P'};
67 if (sk.full_viewing_key().is_valid()) {
86 assert(addrOpt != nullopt);
87 return addrOpt.value();
93 return zaddr.which() != 0;
const unsigned char ZCASH_SAPLING_FVFP_PERSONALIZATION[crypto_generichash_blake2b_PERSONALBYTES]
bool IsValidPaymentAddress(const libzcash::PaymentAddress &zaddr)
Check whether a PaymentAddress is not an InvalidEncoding.
A writer stream (for serialization) that computes a 256-bit BLAKE2b hash.
const_iterator end() const
const_iterator begin() const
SaplingFullViewingKey full_viewing_key() const
SaplingIncomingViewingKey in_viewing_key() const
uint256 GetFingerprint() const
Get the fingerprint of this full viewing key (as defined in ZIP 32).
Optional< SaplingPaymentAddress > address(diversifier_t d) const
uint256 GetHash() const
Get the 256-bit SHA256d hash of this payment address.
static SaplingSpendingKey random()
SaplingPaymentAddress default_address() const
SaplingFullViewingKey full_viewing_key() const
SaplingExpandedSpendingKey expanded_spending_key() const
uint256 Hash(const T1 pbegin, const T1 pend)
Compute the 256-bit hash of an object.
bool librustzcash_check_diversifier(const unsigned char *diversifier)
void librustzcash_crh_ivk(const unsigned char *ak, const unsigned char *nk, unsigned char *result)
void librustzcash_ask_to_ak(const unsigned char *ask, unsigned char *result)
void librustzcash_nsk_to_nk(const unsigned char *nsk, unsigned char *result)
bool librustzcash_ivk_to_pkd(const unsigned char *ivk, const unsigned char *diversifier, unsigned char *result)
boost::variant< InvalidEncoding, SaplingPaymentAddress > PaymentAddress
boost::optional< T > Optional
Substitute for C++17 std::optional.
uint256 PRF_ovk(const uint256 &sk)
uint256 PRF_ask(const uint256 &sk)
Sapling functions.
uint256 PRF_nsk(const uint256 &sk)
std::array< unsigned char, 11 > default_diversifier(const uint256 &sk)
std::array< unsigned char, ZC_DIVERSIFIER_SIZE > diversifier_t