mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-08-18 19:28:08 -04:00
set buyer and seller payout tx fee and amount, fix csv export #720
This commit is contained in:
parent
846a8634e5
commit
8800d9ea46
18 changed files with 374 additions and 247 deletions
|
@ -211,8 +211,8 @@ public class DisputeSummaryWindow extends Overlay<DisputeSummaryWindow> {
|
|||
if (applyPeersDisputeResult) {
|
||||
// If the other peers dispute has been closed we apply the result to ourselves
|
||||
DisputeResult peersDisputeResult = peersDisputeOptional.get().getDisputeResultProperty().get();
|
||||
disputeResult.setBuyerPayoutAmount(peersDisputeResult.getBuyerPayoutAmount());
|
||||
disputeResult.setSellerPayoutAmount(peersDisputeResult.getSellerPayoutAmount());
|
||||
disputeResult.setBuyerPayoutAmountBeforeCost(peersDisputeResult.getBuyerPayoutAmountBeforeCost());
|
||||
disputeResult.setSellerPayoutAmountBeforeCost(peersDisputeResult.getSellerPayoutAmountBeforeCost());
|
||||
disputeResult.setWinner(peersDisputeResult.getWinner());
|
||||
disputeResult.setReason(peersDisputeResult.getReason());
|
||||
disputeResult.setSummaryNotes(peersDisputeResult.summaryNotesProperty().get());
|
||||
|
@ -402,8 +402,8 @@ public class DisputeSummaryWindow extends Overlay<DisputeSummaryWindow> {
|
|||
buyerPayoutAmountInputTextField.setText(formattedCounterPartAmount);
|
||||
}
|
||||
|
||||
disputeResult.setBuyerPayoutAmount(buyerAmount);
|
||||
disputeResult.setSellerPayoutAmount(sellerAmount);
|
||||
disputeResult.setBuyerPayoutAmountBeforeCost(buyerAmount);
|
||||
disputeResult.setSellerPayoutAmountBeforeCost(sellerAmount);
|
||||
disputeResult.setWinner(buyerAmount.compareTo(sellerAmount) > 0 ? DisputeResult.Winner.BUYER : DisputeResult.Winner.SELLER); // TODO: UI should allow selection of receiver of exact custom amount, otherwise defaulting to bigger receiver. could extend API to specify who pays payout tx fee: buyer, seller, or both
|
||||
disputeResult.setSubtractFeeFrom(buyerAmount.compareTo(sellerAmount) > 0 ? DisputeResult.SubtractFeeFrom.SELLER_ONLY : DisputeResult.SubtractFeeFrom.BUYER_ONLY);
|
||||
}
|
||||
|
@ -587,8 +587,7 @@ public class DisputeSummaryWindow extends Overlay<DisputeSummaryWindow> {
|
|||
!trade.isPayoutPublished()) {
|
||||
|
||||
// create payout tx
|
||||
MoneroTxWallet payoutTx = arbitrationManager.createDisputePayoutTx(trade, dispute.getContract(), disputeResult, false);
|
||||
trade.getProcessModel().setUnsignedPayoutTx((MoneroTxWallet) payoutTx);
|
||||
MoneroTxWallet payoutTx = arbitrationManager.createDisputePayoutTx(trade, dispute.getContract(), disputeResult, true);
|
||||
|
||||
// show confirmation
|
||||
showPayoutTxConfirmation(contract,
|
||||
|
@ -709,8 +708,8 @@ public class DisputeSummaryWindow extends Overlay<DisputeSummaryWindow> {
|
|||
throw new IllegalStateException("Unknown radio button");
|
||||
}
|
||||
disputesService.applyPayoutAmountsToDisputeResult(payout, dispute, disputeResult, -1);
|
||||
buyerPayoutAmountInputTextField.setText(HavenoUtils.formatXmr(disputeResult.getBuyerPayoutAmount()));
|
||||
sellerPayoutAmountInputTextField.setText(HavenoUtils.formatXmr(disputeResult.getSellerPayoutAmount()));
|
||||
buyerPayoutAmountInputTextField.setText(HavenoUtils.formatXmr(disputeResult.getBuyerPayoutAmountBeforeCost()));
|
||||
sellerPayoutAmountInputTextField.setText(HavenoUtils.formatXmr(disputeResult.getSellerPayoutAmountBeforeCost()));
|
||||
}
|
||||
|
||||
private void applyTradeAmountRadioButtonStates() {
|
||||
|
@ -719,8 +718,8 @@ public class DisputeSummaryWindow extends Overlay<DisputeSummaryWindow> {
|
|||
BigInteger sellerSecurityDeposit = trade.getSeller().getSecurityDeposit();
|
||||
BigInteger tradeAmount = contract.getTradeAmount();
|
||||
|
||||
BigInteger buyerPayoutAmount = disputeResult.getBuyerPayoutAmount();
|
||||
BigInteger sellerPayoutAmount = disputeResult.getSellerPayoutAmount();
|
||||
BigInteger buyerPayoutAmount = disputeResult.getBuyerPayoutAmountBeforeCost();
|
||||
BigInteger sellerPayoutAmount = disputeResult.getSellerPayoutAmountBeforeCost();
|
||||
|
||||
buyerPayoutAmountInputTextField.setText(HavenoUtils.formatXmr(buyerPayoutAmount));
|
||||
sellerPayoutAmountInputTextField.setText(HavenoUtils.formatXmr(sellerPayoutAmount));
|
||||
|
|
|
@ -91,8 +91,7 @@ public class ClosedTradesView extends ActivatableViewAndModel<VBox, ClosedTrades
|
|||
VOLUME(Res.get("shared.amount")),
|
||||
VOLUME_CURRENCY(Res.get("shared.currency")),
|
||||
TX_FEE(Res.get("shared.txFee")),
|
||||
TRADE_FEE_BTC(Res.get("shared.tradeFee") + " BTC"),
|
||||
TRADE_FEE_BSQ(Res.get("shared.tradeFee") + " BSQ"),
|
||||
TRADE_FEE(Res.get("shared.tradeFee")),
|
||||
BUYER_SEC(Res.get("shared.buyerSecurityDeposit")),
|
||||
SELLER_SEC(Res.get("shared.sellerSecurityDeposit")),
|
||||
OFFER_TYPE(Res.get("shared.offerType")),
|
||||
|
@ -158,7 +157,7 @@ public class ClosedTradesView extends ActivatableViewAndModel<VBox, ClosedTrades
|
|||
@Override
|
||||
public void initialize() {
|
||||
widthListener = (observable, oldValue, newValue) -> onWidthChange((double) newValue);
|
||||
tradeFeeColumn.setGraphic(new AutoTooltipLabel(ColumnNames.TRADE_FEE_BTC.toString().replace(" BTC", "")));
|
||||
tradeFeeColumn.setGraphic(new AutoTooltipLabel(ColumnNames.TRADE_FEE.toString().replace(" BTC", "")));
|
||||
buyerSecurityDepositColumn.setGraphic(new AutoTooltipLabel(ColumnNames.BUYER_SEC.toString()));
|
||||
sellerSecurityDepositColumn.setGraphic(new AutoTooltipLabel(ColumnNames.SELLER_SEC.toString()));
|
||||
priceColumn.setGraphic(new AutoTooltipLabel(ColumnNames.PRICE.toString()));
|
||||
|
@ -275,11 +274,9 @@ public class ClosedTradesView extends ActivatableViewAndModel<VBox, ClosedTrades
|
|||
columns[ColumnNames.VOLUME_CURRENCY.ordinal()] = item.getVolumeCurrencyAsString();
|
||||
columns[ColumnNames.TX_FEE.ordinal()] = item.getTxFeeAsString();
|
||||
if (model.dataModel.isCurrencyForTradeFeeBtc(item.getTradable())) {
|
||||
columns[ColumnNames.TRADE_FEE_BTC.ordinal()] = item.getTradeFeeAsString(false);
|
||||
columns[ColumnNames.TRADE_FEE_BSQ.ordinal()] = "";
|
||||
columns[ColumnNames.TRADE_FEE.ordinal()] = item.getTradeFeeAsString(false);
|
||||
} else {
|
||||
columns[ColumnNames.TRADE_FEE_BTC.ordinal()] = "";
|
||||
columns[ColumnNames.TRADE_FEE_BSQ.ordinal()] = item.getTradeFeeAsString(false);
|
||||
columns[ColumnNames.TRADE_FEE.ordinal()] = "";
|
||||
}
|
||||
columns[ColumnNames.BUYER_SEC.ordinal()] = item.getBuyerSecurityDepositAsString();
|
||||
columns[ColumnNames.SELLER_SEC.ordinal()] = item.getSellerSecurityDepositAsString();
|
||||
|
|
|
@ -679,8 +679,8 @@ public abstract class TradeStepView extends AnchorPane {
|
|||
DisputeResult disputeResult = optionalDispute.get().getDisputeResultProperty().get();
|
||||
Contract contract = checkNotNull(trade.getContract(), "contract must not be null");
|
||||
boolean isMyRoleBuyer = contract.isMyRoleBuyer(model.dataModel.getPubKeyRingProvider().get());
|
||||
String buyerPayoutAmount = HavenoUtils.formatXmr(disputeResult.getBuyerPayoutAmount(), true);
|
||||
String sellerPayoutAmount = HavenoUtils.formatXmr(disputeResult.getSellerPayoutAmount(), true);
|
||||
String buyerPayoutAmount = HavenoUtils.formatXmr(disputeResult.getBuyerPayoutAmountBeforeCost(), true);
|
||||
String sellerPayoutAmount = HavenoUtils.formatXmr(disputeResult.getSellerPayoutAmountBeforeCost(), true);
|
||||
String myPayoutAmount = isMyRoleBuyer ? buyerPayoutAmount : sellerPayoutAmount;
|
||||
String peersPayoutAmount = isMyRoleBuyer ? sellerPayoutAmount : buyerPayoutAmount;
|
||||
|
||||
|
|
|
@ -639,10 +639,9 @@ public abstract class DisputeView extends ActivatableView<VBox, Void> {
|
|||
String sellersRole = contract.isBuyerMakerAndSellerTaker() ? "Seller as taker" : "Seller as maker";
|
||||
String opener = firstDispute.isDisputeOpenerIsBuyer() ? buyersRole : sellersRole;
|
||||
DisputeResult disputeResult = firstDispute.getDisputeResultProperty().get();
|
||||
String winner = disputeResult != null &&
|
||||
disputeResult.getWinner() == DisputeResult.Winner.BUYER ? "Buyer" : "Seller";
|
||||
String buyerPayoutAmount = disputeResult != null ? HavenoUtils.formatXmr(disputeResult.getBuyerPayoutAmount(), true) : "";
|
||||
String sellerPayoutAmount = disputeResult != null ? HavenoUtils.formatXmr(disputeResult.getSellerPayoutAmount(), true) : "";
|
||||
String winner = disputeResult != null && disputeResult.getWinner() == DisputeResult.Winner.BUYER ? "Buyer" : "Seller";
|
||||
String buyerPayoutAmount = disputeResult != null ? HavenoUtils.formatXmr(disputeResult.getBuyerPayoutAmountBeforeCost(), true) : "";
|
||||
String sellerPayoutAmount = disputeResult != null ? HavenoUtils.formatXmr(disputeResult.getSellerPayoutAmountBeforeCost(), true) : "";
|
||||
|
||||
int index = disputeIndex.incrementAndGet();
|
||||
String tradeDateString = dateFormatter.format(firstDispute.getTradeDate());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue