Skip to content
Open
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
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@

package org.bitcoinj.wallet;

import org.bitcoinj.core.NetworkParameters;
import org.bitcoinj.core.Transaction;
import org.bitcoinj.core.TransactionConfidence;
import org.bitcoinj.params.RegTestParams;

public class ZeroConfCoinSelector extends DefaultCoinSelector {

Expand Down Expand Up @@ -45,6 +45,9 @@ boolean isTransactionSelectable(Transaction tx) {
return type.equals(TransactionConfidence.ConfidenceType.BUILDING) || type.equals(TransactionConfidence.ConfidenceType.PENDING) &&
// In regtest mode we expect to have only one peer, so we won't see transactions propagate.
// TODO: The value 1 below dates from a time when transactions we broadcast *to* were counted, set to 0
(confidence.numBroadcastPeers() > 1 || tx.getParams() == RegTestParams.get());
// Compare against the network id rather than RegTestParams.get(): the latter lazily constructs
// RegTestParams (recomputing and asserting the regtest genesis X11 hash), which can throw when first
// triggered on a contended background thread (e.g. CoinJoin) even on mainnet/testnet wallets.
(confidence.numBroadcastPeers() > 1 || NetworkParameters.ID_REGTEST.equals(tx.getParams().getId()));
}
}
Loading