Compare base addresses due to wallet2 integrated address inconsistency

This commit is contained in:
tobtoht
2022-07-26 18:59:17 +02:00
parent bfd51f383e
commit cfd85fac8a
4 changed files with 10 additions and 3 deletions
+3 -2
View File
@@ -667,11 +667,12 @@ void MainWindow::onCreateTransactionSuccess(PendingTransaction *tx, const QVecto
tx->refresh();
QSet<QString> outputAddresses;
for (const auto &output : tx->transaction(0)->outputs()) {
outputAddresses.insert(output->address());
outputAddresses.insert(WalletManager::baseAddressFromIntegratedAddress(output->address(), constants::networkType));
}
QSet<QString> destAddresses;
for (const auto &addr : address) {
destAddresses.insert(addr);
// TODO: Monero core bug, integrated address is not added to dests for transactions spending ALL
destAddresses.insert(WalletManager::baseAddressFromIntegratedAddress(addr, constants::networkType));
}
if (!outputAddresses.contains(destAddresses)) {
err = QString("%1 %2").arg(err, "Constructed transaction doesn't appear to send to (all) specified destination address(es). Try creating the transaction again.");