mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-08-09 07:02:24 -04:00
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:
parent
0372af663a
commit
6f16a5ee92
30 changed files with 63 additions and 294 deletions
|
@ -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) {
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -204,7 +204,6 @@ class EditOfferDataModel extends MutableOfferDataModel {
|
|||
newOfferPayload.getAcceptedBankIds(),
|
||||
offerPayload.getVersionNr(),
|
||||
offerPayload.getBlockHeightAtOfferCreation(),
|
||||
offerPayload.getTxFee(),
|
||||
offerPayload.getMakerFee(),
|
||||
offerPayload.getBuyerSecurityDeposit(),
|
||||
offerPayload.getSellerSecurityDeposit(),
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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"));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue