mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-04-18 23:06:02 -04:00
Update formatter to new lower reg. fee (miner fee dropped 10 fold)
This commit is contained in:
parent
46a56e4e4f
commit
976a76411f
@ -28,15 +28,11 @@ import javax.inject.Inject;
|
||||
|
||||
public class FeePolicy {
|
||||
|
||||
public static final Coin TX_FEE = Transaction.REFERENCE_DEFAULT_MIN_TX_FEE;
|
||||
public static final Coin TX_FEE = Transaction.REFERENCE_DEFAULT_MIN_TX_FEE; // dropped down to 0.00001 BTC
|
||||
|
||||
// The min. REGISTRATION_FEE calculated with Transaction.MIN_NONDUST_OUTPUT would be
|
||||
// 0.00015460 which might lead to problems for the spending wallet.
|
||||
// Some web wallets don't allow more then 4 decimal places (need more investigation)
|
||||
// So we use 0.0002 as that fits also to our 4 decimal places restriction for BTC values.
|
||||
// The remaining 0.0000454 BTC is given to miners at the moment as it is lower then dust.
|
||||
// TODO: Change REGISTRATION_FEE to 0.00001 (See https://github.com/bitsquare/bitsquare/issues/228)
|
||||
public static final Coin REGISTRATION_FEE = TX_FEE.add(TX_FEE);
|
||||
public static final Coin CREATE_OFFER_FEE = REGISTRATION_FEE; // 0.0002
|
||||
public static final Coin CREATE_OFFER_FEE = Coin.valueOf(20000); // 0.00002 BTC
|
||||
public static final Coin TAKE_OFFER_FEE = CREATE_OFFER_FEE;
|
||||
|
||||
private final BitcoinNetwork bitcoinNetwork;
|
||||
|
@ -29,7 +29,6 @@ import org.bitcoinj.utils.Fiat;
|
||||
import org.bitcoinj.utils.MonetaryFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.text.DecimalFormat;
|
||||
@ -67,8 +66,7 @@ public class BSFormatter {
|
||||
// Input of a group separator (1,123,45) lead to an validation error.
|
||||
// Note: BtcFormat was intended to be used, but it lead to many problems (automatic format to mBit,
|
||||
// no way to remove grouping separator). It seems to be not optimal for user input formatting.
|
||||
private MonetaryFormat coinFormat = MonetaryFormat.BTC.optionalDecimals(2)
|
||||
.roundingMode(RoundingMode.HALF_UP);
|
||||
private MonetaryFormat coinFormat = MonetaryFormat.BTC.repeatOptionalDecimals(2, 2);
|
||||
|
||||
private String currencyCode = Currency.getInstance(Locale.getDefault()).getCurrencyCode();
|
||||
|
||||
@ -110,9 +108,9 @@ public class BSFormatter {
|
||||
|
||||
private MonetaryFormat getMonetaryFormat() {
|
||||
if (useMilliBit)
|
||||
return MonetaryFormat.MBTC.repeatOptionalDecimals(2, 1);
|
||||
return MonetaryFormat.MBTC;
|
||||
else
|
||||
return MonetaryFormat.BTC.repeatOptionalDecimals(2, 1);
|
||||
return MonetaryFormat.BTC.repeatOptionalDecimals(2, 2);
|
||||
}
|
||||
|
||||
public void setFiatCurrencyCode(String currencyCode) {
|
||||
|
@ -54,6 +54,22 @@ public class CreateOfferPMTest {
|
||||
presenter.initialize();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAmount() {
|
||||
presenter.amount.set("0.0001");
|
||||
model.calculateAmount();
|
||||
assertEquals("0.0001", presenter.amount.get());
|
||||
assertEquals(Coin.parseCoin("0.0001"), model.amountAsCoin.get());
|
||||
presenter.amount.set("0.0009");
|
||||
model.calculateAmount();
|
||||
assertEquals("0.0009", presenter.amount.get());
|
||||
assertEquals(Coin.parseCoin("0.0009"), model.amountAsCoin.get());
|
||||
|
||||
presenter.amount.set("0.0029");
|
||||
model.calculateAmount();
|
||||
assertEquals("0.0029", presenter.amount.get());
|
||||
assertEquals(Coin.parseCoin("0.0029"), model.amountAsCoin.get());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBindings() {
|
||||
|
@ -74,12 +74,20 @@ public class BSFormatterTest {
|
||||
assertEquals("1.0120", formatter.formatCoin(Coin.parseCoin("1.012")));
|
||||
assertEquals("1012.30", formatter.formatCoin(Coin.parseCoin("1012.3")));
|
||||
assertEquals("1.0120", formatter.formatCoin(Coin.parseCoin("1.01200")));
|
||||
assertEquals("1.0123", formatter.formatCoin(Coin.parseCoin("1.01234")));
|
||||
assertEquals("1.000123", formatter.formatCoin(Coin.parseCoin("1.0001234")));
|
||||
assertEquals("0.10", formatter.formatCoin(Coin.parseCoin("0.1")));
|
||||
assertEquals("0.01", formatter.formatCoin(Coin.parseCoin("0.01")));
|
||||
assertEquals("0.0010", formatter.formatCoin(Coin.parseCoin("0.001")));
|
||||
assertEquals("0.0001", formatter.formatCoin(Coin.parseCoin("0.0001")));
|
||||
|
||||
assertEquals("0.000010", formatter.formatCoin(Coin.parseCoin("0.00001")));
|
||||
assertEquals("0.000001", formatter.formatCoin(Coin.parseCoin("0.000001")));
|
||||
assertEquals("0.00", formatter.formatCoin(Coin.parseCoin("0.0000001")));
|
||||
|
||||
assertEquals("1.2345", formatter.formatCoin(Coin.parseCoin("1.2345")));
|
||||
assertEquals("1.2346", formatter.formatCoin(Coin.parseCoin("1.23456")));
|
||||
assertEquals("1.2346", formatter.formatCoin(Coin.parseCoin("1.234567")));
|
||||
assertEquals("1.2345", formatter.formatCoin(Coin.parseCoin("1.23448")));
|
||||
assertEquals("1.002346", formatter.formatCoin(Coin.parseCoin("1.0023456")));
|
||||
assertEquals("1.002346", formatter.formatCoin(Coin.parseCoin("1.00234567")));
|
||||
assertEquals("1.002345", formatter.formatCoin(Coin.parseCoin("1.0023448")));
|
||||
|
||||
assertEquals("1.00", formatter.formatCoin(Coin.COIN));
|
||||
assertEquals("1012.30", formatter.formatCoin(Coin.parseCoin("1012.3")));
|
||||
@ -100,12 +108,20 @@ public class BSFormatterTest {
|
||||
assertEquals("1.0120 BTC", formatter.formatCoinWithCode(Coin.parseCoin("1.012")));
|
||||
assertEquals("1012.30 BTC", formatter.formatCoinWithCode(Coin.parseCoin("1012.3")));
|
||||
assertEquals("1.0120 BTC", formatter.formatCoinWithCode(Coin.parseCoin("1.01200")));
|
||||
assertEquals("1.0123 BTC", formatter.formatCoinWithCode(Coin.parseCoin("1.01234")));
|
||||
assertEquals("1.012340 BTC", formatter.formatCoinWithCode(Coin.parseCoin("1.01234")));
|
||||
assertEquals("1.012345 BTC", formatter.formatCoinWithCode(Coin.parseCoin("1.012345")));
|
||||
assertEquals("1.012345 BTC", formatter.formatCoinWithCode(Coin.parseCoin("1.0123454")));
|
||||
assertEquals("1.012346 BTC", formatter.formatCoinWithCode(Coin.parseCoin("1.0123455")));
|
||||
|
||||
assertEquals("0.10 BTC", formatter.formatCoinWithCode(Coin.parseCoin("0.1")));
|
||||
assertEquals("0.01 BTC", formatter.formatCoinWithCode(Coin.parseCoin("0.01")));
|
||||
assertEquals("0.0010 BTC", formatter.formatCoinWithCode(Coin.parseCoin("0.001")));
|
||||
assertEquals("0.0001 BTC", formatter.formatCoinWithCode(Coin.parseCoin("0.0001")));
|
||||
|
||||
assertEquals("1.2345 BTC", formatter.formatCoinWithCode(Coin.parseCoin("1.2345")));
|
||||
assertEquals("1.2346 BTC", formatter.formatCoinWithCode(Coin.parseCoin("1.23456")));
|
||||
assertEquals("1.2346 BTC", formatter.formatCoinWithCode(Coin.parseCoin("1.234567")));
|
||||
assertEquals("1.2345 BTC", formatter.formatCoinWithCode(Coin.parseCoin("1.23448")));
|
||||
assertEquals("1.002346 BTC", formatter.formatCoinWithCode(Coin.parseCoin("1.0023456")));
|
||||
assertEquals("1.002346 BTC", formatter.formatCoinWithCode(Coin.parseCoin("1.00234567")));
|
||||
assertEquals("1.002345 BTC", formatter.formatCoinWithCode(Coin.parseCoin("1.0023448")));
|
||||
|
||||
assertEquals("1.00 BTC", formatter.formatCoinWithCode(Coin.COIN));
|
||||
assertEquals("1012.30 BTC", formatter.formatCoinWithCode(Coin.parseCoin("1012.3")));
|
||||
|
Loading…
x
Reference in New Issue
Block a user