diff --git a/core/src/main/java/org/bitcoinj/core/Transaction.java b/core/src/main/java/org/bitcoinj/core/Transaction.java index c4b5cc2f..57b34f53 100644 --- a/core/src/main/java/org/bitcoinj/core/Transaction.java +++ b/core/src/main/java/org/bitcoinj/core/Transaction.java @@ -102,9 +102,9 @@ public class Transaction extends ChildMessage { /** * If using this feePerKb, transactions will get confirmed within the next couple of blocks. - * This should be adjusted from time to time. Last adjustment: March 2016. + * This should be adjusted from time to time. Last adjustment: February 2017. */ - public static final Coin DEFAULT_TX_FEE = Coin.valueOf(50000); // 0.5 mBTC + public static final Coin DEFAULT_TX_FEE = Coin.valueOf(100000); // 1 mBTC /** * Any standard (ie pay-to-address) output smaller than this value (in satoshis) will most likely be rejected by the network. diff --git a/core/src/test/java/org/bitcoinj/wallet/WalletTest.java b/core/src/test/java/org/bitcoinj/wallet/WalletTest.java index fe710893..84473237 100644 --- a/core/src/test/java/org/bitcoinj/wallet/WalletTest.java +++ b/core/src/test/java/org/bitcoinj/wallet/WalletTest.java @@ -2440,7 +2440,7 @@ public class WalletTest extends TestWithWallet { request15.feePerKb = Transaction.DEFAULT_TX_FEE; request15.ensureMinRequiredFee = true; wallet.completeTx(request15); - assertEquals(Coin.valueOf(60650), request15.tx.getFee()); + assertEquals(Coin.valueOf(121300), request15.tx.getFee()); Transaction spend15 = request15.tx; // If a transaction is over 1kb, 2 satoshis should be added. assertEquals(31, spend15.getOutputs().size()); @@ -2472,7 +2472,7 @@ public class WalletTest extends TestWithWallet { request17.feePerKb = Transaction.DEFAULT_TX_FEE; request17.ensureMinRequiredFee = true; wallet.completeTx(request17); - assertEquals(Coin.valueOf(49950), request17.tx.getFee()); + assertEquals(Coin.valueOf(99900), request17.tx.getFee()); assertEquals(1, request17.tx.getInputs().size()); // Calculate its max length to make sure it is indeed 999 int theoreticalMaxLength17 = request17.tx.unsafeBitcoinSerialize().length + myKey.getPubKey().length + 75; @@ -2499,7 +2499,7 @@ public class WalletTest extends TestWithWallet { request18.feePerKb = Transaction.DEFAULT_TX_FEE; request18.ensureMinRequiredFee = true; wallet.completeTx(request18); - assertEquals(Coin.valueOf(50050), request18.tx.getFee()); + assertEquals(Coin.valueOf(100100), request18.tx.getFee()); assertEquals(1, request18.tx.getInputs().size()); // Calculate its max length to make sure it is indeed 1001 Transaction spend18 = request18.tx; @@ -2533,7 +2533,7 @@ public class WalletTest extends TestWithWallet { request19.feePerKb = Transaction.DEFAULT_TX_FEE; request19.shuffleOutputs = false; wallet.completeTx(request19); - assertEquals(Coin.valueOf(187100), request19.tx.getFee()); + assertEquals(Coin.valueOf(374200), request19.tx.getFee()); assertEquals(2, request19.tx.getInputs().size()); assertEquals(COIN, request19.tx.getInput(0).getValue()); assertEquals(CENT, request19.tx.getInput(1).getValue()); @@ -2554,7 +2554,7 @@ public class WalletTest extends TestWithWallet { request20.feePerKb = Transaction.DEFAULT_TX_FEE; wallet.completeTx(request20); // 4kb tx. - assertEquals(Coin.valueOf(187100), request20.tx.getFee()); + assertEquals(Coin.valueOf(374200), request20.tx.getFee()); assertEquals(2, request20.tx.getInputs().size()); assertEquals(COIN, request20.tx.getInput(0).getValue()); assertEquals(CENT, request20.tx.getInput(1).getValue()); @@ -2590,7 +2590,7 @@ public class WalletTest extends TestWithWallet { request25.feePerKb = Transaction.DEFAULT_TX_FEE; request25.shuffleOutputs = false; wallet.completeTx(request25); - assertEquals(Coin.valueOf(139500), request25.tx.getFee()); + assertEquals(Coin.valueOf(279000), request25.tx.getFee()); assertEquals(2, request25.tx.getInputs().size()); assertEquals(COIN, request25.tx.getInput(0).getValue()); assertEquals(CENT, request25.tx.getInput(1).getValue()); @@ -2741,7 +2741,7 @@ public class WalletTest extends TestWithWallet { SendRequest request = SendRequest.to(OTHER_ADDRESS, CENT); request.feePerKb = Transaction.DEFAULT_TX_FEE; wallet.completeTx(request); - assertEquals(Coin.valueOf(11350), request.tx.getFee()); + assertEquals(Coin.valueOf(22700), request.tx.getFee()); } @Test @@ -2752,7 +2752,7 @@ public class WalletTest extends TestWithWallet { SendRequest req = SendRequest.to(myAddress, Coin.CENT); req.feePerKb = fee; wallet.completeTx(req); - assertEquals(Coin.valueOf(11350).divide(feeFactor), req.tx.getFee()); + assertEquals(Coin.valueOf(22700).divide(feeFactor), req.tx.getFee()); wallet.commitTx(req.tx); SendRequest emptyReq = SendRequest.emptyWallet(myAddress); emptyReq.feePerKb = fee; @@ -2772,14 +2772,14 @@ public class WalletTest extends TestWithWallet { SendRequest req = SendRequest.to(myAddress, Coin.CENT); req.feePerKb = fee; wallet.completeTx(req); - assertEquals(Coin.valueOf(11350).multiply(feeFactor), req.tx.getFee()); + assertEquals(Coin.valueOf(22700).multiply(feeFactor), req.tx.getFee()); wallet.commitTx(req.tx); SendRequest emptyReq = SendRequest.emptyWallet(myAddress); emptyReq.feePerKb = fee; emptyReq.emptyWallet = true; emptyReq.coinSelector = AllowUnconfirmedCoinSelector.get(); wallet.completeTx(emptyReq); - assertEquals(Coin.valueOf(171000), emptyReq.tx.getFee()); + assertEquals(Coin.valueOf(342000), emptyReq.tx.getFee()); wallet.commitTx(emptyReq.tx); } @@ -2978,7 +2978,7 @@ public class WalletTest extends TestWithWallet { Transaction tx = broadcaster.waitForTransactionAndSucceed(); final Coin THREE_CENTS = CENT.add(CENT).add(CENT); - assertEquals(Coin.valueOf(24550), tx.getFee()); + assertEquals(Coin.valueOf(49100), tx.getFee()); assertEquals(THREE_CENTS, tx.getValueSentFromMe(wallet)); assertEquals(THREE_CENTS.subtract(tx.getFee()), tx.getValueSentToMe(wallet)); // TX sends to one of our addresses (for now we ignore married wallets). @@ -3001,7 +3001,7 @@ public class WalletTest extends TestWithWallet { tx = broadcaster.waitForTransactionAndSucceed(); assertNotNull(wallet.findKeyFromPubHash(tx.getOutput(0).getScriptPubKey().getPubKeyHash())); log.info("Unexpected thing: {}", tx); - assertEquals(Coin.valueOf(9650), tx.getFee()); + assertEquals(Coin.valueOf(19300), tx.getFee()); assertEquals(1, tx.getInputs().size()); assertEquals(1, tx.getOutputs().size()); assertEquals(CENT, tx.getValueSentFromMe(wallet));