Skip to content

Commit

Permalink
Merge pull request #7357 from HenrikJannsen/prepare-activation-to-red…
Browse files Browse the repository at this point in the history
…uce-min-security-deposit

Prepare activation to reduce min security deposit
  • Loading branch information
alejandrogarcia83 authored Jan 15, 2025
2 parents 0b56ce5 + 6473071 commit 9f3e216
Showing 1 changed file with 29 additions and 7 deletions.
36 changes: 29 additions & 7 deletions core/src/main/java/bisq/core/btc/wallet/Restrictions.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,21 @@
package bisq.core.btc.wallet;

import bisq.common.config.Config;
import bisq.common.util.Utilities;

import org.bitcoinj.core.Coin;

import java.util.Date;
import java.util.GregorianCalendar;

public class Restrictions {
private static final Date MIN_SECURITY_DEPOSIT_CHANGE_ACTIVATION_DATE = Utilities.getUTCDate(2025, GregorianCalendar.MARCH, 1);

private static Coin MIN_TRADE_AMOUNT;
private static Coin MIN_BUYER_SECURITY_DEPOSIT;
// For the seller we use a fixed one as there is no way the seller can cancel the trade
// To make it editable would just increase complexity.
private static Coin SELLER_SECURITY_DEPOSIT;
private static Coin MIN_SELLER_SECURITY_DEPOSIT;
// At mediation we require a min. payout to the losing party to keep incentive for the trader to accept the
// mediated payout. For Refund agent cases we do not have that restriction.
private static Coin MIN_REFUND_AT_MEDIATED_DISPUTE;
Expand Down Expand Up @@ -66,10 +72,17 @@ public static double getMaxBuyerSecurityDepositAsPercent() {
}

// We use MIN_BUYER_SECURITY_DEPOSIT as well as lower bound in case of small trade amounts.
// So 0.0005 BTC is the min. buyer security deposit even with amount of 0.0001 BTC and 0.05% percentage value.
public static Coin getMinBuyerSecurityDepositAsCoin() {
if (MIN_BUYER_SECURITY_DEPOSIT == null)
MIN_BUYER_SECURITY_DEPOSIT = Coin.parseCoin("0.001"); // 0.001 BTC is 60 USD @ 60000 USD/BTC
Date now = new Date();
if (now.after(MIN_SECURITY_DEPOSIT_CHANGE_ACTIVATION_DATE)) {
if (MIN_BUYER_SECURITY_DEPOSIT == null || MIN_BUYER_SECURITY_DEPOSIT.equals(Coin.parseCoin("0.001"))) {
MIN_BUYER_SECURITY_DEPOSIT = Coin.parseCoin("0.0003"); // 0.0003 BTC is 27 USD @ 90000 USD/BTC
}
} else {
if (MIN_BUYER_SECURITY_DEPOSIT == null) {
MIN_BUYER_SECURITY_DEPOSIT = Coin.parseCoin("0.001"); // 0.001 BTC is 60 USD @ 60000 USD/BTC
}
}
return MIN_BUYER_SECURITY_DEPOSIT;
}

Expand All @@ -83,9 +96,18 @@ public static double getMinSellerSecurityDepositAsPercent() {
}

public static Coin getMinSellerSecurityDepositAsCoin() {
if (SELLER_SECURITY_DEPOSIT == null)
SELLER_SECURITY_DEPOSIT = Coin.parseCoin("0.001"); // 0.001 BTC is 60 USD @ 60000 USD/BTC
return SELLER_SECURITY_DEPOSIT;
Date now = new Date();
if (now.after(MIN_SECURITY_DEPOSIT_CHANGE_ACTIVATION_DATE)) {
if (MIN_SELLER_SECURITY_DEPOSIT == null || MIN_SELLER_SECURITY_DEPOSIT.equals(Coin.parseCoin("0.001"))) {
MIN_SELLER_SECURITY_DEPOSIT = Coin.parseCoin("0.0003"); // 0.0003 BTC is 27 USD @ 90000 USD/BTC
}
return MIN_SELLER_SECURITY_DEPOSIT;
} else {
if (MIN_SELLER_SECURITY_DEPOSIT == null) {
MIN_SELLER_SECURITY_DEPOSIT = Coin.parseCoin("0.001"); // 0.001 BTC is 60 USD @ 60000 USD/BTC
}
return MIN_SELLER_SECURITY_DEPOSIT;
}
}

// This value must be lower than MIN_BUYER_SECURITY_DEPOSIT and SELLER_SECURITY_DEPOSIT
Expand Down

0 comments on commit 9f3e216

Please sign in to comment.