Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/build-gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,18 @@ jobs:
os: [ubuntu-24.04, macOS-15, macOS-15-intel, windows-2022]
java: ['17', '21', '25']
distribution: ['temurin']
gradle: ['8.14.3', '9.2.1']
gradle: ['8.14.4', '9.2.1']
exclude:
# Java 25+ requires Gradle 9.1+
- java: '25'
gradle: '8.14.3'
gradle: '8.14.4'
# Exclude older versions of Gradle on macOS and Windows
- os: macOS-15
gradle: '8.14.3'
gradle: '8.14.4'
- os: macOS-15-intel
gradle: '8.14.3'
gradle: '8.14.4'
- os: windows-2022
gradle: '8.14.3'
gradle: '8.14.4'
fail-fast: false
env:
# Use env variable to specify the JDK version to use for the `testMinJdk` Gradle option
Expand Down
4 changes: 2 additions & 2 deletions core/src/main/java/org/bitcoinj/core/Transaction.java
Original file line number Diff line number Diff line change
Expand Up @@ -155,9 +155,9 @@ private static int sortableBlockHeight(Transaction tx) {

/**
* If using this fee rate, transactions will get confirmed within the next couple of blocks.
* This should be adjusted from time to time. Last adjustment: February 2017.
* This should be adjusted from time to time. Last adjustment: January 2026.
*/
public static final Coin DEFAULT_TX_FEE_RATE = Coin.valueOf(100_000); // per vkB
public static final Coin DEFAULT_TX_FEE_RATE = Coin.valueOf(10_000); // per vkB

/** @deprecated use {@link #DEFAULT_TX_FEE_RATE} */
@Deprecated
Expand Down
14 changes: 7 additions & 7 deletions core/src/test/java/org/bitcoinj/wallet/WalletTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -2647,21 +2647,21 @@ public void witnessTransactionGetFeeTest() throws Exception {

@Test
public void lowerThanDefaultFeeRate() throws InsufficientMoneyException {
int feeFactor = 200;
int feeFactor = 10;
Coin fee = Transaction.DEFAULT_TX_FEE_RATE.divide(feeFactor);
receiveATransactionAmount(wallet, myAddress, Coin.COIN);
SendRequest req = SendRequest.to(myAddress, Coin.CENT);
req.feePerKb = fee;
wallet.completeTx(req);
assertEquals(Coin.valueOf(22700).divide(feeFactor), req.tx.getFee());
assertEquals(Coin.valueOf(2_270).divide(feeFactor), req.tx.getFee());
wallet.commitTx(req.tx);
SendRequest emptyReq = SendRequest.emptyWallet(myAddress);
emptyReq.feePerKb = fee;
emptyReq.ensureMinRequiredFee = true;
emptyReq.emptyWallet = true;
emptyReq.allowUnconfirmed();
wallet.completeTx(emptyReq); // resulting vsize ~339
assertEquals(Coin.valueOf(171), emptyReq.tx.getFee());
assertEquals(Coin.valueOf(3_420).divide(feeFactor), emptyReq.tx.getFee());
wallet.commitTx(emptyReq.tx);
}

Expand All @@ -2673,14 +2673,14 @@ public void higherThanDefaultFeeRate() throws InsufficientMoneyException {
SendRequest req = SendRequest.to(myAddress, Coin.CENT);
req.feePerKb = fee;
wallet.completeTx(req);
assertEquals(Coin.valueOf(22700).multiply(feeFactor), req.tx.getFee());
assertEquals(Coin.valueOf(2_270).multiply(feeFactor), req.tx.getFee());
wallet.commitTx(req.tx);
SendRequest emptyReq = SendRequest.emptyWallet(myAddress);
emptyReq.feePerKb = fee;
emptyReq.emptyWallet = true;
emptyReq.allowUnconfirmed();
wallet.completeTx(emptyReq);
assertEquals(Coin.valueOf(342000), emptyReq.tx.getFee());
assertEquals(Coin.valueOf(3_420).multiply(feeFactor), emptyReq.tx.getFee());
wallet.commitTx(emptyReq.tx);
}

Expand Down Expand Up @@ -2900,7 +2900,7 @@ public void keyRotationRandom() throws Exception {

Transaction tx = broadcaster.waitForTransactionAndSucceed();
final Coin THREE_CENTS = CENT.add(CENT).add(CENT);
assertEquals(Coin.valueOf(49100), tx.getFee());
assertEquals(Coin.valueOf(4910), 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).
Expand All @@ -2924,7 +2924,7 @@ public void keyRotationRandom() throws Exception {
assertNotNull(wallet.findKeyFromPubKeyHash(tx.getOutput(0).getScriptPubKey().getPubKeyHash(),
toAddress.getOutputScriptType()));
log.info("Unexpected thing: {}", tx);
assertEquals(Coin.valueOf(19300), tx.getFee());
assertEquals(Coin.valueOf(1930), tx.getFee());
assertEquals(1, tx.getInputs().size());
assertEquals(1, tx.getOutputs().size());
assertEquals(CENT, tx.getValueSentFromMe(wallet));
Expand Down