Refactoring to avoid an unnecessary temporary.
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
This commit is contained in:
parent
32e1d2eeeb
commit
ac3e345689
|
@ -812,14 +812,12 @@ std::optional<MinerAddress> ExtractMinerAddress::operator()(const libzcash::Sapl
|
|||
std::optional<MinerAddress> ExtractMinerAddress::operator()(const libzcash::UnifiedAddress &addr) const {
|
||||
auto preferred = addr.GetPreferredRecipientAddress(consensus, height);
|
||||
if (preferred.has_value()) {
|
||||
std::optional<MinerAddress> ret;
|
||||
examine(preferred.value(), match {
|
||||
[&](const libzcash::OrchardRawAddress addr) { ret = MinerAddress(addr); },
|
||||
[&](const libzcash::SaplingPaymentAddress addr) { ret = MinerAddress(addr); },
|
||||
[&](const CKeyID keyID) { ret = operator()(keyID); },
|
||||
[&](const auto other) { ret = std::nullopt; }
|
||||
return examine(preferred.value(), match {
|
||||
[&](const libzcash::OrchardRawAddress addr) -> std::optional<MinerAddress> { return MinerAddress(addr); },
|
||||
[&](const libzcash::SaplingPaymentAddress addr) -> std::optional<MinerAddress> { return MinerAddress(addr); },
|
||||
[&](const CKeyID keyID) -> std::optional<MinerAddress> { return operator()(keyID); },
|
||||
[&](const auto other) -> std::optional<MinerAddress> { return std::nullopt; }
|
||||
});
|
||||
return ret;
|
||||
} else {
|
||||
return std::nullopt;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue