mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-08-03 12:16:27 -04:00
Fix take offer fee (was using create offer fee)
This commit is contained in:
parent
ec62d5bc38
commit
ee4119b2e6
5 changed files with 17 additions and 16 deletions
|
@ -70,15 +70,16 @@ public class FeePolicy {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 0.001 BTC 0.1% of 1 BTC about 0.4 EUR @ 400 EUR/BTC
|
// 0.0005 BTC 0.05% of 1 BTC about 0.2 EUR @ 400 EUR/BTC
|
||||||
public static Coin getCreateOfferFee() {
|
public static Coin getCreateOfferFee() {
|
||||||
// We cannot reduce it more for alpha testing as we need to pay the quite high miner fee of 30_000
|
// We need to pay the quite high miner fee of 30_000 from the trading fee tx so 30_000 us our lower limit
|
||||||
return Coin.valueOf(100_000);
|
// The arbitrator receive only 0.0002 BTC - less than the miners
|
||||||
|
return Coin.valueOf(50_000);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Currently we use the same fee for both offerer and taker
|
// 0.001 BTC 0.1% of 1 BTC about 0.4 EUR @ 400 EUR/BTC
|
||||||
public static Coin getTakeOfferFee() {
|
public static Coin getTakeOfferFee() {
|
||||||
return getCreateOfferFee();
|
return Coin.valueOf(100_000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ class TakeOfferDataModel extends ActivatableDataModel {
|
||||||
private final BlockchainService blockchainService;
|
private final BlockchainService blockchainService;
|
||||||
private final BSFormatter formatter;
|
private final BSFormatter formatter;
|
||||||
|
|
||||||
private final Coin offerFeeAsCoin;
|
private final Coin takerFeeAsCoin;
|
||||||
private final Coin networkFeeAsCoin;
|
private final Coin networkFeeAsCoin;
|
||||||
private final Coin securityDepositAsCoin;
|
private final Coin securityDepositAsCoin;
|
||||||
|
|
||||||
|
@ -112,7 +112,7 @@ class TakeOfferDataModel extends ActivatableDataModel {
|
||||||
this.blockchainService = blockchainService;
|
this.blockchainService = blockchainService;
|
||||||
this.formatter = formatter;
|
this.formatter = formatter;
|
||||||
|
|
||||||
offerFeeAsCoin = FeePolicy.getCreateOfferFee();
|
takerFeeAsCoin = FeePolicy.getTakeOfferFee();
|
||||||
networkFeeAsCoin = FeePolicy.getFixedTxFeeForTrades();
|
networkFeeAsCoin = FeePolicy.getFixedTxFeeForTrades();
|
||||||
securityDepositAsCoin = FeePolicy.getSecurityDeposit();
|
securityDepositAsCoin = FeePolicy.getSecurityDeposit();
|
||||||
}
|
}
|
||||||
|
@ -316,9 +316,9 @@ class TakeOfferDataModel extends ActivatableDataModel {
|
||||||
|
|
||||||
void calculateTotalToPay() {
|
void calculateTotalToPay() {
|
||||||
if (getDirection() == Offer.Direction.SELL)
|
if (getDirection() == Offer.Direction.SELL)
|
||||||
totalToPayAsCoin.set(offerFeeAsCoin.add(networkFeeAsCoin).add(securityDepositAsCoin));
|
totalToPayAsCoin.set(takerFeeAsCoin.add(networkFeeAsCoin).add(securityDepositAsCoin));
|
||||||
else
|
else
|
||||||
totalToPayAsCoin.set(offerFeeAsCoin.add(networkFeeAsCoin).add(securityDepositAsCoin).add(amountAsCoin.get()));
|
totalToPayAsCoin.set(takerFeeAsCoin.add(networkFeeAsCoin).add(securityDepositAsCoin).add(amountAsCoin.get()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateBalance(@NotNull Coin balance) {
|
private void updateBalance(@NotNull Coin balance) {
|
||||||
|
@ -369,8 +369,8 @@ class TakeOfferDataModel extends ActivatableDataModel {
|
||||||
return securityDepositAsCoin;
|
return securityDepositAsCoin;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Coin getOfferFeeAsCoin() {
|
public Coin getTakerFeeAsCoin() {
|
||||||
return offerFeeAsCoin;
|
return takerFeeAsCoin;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Coin getNetworkFeeAsCoin() {
|
public Coin getNetworkFeeAsCoin() {
|
||||||
|
|
|
@ -816,7 +816,7 @@ public class TakeOfferView extends ActivatableViewAndModel<AnchorPane, TakeOffer
|
||||||
addPayInfoEntry(infoGridPane, i++, BSResources.get("takeOffer.fundsBox.tradeAmount"), model.getAmount());
|
addPayInfoEntry(infoGridPane, i++, BSResources.get("takeOffer.fundsBox.tradeAmount"), model.getAmount());
|
||||||
|
|
||||||
addPayInfoEntry(infoGridPane, i++, BSResources.get("takeOffer.fundsBox.securityDeposit"), model.getSecurityDeposit());
|
addPayInfoEntry(infoGridPane, i++, BSResources.get("takeOffer.fundsBox.securityDeposit"), model.getSecurityDeposit());
|
||||||
addPayInfoEntry(infoGridPane, i++, BSResources.get("takeOffer.fundsBox.offerFee"), model.getOfferFee());
|
addPayInfoEntry(infoGridPane, i++, BSResources.get("takeOffer.fundsBox.offerFee"), model.getTakerFee());
|
||||||
addPayInfoEntry(infoGridPane, i++, BSResources.get("takeOffer.fundsBox.networkFee"), model.getNetworkFee());
|
addPayInfoEntry(infoGridPane, i++, BSResources.get("takeOffer.fundsBox.networkFee"), model.getNetworkFee());
|
||||||
Separator separator = new Separator();
|
Separator separator = new Separator();
|
||||||
separator.setOrientation(Orientation.HORIZONTAL);
|
separator.setOrientation(Orientation.HORIZONTAL);
|
||||||
|
|
|
@ -555,8 +555,8 @@ class TakeOfferViewModel extends ActivatableWithDataModel<TakeOfferDataModel> im
|
||||||
return formatter.formatCoinWithCode(dataModel.amountAsCoin.get());
|
return formatter.formatCoinWithCode(dataModel.amountAsCoin.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
String getOfferFee() {
|
String getTakerFee() {
|
||||||
return formatter.formatCoinWithCode(dataModel.getOfferFeeAsCoin());
|
return formatter.formatCoinWithCode(dataModel.getTakerFeeAsCoin());
|
||||||
}
|
}
|
||||||
|
|
||||||
String getNetworkFee() {
|
String getNetworkFee() {
|
||||||
|
|
|
@ -57,7 +57,7 @@ createOffer.fundsBox.balance=Trade wallet balance:
|
||||||
createOffer.fundsBox.info=For every offer there is a dedicated trade wallet. You need to fund that trade wallet with the necessary bitcoin amount. Those funds are reserved and will be used in the case that your offer gets executed. If you cancel your offer you can withdraw your funds from that trading wallet. The only payment which will be done now when placing the offer is the offer fee payment.
|
createOffer.fundsBox.info=For every offer there is a dedicated trade wallet. You need to fund that trade wallet with the necessary bitcoin amount. Those funds are reserved and will be used in the case that your offer gets executed. If you cancel your offer you can withdraw your funds from that trading wallet. The only payment which will be done now when placing the offer is the offer fee payment.
|
||||||
createOffer.fundsBox.tradeAmount=Trade amount:
|
createOffer.fundsBox.tradeAmount=Trade amount:
|
||||||
createOffer.fundsBox.securityDeposit=Security deposit:
|
createOffer.fundsBox.securityDeposit=Security deposit:
|
||||||
createOffer.fundsBox.offerFee=Offer fee:
|
createOffer.fundsBox.offerFee=Create offer fee:
|
||||||
createOffer.fundsBox.networkFee=Mining fee:
|
createOffer.fundsBox.networkFee=Mining fee:
|
||||||
createOffer.fundsBox.total=Total:
|
createOffer.fundsBox.total=Total:
|
||||||
createOffer.fundsBox.showAdvanced=Show advanced settings
|
createOffer.fundsBox.showAdvanced=Show advanced settings
|
||||||
|
@ -116,7 +116,7 @@ takeOffer.fundsBox.sell.info=For every offer there is a dedicated trade wallet.
|
||||||
funds will be paid in to a locked deposit address. At the end of a successful trade you will get back your security deposit.
|
funds will be paid in to a locked deposit address. At the end of a successful trade you will get back your security deposit.
|
||||||
takeOffer.fundsBox.tradeAmount=Amount to sell:
|
takeOffer.fundsBox.tradeAmount=Amount to sell:
|
||||||
takeOffer.fundsBox.securityDeposit=Security deposit:
|
takeOffer.fundsBox.securityDeposit=Security deposit:
|
||||||
takeOffer.fundsBox.offerFee=Offer fee:
|
takeOffer.fundsBox.offerFee=Take offer fee:
|
||||||
takeOffer.fundsBox.networkFee=Mining fee:
|
takeOffer.fundsBox.networkFee=Mining fee:
|
||||||
takeOffer.fundsBox.total=Total:
|
takeOffer.fundsBox.total=Total:
|
||||||
takeOffer.fundsBox.showAdvanced=Show advanced settings
|
takeOffer.fundsBox.showAdvanced=Show advanced settings
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue