diff --git a/src/main/java/bisq/desktop/components/paymentmethods/CashAppForm.java b/src/main/java/bisq/desktop/components/paymentmethods/CashAppForm.java index 85428146bd..a234cc9b0a 100644 --- a/src/main/java/bisq/desktop/components/paymentmethods/CashAppForm.java +++ b/src/main/java/bisq/desktop/components/paymentmethods/CashAppForm.java @@ -40,6 +40,8 @@ import static bisq.desktop.util.FormBuilder.addLabelInputTextField; import static bisq.desktop.util.FormBuilder.addLabelTextField; import static bisq.desktop.util.FormBuilder.addLabelTextFieldWithCopyIcon; +// Removed due too high chargeback risk +@Deprecated public class CashAppForm extends PaymentMethodForm { private final CashAppAccount account; private final CashAppValidator validator; diff --git a/src/main/java/bisq/desktop/components/paymentmethods/VenmoForm.java b/src/main/java/bisq/desktop/components/paymentmethods/VenmoForm.java index 7c081cb75a..218db93abd 100644 --- a/src/main/java/bisq/desktop/components/paymentmethods/VenmoForm.java +++ b/src/main/java/bisq/desktop/components/paymentmethods/VenmoForm.java @@ -40,6 +40,8 @@ import static bisq.desktop.util.FormBuilder.addLabelInputTextField; import static bisq.desktop.util.FormBuilder.addLabelTextField; import static bisq.desktop.util.FormBuilder.addLabelTextFieldWithCopyIcon; +// Removed due too high chargeback risk +@Deprecated public class VenmoForm extends PaymentMethodForm { private final VenmoAccount account; private final VenmoValidator validator; diff --git a/src/main/java/bisq/desktop/main/account/content/fiataccounts/FiatAccountsDataModel.java b/src/main/java/bisq/desktop/main/account/content/fiataccounts/FiatAccountsDataModel.java index d4c6da00b8..1768c5fd09 100644 --- a/src/main/java/bisq/desktop/main/account/content/fiataccounts/FiatAccountsDataModel.java +++ b/src/main/java/bisq/desktop/main/account/content/fiataccounts/FiatAccountsDataModel.java @@ -44,7 +44,9 @@ import javafx.collections.ObservableList; import javafx.collections.SetChangeListener; import java.util.ArrayList; +import java.util.Comparator; import java.util.List; +import java.util.Set; import java.util.stream.Collectors; class FiatAccountsDataModel extends ActivatableDataModel { @@ -79,6 +81,22 @@ class FiatAccountsDataModel extends ActivatableDataModel { protected void activate() { user.getPaymentAccountsAsObservable().addListener(setChangeListener); fillAndSortPaymentAccounts(); + + final Set paymentAccounts = user.getPaymentAccounts(); + if (paymentAccounts != null) { + + paymentAccounts.stream() + .filter(paymentAccount -> paymentAccount.getPaymentMethod().getId().equals(PaymentMethod.VENMO_ID) || + paymentAccount.getPaymentMethod().getId().equals(PaymentMethod.CASH_APP_ID)) + .forEach(paymentAccount -> { + // We try to clean up Venmo and CashApp accounts to be able to remove the code for those in + // later releases without breaking the persisted protobuffer data base files. + if (onDeleteAccount(paymentAccount)) { + log.info("We deleted a blocked Venmo or CashApp account. paymentAccount name={}", + paymentAccount.getAccountName()); + } + }); + } } private void fillAndSortPaymentAccounts() { @@ -87,7 +105,7 @@ class FiatAccountsDataModel extends ActivatableDataModel { .filter(paymentAccount -> !paymentAccount.getPaymentMethod().getId().equals(PaymentMethod.BLOCK_CHAINS_ID)) .collect(Collectors.toList()); paymentAccounts.setAll(list); - paymentAccounts.sort((o1, o2) -> o1.getCreationDate().compareTo(o2.getCreationDate())); + paymentAccounts.sort(Comparator.comparing(PaymentAccount::getCreationDate)); } } @@ -129,14 +147,10 @@ class FiatAccountsDataModel extends ActivatableDataModel { public boolean onDeleteAccount(PaymentAccount paymentAccount) { boolean isPaymentAccountUsed = openOfferManager.getObservableList().stream() - .filter(o -> o.getOffer().getMakerPaymentAccountId().equals(paymentAccount.getId())) - .findAny() - .isPresent(); + .anyMatch(o -> o.getOffer().getMakerPaymentAccountId().equals(paymentAccount.getId())); isPaymentAccountUsed = isPaymentAccountUsed || tradeManager.getTradableList().stream() - .filter(t -> t.getOffer().getMakerPaymentAccountId().equals(paymentAccount.getId()) || - paymentAccount.getId().equals(t.getTakerPaymentAccountId())) - .findAny() - .isPresent(); + .anyMatch(t -> t.getOffer().getMakerPaymentAccountId().equals(paymentAccount.getId()) || + paymentAccount.getId().equals(t.getTakerPaymentAccountId())); if (!isPaymentAccountUsed) user.removePaymentAccount(paymentAccount); return isPaymentAccountUsed; diff --git a/src/main/java/bisq/desktop/main/account/content/fiataccounts/FiatAccountsView.java b/src/main/java/bisq/desktop/main/account/content/fiataccounts/FiatAccountsView.java index 907082f23b..0ba81a7201 100644 --- a/src/main/java/bisq/desktop/main/account/content/fiataccounts/FiatAccountsView.java +++ b/src/main/java/bisq/desktop/main/account/content/fiataccounts/FiatAccountsView.java @@ -353,6 +353,8 @@ public class FiatAccountsView extends ActivatableViewAndModel list = PaymentMethod.getAllValues().stream() .filter(paymentMethod -> !paymentMethod.getId().equals(PaymentMethod.BLOCK_CHAINS_ID)) + .filter(paymentMethod -> !paymentMethod.getId().equals(PaymentMethod.VENMO_ID)) + .filter(paymentMethod -> !paymentMethod.getId().equals(PaymentMethod.CASH_APP_ID)) .collect(Collectors.toList()); paymentMethodComboBox.setItems(FXCollections.observableArrayList(list)); paymentMethodComboBox.setConverter(new StringConverter() { diff --git a/src/main/java/bisq/desktop/util/validation/CashAppValidator.java b/src/main/java/bisq/desktop/util/validation/CashAppValidator.java index dcae801cdc..4a86193849 100644 --- a/src/main/java/bisq/desktop/util/validation/CashAppValidator.java +++ b/src/main/java/bisq/desktop/util/validation/CashAppValidator.java @@ -20,6 +20,8 @@ package bisq.desktop.util.validation; import bisq.core.util.validation.InputValidator; +// Removed due too high chargeback risk +@Deprecated public final class CashAppValidator extends InputValidator { @Override diff --git a/src/main/java/bisq/desktop/util/validation/VenmoValidator.java b/src/main/java/bisq/desktop/util/validation/VenmoValidator.java index 981b29c542..6906ffc025 100644 --- a/src/main/java/bisq/desktop/util/validation/VenmoValidator.java +++ b/src/main/java/bisq/desktop/util/validation/VenmoValidator.java @@ -19,6 +19,8 @@ package bisq.desktop.util.validation; import bisq.core.util.validation.InputValidator; +// Removed due too high chargeback risk +@Deprecated public final class VenmoValidator extends InputValidator { @Override