bitcoin/src/util
Andrew Chow fc037c8c83
Merge bitcoin/bitcoin#27150: Deduplicate bitcoind and bitcoin-qt init code
802cc1ef53 Deduplicate bitcoind and bitcoin-qt init code (Ryan Ofsky)
d172b5c671 Add InitError(error, details) overload (Ryan Ofsky)
3db2874bd7 Extend bilingual_str support for tinyformat (Ryan Ofsky)
c361df90b9 scripted-diff: Remove double newlines after some init errors (Ryan Ofsky)

Pull request description:

  Add common InitConfig function to deduplicate bitcoind and bitcoin-qt code reading config files and creating the datadir.

  Noticed the duplicate code while reviewing #27073 and want to remove it because difference in bitcoin-qt and bitcoind behavior make it hard to evaluate changes like #27073

  There are a few minor changes in behavior:

  - In bitcoin-qt, when there is a problem reading the configuration file, the GUI error text has changed from "Error: Cannot parse configuration file:" to "Error reading configuration file:" to be consistent with bitcoind.
  - In bitcoind, when there is a problem reading the settings.json file, the error text has changed from "Failed loading settings file" to "Settings file could not be read" to be consistent with bitcoin-qt.
  - In bitcoind, when there is a problem writing the settings.json file, the error text has changed from "Failed saving settings file" to "Settings file could not be written" to be consistent with bitcoin-qt.
  - In bitcoin-qt, if there datadir is not accessible (e.g. no permission to read), there is an normal error dialog showing "Error: filesystem error: status: Permission denied [.../settings.json]", instead of an uncaught exception.

ACKs for top commit:
  Sjors:
    Light review ACK 802cc1ef53
  TheCharlatan:
    ACK 802cc1ef53
  achow101:
    ACK 802cc1ef53

Tree-SHA512: 9c78d277e9ed595fa8ce286b97d2806e1ec06ddbbe7bd3434bd9dd7b456faf8d989f71231e97311f36edb9caaec645a50c730bd7514b8e0fe6e6f7741b13d981
2023-03-07 13:05:01 -05:00
..
asmap.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
asmap.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
bip32.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
bip32.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
bitdeque.h Add bitdeque, an std::deque<bool> analogue that does bit packing. 2022-08-23 11:34:10 -04:00
bytevectorhash.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
bytevectorhash.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
check.cpp refactor: Remove c_str from util/check 2023-01-24 12:09:29 +01:00
check.h refactor: Remove c_str from util/check 2023-01-24 12:09:29 +01:00
epochguard.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
error.cpp Add test for unspendable transactions and parameter 'maxburnamount' to sendrawtransaction. 2023-02-20 11:38:52 -07:00
error.h Add test for unspendable transactions and parameter 'maxburnamount' to sendrawtransaction. 2023-02-20 11:38:52 -07:00
fastrange.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
fees.cpp Fix clang-tidy readability-const-return-type violations 2023-02-01 11:33:35 +01:00
fees.h Fix clang-tidy readability-const-return-type violations 2023-02-01 11:33:35 +01:00
getuniquepath.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
getuniquepath.h Introduce GetUniquePath(base) helper method to replace boost::filesystem::unique_path() which is not available in std::filesystem. 2021-02-04 11:38:09 +01:00
golombrice.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
hash_type.h move-only: Add util/hash_type 2021-05-11 10:38:18 +02:00
hasher.cpp Add deterministic mode to CCoinsViewCache 2023-02-02 09:00:15 -05:00
hasher.h Add deterministic mode to CCoinsViewCache 2023-02-02 09:00:15 -05:00
macros.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
message.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
message.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
moneystr.cpp refactor: use braced init for integer constants instead of c style casts 2023-01-03 19:31:29 -06:00
moneystr.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
overflow.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
overloaded.h refactor: Make CWalletTx sync state type-safe 2021-11-15 09:11:44 -05:00
rbf.cpp
rbf.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
readwritefile.cpp util: add missing include and fix function signature 2023-03-03 22:19:00 +00:00
readwritefile.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
result.h refactor: Replace BResult with util::Result 2022-08-03 07:33:01 -04:00
serfloat.cpp Add platform-independent float encoder/decoder 2021-05-24 16:04:44 -07:00
serfloat.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
settings.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
settings.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
sock.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
sock.h clang-tidy: Fix modernize-use-default-member-init in headers 2023-01-31 11:50:10 +00:00
spanparsing.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
spanparsing.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
strencodings.cpp util: Work around ParseHex gcc cross compiler bug 2023-03-07 11:33:42 +01:00
strencodings.h util: Return empty vector on invalid hex encoding 2023-02-27 13:39:55 +01:00
string.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
string.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
syscall_sandbox.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
syscall_sandbox.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
syserror.cpp refactor: add most of src/util to iwyu 2022-07-08 11:06:01 +01:00
syserror.h util: Replace non-threadsafe strerror 2022-04-28 10:24:06 +02:00
system.cpp Deduplicate bitcoind and bitcoin-qt init code 2023-02-28 12:04:47 -05:00
system.h Deduplicate bitcoind and bitcoin-qt init code 2023-02-28 12:04:47 -05:00
thread.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
thread.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
threadinterrupt.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
threadinterrupt.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
threadnames.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
threadnames.h
time.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
time.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
tokenpipe.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
tokenpipe.h util: Add RAII TokenPipe 2021-03-04 18:24:00 +01:00
trace.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
translation.h Extend bilingual_str support for tinyformat 2023-02-28 12:04:47 -05:00
types.h Add util/types.h with ALWAYS_FALSE template 2021-09-07 19:19:02 +02:00
ui_change_type.h wallet: Do not include server symbols 2020-06-27 11:39:09 -04:00
vector.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00