fix crash on single unspent note

This commit is contained in:
Cryptoforge 2020-09-18 12:35:13 -07:00
parent ea64467363
commit ae09cb3707

View File

@ -1363,21 +1363,26 @@ impl LightWallet {
for spend in &tx.shielded_spends {
let txid = nfs
.iter()
.find(|(nf, _, _)| &nf[..] == &spend.nullifier[..])
.unwrap()
.2;
let spent_note = txs
.get_mut(&txid)
.unwrap()
.notes
.iter_mut()
.find(|nd| &nd.nullifier[..] == &spend.nullifier[..])
.unwrap();
.find(|(nf, _, _)| &nf[..] == &spend.nullifier[..]);
match txid {
Some(id) => {
let spent_note = txs
.get_mut(&id.2)
.unwrap()
.notes
.iter_mut()
.find(|nd| &nd.nullifier[..] == &spend.nullifier[..])
.unwrap();
zinputs.push(encode_payment_address(
self.config.hrp_sapling_address(),
&spent_note.extfvk.fvk.vk
.to_payment_address(spent_note.diversifier, &JUBJUB).unwrap()))
},
None => {}
};
zinputs.push(encode_payment_address(
self.config.hrp_sapling_address(),
&spent_note.extfvk.fvk.vk
.to_payment_address(spent_note.diversifier, &JUBJUB).unwrap()));
}