bitcoin/src/wallet
MarcoFalke 2a22d903f3
Merge bitcoin/bitcoin#21897: rpc: adjust incorrect RPCHelpMan types
7031721f2c rpc/listaddressgroupings: redefine inner-most array as ARR_FIXED (Karl-Johan Alm)
8500f7bf54 rpc/createrawtransaction: redefine addresses as OBJ_USER_KEYS (Karl-Johan Alm)
d9e2183c50 rpc: include OBJ_USER_KEY in RPCArg constructor checks (Karl-Johan Alm)

Pull request description:

  This PR adjusts the two issues I encountered while developing a tool that converts RPCHelpMan objects into bindings for other language(s).

  The first is in createrawtransaction, where the address part, e.g. bc1qabc in

  > createrawtransaction '[]' '[{"bc1qabc": 1.0}]'

  is declared as a `Type::OBJ`, when in reality it should be a `Type::OBJ_USER_KEYS`, defined as such:

  5925f1e652/src/rpc/util.h (L126)

  (coincidentally, this is the first and only (afaict) usage of this `RPCArg::Type`).

  The second is in the `listaddressgroupings` RPC, which returns an array of arrays of arrays, where the innermost one is a tuple-thingie with an optional 3rd item; this is an `ARR_FIXED`, not an `ARR`.

ACKs for top commit:
  MarcoFalke:
    ACK 7031721f2c 🐀

Tree-SHA512: 769377416c6226d1738a956fb685498e009f9e7eb2d45bc679b81c5364b9520fdbcb49392c937ab45598aa0d33589e8e6a59ccc101cf8d8e7dfdafd58d4eefd0
2021-05-10 08:44:02 +02:00
..
test move-only: Move constants to blockstorage 2021-04-27 10:32:54 +02: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 refactor: Drop CCoinControl::SetNull 2021-04-18 21:10:47 +01:00
coincontrol.h refactor: Drop CCoinControl::SetNull 2021-04-18 21:10:47 +01:00
coinselection.cpp refactor: post Optional<> removal cleanups 2021-03-17 14:56:20 +08:00
coinselection.h [docs] add doxygen comments to wallet code 2021-04-26 11:00:18 -07: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 refactor: Replace &foo[0] with foo.data() 2021-05-04 06:55:31 +02: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_scriptpubkeyman.cpp refactor: add missing includes to external signer code 2021-04-13 20:09:33 +08:00
external_signer_scriptpubkeyman.h refactor: add missing includes to external signer code 2021-04-13 20:09:33 +08: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 tests: Skip SQLite fsyncs while testing 2021-04-12 19:29:03 -04:00
interfaces.cpp Move external signer out of wallet module 2021-04-08 17:56:00 +02: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: Use CPubKey vector constructor where possible 2021-05-04 06:53:32 +02:00
rpcwallet.cpp rpc/listaddressgroupings: redefine inner-most array as ARR_FIXED 2021-05-09 22:22:26 +09:00
rpcwallet.h refactor: replace util::Ref by std::any (C++17) 2021-03-29 23:29:42 +02:00
salvage.cpp refactor: Replace &foo[0] with foo.data() 2021-05-04 06:55:31 +02:00
salvage.h wallettool: Have RecoverDatabaseFile return errors and warnings 2020-07-26 20:22:45 -04:00
scriptpubkeyman.cpp refactor: Replace &foo[0] with foo.data() 2021-05-04 06:55:31 +02:00
scriptpubkeyman.h wallet: ExternalSigner: add GetDescriptors method 2021-02-23 14:34:31 +01:00
sqlite.cpp tests: Skip SQLite fsyncs while testing 2021-04-12 19:29:03 -04:00
sqlite.h doc: fix various typos 2021-01-04 12:31:31 +08:00
wallet.cpp refactor: Replace &foo[0] with foo.data() 2021-05-04 06:55:31 +02:00
wallet.h [docs] add doxygen comments to wallet code 2021-04-26 11:00:18 -07: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