This is part of the libbitcoinkernel
project: #24303, https://github.com/bitcoin/bitcoin/projects/18
This PR is NOT dependent on any other PRs.
This PR introduces ::Options
structs and ApplyArgsManOptions
functions for CDBWrapper
and its wrappers and descendants in libbitcoinkernel
. Namely CBlockTreeDB
and CCoinsViewDB
.
libbitcoinkernel
code can now instantiate these classes by filling in an ::Options
struct without referencing gArgs
, and non-libbitcoinkernel
code can use ApplyArgsManOptions
with a local ArgsManager
.
The ::Options
struct and ApplyArgsManOptions
duo has been used in many previous libbitcoinkernel
ArgsManager
decoupling PRs. See: https://github.com/bitcoin/bitcoin/projects/18