To better separate the wallet and node, and in preparation for full process separation, the wallet should not access any of the node’s config arguments. Either config interaction should be handled outside the wallet, or the wallet should use a well-defined method in the Chain
interface to access the values.
Currently, the wallet accesses global node arguments in the following locations:
- https://github.com/bitcoin/bitcoin/blob/b33c03b0cb82e57eb862542c9d331b7ceb8f3a62/src/wallet/init.cpp#L87 (
blocksonly
) - https://github.com/bitcoin/bitcoin/blob/b33c03b0cb82e57eb862542c9d331b7ceb8f3a62/src/wallet/init.cpp#L103 (
persistmempool
) - https://github.com/bitcoin/bitcoin/blob/b33c03b0cb82e57eb862542c9d331b7ceb8f3a62/src/wallet/init.cpp#L123 (
sysperms
) - https://github.com/bitcoin/bitcoin/blob/b33c03b0cb82e57eb862542c9d331b7ceb8f3a62/src/wallet/init.cpp#L125 (
prune
) - https://github.com/bitcoin/bitcoin/blob/b33c03b0cb82e57eb862542c9d331b7ceb8f3a62/src/wallet/wallet.cpp#L2742 (
limitancestorcount
) - https://github.com/bitcoin/bitcoin/blob/b33c03b0cb82e57eb862542c9d331b7ceb8f3a62/src/wallet/wallet.cpp#L2743 (
limitdescendantcount
) - https://github.com/bitcoin/bitcoin/blob/b33c03b0cb82e57eb862542c9d331b7ceb8f3a62/src/wallet/wallet.cpp#L4488 (
minrelaytxfee
)