elements/src/wallet
MarcoFalke 42b66a6b81
Merge #20186: wallet: Make -wallet setting not create wallets
01476a88a6 wallet: Make -wallet setting not create wallets (Russell Yanofsky)

Pull request description:

  This changes `-wallet` setting to only load existing wallets, not create new ones.

  - Fixes settings.json corner cases reported by sjors & promag: https://github.com/bitcoin-core/gui/issues/95, https://github.com/bitcoin/bitcoin/pull/19754#issuecomment-685858578, https://github.com/bitcoin/bitcoin/pull/19754#issuecomment-685858578

  - Prevents accidental creation of wallets reported most recently by jb55 http://www.erisian.com.au/bitcoin-core-dev/log-2020-09-14.html#l-355

  - Simplifies behavior after #15454. #15454 took the big step of disabling creation of the default wallet. This PR extends it to avoid creating other wallets as well. With this change, new wallets just aren't created on startup, instead of sometimes being created, sometimes not. #15454 release notes are updated here and are simpler.

  This change should be targeted for 0.21.0. It's a bug fix and simplifies behavior of the #15937 / #19754 / #15454 features added in 0.21.0.

  ---

  This PR is implementing the simplest, most basic alternative listed in https://github.com/bitcoin-core/gui/issues/95#issuecomment-694236940. Other improvements mentioned there can build on top of this.

ACKs for top commit:
  achow101:
    ACK 01476a88a6
  hebasto:
    re-ACK 01476a88a6
  MarcoFalke:
    review ACK 01476a88a6 🏂

Tree-SHA512: 0d50f4e5dfbd04a2efd9fd66c02085a0ed705807bdec1cf5770d0ae8cb6af07080fb81306349937bf66acdb713d03fb35636f6442b650d0820e66cbae09c2f87
2020-10-29 15:01:39 +01:00
..
test [send] Make send RPCs return fee reason 2020-09-26 17:57:26 -07:00
bdb.cpp Determine wallet file type based on file magic 2020-10-14 11:28:18 -04:00
bdb.h rpc, wallet: Expose database format in getwalletinfo 2020-10-14 21:47:42 +01:00
coincontrol.cpp [rpc] walletcreatefundedpsbt: don't automatically append inputs 2020-03-12 13:07:17 +01:00
coincontrol.h [rpc] walletcreatefundedpsbt: don't automatically append inputs 2020-03-12 13:07:17 +01:00
coinselection.cpp Refactor OutputGroups to handle effective values, fees, and filtering 2020-08-11 14:25:02 -04:00
coinselection.h Refactor OutputGroups to handle effective values, fees, and filtering 2020-08-11 14:25:02 -04:00
context.cpp Remove g_rpc_chain global 2020-05-28 02:13:19 -04:00
context.h wallet: Pass unused args to StartWallets 2020-07-09 13:07:37 +02:00
crypter.cpp Fix occurences of c_str() used with size() to data() 2019-10-28 13:41:45 +01:00
crypter.h Convert wallet to new serialization 2020-05-24 10:34:52 -07:00
db.cpp refactor: Pass wallet database into CWallet::Create 2020-09-03 12:24:32 -04:00
db.h rpc, wallet: Expose database format in getwalletinfo 2020-10-14 21:47:42 +01:00
feebumper.cpp [send] Make send RPCs return fee reason 2020-09-26 17:57:26 -07:00
feebumper.h wallet: Avoid translating RPC errors when creating txs 2020-05-01 07:39:06 -04:00
fees.cpp Remove unused includes 2019-10-15 22:56:43 +00:00
fees.h Remove uses of fee globals in wallet code 2019-02-22 15:43:02 -04:00
init.cpp wallet: Make -wallet setting not create wallets 2020-10-21 08:48:43 -04:00
ismine.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
load.cpp wallet: Make -wallet setting not create wallets 2020-10-21 08:48:43 -04:00
load.h Do not create default wallet 2020-09-08 21:02:53 -04:00
rpcdump.cpp Merge #19836: rpc: Properly deserialize txs with witness before signing 2020-10-16 12:05:26 +08:00
rpcwallet.cpp Merge #20156: build: Make sqlite support optional (compile-time) 2020-10-29 12:03:36 +01:00
rpcwallet.h Assert that RPCArg names are equal to CRPCCommand ones (net, rpcwallet) 2020-09-22 20:49:30 +02:00
salvage.cpp wallet: Remove path checking code from bitcoin-wallet tool 2020-09-03 12:24:32 -04:00
salvage.h wallettool: Have RecoverDatabaseFile return errors and warnings 2020-07-26 20:22:45 -04:00
scriptpubkeyman.cpp Merge #19986: refactor: clean up -Wlogical-op warning in wallet/scriptpubkeyman.cp 2020-10-19 11:07:11 +08:00
scriptpubkeyman.h rpc, wallet: Expose database format in getwalletinfo 2020-10-14 21:47:42 +01:00
sqlite.cpp wallet: fix buffer over-read in SQLite file magic check 2020-10-22 03:39:55 +02:00
sqlite.h rpc, wallet: Expose database format in getwalletinfo 2020-10-14 21:47:42 +01:00
wallet.cpp Use SQLite for descriptor wallets 2020-10-14 11:28:18 -04:00
wallet.h rpc, wallet: Expose database format in getwalletinfo 2020-10-14 21:47:42 +01:00
walletdb.cpp Make sqlite support optional (compile-time) 2020-10-20 13:44:43 +00:00
walletdb.h wallet: remove db mode string 2020-10-13 18:42:59 +07:00
wallettool.cpp Show name, format and if uses descriptors in bitcoin-wallet tool 2020-10-21 13:28:15 +02:00
wallettool.h wallet: Remove path checking code from bitcoin-wallet tool 2020-09-03 12:24:32 -04:00
walletutil.cpp Make sqlite support optional (compile-time) 2020-10-20 13:44:43 +00:00
walletutil.h Remove WalletLocation class 2020-09-03 12:24:32 -04:00