0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-05 10:17:30 -05:00
bitcoin-bitcoin-core/src/wallet
MarcoFalke 74ea1f3b0f
Merge #16399: wallet: Improve wallet creation
e967cae8fa Use switch on status in RpcWallet (Fabian Jahr)
ba1f128d6c Return error for ignored passphrase through disable private keys option (Fabian Jahr)
d6649d16b5 Use strong enum for WalletCreationStatus (Fabian Jahr)
3199610ad3 Place out args at the end for CreateWallet (Fabian Jahr)

Pull request description:

  This is a follow-up PR to #16244

  The following suggestions are included:
  - Usage of `enum class` (https://github.com/bitcoin/bitcoin/pull/16244#discussion_r296434142)
  - Placing out args at the end convention (https://github.com/bitcoin/bitcoin/pull/16244#discussion_r296434172)
  - Return error when passphrase would be ignored because of disabled private keys (including functional test) (https://github.com/bitcoin/bitcoin/pull/16244#pullrequestreview-252015195)
  - Make `status` return variable of `CreateWallet` (https://github.com/bitcoin/bitcoin/pull/16244#discussion_r302107394)
  - Using a `switch` statement instead of `if/else` in `RpcWallet` (https://github.com/bitcoin/bitcoin/pull/16244#discussion_r302112502)

  Not included was:
  - "new create wallet function [could take] separate option arguments instead of wallet flags" (https://github.com/bitcoin/bitcoin/pull/16244#pullrequestreview-252015195)
  - "blank wallet and disable private keys options could be combined into a single option" (https://github.com/bitcoin/bitcoin/pull/16244#pullrequestreview-252015195)

  For these last two changes, I was not sure what an ideal solution could look like and/or this might be of slightly larger scope than the other changes, but I would be happy to work on these as well in this PR or another follow-up if I get positive feedback on that. Is there a place in the codebase that handles flags like these in a better way that I can refer to? Nonetheless, I would prefer keeping it in a separate PR unless it is a really simple change.

ACKs for top commit:
  jnewbery:
    Code review utACK e967cae8fa
  MarcoFalke:
    ACK e967cae8fa

Tree-SHA512: 3d12880ff95add9e4a5702afa26ef38080b57b216a608c113a4d0a08ba2d61142c027ba0071c6402add45db90383eee0bada12dc42820dc0d602721d7175edd5
2019-07-29 09:36:55 -04:00
..
test Merge #16208: wallet: Consume ReserveDestination on successful CreateTransaction 2019-07-17 19:45:55 +12:00
coincontrol.cpp wallet: avoid reuse flags 2019-05-29 18:40:31 +09:00
coincontrol.h wallet: avoid reuse flags 2019-05-29 18:40:31 +09:00
coinselection.cpp Introduce a Shuffle for FastRandomContext and use it in wallet and coinselection 2018-12-12 14:22:12 -08:00
coinselection.h amount: Move CAmount CENT to unit test header 2018-09-17 14:34:56 -04:00
crypter.cpp Remove CCryptoKeyStore and move all of it's functionality into CWallet 2019-07-09 16:20:18 -04:00
crypter.h Remove CCryptoKeyStore and move all of it's functionality into CWallet 2019-07-09 16:20:18 -04:00
db.cpp Merge #15588: Log the actual wallet file version and no longer publicly expose the "version" record 2019-07-27 22:45:31 +12:00
db.h Merge #15588: Log the actual wallet file version and no longer publicly expose the "version" record 2019-07-27 22:45:31 +12:00
feebumper.cpp Restrict lifetime of ReserveDestination to CWallet::CreateTransaction 2019-07-10 11:38:37 -04:00
feebumper.h scripted-diff: Bump copyright headers in wallet 2019-05-06 14:05:52 -04:00
fees.cpp [wallet] abort when attempting to fund a transaction above maxtxfee 2019-06-28 22:44:38 -04:00
fees.h Remove uses of fee globals in wallet code 2019-02-22 15:43:02 -04:00
init.cpp scripted-diff: Make translation bilingual 2019-07-24 16:33:20 +03:00
ismine.cpp Move various SigningProviders to signingprovider.{cpp,h} 2019-07-09 16:20:18 -04:00
ismine.h Change ismine to take a CWallet instead of CKeyStore 2019-06-19 18:06:30 -04:00
load.cpp scripted-diff: Make translation bilingual 2019-07-24 16:33:20 +03:00
load.h scripted-diff: Bump copyright headers in wallet 2019-05-06 14:05:52 -04:00
psbtwallet.cpp Merge #15427: Add support for descriptors to utxoupdatepsbt 2019-07-02 16:53:22 +02:00
psbtwallet.h Remove unused TransactionError constants 2019-02-14 10:32:02 -05:00
rpcdump.cpp Merge #16301: Use CWallet::Import* functions in all import* RPCs 2019-07-26 15:19:24 -04:00
rpcwallet.cpp Merge #16399: wallet: Improve wallet creation 2019-07-29 09:36:55 -04:00
rpcwallet.h Merge #15870: wallet: Only fail rescan when blocks have actually been pruned 2019-05-16 11:18:27 -04:00
wallet.cpp Merge #16399: wallet: Improve wallet creation 2019-07-29 09:36:55 -04:00
wallet.h Merge #16399: wallet: Improve wallet creation 2019-07-29 09:36:55 -04:00
walletdb.cpp Merge #15588: Log the actual wallet file version and no longer publicly expose the "version" record 2019-07-27 22:45:31 +12:00
walletdb.h Merge #15588: Log the actual wallet file version and no longer publicly expose the "version" record 2019-07-27 22:45:31 +12:00
wallettool.cpp scripted-diff: Replace fprintf with tfm::format 2019-06-13 10:32:52 -04:00
wallettool.h Move ismine to wallet module 2019-06-19 18:06:30 -04:00
walletutil.cpp Merge #15870: wallet: Only fail rescan when blocks have actually been pruned 2019-05-16 11:18:27 -04:00
walletutil.h wallet: Add WalletLocation utility class 2018-10-25 11:53:17 +01:00