remove unused protobuf fields

remove TraderSignedWitnessMessage
remove tx fee from offer and trade
set dispute's disputePayoutTxId when payout observed
synchronize access to PersistenceManager.persistNow()
fix concurrent modification exception in OfferBookChartView
This commit is contained in:
woodser 2023-02-10 11:01:41 -05:00
parent 0372af663a
commit 6f16a5ee92
30 changed files with 63 additions and 294 deletions

View file

@ -204,7 +204,7 @@ public class OfferBookChartView extends ActivatableViewAndModel<VBox, OfferBookC
CurrencyListItem selectedItem = currencyComboBox.getSelectionModel().getSelectedItem();
if (selectedItem != null) {
model.onSetTradeCurrency(selectedItem.tradeCurrency);
updateChartData();
UserThread.execute(() -> updateChartData());
}
});
@ -290,7 +290,7 @@ public class OfferBookChartView extends ActivatableViewAndModel<VBox, OfferBookC
}
private void createListener() {
changeListener = c -> updateChartData();
changeListener = c -> UserThread.execute(() -> updateChartData());
currencyListItemsListener = c -> {
if (model.getSelectedCurrencyListItem().isPresent())
@ -353,17 +353,15 @@ public class OfferBookChartView extends ActivatableViewAndModel<VBox, OfferBookC
chartPane.getChildren().add(areaChart);
}
private void updateChartData() {
UserThread.execute(() -> {
seriesBuy.getData().clear();
seriesSell.getData().clear();
areaChart.getData().clear();
private synchronized void updateChartData() {
seriesBuy.getData().clear();
seriesSell.getData().clear();
areaChart.getData().clear();
seriesBuy.getData().addAll(filterOutliersBuy(model.getBuyData()));
seriesSell.getData().addAll(filterOutliersSell(model.getSellData()));
seriesBuy.getData().addAll(filterOutliersBuy(model.getBuyData()));
seriesSell.getData().addAll(filterOutliersSell(model.getSellData()));
areaChart.getData().addAll(List.of(seriesBuy, seriesSell));
});
areaChart.getData().addAll(List.of(seriesBuy, seriesSell));
}
List<XYChart.Data<Number, Number>> filterOutliersBuy(List<XYChart.Data<Number, Number>> buy) {

View file

@ -223,11 +223,6 @@ public class TradeDetailsWindow extends Overlay<TradeDetailsWindow> {
formatter.formatCoinWithCode(offer.getSellerSecurityDeposit());
addConfirmationLabelTextField(gridPane, ++rowIndex, Res.get("shared.securityDeposit"), securityDeposit);
String txFee = Res.get("shared.makerTxFee", formatter.formatCoinWithCode(offer.getTxFee())) +
" / " +
Res.get("shared.takerTxFee", formatter.formatCoinWithCode(trade.getTxFee().multiply(3)));
addConfirmationLabelTextField(gridPane, ++rowIndex, Res.get("tradeDetailsWindow.txFee"), txFee);
NodeAddress arbitratorNodeAddress = trade.getArbitratorNodeAddress();
if (arbitratorNodeAddress != null) {
addConfirmationLabelTextField(gridPane, ++rowIndex,

View file

@ -127,7 +127,7 @@ public class ClosedTradesView extends ActivatableViewAndModel<VBox, ClosedTrades
TableView<ClosedTradesListItem> tableView;
@FXML
TableColumn<ClosedTradesListItem, ClosedTradesListItem> priceColumn, deviationColumn, amountColumn, volumeColumn,
txFeeColumn, tradeFeeColumn, buyerSecurityDepositColumn, sellerSecurityDepositColumn,
tradeFeeColumn, buyerSecurityDepositColumn, sellerSecurityDepositColumn,
marketColumn, directionColumn, dateColumn, tradeIdColumn, stateColumn,
duplicateColumn, avatarColumn;
@FXML
@ -171,7 +171,6 @@ public class ClosedTradesView extends ActivatableViewAndModel<VBox, ClosedTrades
@Override
public void initialize() {
widthListener = (observable, oldValue, newValue) -> onWidthChange((double) newValue);
txFeeColumn.setGraphic(new AutoTooltipLabel(ColumnNames.TX_FEE.toString()));
tradeFeeColumn.setGraphic(new AutoTooltipLabel(ColumnNames.TRADE_FEE_BTC.toString().replace(" BTC", "")));
buyerSecurityDepositColumn.setGraphic(new AutoTooltipLabel(ColumnNames.BUYER_SEC.toString()));
sellerSecurityDepositColumn.setGraphic(new AutoTooltipLabel(ColumnNames.SELLER_SEC.toString()));
@ -194,7 +193,6 @@ public class ClosedTradesView extends ActivatableViewAndModel<VBox, ClosedTrades
setTradeIdColumnCellFactory();
setDirectionColumnCellFactory();
setAmountColumnCellFactory();
setTxFeeColumnCellFactory();
setTradeFeeColumnCellFactory();
setBuyerSecurityDepositColumnCellFactory();
setSellerSecurityDepositColumnCellFactory();
@ -218,10 +216,6 @@ public class ClosedTradesView extends ActivatableViewAndModel<VBox, ClosedTrades
volumeColumn.setComparator(nullsFirstComparingAsTrade(Trade::getVolume));
amountColumn.setComparator(Comparator.comparing(ClosedTradesListItem::getAmount, Comparator.nullsFirst(Comparator.naturalOrder())));
avatarColumn.setComparator(Comparator.comparing(ClosedTradesListItem::getNumPastTrades, Comparator.nullsFirst(Comparator.naturalOrder())));
txFeeColumn.setComparator(nullsFirstComparing(o ->
o.getTradable() instanceof Trade ? ((Trade) o.getTradable()).getTxFee() : o.getTradable().getOffer().getTxFee()
));
txFeeColumn.setComparator(Comparator.comparing(ClosedTradesListItem::getTxFeeAsString, Comparator.nullsFirst(Comparator.naturalOrder())));
//
tradeFeeColumn.setComparator(Comparator.comparing(item -> {
@ -342,8 +336,6 @@ public class ClosedTradesView extends ActivatableViewAndModel<VBox, ClosedTrades
}
private void onWidthChange(double width) {
txFeeColumn.setVisible(width > 1200);
tradeFeeColumn.setVisible(width > 1300);
buyerSecurityDepositColumn.setVisible(width > 1400);
sellerSecurityDepositColumn.setVisible(width > 1500);
}
@ -632,28 +624,6 @@ public class ClosedTradesView extends ActivatableViewAndModel<VBox, ClosedTrades
});
}
private void setTxFeeColumnCellFactory() {
txFeeColumn.setCellValueFactory((item) -> new ReadOnlyObjectWrapper<>(item.getValue()));
txFeeColumn.setCellFactory(
new Callback<>() {
@Override
public TableCell<ClosedTradesListItem, ClosedTradesListItem> call(
TableColumn<ClosedTradesListItem, ClosedTradesListItem> column) {
return new TableCell<>() {
@Override
public void updateItem(final ClosedTradesListItem item, boolean empty) {
super.updateItem(item, empty);
if (item != null && !empty) {
setGraphic(new AutoTooltipLabel(item.getTxFeeAsString()));
} else {
setGraphic(null);
}
}
};
}
});
}
private void setTradeFeeColumnCellFactory() {
tradeFeeColumn.setCellValueFactory((item) -> new ReadOnlyObjectWrapper<>(item.getValue()));
tradeFeeColumn.setCellFactory(

View file

@ -204,7 +204,6 @@ class EditOfferDataModel extends MutableOfferDataModel {
newOfferPayload.getAcceptedBankIds(),
offerPayload.getVersionNr(),
offerPayload.getBlockHeightAtOfferCreation(),
offerPayload.getTxFee(),
offerPayload.getMakerFee(),
offerPayload.getBuyerSecurityDeposit(),
offerPayload.getSellerSecurityDeposit(),

View file

@ -294,26 +294,6 @@ public class PendingTradesDataModel extends ActivatableDataModel {
}
}
Coin getTxFee() {
Trade trade = getTrade();
if (trade != null) {
if (isMaker()) {
Offer offer = trade.getOffer();
if (offer != null) {
return offer.getTxFee();
} else {
log.error("offer is null");
return Coin.ZERO;
}
} else {
return trade.getTxFee().multiply(3);
}
} else {
log.error("Trade is null at getTotalFees");
return Coin.ZERO;
}
}
@Nullable
public PaymentAccountPayload getSellersPaymentAccountPayload() {
if (getTrade() == null) return null;

View file

@ -292,18 +292,6 @@ public class PendingTradesViewModel extends ActivatableWithDataModel<PendingTrad
: "";
}
public String getTxFee() {
if (trade != null && trade.getAmount() != null) {
Coin txFee = dataModel.getTxFee();
String percentage = GUIUtil.getPercentageOfTradeAmount(txFee,
trade.getAmount(),
Coin.ZERO);
return btcFormatter.formatCoinWithCode(txFee) + percentage;
} else {
return "";
}
}
public String getTradeFee() {
if (trade != null && dataModel.getOffer() != null && trade.getAmount() != null) {
checkNotNull(dataModel.getTrade());

View file

@ -108,10 +108,6 @@ public class BuyerStep4View extends TradeStepView {
addCompactTopLabelTextField(gridPane, ++gridRow, getFiatTradeAmountLabel(), model.getFiatVolume());
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("portfolio.pending.step5_buyer.refunded"), model.getSecurityDeposit());
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("portfolio.pending.step5_buyer.tradeFee"), model.getTradeFee());
final String miningFee = model.dataModel.isMaker() ?
Res.get("portfolio.pending.step5_buyer.makersMiningFee") :
Res.get("portfolio.pending.step5_buyer.takersMiningFee");
addCompactTopLabelTextField(gridPane, ++gridRow, miningFee, model.getTxFee());
}
closeButton = new AutoTooltipButton(Res.get("shared.close"));