monero: scan all tx pub keys (not additional) for every tx

wallet2's behavior is explained more fully here:
https://github.com/UkoeHB/monero/issues/27
This commit is contained in:
j-berman
2024-01-09 07:27:44 -08:00
committed by Luke Parker
parent 0880453f82
commit 34b93b882c
2 changed files with 12 additions and 6 deletions

View File

@@ -350,7 +350,7 @@ impl Scanner {
return Timelocked(tx.prefix.timelock, vec![]);
};
let Some((tx_key, additional)) = extra.keys() else {
let Some((tx_keys, additional)) = extra.keys() else {
return Timelocked(tx.prefix.timelock, vec![]);
};
@@ -371,7 +371,9 @@ impl Scanner {
}
let output_key = output_key.unwrap();
for key in [Some(Some(&tx_key)), additional.as_ref().map(|additional| additional.get(o))] {
let additional = additional.as_ref().map(|additional| additional.get(o));
for key in tx_keys.iter().map(|key| Some(Some(key))).chain(core::iter::once(additional)) {
let key = match key {
Some(Some(key)) => key,
Some(None) => {