Merge pull request #7206 from HenrikJannsen/reset-AutoConfirmSettings-if-it-cointains-retired-address

Reset AutoConfirmSettings if it contains a retired address
This commit is contained in:
Alejandro García 2024-07-25 19:06:15 +00:00 committed by GitHub
commit c9447d0366
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 12 additions and 2 deletions

View file

@ -29,8 +29,10 @@ import java.util.Optional;
import java.util.concurrent.CopyOnWriteArrayList;
import lombok.Getter;
import lombok.ToString;
import lombok.extern.slf4j.Slf4j;
@ToString
@Slf4j
@Getter
public final class AutoConfirmSettings implements PersistablePayload {
@ -43,7 +45,7 @@ public final class AutoConfirmSettings implements PersistablePayload {
private long tradeLimit;
private List<String> serviceAddresses;
private String currencyCode;
private List<Listener> listeners = new CopyOnWriteArrayList<>();
private final List<Listener> listeners = new CopyOnWriteArrayList<>();
@SuppressWarnings("SameParameterValue")
static Optional<AutoConfirmSettings> getDefault(List<String> serviceAddresses, String currencyCode) {

View file

@ -372,12 +372,20 @@ public final class Preferences implements PersistedDataHost, BridgeAddressProvid
setUsePriceNotifications(true);
}
if (prefPayload.getAutoConfirmSettingsList().isEmpty()) {
// Remove retired XMR AutoConfirm address
var doApplyDefaults = prefPayload.getAutoConfirmSettingsList().stream()
.map(autoConfirmSettings -> autoConfirmSettings.getServiceAddresses().stream()
.anyMatch(address -> address.contains("monero3bec7m26vx6si6qo7q7imlaoz45ot5m2b5z2ppgoooo6jx2rqd")))
.findAny()
.orElse(true);
if (doApplyDefaults) {
prefPayload.getAutoConfirmSettingsList().clear();
List<String> defaultXmrTxProofServices = getDefaultXmrTxProofServices();
AutoConfirmSettings.getDefault(defaultXmrTxProofServices, "XMR")
.ifPresent(xmrAutoConfirmSettings -> {
getAutoConfirmSettingsList().add(xmrAutoConfirmSettings);
});
persistenceManager.forcePersistNow();
}
// We set the capability in CoreNetworkCapabilities if the program argument is set.