mirror of
https://github.com/Retropex/bitcoin.git
synced 2025-05-14 20:20:43 +02:00
Merge bitcoin/bitcoin#24502: wallet: don't create long chains by default
da2bc865d6
[wallet] don't create long chains by default (glozow) Pull request description: Default mempool policy doesn't let you have chains longer than 25 transactions. This is locally configurable of course, but it's not really safe to assume that a chain longer than 25 transactions will propagate. Thus, the wallet should probably avoid creating such transactions by default; set `DEFAULT_WALLET_REJECT_LONG_CHAINS` to true. Closes #9752 Closes #10004 ACKs for top commit: MarcoFalke: re-ACKda2bc865d6
only change is fixing typos in tests 🎏 Tree-SHA512: 65d8e4ec437fe928adf554aa7e819a52e0599b403d5310895f4e371e99bbc838219b3097c4d2f775bc870ac617ef6b4227b94291f2b376f824f14e8f2b152f31
This commit is contained in:
commit
f66c827c2d
@ -94,7 +94,7 @@ static const CAmount WALLET_INCREMENTAL_RELAY_FEE = 5000;
|
|||||||
//! Default for -spendzeroconfchange
|
//! Default for -spendzeroconfchange
|
||||||
static const bool DEFAULT_SPEND_ZEROCONF_CHANGE = true;
|
static const bool DEFAULT_SPEND_ZEROCONF_CHANGE = true;
|
||||||
//! Default for -walletrejectlongchains
|
//! Default for -walletrejectlongchains
|
||||||
static const bool DEFAULT_WALLET_REJECT_LONG_CHAINS = false;
|
static const bool DEFAULT_WALLET_REJECT_LONG_CHAINS{true};
|
||||||
//! -txconfirmtarget default
|
//! -txconfirmtarget default
|
||||||
static const unsigned int DEFAULT_TX_CONFIRM_TARGET = 6;
|
static const unsigned int DEFAULT_TX_CONFIRM_TARGET = 6;
|
||||||
//! -walletrbf default
|
//! -walletrbf default
|
||||||
|
@ -50,7 +50,9 @@ class WalletTest(BitcoinTestFramework):
|
|||||||
self.num_nodes = 2
|
self.num_nodes = 2
|
||||||
self.setup_clean_chain = True
|
self.setup_clean_chain = True
|
||||||
self.extra_args = [
|
self.extra_args = [
|
||||||
['-limitdescendantcount=3'], # Limit mempool descendants as a hack to have wallet txs rejected from the mempool
|
# Limit mempool descendants as a hack to have wallet txs rejected from the mempool.
|
||||||
|
# Set walletrejectlongchains=0 so the wallet still creates the transactions.
|
||||||
|
['-limitdescendantcount=3', '-walletrejectlongchains=0'],
|
||||||
[],
|
[],
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ class WalletTest(BitcoinTestFramework):
|
|||||||
def set_test_params(self):
|
def set_test_params(self):
|
||||||
self.num_nodes = 4
|
self.num_nodes = 4
|
||||||
self.extra_args = [[
|
self.extra_args = [[
|
||||||
"-acceptnonstdtxn=1",
|
"-acceptnonstdtxn=1", "-walletrejectlongchains=0"
|
||||||
]] * self.num_nodes
|
]] * self.num_nodes
|
||||||
self.setup_clean_chain = True
|
self.setup_clean_chain = True
|
||||||
self.supports_cli = False
|
self.supports_cli = False
|
||||||
@ -142,7 +142,7 @@ class WalletTest(BitcoinTestFramework):
|
|||||||
self.nodes[2].lockunspent(False, [unspent_0], True)
|
self.nodes[2].lockunspent(False, [unspent_0], True)
|
||||||
|
|
||||||
# Restarting the node with the lock written to the wallet should keep the lock
|
# Restarting the node with the lock written to the wallet should keep the lock
|
||||||
self.restart_node(2)
|
self.restart_node(2, ["-walletrejectlongchains=0"])
|
||||||
assert_raises_rpc_error(-8, "Invalid parameter, output already locked", self.nodes[2].lockunspent, False, [unspent_0])
|
assert_raises_rpc_error(-8, "Invalid parameter, output already locked", self.nodes[2].lockunspent, False, [unspent_0])
|
||||||
|
|
||||||
# Unloading and reloading the wallet with a persistent lock should keep the lock
|
# Unloading and reloading the wallet with a persistent lock should keep the lock
|
||||||
@ -568,7 +568,7 @@ class WalletTest(BitcoinTestFramework):
|
|||||||
self.log.info("Test -reindex")
|
self.log.info("Test -reindex")
|
||||||
self.stop_nodes()
|
self.stop_nodes()
|
||||||
# set lower ancestor limit for later
|
# set lower ancestor limit for later
|
||||||
self.start_node(0, ['-reindex', "-limitancestorcount=" + str(chainlimit)])
|
self.start_node(0, ['-reindex', "-walletrejectlongchains=0", "-limitancestorcount=" + str(chainlimit)])
|
||||||
self.start_node(1, ['-reindex', "-limitancestorcount=" + str(chainlimit)])
|
self.start_node(1, ['-reindex', "-limitancestorcount=" + str(chainlimit)])
|
||||||
self.start_node(2, ['-reindex', "-limitancestorcount=" + str(chainlimit)])
|
self.start_node(2, ['-reindex', "-limitancestorcount=" + str(chainlimit)])
|
||||||
# reindex will leave rpc warm up "early"; Wait for it to finish
|
# reindex will leave rpc warm up "early"; Wait for it to finish
|
||||||
|
Loading…
Reference in New Issue
Block a user