HomePhabricator

refactor, txdb: Add CoinsViewOptions struct

Description

refactor, txdb: Add CoinsViewOptions struct

Summary:
PR rationale:

Code in the libbitcoin_kernel library should not be calling ArgsManager methods or trying to read options from the command line. Instead it should just get options values from simple structs and function arguments that are passed in externally. This PR removes gArgs accesses from dbwrapper and txdb modules by defining appropriate options structs.

Add CoinsViewOptions struct to remove ArgsManager uses from txdb.

To reduce size of this commit, this moves references to gArgs variable out of
txdb.cpp to calling code in validation.cpp. But these moves are temporary. The
gArgs references in validation.cpp are moved out to calling code in init.cpp in
later commits.

This commit does not change behavior.

This is a partial backport of core#25862
https://github.com/bitcoin/bitcoin/pull/25862/commits/c00fa1a7341d3f47f992e0beb043da655cbca777

Depends on D16091

Test Plan:
with bitcoin-chainstate compilation enabled:
ninja all check-all

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Differential Revision: https://reviews.bitcoinabc.org/D16092

Details

Provenance
Ryan Ofsky <ryan@ofsky.org>Authored on Aug 17 2022, 03:32
PiRKCommitted on Fri, May 3, 08:34
PiRKPushed on Fri, May 3, 08:34
Reviewer
Restricted Project
Differential Revision
D16092: refactor, txdb: Add CoinsViewOptions struct
Parents
rABC74a272dafa08: refactor, dbwrapper: Add DBParams and DBOptions structs
Branches
Unknown
Tags
Unknown