bitcoin/src/wallet
MarcoFalke 1c7be9ab90
Merge #20286: rpc: deprecate addresses and reqSigs from rpc outputs
90ae3d8ca6 doc: Add release notes for -deprecatedrpc=addresses and bitcoin-tx (Michael Dietz)
085b3a7299 rpc: deprecate `addresses` and `reqSigs` from rpc outputs (Michael Dietz)

Pull request description:

  Considering the limited applicability of `reqSigs` and the confusing output of `1` in all cases except bare multisig, the `addresses` and `reqSigs` outputs are removed for all rpc commands.

  1) add a new sane "address" field (for outputs that have an identifiable address, which doesn't include bare multisig)
  2) with -deprecatedrpc: leave "reqSigs" and "addresses" intact (with all weird/wrong behavior they have now)
  3) without -deprecatedrpc: drop "reqSigs" and "addresses" entirely always.

  Note: Some light refactoring done to allow us to very easily delete a few chunks of code (marked with TODOs) when we remove this deprecated behavior.

  Using `IsDeprecatedRPCEnabled` in core_write.cpp caused some circular dependencies involving core_io

  Circular dependencies were caused by rpc/util unnecessarily importing node/coinstats and node/transaction. Really what rpc/util needs are some fundamental type/helper-function definitions. So this was cleaned up to make more sense.

  This fixes #20102.

ACKs for top commit:
  MarcoFalke:
    re-ACK 90ae3d8ca6 📢

Tree-SHA512: 8ffb617053b5f4a8b055da17c06711fd19632e0037d71c4c8135e50c8cd7a19163989484e4e0f17a6cc48bd597f04ecbfd609aef54b7d1d1e76a784214fcf72a
2021-03-29 15:14:31 +02:00
..
test Merge #21415: refactor: remove Optional & nullopt 2021-03-17 12:17:33 +01:00
bdb.cpp scripted-diff: remove MakeUnique<T>() 2021-03-11 13:45:14 +08:00
bdb.h wallet: Add BerkeleyDB version sanity check at init time 2021-01-17 18:10:20 +01:00
coincontrol.cpp [rpc] walletcreatefundedpsbt: don't automatically append inputs 2020-03-12 13:07:17 +01:00
coincontrol.h refactor: post Optional<> removal cleanups 2021-03-17 14:56:20 +08:00
coinselection.cpp refactor: post Optional<> removal cleanups 2021-03-17 14:56:20 +08:00
coinselection.h Merge #20040: wallet: Refactor OutputGroups to handle fees and spending eligibility on grouping 2021-02-01 22:43:17 +13: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 scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
db.cpp wallet: List all wallets in non-SQLite or non-BDB builds 2020-12-04 11:03:28 -04:00
db.h refactor: post Optional<> removal cleanups 2021-03-17 14:56:20 +08:00
dump.cpp wallettool: Add createfromdump command 2020-12-16 12:33:06 -05:00
dump.h wallettool: Add createfromdump command 2020-12-16 12:33:06 -05:00
external_signer.cpp rpc: send: support external signer 2021-02-23 14:34:32 +01:00
external_signer.h rpc: send: support external signer 2021-02-23 14:34:32 +01:00
external_signer_scriptpubkeyman.cpp rpc: signerdisplayaddress 2021-02-23 14:34:31 +01:00
external_signer_scriptpubkeyman.h rpc: send: support external signer 2021-02-23 14:34:32 +01:00
feebumper.cpp Merge #20536: wallet: Error with "Transaction too large" if the funded tx will end up being too large after signing 2021-03-09 10:42:21 +13:00
feebumper.h wallet: Avoid translating RPC errors when creating txs 2020-05-01 07:39:06 -04:00
fees.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
fees.h Remove uses of fee globals in wallet code 2019-02-22 15:43:02 -04:00
init.cpp Add new format string placeholders for walletnotify to include relevant block information for transactions 2021-03-15 18:45:36 +02:00
interfaces.cpp scripted-diff: remove MakeUnique<T>() 2021-03-11 13:45:14 +08:00
ismine.h doc: Add developer documentation to isminetype 2021-01-19 19:04:45 +08:00
load.cpp remove unnecessary newline from initWarning() argument 2021-03-24 04:31:48 -06:00
load.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
rpcdump.cpp refactor: post Optional<> removal cleanups 2021-03-17 14:56:20 +08:00
rpcsigner.cpp rpc: don't require wallet for enumeratesigners 2021-03-11 15:15:14 +01:00
rpcsigner.h rpc: add external signer RPC files 2021-02-23 14:34:30 +01:00
rpcwallet.cpp rpc: deprecate addresses and reqSigs from rpc outputs 2021-03-23 10:51:43 -04:00
rpcwallet.h rpc: refactor rpc wallet functions to take references instead of pointers 2021-03-05 09:20:13 +08:00
salvage.cpp scripted-diff: remove MakeUnique<T>() 2021-03-11 13:45:14 +08:00
salvage.h wallettool: Have RecoverDatabaseFile return errors and warnings 2020-07-26 20:22:45 -04:00
scriptpubkeyman.cpp refactor: post Optional<> removal cleanups 2021-03-17 14:56:20 +08:00
scriptpubkeyman.h wallet: ExternalSigner: add GetDescriptors method 2021-02-23 14:34:31 +01:00
sqlite.cpp scripted-diff: remove MakeUnique<T>() 2021-03-11 13:45:14 +08:00
sqlite.h doc: fix various typos 2021-01-04 12:31:31 +08:00
wallet.cpp Merge #21040: wallet: Fix already-loading message grammar 2021-03-21 07:51:11 +01:00
wallet.h Merge #21415: refactor: remove Optional & nullopt 2021-03-17 12:17:33 +01:00
walletdb.cpp refactor: post Optional<> removal cleanups 2021-03-17 14:56:20 +08:00
walletdb.h Include wallet/bdb.h where it is actually being used 2020-11-18 11:55:43 -05:00
wallettool.cpp refactor: Move all command dependend checks to ExecuteWalletToolFunc 2021-01-21 19:30:34 +01:00
wallettool.h refactor: Move all command dependend checks to ExecuteWalletToolFunc 2021-01-21 19:30:34 +01:00
walletutil.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
walletutil.h wallet: add external_signer flag 2021-02-23 14:34:30 +01:00