diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/authorized_role/security_manager/SecurityManagerController.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/authorized_role/security_manager/SecurityManagerController.java index 114cd56ab0..4313a95d70 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/authorized_role/security_manager/SecurityManagerController.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/authorized_role/security_manager/SecurityManagerController.java @@ -25,8 +25,6 @@ import bisq.bonded_roles.security_manager.alert.AuthorizedAlertData; import bisq.bonded_roles.security_manager.difficulty_adjustment.AuthorizedDifficultyAdjustmentData; import bisq.bonded_roles.security_manager.difficulty_adjustment.DifficultyAdjustmentService; -import bisq.bonded_roles.security_manager.min_reputation_score.AuthorizedMinRequiredReputationScoreData; -import bisq.bonded_roles.security_manager.min_reputation_score.MinRequiredReputationScoreService; import bisq.common.observable.Pin; import bisq.common.util.StringUtils; import bisq.desktop.ServiceProvider; @@ -42,7 +40,6 @@ import bisq.user.identity.UserIdentityService; import bisq.user.profile.UserProfile; import bisq.user.profile.UserProfileService; -import bisq.user.reputation.ReputationScore; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.fxmisc.easybind.EasyBind; @@ -61,11 +58,9 @@ public class SecurityManagerController implements Controller { private final UserProfileService userProfileService; private final AuthorizedBondedRolesService authorizedBondedRolesService; private final DifficultyAdjustmentService difficultyAdjustmentService; - private final MinRequiredReputationScoreService minRequiredReputationScoreService; - private Pin userIdentityPin, alertsPin, bondedRoleSetPin, difficultyAdjustmentListItemsPin, - minRequiredReputationScoreListItemsPin; + private Pin userIdentityPin, alertsPin, bondedRoleSetPin, difficultyAdjustmentListItemsPin; private Subscription messagePin, requireVersionForTradingPin, minVersionPin, selectedBondedRolePin, - difficultyAdjustmentPin, minRequiredReputationScorePin; + difficultyAdjustmentPin; public SecurityManagerController(ServiceProvider serviceProvider) { securityManagerService = serviceProvider.getSupportService().getSecurityManagerService(); @@ -73,7 +68,6 @@ public SecurityManagerController(ServiceProvider serviceProvider) { userProfileService = serviceProvider.getUserService().getUserProfileService(); alertService = serviceProvider.getBondedRolesService().getAlertService(); difficultyAdjustmentService = serviceProvider.getBondedRolesService().getDifficultyAdjustmentService(); - minRequiredReputationScoreService = serviceProvider.getBondedRolesService().getMinRequiredReputationScoreService(); authorizedBondedRolesService = serviceProvider.getBondedRolesService().getAuthorizedBondedRolesService(); RoleInfo roleInfo = new RoleInfo(serviceProvider); model = new SecurityManagerModel(); @@ -107,16 +101,6 @@ public void onActivate() { difficultyAdjustmentPin = EasyBind.subscribe(model.getDifficultyAdjustmentFactor(), difficultyAdjustmentFactor -> model.getDifficultyAdjustmentFactorButtonDisabled().set(difficultyAdjustmentFactor == null || !isValidDifficultyAdjustmentFactor(difficultyAdjustmentFactor.doubleValue()))); - - minRequiredReputationScoreListItemsPin = FxBindings.bind(model.getMinRequiredReputationScoreListItems()) - .map(SecurityManagerView.MinRequiredReputationScoreListItem::new) - .to(minRequiredReputationScoreService.getAuthorizedMinRequiredReputationScoreDataSet()); - - model.getMinRequiredReputationScore().set(minRequiredReputationScoreService.getMostRecentValueOrDefault().get()); - minRequiredReputationScorePin = EasyBind.subscribe(model.getMinRequiredReputationScore(), minRequiredReputationScore -> - model.getMinRequiredReputationScoreButtonDisabled().set(minRequiredReputationScore == null || - !isValidMinRequiredRequiredReputationScore(minRequiredReputationScore.doubleValue()))); } @Override @@ -125,13 +109,11 @@ public void onDeactivate() { bondedRoleSetPin.unbind(); alertsPin.unbind(); difficultyAdjustmentListItemsPin.unbind(); - minRequiredReputationScoreListItemsPin.unbind(); messagePin.unsubscribe(); requireVersionForTradingPin.unsubscribe(); minVersionPin.unsubscribe(); selectedBondedRolePin.unsubscribe(); difficultyAdjustmentPin.unsubscribe(); - minRequiredReputationScorePin.unsubscribe(); } void onSelectAlertType(AlertType alertType) { @@ -220,48 +202,20 @@ void onPublishDifficultyAdjustmentFactor() { } } - void onPublishMinRequiredReputationScore() { - long minRequiredReputationScore = model.getMinRequiredReputationScore().get(); - if (isValidMinRequiredRequiredReputationScore(minRequiredReputationScore)) { - securityManagerService.publishMinRequiredReputationScore(minRequiredReputationScore) - .whenComplete((result, throwable) -> UIThread.run(() -> { - if (throwable != null) { - new Popup().error(throwable).show(); - } else { - model.getMinRequiredReputationScore().set(minRequiredReputationScoreService.getMostRecentValueOrDefault().get()); - } - })); - } - } - private static boolean isValidDifficultyAdjustmentFactor(double difficultyAdjustmentFactor) { return difficultyAdjustmentFactor >= 0 && difficultyAdjustmentFactor <= NetworkLoad.MAX_DIFFICULTY_ADJUSTMENT; } - private static boolean isValidMinRequiredRequiredReputationScore(double minRequiredReputationScore) { - return minRequiredReputationScore >= 0 && minRequiredReputationScore <= ReputationScore.MAX_VALUE; - } - boolean isRemoveDifficultyAdjustmentButtonVisible(AuthorizedDifficultyAdjustmentData data) { return userIdentityService.getSelectedUserIdentity().getId().equals(data.getSecurityManagerProfileId()); } - boolean isRemoveMinRequiredReputationScoreButtonVisible(AuthorizedMinRequiredReputationScoreData data) { - return userIdentityService.getSelectedUserIdentity().getId().equals(data.getSecurityManagerProfileId()); - } - void onRemoveDifficultyAdjustmentListItem(SecurityManagerView.DifficultyAdjustmentListItem item) { UserIdentity userIdentity = userIdentityService.getSelectedUserIdentity(); securityManagerService.removeDifficultyAdjustment(item.getData(), userIdentity.getNetworkIdWithKeyPair().getKeyPair()); model.getDifficultyAdjustmentFactor().set(difficultyAdjustmentService.getMostRecentValueOrDefault().get()); } - void onRemoveMinRequiredReputationScoreListItem(SecurityManagerView.MinRequiredReputationScoreListItem item) { - UserIdentity userIdentity = userIdentityService.getSelectedUserIdentity(); - securityManagerService.removeMinRequiredReputationScore(item.getData(), userIdentity.getNetworkIdWithKeyPair().getKeyPair()); - model.getMinRequiredReputationScore().set(minRequiredReputationScoreService.getMostRecentValueOrDefault().get()); - } - private void applySelectAlertType(AlertType alertType) { model.getSelectedAlertType().set(alertType); switch (alertType) { diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/authorized_role/security_manager/SecurityManagerModel.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/authorized_role/security_manager/SecurityManagerModel.java index 17d318c3f3..b865de4334 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/authorized_role/security_manager/SecurityManagerModel.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/authorized_role/security_manager/SecurityManagerModel.java @@ -22,7 +22,6 @@ import bisq.desktop.main.content.authorized_role.security_manager.SecurityManagerView.AlertListItem; import bisq.desktop.main.content.authorized_role.security_manager.SecurityManagerView.BondedRoleListItem; import bisq.desktop.main.content.authorized_role.security_manager.SecurityManagerView.DifficultyAdjustmentListItem; -import bisq.desktop.main.content.authorized_role.security_manager.SecurityManagerView.MinRequiredReputationScoreListItem; import javafx.beans.property.*; import javafx.collections.FXCollections; import javafx.collections.ObservableList; @@ -34,11 +33,8 @@ @Getter public class SecurityManagerModel implements Model { private final DoubleProperty difficultyAdjustmentFactor = new SimpleDoubleProperty(); - private final LongProperty minRequiredReputationScore = new SimpleLongProperty(); private final BooleanProperty difficultyAdjustmentFactorButtonDisabled = new SimpleBooleanProperty(); - private final BooleanProperty minRequiredReputationScoreButtonDisabled = new SimpleBooleanProperty(); private final ObservableList difficultyAdjustmentListItems = FXCollections.observableArrayList(); - private final ObservableList minRequiredReputationScoreListItems = FXCollections.observableArrayList(); private final ObjectProperty selectedAlertType = new SimpleObjectProperty<>(); private final ObservableList alertTypes = FXCollections.observableArrayList(); diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/authorized_role/security_manager/SecurityManagerView.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/authorized_role/security_manager/SecurityManagerView.java index 63f4005299..7c503ce987 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/authorized_role/security_manager/SecurityManagerView.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/authorized_role/security_manager/SecurityManagerView.java @@ -21,7 +21,6 @@ import bisq.bonded_roles.security_manager.alert.AlertType; import bisq.bonded_roles.security_manager.alert.AuthorizedAlertData; import bisq.bonded_roles.security_manager.difficulty_adjustment.AuthorizedDifficultyAdjustmentData; -import bisq.bonded_roles.security_manager.min_reputation_score.AuthorizedMinRequiredReputationScoreData; import bisq.desktop.common.converters.Converters; import bisq.desktop.common.view.View; import bisq.desktop.components.controls.AutoCompleteComboBox; @@ -37,7 +36,6 @@ import bisq.network.p2p.node.network_load.NetworkLoad; import bisq.presentation.formatters.BooleanFormatter; import bisq.presentation.formatters.DateFormatter; -import bisq.user.reputation.ReputationScore; import javafx.beans.binding.Bindings; import javafx.geometry.Insets; import javafx.geometry.Pos; @@ -62,20 +60,16 @@ public class SecurityManagerView extends View alertTypeSelection; private final AutoCompleteComboBox bondedRoleSelection; private final CheckBox haltTradingCheckBox, requireVersionForTradingCheckBox; private final HBox requireVersionForTradingHBox; private final RichTableView alertTableView; private final RichTableView difficultyAdjustmentTableView; - private final RichTableView minRequiredReputationScoreTableView; private Subscription selectedAlertTypePin, selectedBondedRolListItemPin; @@ -139,22 +133,6 @@ public BondedRoleListItem fromString(String string) { configAlertTableView(); - // minRequiredReputationScore - Label minRequiredReputationScoreHeadline = new Label(Res.get("authorizedRole.securityManager.minRequiredReputationScore.headline")); - minRequiredReputationScoreHeadline.getStyleClass().add("large-thin-headline"); - - minRequiredReputationScore = new MaterialTextField(Res.get("authorizedRole.securityManager.minRequiredReputationScore.description")); - minRequiredReputationScore.setMaxWidth(400); - minRequiredReputationScore.setValidators(MIN_REPUTATION_SCORE_VALIDATOR); - - minRequiredReputationScoreButton = new Button(Res.get("authorizedRole.securityManager.minRequiredReputationScore.button")); - minRequiredReputationScoreButton.setDefaultButton(true); - - minRequiredReputationScoreTableView = new RichTableView<>(model.getMinRequiredReputationScoreListItems(), - Res.get("authorizedRole.securityManager.minRequiredReputationScore.table.headline")); - configMinRequiredReputationScoreTableView(); - - // difficultyAdjustment Label difficultyAdjustmentHeadline = new Label(Res.get("authorizedRole.securityManager.difficultyAdjustment.headline")); difficultyAdjustmentHeadline.getStyleClass().add("large-thin-headline"); @@ -177,7 +155,6 @@ public BondedRoleListItem fromString(String string) { VBox.setMargin(difficultyAdjustmentButton, new Insets(0, 0, 10, 0)); VBox.setMargin(sendAlertButton, new Insets(10, 0, 0, 0)); VBox.setMargin(haltTradingCheckBox, new Insets(10, 0, 0, 0)); - VBox.setMargin(minRequiredReputationScoreHeadline, new Insets(20, 0, 0, 0)); VBox.setMargin(difficultyAdjustmentHeadline, new Insets(20, 0, 0, 0)); VBox.setMargin(roleInfo, new Insets(20, 0, 0, 0)); VBox.setVgrow(difficultyAdjustmentTableView, Priority.NEVER); @@ -189,26 +166,18 @@ public BondedRoleListItem fromString(String string) { bondedRoleSelection, sendAlertButton, alertTableView, - - minRequiredReputationScoreHeadline, minRequiredReputationScore, minRequiredReputationScoreButton, - minRequiredReputationScoreTableView, - difficultyAdjustmentHeadline, difficultyAdjustmentFactor, difficultyAdjustmentButton, difficultyAdjustmentTableView, - roleInfo); } @Override protected void onViewAttached() { alertTableView.initialize(); - minRequiredReputationScoreTableView.initialize(); difficultyAdjustmentTableView.initialize(); Bindings.bindBidirectional(difficultyAdjustmentFactor.textProperty(), model.getDifficultyAdjustmentFactor(), Converters.DOUBLE_STRING_CONVERTER); - Bindings.bindBidirectional(minRequiredReputationScore.textProperty(), model.getMinRequiredReputationScore(), - Converters.LONG_STRING_CONVERTER); haltTradingCheckBox.visibleProperty().bind(model.getSelectedAlertType().isEqualTo(AlertType.EMERGENCY)); haltTradingCheckBox.managedProperty().bind(haltTradingCheckBox.visibleProperty()); @@ -217,7 +186,6 @@ protected void onViewAttached() { minVersion.textProperty().bindBidirectional(model.getMinVersion()); minVersion.disableProperty().bind(requireVersionForTradingCheckBox.selectedProperty().not()); difficultyAdjustmentButton.disableProperty().bind(model.getDifficultyAdjustmentFactorButtonDisabled()); - minRequiredReputationScoreButton.disableProperty().bind(model.getMinRequiredReputationScoreButtonDisabled()); bondedRoleSelection.visibleProperty().bind(model.getSelectedAlertType().isEqualTo(AlertType.BAN)); bondedRoleSelection.managedProperty().bind(bondedRoleSelection.visibleProperty()); @@ -248,7 +216,6 @@ protected void onViewAttached() { }); difficultyAdjustmentButton.setOnAction(e -> controller.onPublishDifficultyAdjustmentFactor()); - minRequiredReputationScoreButton.setOnAction(e -> controller.onPublishMinRequiredReputationScore()); sendAlertButton.setOnAction(e -> controller.onSendAlert()); haltTradingCheckBox.selectedProperty().bindBidirectional(model.getHaltTrading()); requireVersionForTradingCheckBox.selectedProperty().bindBidirectional(model.getRequireVersionForTrading()); @@ -262,11 +229,9 @@ protected void onViewAttached() { @Override protected void onViewDetached() { alertTableView.dispose(); - minRequiredReputationScoreTableView.dispose(); difficultyAdjustmentTableView.dispose(); Bindings.unbindBidirectional(difficultyAdjustmentFactor.textProperty(), model.getDifficultyAdjustmentFactor()); - Bindings.unbindBidirectional(minRequiredReputationScore.textProperty(), model.getMinRequiredReputationScore()); haltTradingCheckBox.visibleProperty().unbind(); haltTradingCheckBox.managedProperty().unbind(); @@ -275,7 +240,6 @@ protected void onViewDetached() { minVersion.textProperty().unbindBidirectional(model.getMinVersion()); minVersion.disableProperty().unbind(); difficultyAdjustmentButton.disableProperty().unbind(); - minRequiredReputationScoreButton.disableProperty().unbind(); bondedRoleSelection.visibleProperty().unbind(); bondedRoleSelection.managedProperty().unbind(); @@ -294,7 +258,6 @@ protected void onViewDetached() { requireVersionForTradingCheckBox.selectedProperty().unbindBidirectional(model.getRequireVersionForTrading()); difficultyAdjustmentButton.setOnAction(null); - minRequiredReputationScoreButton.setOnAction(null); alertTypeSelection.setOnChangeConfirmed(null); bondedRoleSelection.setOnChangeConfirmed(null); @@ -320,24 +283,6 @@ private void configDifficultyAdjustmentTableView() { .build()); } - private void configMinRequiredReputationScoreTableView() { - minRequiredReputationScoreTableView.getColumns().add(DateColumnUtil.getDateColumn(minRequiredReputationScoreTableView.getSortOrder())); - minRequiredReputationScoreTableView.getColumns().add(new BisqTableColumn.Builder() - .title(Res.get("authorizedRole.securityManager.minRequiredReputationScore.table.value")) - .minWidth(150) - .comparator(Comparator.comparing(MinRequiredReputationScoreListItem::getMinRequiredReputationScore)) - .valueSupplier(MinRequiredReputationScoreListItem::getMinRequiredReputationScoreString) - .build()); - minRequiredReputationScoreTableView.getColumns().add(new BisqTableColumn.Builder() - .isSortable(false) - .minWidth(200) - .right() - .setCellFactory(getRemoveMinRequiredReputationScoreCellFactory()) - .includeForCsv(false) - .build()); - } - - private void configAlertTableView() { alertTableView.getColumns().add(DateColumnUtil.getDateColumn(alertTableView.getSortOrder())); @@ -425,25 +370,6 @@ protected void updateItem(DifficultyAdjustmentListItem item, boolean empty) { }; } - private Callback, - TableCell> getRemoveMinRequiredReputationScoreCellFactory() { - return column -> new TableCell<>() { - private final Button button = new Button(Res.get("data.remove")); - - @Override - protected void updateItem(MinRequiredReputationScoreListItem item, boolean empty) { - super.updateItem(item, empty); - - if (item != null && !empty && controller.isRemoveMinRequiredReputationScoreButtonVisible(item.getData())) { - button.setOnAction(e -> controller.onRemoveMinRequiredReputationScoreListItem(item)); - setGraphic(button); - } else { - button.setOnAction(null); - setGraphic(null); - } - } - }; - } @EqualsAndHashCode(onlyExplicitlyIncluded = true) @Getter @@ -466,27 +392,6 @@ public DifficultyAdjustmentListItem(AuthorizedDifficultyAdjustmentData data) { } } - @EqualsAndHashCode(onlyExplicitlyIncluded = true) - @Getter - @ToString - public static class MinRequiredReputationScoreListItem implements DateTableItem { - @EqualsAndHashCode.Include - private final AuthorizedMinRequiredReputationScoreData data; - - private final long date; - private final String dateString, timeString, minRequiredReputationScoreString; - private final double minRequiredReputationScore; - - public MinRequiredReputationScoreListItem(AuthorizedMinRequiredReputationScoreData data) { - this.data = data; - date = data.getDate(); - dateString = DateFormatter.formatDate(date); - timeString = DateFormatter.formatTime(date); - minRequiredReputationScore = data.getMinRequiredReputationScore(); - minRequiredReputationScoreString = String.valueOf(minRequiredReputationScore); - } - } - @EqualsAndHashCode(onlyExplicitlyIncluded = true) @Getter @ToString diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/offer_details/BisqEasyOfferDetailsController.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/offer_details/BisqEasyOfferDetailsController.java index 52ce547f04..a7fc0db9f7 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/offer_details/BisqEasyOfferDetailsController.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/offer_details/BisqEasyOfferDetailsController.java @@ -122,11 +122,6 @@ public void initWithData(InitData data) { model.getMakersTradeTermsVisible().set(tradeTerms.isPresent()); tradeTerms.ifPresent(makersTradeTerms -> model.getMakersTradeTerms().set(makersTradeTerms)); - - Optional reputationScore = OfferOptionUtil.findRequiredTotalReputationScore(bisqEasyOffer); - model.getRequiredTotalReputationScoreVisible().set(reputationScore.isPresent()); - reputationScore.ifPresent(requiredTotalReputationScore -> - model.getRequiredTotalReputationScore().set(String.valueOf(requiredTotalReputationScore))); } @Override diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/offer_details/BisqEasyOfferDetailsModel.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/offer_details/BisqEasyOfferDetailsModel.java index 9dbd6a0e9b..007a85956b 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/offer_details/BisqEasyOfferDetailsModel.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/offer_details/BisqEasyOfferDetailsModel.java @@ -43,7 +43,5 @@ public class BisqEasyOfferDetailsModel implements Model { private final StringProperty id = new SimpleStringProperty(); private final StringProperty date = new SimpleStringProperty(); private final StringProperty makersTradeTerms = new SimpleStringProperty(); - private final StringProperty requiredTotalReputationScore = new SimpleStringProperty(); private final BooleanProperty makersTradeTermsVisible = new SimpleBooleanProperty(); - private final BooleanProperty requiredTotalReputationScoreVisible = new SimpleBooleanProperty(); } diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/offer_details/BisqEasyOfferDetailsView.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/offer_details/BisqEasyOfferDetailsView.java index 9e34882e1f..7e5d86b625 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/offer_details/BisqEasyOfferDetailsView.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/offer_details/BisqEasyOfferDetailsView.java @@ -40,8 +40,7 @@ @Slf4j public class BisqEasyOfferDetailsView extends View { private final Button closeButton; - private final MaterialTextField id, offerType, date, paymentMethods, baseSideAmount, quoteSideAmount, - price, requiredTotalReputationScore; + private final MaterialTextField id, offerType, date, paymentMethods, baseSideAmount, quoteSideAmount, price; private final MaterialTextArea makersTradeTerms; private final VBox vBox; private Subscription widthPin, heightPin; @@ -99,9 +98,6 @@ public BisqEasyOfferDetailsView(BisqEasyOfferDetailsModel model, makersTradeTerms.setPrefHeight(30); detailFields.getChildren().add(makersTradeTerms); - requiredTotalReputationScore = getField(Res.get("bisqEasy.offerDetails.requiredTotalReputationScore")); - detailFields.getChildren().add(requiredTotalReputationScore); - closeButton = new Button(Res.get("action.close")); closeButton.setDefaultButton(true); HBox buttonBox = new HBox(closeButton); @@ -123,9 +119,6 @@ protected void onViewAttached() { makersTradeTerms.textProperty().bind(model.getMakersTradeTerms()); makersTradeTerms.visibleProperty().bind(model.getMakersTradeTermsVisible()); makersTradeTerms.managedProperty().bind(model.getMakersTradeTermsVisible()); - requiredTotalReputationScore.textProperty().bind(model.getRequiredTotalReputationScore()); - requiredTotalReputationScore.visibleProperty().bind(model.getRequiredTotalReputationScoreVisible()); - requiredTotalReputationScore.managedProperty().bind(model.getRequiredTotalReputationScoreVisible()); widthPin = EasyBind.subscribe(Overlay.primaryStageOwner.widthProperty(), w -> { if (vBox.getWidth() > 0) { @@ -159,9 +152,6 @@ protected void onViewDetached() { makersTradeTerms.textProperty().unbind(); makersTradeTerms.visibleProperty().unbind(); makersTradeTerms.managedProperty().unbind(); - requiredTotalReputationScore.textProperty().unbind(); - requiredTotalReputationScore.visibleProperty().unbind(); - requiredTotalReputationScore.managedProperty().unbind(); widthPin.unsubscribe(); heightPin.unsubscribe(); diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/take_offer/amount/TakeOfferAmountController.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/take_offer/amount/TakeOfferAmountController.java index 01702c80a2..b76b123176 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/take_offer/amount/TakeOfferAmountController.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/take_offer/amount/TakeOfferAmountController.java @@ -194,15 +194,31 @@ private void applyQuoteSideMinMaxRange(Monetary minRangeValue, Monetary maxRange amountComponent.setRightMarkerQuoteSideValue(reputationBasedQuoteSideAmount); amountComponent.setQuoteSideAmount(reputationBasedQuoteSideAmount); String formattedAmount = AmountFormatter.formatAmountWithCode(reputationBasedQuoteSideAmount); - model.getAmountLimitInfoOverlayInfo().set(Res.get("bisqEasy.takeOffer.amount.buyer.limitInfo.overlay.info", sellersReputationScore, formattedAmount) + "\n\n"); - if (reputationBasedQuoteSideAmount.isLessThan(minRangeValue)) { - // Min amount not covered by security from reputation score - model.getAmountLimitInfo().set(Res.get("bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMin", sellersReputationScore)); - model.getAmountLimitInfoAmount().set(""); + + if (sellersReputationScore <= MIN_REPUTAION_SCORE) { + if (reputationBasedQuoteSideAmount.isLessThan(minRangeValue)) { + // Min amount not covered by security from reputation score + model.getAmountLimitInfo().set(Res.get("bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountNotCovered", sellersReputationScore)); + model.getAmountLimitInfoAmount().set(""); + model.getAmountLimitInfoOverlayInfo().set(Res.get("bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMin.overlay.info", sellersReputationScore, formattedAmount) + "\n\n"); + } else { + // Max amount not covered by security from reputation score + model.getAmountLimitInfo().set(Res.get("bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMax", sellersReputationScore)); + model.getAmountLimitInfoAmount().set(Res.get("bisqEasy.takeOffer.amount.buyer.limitInfoAmount", formattedAmount)); + model.getAmountLimitInfoOverlayInfo().set(Res.get("bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMax.overlay.info", sellersReputationScore, formattedAmount) + "\n\n"); + } } else { - // Max amount not covered by security from reputation score - model.getAmountLimitInfo().set(Res.get("bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMax", sellersReputationScore)); - model.getAmountLimitInfoAmount().set(Res.get("bisqEasy.takeOffer.amount.buyer.limitInfoAmount", formattedAmount)); + if (reputationBasedQuoteSideAmount.isLessThan(minRangeValue)) { + // Min amount not covered by security from reputation score + model.getAmountLimitInfo().set(Res.get("bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountNotCovered", sellersReputationScore)); + model.getAmountLimitInfoAmount().set(""); + model.getAmountLimitInfoOverlayInfo().set(Res.get("bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMin.overlay.info", sellersReputationScore, formattedAmount) + "\n\n"); + } else { + // Max amount not covered by security from reputation score + model.getAmountLimitInfo().set(Res.get("bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountCovered", sellersReputationScore)); + model.getAmountLimitInfoAmount().set(Res.get("bisqEasy.takeOffer.amount.buyer.limitInfoAmount", formattedAmount)); + model.getAmountLimitInfoOverlayInfo().set(Res.get("bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountCovered.overlay.info", sellersReputationScore, formattedAmount) + "\n\n"); + } } } else { model.getIsAmountLimitInfoVisible().set(false); diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/take_offer/amount/TakeOfferAmountView.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/take_offer/amount/TakeOfferAmountView.java index b00bb7383a..3225595998 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/take_offer/amount/TakeOfferAmountView.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/take_offer/amount/TakeOfferAmountView.java @@ -44,6 +44,7 @@ public class TakeOfferAmountView extends View { @@ -143,6 +144,8 @@ protected void onViewDetached() { amountLimitInfoAmount.visibleProperty().unbind(); learnMore.managedProperty().unbind(); learnMore.visibleProperty().unbind(); + amountLimitInfoHBox.managedProperty().unbind(); + amountLimitInfoHBox.visibleProperty().unbind(); isAmountLimitInfoVisiblePin.unsubscribe(); diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/trade_wizard/review/TradeWizardReviewController.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/trade_wizard/review/TradeWizardReviewController.java index 436463b550..6875ccbdf5 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/trade_wizard/review/TradeWizardReviewController.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/trade_wizard/review/TradeWizardReviewController.java @@ -176,7 +176,6 @@ public void setDataForCreateOffer(Direction direction, new ArrayList<>(bitcoinPaymentMethods), new ArrayList<>(fiatPaymentMethods), userIdentity.getUserProfile().getTerms(), - bisqEasyService.getMinRequiredReputationScore().get(), new ArrayList<>(settingsService.getSupportedLanguageCodes())); model.setBisqEasyOffer(bisqEasyOffer); diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/settings/trade/TradeSettingsController.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/settings/trade/TradeSettingsController.java index 25edcaff6e..26232bc375 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/settings/trade/TradeSettingsController.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/settings/trade/TradeSettingsController.java @@ -17,18 +17,13 @@ package bisq.desktop.main.content.settings.trade; -import bisq.bonded_roles.security_manager.min_reputation_score.MinRequiredReputationScoreService; import bisq.common.observable.Pin; import bisq.desktop.ServiceProvider; import bisq.desktop.common.observable.FxBindings; -import bisq.desktop.common.threading.UIThread; import bisq.desktop.common.view.Controller; -import bisq.i18n.Res; import bisq.settings.SettingsService; import lombok.Getter; import lombok.extern.slf4j.Slf4j; -import org.fxmisc.easybind.EasyBind; -import org.fxmisc.easybind.Subscription; @Slf4j public class TradeSettingsController implements Controller { @@ -36,46 +31,17 @@ public class TradeSettingsController implements Controller { private final TradeSettingsView view; private final TradeSettingsModel model; private final SettingsService settingsService; - private final MinRequiredReputationScoreService minRequiredReputationScoreService; - private Pin offerOnlyPin, closeMyOfferWhenTakenPin, - minRequiredReputationScorePin, ignoreMinRequiredReputationScoreFromSecManagerPin, - mostRecentMinRequiredReputationScoreOrDefaultPin, maxTradePriceDeviationPin; - private Subscription minRequiredReputationScoreDescriptionTextPin; + private Pin offerOnlyPin, closeMyOfferWhenTakenPin,maxTradePriceDeviationPin; public TradeSettingsController(ServiceProvider serviceProvider) { settingsService = serviceProvider.getSettingsService(); - minRequiredReputationScoreService = serviceProvider.getBondedRolesService().getMinRequiredReputationScoreService(); model = new TradeSettingsModel(); view = new TradeSettingsView(model, this); } @Override public void onActivate() { - ignoreMinRequiredReputationScoreFromSecManagerPin = FxBindings.bindBiDir(model.getIgnoreMinRequiredReputationScoreFromSecManager()) - .to(settingsService.getIgnoreMinRequiredReputationScoreFromSecManager()); - model.getMinRequiredReputationScoreEditable().bind(model.getIgnoreMinRequiredReputationScoreFromSecManager()); - minRequiredReputationScoreDescriptionTextPin = EasyBind.subscribe(model.getIgnoreMinRequiredReputationScoreFromSecManager(), - value -> { - if (value) { - model.getMinRequiredReputationScoreDescriptionText().set(Res.get("settings.trade.minReputationScore.description.self")); - if (mostRecentMinRequiredReputationScoreOrDefaultPin != null) { - mostRecentMinRequiredReputationScoreOrDefaultPin.unbind(); - } - minRequiredReputationScorePin = FxBindings.bindBiDir(model.getMinRequiredReputationScore()) - .to(settingsService.getMinRequiredReputationScore()); - } else { - model.getMinRequiredReputationScoreDescriptionText().set(Res.get("settings.trade.minReputationScore.description.fromSecManager")); - - if (minRequiredReputationScorePin != null) { - minRequiredReputationScorePin.unbind(); - } - mostRecentMinRequiredReputationScoreOrDefaultPin = minRequiredReputationScoreService.getMostRecentValueOrDefault() - .addObserver(mostRecentValueOrDefault -> - UIThread.run(() -> model.getMinRequiredReputationScore().set(mostRecentValueOrDefault))); - } - }); - offerOnlyPin = FxBindings.bindBiDir(model.getOfferOnly()) .to(settingsService.getOffersOnly()); closeMyOfferWhenTakenPin = FxBindings.bindBiDir(model.getCloseMyOfferWhenTaken()) @@ -88,18 +54,6 @@ public void onActivate() { public void onDeactivate() { offerOnlyPin.unbind(); closeMyOfferWhenTakenPin.unbind(); - ignoreMinRequiredReputationScoreFromSecManagerPin.unbind(); maxTradePriceDeviationPin.unbind(); - minRequiredReputationScoreDescriptionTextPin.unsubscribe(); - - if (minRequiredReputationScorePin != null) { - minRequiredReputationScorePin.unbind(); - } - if (minRequiredReputationScorePin != null) { - minRequiredReputationScorePin.unbind(); - } - if (mostRecentMinRequiredReputationScoreOrDefaultPin != null) { - mostRecentMinRequiredReputationScoreOrDefaultPin.unbind(); - } } } diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/settings/trade/TradeSettingsModel.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/settings/trade/TradeSettingsModel.java index ce3afd57bb..be74ec7948 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/settings/trade/TradeSettingsModel.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/settings/trade/TradeSettingsModel.java @@ -25,10 +25,6 @@ @Slf4j @Getter public class TradeSettingsModel implements Model { - private final LongProperty minRequiredReputationScore = new SimpleLongProperty(); - private final BooleanProperty minRequiredReputationScoreEditable = new SimpleBooleanProperty(); - private final StringProperty minRequiredReputationScoreDescriptionText = new SimpleStringProperty(); - private final BooleanProperty ignoreMinRequiredReputationScoreFromSecManager = new SimpleBooleanProperty(); private final BooleanProperty offerOnly = new SimpleBooleanProperty(); private final BooleanProperty closeMyOfferWhenTaken = new SimpleBooleanProperty(); private final DoubleProperty maxTradePriceDeviation = new SimpleDoubleProperty(); diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/settings/trade/TradeSettingsView.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/settings/trade/TradeSettingsView.java index b23bb9cd44..250f6267c3 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/settings/trade/TradeSettingsView.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/settings/trade/TradeSettingsView.java @@ -46,8 +46,8 @@ public class TradeSettingsView extends View minRequiredReputationScore = new Observable<>(); private final MarketPriceService marketPriceService; private Pin difficultyAdjustmentFactorPin, ignoreDiffAdjustmentFromSecManagerPin, - mostRecentDiffAdjustmentValueOrDefaultPin, minRequiredReputationScorePin, - ignoreMinRequiredReputationScoreFromSecManagerPin, mostRecentMinRequiredReputationScoreOrDefaultPin, - selectedMarketPin; + mostRecentDiffAdjustmentValueOrDefaultPin, selectedMarketPin; public BisqEasyService(PersistenceService persistenceService, SecurityService securityService, @@ -130,10 +126,6 @@ public CompletableFuture initialize() { ignoreDiffAdjustmentFromSecManagerPin = settingsService.getIgnoreDiffAdjustmentFromSecManager().addObserver(e -> applyDifficultyAdjustmentFactor()); mostRecentDiffAdjustmentValueOrDefaultPin = bondedRolesService.getDifficultyAdjustmentService().getMostRecentValueOrDefault().addObserver(e -> applyDifficultyAdjustmentFactor()); - minRequiredReputationScorePin = settingsService.getMinRequiredReputationScore().addObserver(e -> applyMinRequiredReputationScore()); - ignoreMinRequiredReputationScoreFromSecManagerPin = settingsService.getIgnoreMinRequiredReputationScoreFromSecManager().addObserver(e -> applyMinRequiredReputationScore()); - mostRecentMinRequiredReputationScoreOrDefaultPin = bondedRolesService.getMinRequiredReputationScoreService().getMostRecentValueOrDefault().addObserver(e -> applyMinRequiredReputationScore()); - settingsService.getCookie().asString(CookieKey.SELECTED_MARKET_CODES) .flatMap(MarketRepository::findAnyFiatMarketByMarketCodes) .ifPresentOrElse(marketPriceService::setSelectedMarket, @@ -154,9 +146,6 @@ public CompletableFuture shutdown() { difficultyAdjustmentFactorPin.unbind(); ignoreDiffAdjustmentFromSecManagerPin.unbind(); mostRecentDiffAdjustmentValueOrDefaultPin.unbind(); - minRequiredReputationScorePin.unbind(); - ignoreMinRequiredReputationScoreFromSecManagerPin.unbind(); - mostRecentMinRequiredReputationScoreOrDefaultPin.unbind(); selectedMarketPin.unbind(); } @@ -222,12 +211,4 @@ private void applyDifficultyAdjustmentFactor() { } }); } - - private void applyMinRequiredReputationScore() { - if (settingsService.getIgnoreMinRequiredReputationScoreFromSecManager().get()) { - minRequiredReputationScore.set(settingsService.getMinRequiredReputationScore().get()); - } else { - minRequiredReputationScore.set(bondedRolesService.getMinRequiredReputationScoreService().getMostRecentValueOrDefault().get()); - } - } } diff --git a/bonded-roles/src/main/java/bisq/bonded_roles/BondedRolesService.java b/bonded-roles/src/main/java/bisq/bonded_roles/BondedRolesService.java index ef68aa176d..faf732cfe2 100644 --- a/bonded-roles/src/main/java/bisq/bonded_roles/BondedRolesService.java +++ b/bonded-roles/src/main/java/bisq/bonded_roles/BondedRolesService.java @@ -24,7 +24,6 @@ import bisq.bonded_roles.release.ReleaseNotificationsService; import bisq.bonded_roles.security_manager.alert.AlertService; import bisq.bonded_roles.security_manager.difficulty_adjustment.DifficultyAdjustmentService; -import bisq.bonded_roles.security_manager.min_reputation_score.MinRequiredReputationScoreService; import bisq.common.application.Service; import bisq.network.NetworkService; import bisq.persistence.PersistenceService; @@ -63,7 +62,6 @@ public static Config from(com.typesafe.config.Config config) { private final ExplorerService explorerService; private final AlertService alertService; private final DifficultyAdjustmentService difficultyAdjustmentService; - private final MinRequiredReputationScoreService minRequiredReputationScoreService; private final ReleaseNotificationsService releaseNotificationsService; public BondedRolesService(Config config, PersistenceService persistenceService, NetworkService networkService) { @@ -73,7 +71,6 @@ public BondedRolesService(Config config, PersistenceService persistenceService, explorerService = new ExplorerService(ExplorerService.Config.from(config.getBlockchainExplorer()), networkService); alertService = new AlertService(authorizedBondedRolesService); difficultyAdjustmentService = new DifficultyAdjustmentService(authorizedBondedRolesService); - minRequiredReputationScoreService = new MinRequiredReputationScoreService(authorizedBondedRolesService); releaseNotificationsService = new ReleaseNotificationsService(authorizedBondedRolesService); } @@ -84,7 +81,6 @@ public BondedRolesService(Config config, PersistenceService persistenceService, public CompletableFuture initialize() { log.info("initialize"); return difficultyAdjustmentService.initialize() - .thenCompose(result -> minRequiredReputationScoreService.initialize()) .thenCompose(result -> alertService.initialize()) .thenCompose(result -> bondedRoleRegistrationService.initialize()) .thenCompose(result -> marketPriceService.initialize()) @@ -97,7 +93,6 @@ public CompletableFuture shutdown() { log.info("shutdown"); return authorizedBondedRolesService.shutdown() .thenCompose(result -> difficultyAdjustmentService.shutdown()) - .thenCompose(result -> minRequiredReputationScoreService.shutdown()) .thenCompose(result -> alertService.shutdown()) .thenCompose(result -> bondedRoleRegistrationService.shutdown()) .thenCompose(result -> marketPriceService.shutdown()) diff --git a/bonded-roles/src/main/java/bisq/bonded_roles/security_manager/min_reputation_score/AuthorizedMinRequiredReputationScoreData.java b/bonded-roles/src/main/java/bisq/bonded_roles/security_manager/min_reputation_score/AuthorizedMinRequiredReputationScoreData.java index 064842fc42..ce7c23619b 100644 --- a/bonded-roles/src/main/java/bisq/bonded_roles/security_manager/min_reputation_score/AuthorizedMinRequiredReputationScoreData.java +++ b/bonded-roles/src/main/java/bisq/bonded_roles/security_manager/min_reputation_score/AuthorizedMinRequiredReputationScoreData.java @@ -41,6 +41,7 @@ @ToString @EqualsAndHashCode @Getter +@Deprecated(since = "2.1.1") public final class AuthorizedMinRequiredReputationScoreData implements AuthorizedDistributedData { private static final int VERSION = 1; diff --git a/bonded-roles/src/main/java/bisq/bonded_roles/security_manager/min_reputation_score/MinRequiredReputationScoreService.java b/bonded-roles/src/main/java/bisq/bonded_roles/security_manager/min_reputation_score/MinRequiredReputationScoreService.java deleted file mode 100644 index b580c2701d..0000000000 --- a/bonded-roles/src/main/java/bisq/bonded_roles/security_manager/min_reputation_score/MinRequiredReputationScoreService.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * This file is part of Bisq. - * - * Bisq is free software: you can redistribute it and/or modify it - * under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or (at - * your option) any later version. - * - * Bisq is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public - * License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Bisq. If not, see . - */ - -package bisq.bonded_roles.security_manager.min_reputation_score; - -import bisq.bonded_roles.BondedRoleType; -import bisq.bonded_roles.bonded_role.AuthorizedBondedRolesService; -import bisq.common.application.Service; -import bisq.common.observable.Observable; -import bisq.common.observable.collection.ObservableSet; -import bisq.network.p2p.services.data.storage.auth.authorized.AuthorizedData; -import lombok.Getter; -import lombok.extern.slf4j.Slf4j; - -import java.util.Comparator; -import java.util.concurrent.CompletableFuture; - -@Slf4j -public class MinRequiredReputationScoreService implements Service, AuthorizedBondedRolesService.Listener { - public final static long DEFAULT_MIN_REPUTATION_SCORE = 10_000; - @Getter - private final Observable hasNotificationSenderIdentity = new Observable<>(); - @Getter - private final Observable mostRecentValueOrDefault = new Observable<>(); - private final AuthorizedBondedRolesService authorizedBondedRolesService; - @Getter - private final ObservableSet authorizedMinRequiredReputationScoreDataSet = new ObservableSet<>(); - - public MinRequiredReputationScoreService(AuthorizedBondedRolesService authorizedBondedRolesService) { - this.authorizedBondedRolesService = authorizedBondedRolesService; - } - - - /////////////////////////////////////////////////////////////////////////////////////////////////// - // Service - /////////////////////////////////////////////////////////////////////////////////////////////////// - - @Override - public CompletableFuture initialize() { - authorizedBondedRolesService.addListener(this); - updateMostRecentValueOrDefault(); - return CompletableFuture.completedFuture(true); - } - - @Override - public CompletableFuture shutdown() { - authorizedBondedRolesService.removeListener(this); - return CompletableFuture.completedFuture(true); - } - - - /////////////////////////////////////////////////////////////////////////////////////////////////// - // AuthorizedBondedRolesService.Listener - /////////////////////////////////////////////////////////////////////////////////////////////////// - - @Override - public void onAuthorizedDataAdded(AuthorizedData authorizedData) { - if (authorizedData.getAuthorizedDistributedData() instanceof AuthorizedMinRequiredReputationScoreData) { - if (isAuthorized(authorizedData)) { - AuthorizedMinRequiredReputationScoreData authorizedMinRequiredReputationScoreData = (AuthorizedMinRequiredReputationScoreData) authorizedData.getAuthorizedDistributedData(); - authorizedMinRequiredReputationScoreDataSet.add(authorizedMinRequiredReputationScoreData); - updateMostRecentValueOrDefault(); - } - } - } - - @Override - public void onAuthorizedDataRemoved(AuthorizedData authorizedData) { - if (authorizedData.getAuthorizedDistributedData() instanceof AuthorizedMinRequiredReputationScoreData) { - if (isAuthorized(authorizedData)) { - AuthorizedMinRequiredReputationScoreData authorizedMinRequiredReputationScoreData = (AuthorizedMinRequiredReputationScoreData) authorizedData.getAuthorizedDistributedData(); - authorizedMinRequiredReputationScoreDataSet.remove(authorizedMinRequiredReputationScoreData); - updateMostRecentValueOrDefault(); - } - } - } - - private boolean isAuthorized(AuthorizedData authorizedData) { - return authorizedBondedRolesService.hasAuthorizedPubKey(authorizedData, BondedRoleType.SECURITY_MANAGER); - } - - private void updateMostRecentValueOrDefault() { - long value = authorizedMinRequiredReputationScoreDataSet.stream() - .sorted(Comparator.comparingLong(AuthorizedMinRequiredReputationScoreData::getDate).reversed()) - .map(AuthorizedMinRequiredReputationScoreData::getMinRequiredReputationScore) - .findFirst() - .orElse(DEFAULT_MIN_REPUTATION_SCORE); - mostRecentValueOrDefault.set(value); - } -} \ No newline at end of file diff --git a/bonded-roles/src/main/proto/bonded_roles.proto b/bonded-roles/src/main/proto/bonded_roles.proto index 267fe32917..0b74c21d4c 100644 --- a/bonded-roles/src/main/proto/bonded_roles.proto +++ b/bonded-roles/src/main/proto/bonded_roles.proto @@ -95,7 +95,9 @@ message AuthorizedDifficultyAdjustmentData { sint32 version = 5; } +// Not used anymore since 2.1.1 message AuthorizedMinRequiredReputationScoreData { + option deprecated = true; sint64 date = 1; sint64 minRequiredReputationScore = 2; string securityManagerProfileId = 3; diff --git a/i18n/src/main/resources/authorized_role.properties b/i18n/src/main/resources/authorized_role.properties index 96e6db0d24..c88df6f0fc 100644 --- a/i18n/src/main/resources/authorized_role.properties +++ b/i18n/src/main/resources/authorized_role.properties @@ -98,12 +98,6 @@ authorizedRole.securityManager.difficultyAdjustment.invalid=Must be a number bet authorizedRole.securityManager.difficultyAdjustment.button=Publish difficulty adjustment factor authorizedRole.securityManager.difficultyAdjustment.table.headline=Published difficulty adjustment data authorizedRole.securityManager.difficultyAdjustment.table.value=Value -authorizedRole.securityManager.minRequiredReputationScore.headline=Min. required reputation score -authorizedRole.securityManager.minRequiredReputationScore.description=Min. required reputation score -authorizedRole.securityManager.minRequiredReputationScore.invalid=Must be a number between 0 and {0} -authorizedRole.securityManager.minRequiredReputationScore.button=Publish score -authorizedRole.securityManager.minRequiredReputationScore.table.headline=Published reputation score data -authorizedRole.securityManager.minRequiredReputationScore.table.value=Value authorizedRole.securityManager.alert.headline=Management of alerts authorizedRole.securityManager.selectAlertType=Select alert type diff --git a/i18n/src/main/resources/authorized_role_cs.properties b/i18n/src/main/resources/authorized_role_cs.properties index 80ad090507..a3d12ca120 100644 --- a/i18n/src/main/resources/authorized_role_cs.properties +++ b/i18n/src/main/resources/authorized_role_cs.properties @@ -94,12 +94,6 @@ authorizedRole.securityManager.difficultyAdjustment.invalid=Musí být číslo m authorizedRole.securityManager.difficultyAdjustment.button=Publikovat faktor úpravy obtížnosti authorizedRole.securityManager.difficultyAdjustment.table.headline=Publikovaná data úpravy obtížnosti authorizedRole.securityManager.difficultyAdjustment.table.value=Hodnota -authorizedRole.securityManager.minRequiredReputationScore.headline=Minimální požadované hodnocení reputace -authorizedRole.securityManager.minRequiredReputationScore.description=Minimální požadované hodnocení reputace -authorizedRole.securityManager.minRequiredReputationScore.invalid=Musí být číslo mezi 0 a {0} -authorizedRole.securityManager.minRequiredReputationScore.button=Publikovat hodnocení -authorizedRole.securityManager.minRequiredReputationScore.table.headline=Publikovaná data hodnocení reputace -authorizedRole.securityManager.minRequiredReputationScore.table.value=Hodnota authorizedRole.securityManager.alert.headline=Management of alerts authorizedRole.securityManager.selectAlertType=Select alert type diff --git a/i18n/src/main/resources/authorized_role_de.properties b/i18n/src/main/resources/authorized_role_de.properties index 364025b9d2..0c839e8318 100644 --- a/i18n/src/main/resources/authorized_role_de.properties +++ b/i18n/src/main/resources/authorized_role_de.properties @@ -94,12 +94,6 @@ authorizedRole.securityManager.difficultyAdjustment.invalid=Muss eine Zahl zwisc authorizedRole.securityManager.difficultyAdjustment.button=Faktor der Schwierigkeitsanpassung veröffentlichen authorizedRole.securityManager.difficultyAdjustment.table.headline=Veröffentlichte Daten zur Schwierigkeitsanpassung authorizedRole.securityManager.difficultyAdjustment.table.value=Wert -authorizedRole.securityManager.minRequiredReputationScore.headline=Min. erforderlicher Reputationswert -authorizedRole.securityManager.minRequiredReputationScore.description=Min. erforderlicher Reputationswert -authorizedRole.securityManager.minRequiredReputationScore.invalid=Muss eine Zahl zwischen 0 und {0} sein -authorizedRole.securityManager.minRequiredReputationScore.button=Wert veröffentlichen -authorizedRole.securityManager.minRequiredReputationScore.table.headline=Veröffentlichte Daten zum Reputationswert -authorizedRole.securityManager.minRequiredReputationScore.table.value=Wert authorizedRole.securityManager.alert.headline=Verwaltung von Warnungen authorizedRole.securityManager.selectAlertType=Wählen Sie den Warnungstyp aus diff --git a/i18n/src/main/resources/authorized_role_es.properties b/i18n/src/main/resources/authorized_role_es.properties index cf6e2d0cd6..69ea0f65cc 100644 --- a/i18n/src/main/resources/authorized_role_es.properties +++ b/i18n/src/main/resources/authorized_role_es.properties @@ -94,12 +94,6 @@ authorizedRole.securityManager.difficultyAdjustment.invalid=Debe ser un número authorizedRole.securityManager.difficultyAdjustment.button=Publicar factor de ajuste de dificultad authorizedRole.securityManager.difficultyAdjustment.table.headline=Datos de ajuste de dificultad publicados authorizedRole.securityManager.difficultyAdjustment.table.value=Valor -authorizedRole.securityManager.minRequiredReputationScore.headline=Puntuación mínima de reputación requerida -authorizedRole.securityManager.minRequiredReputationScore.description=Puntuación mínima de reputación requerida -authorizedRole.securityManager.minRequiredReputationScore.invalid=Debe ser un número entre 0 y {0} -authorizedRole.securityManager.minRequiredReputationScore.button=Publicar puntuación -authorizedRole.securityManager.minRequiredReputationScore.table.headline=Datos de puntuación de reputación publicados -authorizedRole.securityManager.minRequiredReputationScore.table.value=Valor authorizedRole.securityManager.alert.headline=Administración de alertas authorizedRole.securityManager.selectAlertType=Seleccionar tipo de alerta diff --git a/i18n/src/main/resources/authorized_role_it.properties b/i18n/src/main/resources/authorized_role_it.properties index 1403d90ce5..9351963459 100644 --- a/i18n/src/main/resources/authorized_role_it.properties +++ b/i18n/src/main/resources/authorized_role_it.properties @@ -94,12 +94,6 @@ authorizedRole.securityManager.difficultyAdjustment.invalid=Deve essere un numer authorizedRole.securityManager.difficultyAdjustment.button=Pubblica il fattore di regolazione della difficoltà authorizedRole.securityManager.difficultyAdjustment.table.headline=Dati sulla regolazione della difficoltà pubblicati authorizedRole.securityManager.difficultyAdjustment.table.value=Valore -authorizedRole.securityManager.minRequiredReputationScore.headline=Punteggio minimo di reputazione richiesto -authorizedRole.securityManager.minRequiredReputationScore.description=Punteggio di reputazione minimo richiesto -authorizedRole.securityManager.minRequiredReputationScore.invalid=Deve essere un numero tra 0 e {0} -authorizedRole.securityManager.minRequiredReputationScore.button=Pubblica punteggio -authorizedRole.securityManager.minRequiredReputationScore.table.headline=Dati sul punteggio di reputazione pubblicati -authorizedRole.securityManager.minRequiredReputationScore.table.value=Valore authorizedRole.securityManager.alert.headline=Gestione degli avvisi authorizedRole.securityManager.selectAlertType=Seleziona tipo di avviso diff --git a/i18n/src/main/resources/authorized_role_pcm.properties b/i18n/src/main/resources/authorized_role_pcm.properties index b03f47e96a..7c07a0036a 100644 --- a/i18n/src/main/resources/authorized_role_pcm.properties +++ b/i18n/src/main/resources/authorized_role_pcm.properties @@ -94,12 +94,6 @@ authorizedRole.securityManager.difficultyAdjustment.invalid=Must be a number bet authorizedRole.securityManager.difficultyAdjustment.button=Publish difficulty adjustment factor authorizedRole.securityManager.difficultyAdjustment.table.headline=Published difficulty adjustment data authorizedRole.securityManager.difficultyAdjustment.table.value=Value -authorizedRole.securityManager.minRequiredReputationScore.headline=Min. required reputation score -authorizedRole.securityManager.minRequiredReputationScore.description=Min. required reputation score -authorizedRole.securityManager.minRequiredReputationScore.invalid=Must be a number between 0 and {0} -authorizedRole.securityManager.minRequiredReputationScore.button=Publish score -authorizedRole.securityManager.minRequiredReputationScore.table.headline=Published reputation score data -authorizedRole.securityManager.minRequiredReputationScore.table.value=Value authorizedRole.securityManager.alert.headline=Management of alerts authorizedRole.securityManager.selectAlertType=Select alert type diff --git a/i18n/src/main/resources/authorized_role_pt_BR.properties b/i18n/src/main/resources/authorized_role_pt_BR.properties index a70901615d..37eb146b40 100644 --- a/i18n/src/main/resources/authorized_role_pt_BR.properties +++ b/i18n/src/main/resources/authorized_role_pt_BR.properties @@ -94,12 +94,6 @@ authorizedRole.securityManager.difficultyAdjustment.invalid=Deve ser um número authorizedRole.securityManager.difficultyAdjustment.button=Publicar fator de ajuste de dificuldade authorizedRole.securityManager.difficultyAdjustment.table.headline=Dados de ajuste de dificuldade publicados authorizedRole.securityManager.difficultyAdjustment.table.value=Valor -authorizedRole.securityManager.minRequiredReputationScore.headline=Pontuação mínima de reputação exigida -authorizedRole.securityManager.minRequiredReputationScore.description=Pontuação mínima de reputação exigida -authorizedRole.securityManager.minRequiredReputationScore.invalid=Deve ser um número entre 0 e {0} -authorizedRole.securityManager.minRequiredReputationScore.button=Publicar pontuação -authorizedRole.securityManager.minRequiredReputationScore.table.headline=Dados de pontuação de reputação publicados -authorizedRole.securityManager.minRequiredReputationScore.table.value=Valor authorizedRole.securityManager.alert.headline=Gestão de alertas authorizedRole.securityManager.selectAlertType=Selecionar tipo de alerta diff --git a/i18n/src/main/resources/bisq_easy.properties b/i18n/src/main/resources/bisq_easy.properties index 5fef90a437..32cd6d6a39 100644 --- a/i18n/src/main/resources/bisq_easy.properties +++ b/i18n/src/main/resources/bisq_easy.properties @@ -158,7 +158,7 @@ bisqEasy.tradeWizard.amount.limitInfo.overlay.close=Close overlay bisqEasy.tradeWizard.amount.seller.wizard.numMatchingOffers.info=There {0} matching the chosen trade amount. bisqEasy.tradeWizard.amount.seller.wizard.limitInfo=With your reputation score of {0}, you can trade up to -bisqEasy.tradeWizard.amount.seller.wizard.limitInfo.overlay.info=With a reputation score of {0}, you provide security for trades up to {1}.\n\n\ +bisqEasy.tradeWizard.amount.seller.wizard.limitInfo.overlay.info=With a reputation score of {0}, you can trade up to {1}.\n\n\ You can find information on how to increase your reputation at ''Reputation/Build Reputation''. bisqEasy.tradeWizard.amount.seller.limitInfo.scoreTooLow=With your reputation score of {0}, your trade amount should not exceed @@ -217,7 +217,7 @@ bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.info.leadLine=There {0} match bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.info=For offers up to {0}, reputation requirements are relaxed. bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.overlay.info=Given the low min. amount of {0}, the reputation requirements are relaxed.\n\ For amounts up to {1}, sellers do not need reputation.\n\n\ - At the 'SELECT OFFER' screen it is recommended to choose sellers with higher reputation. + At the ''Select Offer'' screen it is recommended to choose sellers with higher reputation. bisqEasy.tradeWizard.amount.buyer.limitInfo.noReputationNeededForMaxOrFixedAmount=Sellers with no reputation can take offers up to {0}. bisqEasy.tradeWizard.amount.buyer.limitInfo.noReputationNeededForMaxOrFixedAmount.riskInfo=Be sure you fully understand the risks involved. @@ -368,12 +368,22 @@ bisqEasy.takeOffer.amount.description=The offer allows you can choose a trade am bisqEasy.takeOffer.amount.description.limitedByTakersReputation=Your reputation score of {0} allows you can choose a trade amount\n\ between {1} and {2} -bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMax=Seller''s reputation score of {0} provides security only up to +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMax=Seller''s reputation score is only {0}. It is not recommended to trade more than bisqEasy.takeOffer.amount.buyer.limitInfoAmount={0}. -bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMin=Seller''s reputation score of {0} does not provide sufficient security for that offer. +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMax.overlay.info=Seller''s reputation score of {0} does not provide sufficient security. \ + However, for lower trade amounts (up to {1}), reputation requirements are more lenient.\n\n\ + If you decide to proceed despite the lack of the seller''s reputation, ensure that you are fully aware of the associated risks. \ + Bisq Easy''s security model relies on the seller''s reputation, as the buyer is required to send fiat currency first. +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountCovered=Seller''s reputation score of {0} provides security up to +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountCovered.overlay.info=Seller''s reputation score of {0} provides security for up to {1}.\n\n\ + If you choose a higher amount, ensure that you are fully aware of the associated risks. \ + Bisq Easy''s security model relies on the seller''s reputation, as the buyer is required to send fiat currency first. +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountNotCovered=Seller''s reputation score of {0} does not provide sufficient security for that offer. +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMin.overlay.info=Seller''s reputation score of {0} does not provide sufficient security for that offer.\n\n\ + It is recommended to trade lower amounts with repeated trades or with sellers who have higher reputation. \ + If you decide to proceed despite the lack of the seller''s reputation, ensure that you are fully aware of the associated risks. \ + Bisq Easy''s security model relies on the seller''s reputation, as the buyer is required to send fiat currency first. bisqEasy.takeOffer.amount.buyer.limitInfo.learnMore=Learn more -bisqEasy.takeOffer.amount.buyer.limitInfo.overlay.info=Seller''s reputation score of {0} provides security for up to {1}.\n\n\ - If you decide to trade above that amount, be sure to fully understand the risks. It is recommended to trade smaller amounts or repeat trades to lower potential risks. bisqEasy.takeOffer.amount.buyer.limitInfo.overlay.linkToWikiText=To learn more about the reputation system, visit: bisqEasy.takeOffer.paymentMethods.headline.fiat=Which payment method do you want to use? @@ -682,7 +692,6 @@ bisqEasy.offerDetails.paymentMethods=Supported payment method(s) bisqEasy.offerDetails.id=Offer ID bisqEasy.offerDetails.date=Creation date bisqEasy.offerDetails.makersTradeTerms=Makers trade terms -bisqEasy.offerDetails.requiredTotalReputationScore=Required reputation score for taker ################################################################################ diff --git a/i18n/src/main/resources/bisq_easy_cs.properties b/i18n/src/main/resources/bisq_easy_cs.properties index 016bbd4059..df3f86e5e0 100644 --- a/i18n/src/main/resources/bisq_easy_cs.properties +++ b/i18n/src/main/resources/bisq_easy_cs.properties @@ -497,7 +497,6 @@ bisqEasy.offerDetails.paymentMethods=Podporované platební metody bisqEasy.offerDetails.id=ID nabídky bisqEasy.offerDetails.date=Datum vytvoření bisqEasy.offerDetails.makersTradeTerms=Obchodní podmínky tvůrce -bisqEasy.offerDetails.requiredTotalReputationScore=Požadované skóre reputace pro přijímacího ################################################################################ diff --git a/i18n/src/main/resources/bisq_easy_de.properties b/i18n/src/main/resources/bisq_easy_de.properties index f646f8d513..69775ac930 100644 --- a/i18n/src/main/resources/bisq_easy_de.properties +++ b/i18n/src/main/resources/bisq_easy_de.properties @@ -497,7 +497,6 @@ bisqEasy.offerDetails.paymentMethods=Unterstützte Zahlungsmethoden bisqEasy.offerDetails.id=Angebots-ID bisqEasy.offerDetails.date=Erstellungsdatum bisqEasy.offerDetails.makersTradeTerms=Handelsbedingungen des Anbieters -bisqEasy.offerDetails.requiredTotalReputationScore=Erforderliche Reputation für den Käufer ################################################################################ diff --git a/i18n/src/main/resources/bisq_easy_es.properties b/i18n/src/main/resources/bisq_easy_es.properties index 64db237203..3eaf94b98d 100644 --- a/i18n/src/main/resources/bisq_easy_es.properties +++ b/i18n/src/main/resources/bisq_easy_es.properties @@ -497,7 +497,6 @@ bisqEasy.offerDetails.paymentMethods=Método(s) de pago admitido(s) bisqEasy.offerDetails.id=ID de la oferta bisqEasy.offerDetails.date=Fecha de creación bisqEasy.offerDetails.makersTradeTerms=Términos comerciales del creador -bisqEasy.offerDetails.requiredTotalReputationScore=Puntuación total de reputación requerida para el tomador ################################################################################ diff --git a/i18n/src/main/resources/bisq_easy_it.properties b/i18n/src/main/resources/bisq_easy_it.properties index 2b7de4be6e..65a32258f7 100644 --- a/i18n/src/main/resources/bisq_easy_it.properties +++ b/i18n/src/main/resources/bisq_easy_it.properties @@ -497,7 +497,6 @@ bisqEasy.offerDetails.paymentMethods=Metodo/i di pagamento supportati bisqEasy.offerDetails.id=ID dell'offerta bisqEasy.offerDetails.date=Data di creazione bisqEasy.offerDetails.makersTradeTerms=Termini di compravendita del creatore -bisqEasy.offerDetails.requiredTotalReputationScore=Reputazione richiesta per l'accettante ################################################################################ diff --git a/i18n/src/main/resources/bisq_easy_pcm.properties b/i18n/src/main/resources/bisq_easy_pcm.properties index 334d39ffc5..41b1344015 100644 --- a/i18n/src/main/resources/bisq_easy_pcm.properties +++ b/i18n/src/main/resources/bisq_easy_pcm.properties @@ -497,7 +497,6 @@ bisqEasy.offerDetails.paymentMethods=Supported payment method(s) bisqEasy.offerDetails.id=Offer ID bisqEasy.offerDetails.date=Creation date bisqEasy.offerDetails.makersTradeTerms=Makers trade terms -bisqEasy.offerDetails.requiredTotalReputationScore=Required reputation score for taker ################################################################################ diff --git a/i18n/src/main/resources/bisq_easy_pt_BR.properties b/i18n/src/main/resources/bisq_easy_pt_BR.properties index 85d72df086..e492719c3e 100644 --- a/i18n/src/main/resources/bisq_easy_pt_BR.properties +++ b/i18n/src/main/resources/bisq_easy_pt_BR.properties @@ -497,7 +497,6 @@ bisqEasy.offerDetails.paymentMethods=Método(s) de pagamento suportados bisqEasy.offerDetails.id=ID da oferta bisqEasy.offerDetails.date=Data de criação bisqEasy.offerDetails.makersTradeTerms=Termos de negociação do criador -bisqEasy.offerDetails.requiredTotalReputationScore=Pontuação de reputação exigida para o aceitador ################################################################################ diff --git a/i18n/src/main/resources/chat.properties b/i18n/src/main/resources/chat.properties index 15cf7b39e0..5fffff7277 100644 --- a/i18n/src/main/resources/chat.properties +++ b/i18n/src/main/resources/chat.properties @@ -255,9 +255,11 @@ chat.message.takeOffer.buyer.makersReputationScoreTooLow.yes=Yes, I understand t chat.message.takeOffer.buyer.makersReputationScoreTooLow.no=No, I look for another offer chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.headline=Please review the risks when taking that offer -chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.warning=The seller''s reputation score is {0} and below the required reputation score of {1} for a trade amount of {2}.\n\n\ - As the trade amount is rather low, reputation requirements are relaxed. If you choose to proceed with taking the offer despite the lack of the seller''s reputation, ensure you fully understand the risks involved. \ - The security model of Bisq Easy is based on the seller''s reputation as the buyer need to send the fiat currency first.\n\n\ +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.warning=The seller's reputation score is {0}, \ + which is below the required score of {1} for a trade amount of {2}.\n\n\ + Since the trade amount is relatively low, the reputation requirements have been relaxed. \ + However, if you choose to proceed despite the seller's insufficient reputation, make sure you fully understand the associated risks. \ + Bisq Easy''s security model depends on the seller''s reputation, as the buyer is required to send fiat currency first.\n\n\ To learn more about the reputation system, visit: [HYPERLINK:https://bisq.wiki/Reputation].\n\n\ Do you still want to take the offer? chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.yes=Yes, I understand the risk and want to continue diff --git a/i18n/src/main/resources/default.properties b/i18n/src/main/resources/default.properties index 8a27b9711d..4af9f477e5 100644 --- a/i18n/src/main/resources/default.properties +++ b/i18n/src/main/resources/default.properties @@ -81,13 +81,13 @@ offer.amount=Amount temporal.date=Date temporal.age=Age # suppress inspection "UnusedProperty" -temporal.day.1=day +temporal.day.1={0} day # suppress inspection "UnusedProperty" -temporal.day.*=days +temporal.day.*={0} days # suppress inspection "UnusedProperty" -temporal.year.1=year +temporal.year.1={0} year # suppress inspection "UnusedProperty" -temporal.year.*=years +temporal.year.*={0} years temporal.at=at diff --git a/i18n/src/main/resources/default_cs.properties b/i18n/src/main/resources/default_cs.properties index 5ce7974108..f878ca02ba 100644 --- a/i18n/src/main/resources/default_cs.properties +++ b/i18n/src/main/resources/default_cs.properties @@ -81,13 +81,13 @@ offer.amount=Množství temporal.date=Datum temporal.age=Stáří # suppress inspection "UnusedProperty" -temporal.day.1=den +temporal.day.1={0} den # suppress inspection "UnusedProperty" -temporal.day.*=dny +temporal.day.*={0} dny # suppress inspection "UnusedProperty" -temporal.year.1=rok +temporal.year.1={0} rok # suppress inspection "UnusedProperty" -temporal.year.*=roky +temporal.year.*={0} roky temporal.at=v diff --git a/i18n/src/main/resources/default_de.properties b/i18n/src/main/resources/default_de.properties index eaa890cd86..b44bf20167 100644 --- a/i18n/src/main/resources/default_de.properties +++ b/i18n/src/main/resources/default_de.properties @@ -81,13 +81,13 @@ offer.amount=Menge temporal.date=Datum temporal.age=Alter # suppress inspection "UnusedProperty" -temporal.day.1=Tag +temporal.day.1={0} Tag # suppress inspection "UnusedProperty" -temporal.day.*=Tage +temporal.day.*={0} Tage # suppress inspection "UnusedProperty" -temporal.year.1=Jahr +temporal.year.1={0} Jahr # suppress inspection "UnusedProperty" -temporal.year.*=Jahre +temporal.year.*={0} Jahre temporal.at=bei diff --git a/i18n/src/main/resources/default_es.properties b/i18n/src/main/resources/default_es.properties index 3d70b8b6cf..03193c29d6 100644 --- a/i18n/src/main/resources/default_es.properties +++ b/i18n/src/main/resources/default_es.properties @@ -81,13 +81,13 @@ offer.amount=Cantidad temporal.date=Fecha temporal.age=Edad # suppress inspection "UnusedProperty" -temporal.day.1=día +temporal.day.1={0} día # suppress inspection "UnusedProperty" -temporal.day.*=días +temporal.day.*={0} días # suppress inspection "UnusedProperty" -temporal.year.1=año +temporal.year.1={0} año # suppress inspection "UnusedProperty" -temporal.year.*=años +temporal.year.*={0} años temporal.at=en diff --git a/i18n/src/main/resources/default_it.properties b/i18n/src/main/resources/default_it.properties index 42be585a13..d97dd817fd 100644 --- a/i18n/src/main/resources/default_it.properties +++ b/i18n/src/main/resources/default_it.properties @@ -81,13 +81,13 @@ offer.amount=Quantità temporal.date=Data temporal.age=Età # suppress inspection "UnusedProperty" -temporal.day.1=giorno +temporal.day.1={0} giorno # suppress inspection "UnusedProperty" -temporal.day.*=giorni +temporal.day.*={0} giorni # suppress inspection "UnusedProperty" -temporal.year.1=anno +temporal.year.1={0} anno # suppress inspection "UnusedProperty" -temporal.year.*=anni +temporal.year.*={0} anni temporal.at=a diff --git a/i18n/src/main/resources/default_pcm.properties b/i18n/src/main/resources/default_pcm.properties index 3d68a9f738..165940769a 100644 --- a/i18n/src/main/resources/default_pcm.properties +++ b/i18n/src/main/resources/default_pcm.properties @@ -81,13 +81,13 @@ offer.amount=Amount temporal.date=Date temporal.age=Age # suppress inspection "UnusedProperty" -temporal.day.1=day +temporal.day.1={0} day # suppress inspection "UnusedProperty" -temporal.day.*=days +temporal.day.*={0} days # suppress inspection "UnusedProperty" -temporal.year.1=year +temporal.year.1={0} year # suppress inspection "UnusedProperty" -temporal.year.*=years +temporal.year.*={0} years temporal.at=at diff --git a/i18n/src/main/resources/default_pt_BR.properties b/i18n/src/main/resources/default_pt_BR.properties index e6333453d4..ac08f0585d 100644 --- a/i18n/src/main/resources/default_pt_BR.properties +++ b/i18n/src/main/resources/default_pt_BR.properties @@ -81,13 +81,13 @@ offer.amount=Quantidade temporal.date=Data temporal.age=Idade # suppress inspection "UnusedProperty" -temporal.day.1=dia +temporal.day.1={0} dia # suppress inspection "UnusedProperty" -temporal.day.*=dias +temporal.day.*={0} dias # suppress inspection "UnusedProperty" -temporal.year.1=ano +temporal.year.1={0} ano # suppress inspection "UnusedProperty" -temporal.year.*=anos +temporal.year.*={0} anos temporal.at=às diff --git a/i18n/src/main/resources/settings.properties b/i18n/src/main/resources/settings.properties index 3af413d59b..53d4608dc9 100644 --- a/i18n/src/main/resources/settings.properties +++ b/i18n/src/main/resources/settings.properties @@ -35,12 +35,6 @@ settings.display.resetDontShowAgain=Reset all 'Don't show again' flags settings.trade.headline=Offer and trade settings settings.trade.maxTradePriceDeviation=Max. trade price tolerance settings.trade.maxTradePriceDeviation.help=The max. trade price difference a maker tolerates when their offer gets taken. -settings.trade.requiredTotalReputationScore=Min. required reputation score -settings.trade.requiredTotalReputationScore.help=Restrict trading to trader with a min. reputation score -settings.trade.minReputationScore.description.self=Custom min. required reputation score -settings.trade.minReputationScore.description.fromSecManager=Min. required reputation score by Bisq Security Manager -settings.trade.minReputationScore.invalid=Must be a number between 0 and {0} -settings.trade.minReputationScore.ignoreValueFromSecManager=Ignore value provided by Bisq Security Manager settings.trade.maxTradePriceDeviation.invalid=Must be a value between 1 and {0}% settings.trade.closeMyOfferWhenTaken=Close my offer when taken diff --git a/i18n/src/main/resources/settings_cs.properties b/i18n/src/main/resources/settings_cs.properties index 31c4b29c21..5c62a37ed7 100644 --- a/i18n/src/main/resources/settings_cs.properties +++ b/i18n/src/main/resources/settings_cs.properties @@ -35,12 +35,6 @@ settings.display.resetDontShowAgain=Obnovit všechny vlajky "Nezobrazovat znovu" settings.trade.headline=Nastavení nabídky a obchodu settings.trade.maxTradePriceDeviation=Maximální tolerance cen obchodu settings.trade.maxTradePriceDeviation.help=Maximální rozdíl ceny obchodu, který maker toleruje, když je jejich nabídka přijata. -settings.trade.requiredTotalReputationScore=Minimální požadované hodnocení reputace -settings.trade.requiredTotalReputationScore.help=Omezit obchodování na obchodníky s minimálním hodnocením reputace -settings.trade.minReputationScore.description.self=Vlastní minimálně požadované reputační skóre -settings.trade.minReputationScore.description.fromSecManager=Minimálně požadované reputační skóre podle Bezpečnostního manažera Bisq -settings.trade.minReputationScore.invalid=Hodnota musí být číslo mezi 0 a {0} -settings.trade.minReputationScore.ignoreValueFromSecManager=Ignorovat hodnotu poskytnutou Bezpečnostním manažerem Bisq settings.trade.maxTradePriceDeviation.invalid=Musí být hodnota mezi 1 a {0} % settings.trade.closeMyOfferWhenTaken=Zavřít mou nabídku, když je přijata diff --git a/i18n/src/main/resources/settings_de.properties b/i18n/src/main/resources/settings_de.properties index 3c70d6e547..5e182c0795 100644 --- a/i18n/src/main/resources/settings_de.properties +++ b/i18n/src/main/resources/settings_de.properties @@ -35,12 +35,6 @@ settings.display.resetDontShowAgain=Alle 'Nicht erneut anzeigen'-Hinweise zurüc settings.trade.headline=Angebots- und Handelseinstellungen settings.trade.maxTradePriceDeviation=Maximale Handelspreisabweichung settings.trade.maxTradePriceDeviation.help=Die maximale Handelspreisabweichung, die ein Anbieter toleriert, wenn sein Angebot angenommen wird. -settings.trade.requiredTotalReputationScore=Min. erforderlicher Reputationswert -settings.trade.requiredTotalReputationScore.help=Handel auf Trader mit einer Mindest-Reputation beschränken -settings.trade.minReputationScore.description.self=Benutzerdefinierter Mindest-Reputationswert -settings.trade.minReputationScore.description.fromSecManager=Mindest-Reputationswert vom Bisq-Sicherheitsmanager -settings.trade.minReputationScore.invalid=Muss eine Zahl zwischen 0 und {0} sein -settings.trade.minReputationScore.ignoreValueFromSecManager=Wert vom Bisq-Sicherheitsmanager ignorieren settings.trade.maxTradePriceDeviation.invalid=Muss ein Wert zwischen 1 und {0}% sein settings.trade.closeMyOfferWhenTaken=Mein Angebot schließen, wenn angenommen diff --git a/i18n/src/main/resources/settings_es.properties b/i18n/src/main/resources/settings_es.properties index a150640d94..89798153e7 100644 --- a/i18n/src/main/resources/settings_es.properties +++ b/i18n/src/main/resources/settings_es.properties @@ -35,12 +35,6 @@ settings.display.resetDontShowAgain=Restablecer todos los indicadores de 'No mos settings.trade.headline=Configuraciones de oferta e intercambio settings.trade.maxTradePriceDeviation=Tolerancia máxima de precio de operación settings.trade.maxTradePriceDeviation.help=Diferencia máxima de precio de operación que un ofertante tolera cuando su oferta es aceptada. -settings.trade.requiredTotalReputationScore=Puntuación mínima de reputación requerida -settings.trade.requiredTotalReputationScore.help=Restringir el intercambio a usuarios con una puntuación mínima de reputación -settings.trade.minReputationScore.description.self=Puntuación de reputación mínima requerida personalizada -settings.trade.minReputationScore.description.fromSecManager=Puntuación de reputación mínima requerida por el Mánager de Seguridad de Bisq -settings.trade.minReputationScore.invalid=Debe ser un número entre 0 y {0} -settings.trade.minReputationScore.ignoreValueFromSecManager=Ignorar el valor proporcionado por el Mánager de Seguridad de Bisq settings.trade.maxTradePriceDeviation.invalid=Debe ser un valor entre 1 y {0}% settings.trade.closeMyOfferWhenTaken=Cerrar mi oferta cuando sea aceptada diff --git a/i18n/src/main/resources/settings_it.properties b/i18n/src/main/resources/settings_it.properties index 170e37758a..905486a70c 100644 --- a/i18n/src/main/resources/settings_it.properties +++ b/i18n/src/main/resources/settings_it.properties @@ -35,12 +35,6 @@ settings.display.resetDontShowAgain=Resetta tutti i flag 'Non mostrare più' settings.trade.headline=Impostazioni offerta e trade settings.trade.maxTradePriceDeviation=Tolleranza massima del prezzo di scambio settings.trade.maxTradePriceDeviation.help=Differenza massima di prezzo di scambio che un maker tollera quando la sua offerta viene accettata. -settings.trade.requiredTotalReputationScore=Punteggio minimo di reputazione richiesto -settings.trade.requiredTotalReputationScore.help=Limita il trading ai trader con un punteggio di reputazione minimo -settings.trade.minReputationScore.description.self=Punteggio di reputazione minimo richiesto personalizzato -settings.trade.minReputationScore.description.fromSecManager=Punteggio di reputazione minimo richiesto dal Gestore della Sicurezza di Bisq -settings.trade.minReputationScore.invalid=Deve essere un numero tra 0 e {0} -settings.trade.minReputationScore.ignoreValueFromSecManager=Ignora il valore fornito dal Gestore della Sicurezza di Bisq settings.trade.maxTradePriceDeviation.invalid=Deve essere un valore compreso tra 1 e {0}% settings.trade.closeMyOfferWhenTaken=Chiudi la mia offerta quando viene accettata diff --git a/i18n/src/main/resources/settings_pcm.properties b/i18n/src/main/resources/settings_pcm.properties index 17eef24928..9b151fc476 100644 --- a/i18n/src/main/resources/settings_pcm.properties +++ b/i18n/src/main/resources/settings_pcm.properties @@ -35,12 +35,6 @@ settings.display.resetDontShowAgain=Reset All 'No Show Again' Flags settings.trade.headline=Offer And Trade Settings settings.trade.maxTradePriceDeviation=Max. trade price tolerance settings.trade.maxTradePriceDeviation.help=The maximum price difference that a maker can tolerate when their offer is taken. -settings.trade.requiredTotalReputationScore=Min. required reputation score -settings.trade.requiredTotalReputationScore.help=Make You Restrict Trade To Traders Wey Get Minimum Reputation Score -settings.trade.minReputationScore.description.self=Custom min. required reputation score -settings.trade.minReputationScore.description.fromSecManager=Min. required reputation score by Bisq Security Manager -settings.trade.minReputationScore.invalid=Must be a number between 0 and {0} -settings.trade.minReputationScore.ignoreValueFromSecManager=Ignore value provided by Bisq Security Manager settings.trade.maxTradePriceDeviation.invalid=Must be a value between 1 and {0}% settings.trade.closeMyOfferWhenTaken=Close My Offer Wey Dem Take diff --git a/i18n/src/main/resources/settings_pt_BR.properties b/i18n/src/main/resources/settings_pt_BR.properties index 04faff0b74..fc0b9de93d 100644 --- a/i18n/src/main/resources/settings_pt_BR.properties +++ b/i18n/src/main/resources/settings_pt_BR.properties @@ -35,12 +35,6 @@ settings.display.resetDontShowAgain=Resetar todas as flags 'Não mostrar novamen settings.trade.headline=Configurações de Oferta e Comércio settings.trade.maxTradePriceDeviation=Tolerância máxima do preço de negociação settings.trade.maxTradePriceDeviation.help=A diferença máxima de preço de negociação que um ofertante tolera quando sua oferta é aceita. -settings.trade.requiredTotalReputationScore=Pontuação mínima de reputação exigida -settings.trade.requiredTotalReputationScore.help=Restringir negociação a comerciantes com pontuação mínima de reputação -settings.trade.minReputationScore.description.self=Pontuação mínima de reputação personalizada necessária -settings.trade.minReputationScore.description.fromSecManager=Pontuação mínima de reputação necessária pelo Gerenciador de Segurança do Bisq -settings.trade.minReputationScore.invalid=Deve ser um número entre 0 e {0} -settings.trade.minReputationScore.ignoreValueFromSecManager=Ignorar valor fornecido pelo Gerenciador de Segurança do Bisq settings.trade.maxTradePriceDeviation.invalid=Deve ser um valor entre 1 e {0}% settings.trade.closeMyOfferWhenTaken=Fechar minha oferta quando aceita diff --git a/offer/src/main/java/bisq/offer/bisq_easy/BisqEasyOffer.java b/offer/src/main/java/bisq/offer/bisq_easy/BisqEasyOffer.java index dc7d1f58cd..52f0fbcc01 100644 --- a/offer/src/main/java/bisq/offer/bisq_easy/BisqEasyOffer.java +++ b/offer/src/main/java/bisq/offer/bisq_easy/BisqEasyOffer.java @@ -59,7 +59,6 @@ public BisqEasyOffer(NetworkId makerNetworkId, List bitcoinPaymentMethods, List fiatPaymentMethods, String makersTradeTerms, - long requiredTotalReputationScore, List supportedLanguageCodes) { this(StringUtils.createUid(), System.currentTimeMillis(), @@ -71,7 +70,7 @@ public BisqEasyOffer(NetworkId makerNetworkId, List.of(TradeProtocolType.BISQ_EASY), PaymentMethodSpecUtil.createBitcoinPaymentMethodSpecs(bitcoinPaymentMethods), PaymentMethodSpecUtil.createFiatPaymentMethodSpecs(fiatPaymentMethods), - OfferOptionUtil.fromTradeTermsAndReputationScore(makersTradeTerms, requiredTotalReputationScore), + OfferOptionUtil.fromTradeTerms(makersTradeTerms), supportedLanguageCodes ); } diff --git a/offer/src/main/java/bisq/offer/options/OfferOptionUtil.java b/offer/src/main/java/bisq/offer/options/OfferOptionUtil.java index e003128769..1789124866 100644 --- a/offer/src/main/java/bisq/offer/options/OfferOptionUtil.java +++ b/offer/src/main/java/bisq/offer/options/OfferOptionUtil.java @@ -25,14 +25,11 @@ import java.util.Optional; public class OfferOptionUtil { - public static List fromTradeTermsAndReputationScore(String makersTradeTerms, long requiredTotalReputationScore) { + public static List fromTradeTerms(String makersTradeTerms) { List offerOptions = new ArrayList<>(); if (makersTradeTerms != null && !makersTradeTerms.isEmpty()) { offerOptions.add(new TradeTermsOption(makersTradeTerms)); } - if (requiredTotalReputationScore > 0) { - offerOptions.add(new ReputationOption(requiredTotalReputationScore)); - } return offerOptions; } @@ -43,13 +40,6 @@ public static Optional findTradeTermsOption(Collection findReputationOption(Collection offerOptions) { - return offerOptions.stream() - .filter(option -> option instanceof ReputationOption) - .map(option -> (ReputationOption) option) - .findAny(); - } - public static Optional findCollateralOption(Collection offerOptions) { return offerOptions.stream() .filter(option -> option instanceof CollateralOption) @@ -75,9 +65,4 @@ public static Optional findMakersTradeTerms(Offer offer) { return OfferOptionUtil.findTradeTermsOption(offer.getOfferOptions()).stream().findAny() .map(TradeTermsOption::getMakersTradeTerms); } - - public static Optional findRequiredTotalReputationScore(Offer offer) { - return OfferOptionUtil.findReputationOption(offer.getOfferOptions()).stream().findAny() - .map(ReputationOption::getRequiredTotalReputationScore); - } } \ No newline at end of file diff --git a/offer/src/main/java/bisq/offer/options/ReputationOption.java b/offer/src/main/java/bisq/offer/options/ReputationOption.java index bb763bc3f9..b018e82bee 100644 --- a/offer/src/main/java/bisq/offer/options/ReputationOption.java +++ b/offer/src/main/java/bisq/offer/options/ReputationOption.java @@ -25,6 +25,7 @@ @ToString @EqualsAndHashCode public final class ReputationOption implements OfferOption { + @Deprecated(since = "2.1.1") private final long requiredTotalReputationScore; public ReputationOption(long requiredTotalReputationScore) { diff --git a/offer/src/main/proto/offer.proto b/offer/src/main/proto/offer.proto index 6442273133..524d80c200 100644 --- a/offer/src/main/proto/offer.proto +++ b/offer/src/main/proto/offer.proto @@ -78,7 +78,7 @@ message PaymentMethodSpec { // options message ReputationOption { - uint64 requiredTotalReputationScore = 1; + uint64 requiredTotalReputationScore = 1 [deprecated = true]; // Not used anymore since 2.1.1 } message TradeTermsOption { string makersTradeTerms = 1; diff --git a/settings/src/main/java/bisq/settings/SettingsService.java b/settings/src/main/java/bisq/settings/SettingsService.java index 39483bd19d..977ff2bf09 100644 --- a/settings/src/main/java/bisq/settings/SettingsService.java +++ b/settings/src/main/java/bisq/settings/SettingsService.java @@ -17,7 +17,6 @@ package bisq.settings; -import bisq.common.application.DevMode; import bisq.common.application.Service; import bisq.common.currency.FiatCurrencyRepository; import bisq.common.currency.Market; @@ -41,6 +40,7 @@ @Slf4j public class SettingsService implements PersistenceClient, Service { + @Deprecated(since = "2.1.1") public final static long DEFAULT_MIN_REQUIRED_REPUTATION_SCORE = 30_000; public final static double DEFAULT_MAX_TRADE_PRICE_DEVIATION = 0.05; // 5% @@ -73,7 +73,6 @@ public CompletableFuture initialize() { getChatNotificationType().addObserver(value -> persist()); getUseAnimations().addObserver(value -> persist()); getPreventStandbyMode().addObserver(value -> persist()); - getMinRequiredReputationScore().addObserver(value -> persist()); getCloseMyOfferWhenTaken().addObserver(value -> persist()); getConsumedAlertIds().addObserver(this::persist); getSupportedLanguageCodes().addObserver(this::persist); @@ -83,7 +82,6 @@ public CompletableFuture initialize() { getDifficultyAdjustmentFactor().addObserver(value -> persist()); getIgnoreDiffAdjustmentFromSecManager().addObserver(value -> persist()); getFavouriteMarkets().addObserver(this::persist); - getIgnoreMinRequiredReputationScoreFromSecManager().addObserver(value -> persist()); getMaxTradePriceDeviation().addObserver(value -> persist()); getShowBuyOffers().addObserver(value -> persist()); getShowOfferListExpanded().addObserver(value -> persist()); @@ -93,12 +91,6 @@ public CompletableFuture initialize() { isInitialized = true; - if (DevMode.isDevMode() && getMinRequiredReputationScore().get() == DEFAULT_MIN_REQUIRED_REPUTATION_SCORE) { - getIgnoreMinRequiredReputationScoreFromSecManager().set(true); - getMinRequiredReputationScore().set(0L); - log.info("In dev mode we set getMinRequiredReputationScore to 0 if it was the default value of {}", - DEFAULT_MIN_REQUIRED_REPUTATION_SCORE); - } return CompletableFuture.completedFuture(true); } @@ -148,10 +140,6 @@ public Observable getUseAnimations() { return persistableStore.useAnimations; } - public Observable getMinRequiredReputationScore() { - return persistableStore.minRequiredReputationScore; - } - public Observable getOffersOnly() { return persistableStore.offersOnly; } @@ -168,10 +156,6 @@ public Observable getIgnoreDiffAdjustmentFromSecManager() { return persistableStore.ignoreDiffAdjustmentFromSecManager; } - public Observable getIgnoreMinRequiredReputationScoreFromSecManager() { - return persistableStore.ignoreMinRequiredReputationScoreFromSecManager; - } - public Observable getDifficultyAdjustmentFactor() { return persistableStore.difficultyAdjustmentFactor; } diff --git a/settings/src/main/java/bisq/settings/SettingsStore.java b/settings/src/main/java/bisq/settings/SettingsStore.java index b87beb36e2..c9c19a5a52 100644 --- a/settings/src/main/java/bisq/settings/SettingsStore.java +++ b/settings/src/main/java/bisq/settings/SettingsStore.java @@ -40,7 +40,8 @@ public final class SettingsStore implements PersistableStore { final Map dontShowAgainMap = new ConcurrentHashMap<>(); final Observable useAnimations = new Observable<>(); final Observable selectedMarket = new Observable<>(); - final Observable minRequiredReputationScore = new Observable<>(); + @Deprecated(since = "2.1.1") + private final Observable minRequiredReputationScore = new Observable<>(); final Observable offersOnly = new Observable<>(); final Observable tradeRulesConfirmed = new Observable<>(); final Observable chatNotificationType = new Observable<>(); @@ -53,6 +54,7 @@ public final class SettingsStore implements PersistableStore { final Observable difficultyAdjustmentFactor = new Observable<>(); final Observable ignoreDiffAdjustmentFromSecManager = new Observable<>(); final ObservableSet favouriteMarkets = new ObservableSet<>(); + @Deprecated(since = "2.1.1") final Observable ignoreMinRequiredReputationScoreFromSecManager = new Observable<>(); final Observable maxTradePriceDeviation = new Observable<>(); final Observable showBuyOffers = new Observable<>(); diff --git a/settings/src/main/proto/settings.proto b/settings/src/main/proto/settings.proto index 525291d865..3d72cdb028 100644 --- a/settings/src/main/proto/settings.proto +++ b/settings/src/main/proto/settings.proto @@ -43,7 +43,7 @@ message SettingsStore { map dontShowAgainMap = 2; bool useAnimations = 3; common.Market selectedMarket = 4; - sint64 minRequiredReputationScore = 5; + sint64 minRequiredReputationScore = 5 [deprecated = true]; // Not used anymore since 2.1.1 bool offersOnly = 6; bool tradeRulesConfirmed = 7; ChatNotificationType chatNotificationType = 8; @@ -56,7 +56,7 @@ message SettingsStore { double difficultyAdjustmentFactor = 15; bool ignoreDiffAdjustmentFromSecManager = 16; repeated common.Market favouriteMarkets = 17; - bool ignoreMinRequiredReputationScoreFromSecManager = 18; + bool ignoreMinRequiredReputationScoreFromSecManager = 18 [deprecated = true]; // Not used anymore since 2.1.1 double maxTradePriceDeviation = 19; bool showBuyOffers = 20; bool showOfferListExpanded = 21; diff --git a/support/src/main/java/bisq/support/security_manager/SecurityManagerService.java b/support/src/main/java/bisq/support/security_manager/SecurityManagerService.java index 687461ea3b..8d500c712b 100644 --- a/support/src/main/java/bisq/support/security_manager/SecurityManagerService.java +++ b/support/src/main/java/bisq/support/security_manager/SecurityManagerService.java @@ -23,7 +23,6 @@ import bisq.bonded_roles.security_manager.alert.AlertType; import bisq.bonded_roles.security_manager.alert.AuthorizedAlertData; import bisq.bonded_roles.security_manager.difficulty_adjustment.AuthorizedDifficultyAdjustmentData; -import bisq.bonded_roles.security_manager.min_reputation_score.AuthorizedMinRequiredReputationScoreData; import bisq.common.application.Service; import bisq.common.observable.Observable; import bisq.common.util.StringUtils; @@ -157,35 +156,8 @@ public CompletableFuture publishDifficultyAdjustment(double difficultyA .thenApply(broadCastDataResult -> true); } - public CompletableFuture publishMinRequiredReputationScore(long minRequiredReputationScore) { - UserIdentity userIdentity = userIdentityService.getSelectedUserIdentity(); - String securityManagerProfileId = userIdentity.getId(); - KeyPair keyPair = userIdentity.getIdentity().getKeyBundle().getKeyPair(); - AuthorizedMinRequiredReputationScoreData data = new AuthorizedMinRequiredReputationScoreData(new Date().getTime(), - minRequiredReputationScore, - securityManagerProfileId, - staticPublicKeysProvided); - - // Can be removed once there are no pre 2.1.0 versions out there anymore - AuthorizedMinRequiredReputationScoreData oldVersion = new AuthorizedMinRequiredReputationScoreData(0, - data.getDate(), - data.getMinRequiredReputationScore(), - data.getSecurityManagerProfileId(), - data.isStaticPublicKeysProvided()); - networkService.publishAuthorizedData(oldVersion, keyPair); - - return networkService.publishAuthorizedData(data, keyPair) - .thenApply(broadCastDataResult -> true); - } - public CompletableFuture removeDifficultyAdjustment(AuthorizedDifficultyAdjustmentData data, KeyPair ownerKeyPair) { return networkService.removeAuthorizedData(data, ownerKeyPair, ownerKeyPair.getPublic()) .thenApply(broadCastDataResult -> true); } - - public CompletableFuture removeMinRequiredReputationScore(AuthorizedMinRequiredReputationScoreData data, - KeyPair ownerKeyPair) { - return networkService.removeAuthorizedData(data, ownerKeyPair, ownerKeyPair.getPublic()) - .thenApply(broadCastDataResult -> true); - } } \ No newline at end of file