Make diversifier functions return option
This commit is contained in:
parent
0da9aac63e
commit
87c9994cb2
|
@ -65,13 +65,17 @@ SaplingSpendingKey SaplingSpendingKey::random() {
|
|||
return SaplingSpendingKey(random_uint256());
|
||||
}
|
||||
|
||||
SaplingPaymentAddress SaplingIncomingViewingKey::address(diversifier_t d) const {
|
||||
boost::optional<SaplingPaymentAddress> SaplingIncomingViewingKey::address(diversifier_t d) const {
|
||||
uint256 pk_d;
|
||||
librustzcash_ivk_to_pkd(this->begin(), d.data(), pk_d.begin());
|
||||
return SaplingPaymentAddress(d, pk_d);
|
||||
if (librustzcash_check_diversifier(d.data())) {
|
||||
librustzcash_ivk_to_pkd(this->begin(), d.data(), pk_d.begin());
|
||||
return SaplingPaymentAddress(d, pk_d);
|
||||
} else {
|
||||
return boost::none;
|
||||
}
|
||||
}
|
||||
|
||||
SaplingPaymentAddress SaplingSpendingKey::default_address() const {
|
||||
boost::optional<SaplingPaymentAddress> SaplingSpendingKey::default_address() const {
|
||||
return full_viewing_key().in_viewing_key().address(default_diversifier(*this));
|
||||
}
|
||||
|
||||
|
|
|
@ -131,7 +131,7 @@ public:
|
|||
SaplingIncomingViewingKey(uint256 ivk) : uint256(ivk) { }
|
||||
|
||||
// Can pass in diversifier for Sapling addr
|
||||
SaplingPaymentAddress address(diversifier_t d) const;
|
||||
boost::optional<SaplingPaymentAddress> address(diversifier_t d) const;
|
||||
};
|
||||
|
||||
class SaplingFullViewingKey {
|
||||
|
@ -206,7 +206,7 @@ public:
|
|||
SaplingFullViewingKey full_viewing_key() const;
|
||||
|
||||
// Can derive Sapling addr from default diversifier
|
||||
SaplingPaymentAddress default_address() const;
|
||||
boost::optional<SaplingPaymentAddress> default_address() const;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue