elements/src/wallet
MarcoFalke 98e9d8e8e2
Merge bitcoin/bitcoin#23732: refactor: Remove gArgs from bdb.h and sqlite.h
39b1763730 Replace use of `ArgsManager` with `DatabaseOptions` (Kiminuo)

Pull request description:

  Contributes to #21005.

  The goal of this PR is to remove `gArgs` from database classes (i.e. `bdb.h` and `sqlite.h`) so that they can be tested without relying on `gArgs` in tests.

  Notes:

  * My goal is to enable unit-testing without relying on `gArgs` as much as possible. Global variables are hard to reason about which in turn makes it slightly harder to contribute to this codebase. When the compiler does the heavy lifting for us and allows us only to construct an object (or call a method) with valid parameters, we may also save some time in code reviews. The cost for this is passing an argument which is not for free but the cost is very miniscule compared to benefits, I think.
      * GUI code is an exception because it seems fine to have `gArgs` there so I don't plan to make changes in `src/qt` folder, for example.
  * My approach to removal of `gArgs` uses is moving from lower levels to upper ones and pass `ArgsManager` as an argument as needed. The approach is very similar to what #20158.

ACKs for top commit:
  achow101:
    ACK 39b1763730
  ryanofsky:
    Code review ACK 39b1763730. Just the two small ReadDatabaseArgs and Berkeley open changes that were discussed since the last review

Tree-SHA512: aa066b314db593e46c18698fe8cdd500f558b405dc04e4a9a3ff57b52b5b3a81a6cb090e0e661785d1d02c1bf18958c1f4cd715ff233aab63381e3f80960622d
2022-03-24 07:40:42 +01:00
..
rpc Merge bitcoin/bitcoin#23732: refactor: Remove gArgs from bdb.h and sqlite.h 2022-03-24 07:40:42 +01:00
test Merge bitcoin/bitcoin#23732: refactor: Remove gArgs from bdb.h and sqlite.h 2022-03-24 07:40:42 +01:00
bdb.cpp Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
bdb.h Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
coincontrol.cpp Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
coincontrol.h wallet: add input weights to CCoinControl 2022-01-24 11:23:31 -05:00
coinselection.cpp Merge bitcoin/bitcoin#24560: wallet: Use single FastRandomContext when creating a wallet tx 2022-03-23 13:50:57 -04:00
coinselection.h wallet: Pass FastRandomContext& to coin selection 2022-03-14 15:17:04 +01:00
context.cpp Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
context.h Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
crypter.cpp Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
crypter.h Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
db.cpp Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
db.h Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
dump.cpp Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
dump.h Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
external_signer_scriptpubkeyman.cpp Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
external_signer_scriptpubkeyman.h Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
feebumper.cpp Remove unused feebumper code 2022-03-14 16:05:42 +01:00
feebumper.h Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
fees.cpp Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
fees.h Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
init.cpp Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
interfaces.cpp Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
ismine.h Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
load.cpp Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
load.h Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
receive.cpp wallet: Avoid dropping confirmed coins 2022-01-25 10:15:12 +01:00
receive.h Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
salvage.cpp Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
salvage.h Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
scriptpubkeyman.cpp Merge bitcoin/bitcoin#23304: wallet: Derive inactive HD chains in additional places 2022-03-02 09:35:07 +01:00
scriptpubkeyman.h Merge bitcoin/bitcoin#23304: wallet: Derive inactive HD chains in additional places 2022-03-02 09:35:07 +01:00
spend.cpp wallet: Pass FastRandomContext& to coin selection 2022-03-14 15:17:04 +01:00
spend.h Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
sqlite.cpp Merge bitcoin/bitcoin#23732: refactor: Remove gArgs from bdb.h and sqlite.h 2022-03-24 07:40:42 +01:00
sqlite.h Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
transaction.cpp Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
transaction.h wallet: add GetWitnessHash() 2022-02-01 08:44:51 -03:00
wallet.cpp Merge bitcoin/bitcoin#23732: refactor: Remove gArgs from bdb.h and sqlite.h 2022-03-24 07:40:42 +01:00
wallet.h wallet: Allow user specified input size to override 2022-01-24 11:23:31 -05:00
walletdb.cpp Merge bitcoin/bitcoin#23732: refactor: Remove gArgs from bdb.h and sqlite.h 2022-03-24 07:40:42 +01:00
walletdb.h Merge bitcoin/bitcoin#23304: wallet: Derive inactive HD chains in additional places 2022-03-02 09:35:07 +01:00
wallettool.cpp Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
wallettool.h Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
walletutil.cpp Use ArgsManager::GetPathArg() for "-walletdir" option 2022-02-09 19:31:23 +02:00
walletutil.h Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00