mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-08-14 09:25:37 -04:00
reset internal state and popup warning if main wallet swapped
This commit is contained in:
parent
ffdbe73693
commit
bee93bf45f
6 changed files with 43 additions and 1 deletions
|
@ -1372,6 +1372,9 @@ public class XmrWalletService {
|
|||
// reapply connection after wallet synced
|
||||
onConnectionChanged(xmrConnectionService.getConnection());
|
||||
|
||||
// reset internal state if main wallet was swapped
|
||||
resetIfWalletChanged();
|
||||
|
||||
// signal that main wallet is synced
|
||||
doneDownload();
|
||||
|
||||
|
@ -1409,6 +1412,23 @@ public class XmrWalletService {
|
|||
}
|
||||
}
|
||||
|
||||
private void resetIfWalletChanged() {
|
||||
getAddressEntryListAsImmutableList(); // TODO: using getter to create base address if necessary
|
||||
List<XmrAddressEntry> baseAddresses = getAddressEntries(XmrAddressEntry.Context.BASE_ADDRESS);
|
||||
if (baseAddresses.size() > 1 || (baseAddresses.size() == 1 && !baseAddresses.get(0).getAddressString().equals(wallet.getPrimaryAddress()))) {
|
||||
String warningMsg = "New Monero wallet detected. Resetting internal state.";
|
||||
if (!tradeManager.getOpenTrades().isEmpty()) warningMsg += "\n\nWARNING: Your open trades will settle to the payout address in the OLD wallet!"; // TODO: allow payout address to be updated in PaymentSentMessage, PaymentReceivedMessage, and DisputeOpenedMessage?
|
||||
HavenoUtils.havenoSetup.getTopErrorMsg().set(warningMsg);
|
||||
|
||||
// reset address entries
|
||||
xmrAddressEntryList.clear();
|
||||
getAddressEntryListAsImmutableList(); // recreate base address
|
||||
|
||||
// cancel offers
|
||||
tradeManager.getOpenOfferManager().removeAllOpenOffers(null);
|
||||
}
|
||||
}
|
||||
|
||||
private void syncWithProgress() {
|
||||
|
||||
// show sync progress
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue