elements/src
Samuel Dobson 9deba2de76
Merge #20226: wallet, rpc: add listdescriptors command
647b81b709 wallet, rpc: add listdescriptors command (Ivan Metlushko)

Pull request description:

  Looking for concept ACKs

  **Rationale**: allow users to inspect the contents of their newly created descriptor wallets.

  Currently the command only returns xpubs which is not very useful in itself, but there are multiples ways to extend it:
   * add an option to export xprv
   * with #19136 it'll be possible to return normalised descriptors suitable for a watch-only purposes

  The output is compatible with `importdescriptors` command so it could be easily used for backup/recover purposes.

  **Output example:**
  ```json
  [
    {
      "desc": "wpkh(tpubD6NzVbkrYhZ4WW6E2ZETFyNfq2hfF23SKxqSGFvUpPAY58jmmuBybwqwFihAyQPk9KnwTt5516NDZRJ7k5QPeKjy7wuVd5WvXNxwwAs5tUD/*)#nhavpr5h",
      "timestamp": 1296688602,
      "active": false,
      "range": [
        0,
        999
      ],
      "next": 0
    }
  ]
  ```

ACKs for top commit:
  jonatack:
    re-ACK 647b81b709 rebased to master, debug builds cleanly, reviewed diff since last review, tested with a descriptor wallet (and with a legacy wallet)
  achow101:
    re-ACK 647b81b

Tree-SHA512: 51a3620bb17c836c52cecb066d4fa9d5ff418af56809046eaee0528c4dc240a4e90fff5711ba96e399c6664e00b9ee8194e33852b1b9e75af18061296e19a8a7
2021-01-28 13:40:18 +13:00
..
bench Merge #18710: Add local thread pool to CCheckQueue 2021-01-25 20:21:19 +01:00
compat scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
config
consensus scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
crc32c build: Update crc32c subtree 2020-12-08 19:26:30 +01:00
crypto Merge #19055: Add MuHash3072 implementation 2021-01-07 17:57:17 +01:00
index Merge #19935: Move SaltedHashers to separate file and add some new ones 2021-01-13 08:49:17 +01:00
interfaces net: Add -natpmp command line option 2021-01-07 18:07:09 +02:00
leveldb
logging
node net: Add -natpmp command line option 2021-01-07 18:07:09 +02:00
policy refactor: Use C++17 std::array deduction for ALL_FEE_ESTIMATE_HORIZONS 2021-01-03 18:38:31 +01:00
primitives scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
qt Merge #180: Peer details: connection type follow-ups 2021-01-27 20:33:52 +01:00
rpc Merge #20964: rpc: Add specific error code for "wallet already loaded" 2021-01-27 13:43:31 +01:00
script Merge #19935: Move SaltedHashers to separate file and add some new ones 2021-01-13 08:49:17 +01:00
secp256k1 Update secp256k1 subtree to latest master 2020-10-27 23:08:48 -07:00
support doc: Use https URLs where possible 2021-01-04 12:23:16 +08:00
test Merge bitcoin-core/gui#183: Add include for std::bind. 2021-01-26 11:14:27 +01:00
univalue Update univalue subtree 2020-11-19 15:48:24 +01:00
util Merge #20932: refactor: Replace fs::absolute calls with AbsPathJoin calls 2021-01-21 18:48:03 +01:00
wallet Merge #20226: wallet, rpc: add listdescriptors command 2021-01-28 13:40:18 +13:00
zmq Merge #20523: zmq: deduplicate 'sequence' publisher message creation/sending 2021-01-22 12:58:47 +08:00
.clang-format tools: clang-format 6 compatibility 2020-07-06 03:52:37 +02:00
addrdb.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
addrdb.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
addrman.cpp Don't declare de facto const reference variables as non-const 2020-12-06 18:44:31 +00:00
addrman.h Merge #20291: [net] Consolidate logic around calling CAddrMan::Connected() 2020-11-19 16:30:54 +01:00
amount.h
arith_uint256.cpp
arith_uint256.h
attributes.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
banman.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
banman.h Clean up separated ban/discourage interface 2020-07-03 20:43:55 -07:00
base58.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
base58.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
bech32.cpp
bech32.h
bitcoin-cli-res.rc Drop the leading 0 from the version number 2020-11-18 12:00:57 -05:00
bitcoin-cli.cpp netinfo: add user help documentation 2021-01-05 21:31:48 +01:00
bitcoin-tx-res.rc Drop the leading 0 from the version number 2020-11-18 12:00:57 -05:00
bitcoin-tx.cpp Move TX_MAX_STANDARD_VERSION to policy 2020-12-10 11:12:08 +01:00
bitcoin-util-res.rc Add bitcoin-util command line utility 2021-01-12 18:34:25 +10:00
bitcoin-util.cpp Merge #20938: build: fix linking against -latomic when building for riscv 2021-01-18 18:33:24 +01:00
bitcoin-wallet-res.rc Drop the leading 0 from the version number 2020-11-18 12:00:57 -05:00
bitcoin-wallet.cpp wallet: Add missing check for -descriptors wallet tool option 2020-12-17 20:36:41 +01:00
bitcoind-res.rc Drop the leading 0 from the version number 2020-11-18 12:00:57 -05:00
bitcoind.cpp init: Signal-safe instant shutdown 2020-12-15 17:21:06 +01:00
blockencodings.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
blockencodings.h
blockfilter.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
blockfilter.h
bloom.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
bloom.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
chain.cpp
chain.h chain: Remove UB CChain comparison 2020-08-27 20:07:27 -04:00
chainparams.cpp Move signet onion seed from v2 to v3 2020-12-15 14:12:01 +01:00
chainparams.h Remove gArgs global from CreateChainParams to aid testing 2020-09-29 10:20:05 +02:00
chainparamsbase.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
chainparamsbase.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
chainparamsseeds.h net: Hardcoded seeds update for 0.21 2020-10-25 14:25:00 +01:00
checkqueue.h refactor: Drop boost::thread stuff in CCheckQueue 2020-09-24 06:55:34 +03:00
clientversion.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
clientversion.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
coins.cpp Merge #19935: Move SaltedHashers to separate file and add some new ones 2021-01-13 08:49:17 +01:00
coins.h Move Hashers to util/hasher.{cpp/h} 2020-11-10 14:33:37 -05:00
compat.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
compressor.cpp
compressor.h
core_io.h doc: fix various typos 2021-01-04 12:31:31 +08:00
core_memusage.h
core_read.cpp doc: fix various typos 2021-01-04 12:31:31 +08:00
core_write.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
cuckoocache.h doc: Use https URLs where possible 2021-01-04 12:23:16 +08:00
dbwrapper.cpp
dbwrapper.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
dummywallet.cpp wallet: Remove -upgradewallet from dummywallet 2020-11-04 12:16:57 -05:00
flatfile.cpp Fix possible data race when committing block files 2020-08-25 16:46:46 +00:00
flatfile.h
fs.cpp Replace fs::absolute calls with AbsPathJoin calls 2021-01-15 22:48:15 +01:00
fs.h Replace fs::absolute calls with AbsPathJoin calls 2021-01-15 22:48:15 +01:00
hash.cpp doc: Use https URLs where possible 2021-01-04 12:23:16 +08:00
hash.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
httprpc.cpp rpc: Validate -rpcauth arguments 2020-11-23 21:02:54 +00:00
httprpc.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
httpserver.cpp net: Drop unneeded headers when compat.h included 2020-10-22 21:45:20 +03:00
httpserver.h
indirectmap.h
init.cpp doc: update -onlynet help in src/init.cpp 2021-01-25 21:31:05 +01:00
init.h Don't make "in" parameters look like "out"/"in-out" parameters: pass by ref to const instead of ref to non-const 2020-12-06 00:22:40 +00:00
key.cpp doc: Use https URLs where possible 2021-01-04 12:23:16 +08:00
key.h
key_io.cpp Better error messages for invalid addresses 2021-01-24 02:44:53 +01:00
key_io.h Better error messages for invalid addresses 2021-01-24 02:44:53 +01:00
logging.cpp Don't declare de facto const member functions as non-const 2020-12-06 18:44:25 +00:00
logging.h Don't declare de facto const member functions as non-const 2020-12-06 18:44:25 +00:00
Makefile.am build: Add var printing target to src/Makefile.am 2021-01-21 10:57:31 -05:00
Makefile.bench.include net: Add libnatpmp support 2021-01-07 18:07:09 +02:00
Makefile.crc32c.include build: Update crc32c subtree 2020-12-08 19:26:30 +01:00
Makefile.leveldb.include
Makefile.qt.include Merge bitcoin-core/gui#176: Fix TxViewDelegate layout 2021-01-21 18:54:19 +01:00
Makefile.qt_locale.include qt: Pre-splitoff translations update 2020-10-27 19:40:44 +01:00
Makefile.qttest.include net: Add libnatpmp support 2021-01-07 18:07:09 +02:00
Makefile.test.include Merge #18077: net: Add NAT-PMP port forwarding support 2021-01-07 19:41:55 +01:00
Makefile.test_fuzz.include
Makefile.test_util.include test: Mock IBD in net_processing fuzzers 2020-11-07 07:50:59 +01:00
mapport.cpp net: Add -natpmp command line option 2021-01-07 18:07:09 +02:00
mapport.h net: Add -natpmp command line option 2021-01-07 18:07:09 +02:00
memusage.h
merkleblock.cpp doc: fix various typos 2021-01-04 12:31:31 +08:00
merkleblock.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
miner.cpp Don't declare de facto const member functions as non-const 2020-12-06 18:44:25 +00:00
miner.h Don't declare de facto const member functions as non-const 2020-12-06 18:44:25 +00:00
net.cpp Merge bitcoin-core/gui#183: Add include for std::bind. 2021-01-26 11:14:27 +01:00
net.h Merge #180: Peer details: connection type follow-ups 2021-01-27 20:33:52 +01:00
net_permissions.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
net_permissions.h Reduce MAX_PEER_TX_ANNOUNCEMENTS for non-PF_RELAY peers 2020-10-12 12:14:53 -07:00
net_processing.cpp Merge #20811: refactor: move net_processing implementation details out of header 2021-01-13 09:48:06 +01:00
net_processing.h net_processing: move Peer definition to .cpp 2021-01-09 23:27:45 +10:00
net_types.h
netaddress.cpp net: allow CSubNet of non-IP networks 2021-01-10 15:51:15 +01:00
netaddress.h Merge #20852: net: allow CSubNet of non-IP networks 2021-01-11 11:27:47 +01:00
netbase.cpp net: update GetNetworkName() with all enum Network cases 2020-10-15 19:21:38 +02:00
netbase.h
netmessagemaker.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
noui.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
noui.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
optional.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
outputtype.cpp refactor: Use C++17 std::array deduction for OUTPUT_TYPES 2021-01-03 18:37:59 +01:00
outputtype.h refactor: Use C++17 std::array deduction for OUTPUT_TYPES 2021-01-03 18:37:59 +01:00
pow.cpp
pow.h
prevector.h
protocol.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
protocol.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
psbt.cpp psbt: Assert that tx has a value in UpdatePSBTOutput 2020-12-19 09:45:39 +01:00
psbt.h scripted-diff: Use [[nodiscard]] (C++17) instead of NODISCARD 2020-11-26 09:05:59 +00:00
pubkey.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
pubkey.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
random.cpp Merge #17563: lib: fix a compiler warning: unused GetDevURandom() 2020-08-10 21:30:42 +08:00
random.h
randomenv.cpp util: Allow use of C++14 chrono literals 2020-12-08 16:47:36 +01:00
randomenv.h
rest.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
reverse_iterator.h
scheduler.cpp Add include for std::bind. 2021-01-13 02:05:00 +01:00
scheduler.h
serialize.h Support bypassing range check in ReadCompactSize 2020-10-09 10:32:19 +02:00
shutdown.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
shutdown.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
signet.cpp refactor: Remove SignetTxs::m_valid and use optional instead 2020-09-22 22:31:31 +02:00
signet.h refactor: Remove SignetTxs::m_valid and use optional instead 2020-09-22 22:31:31 +02:00
span.h Merge #19387: span: update constructors to match c++20 draft spec and add lifetimebound attribute 2020-11-25 15:18:33 +01:00
streams.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
sync.cpp refactor: remove straggling boost::mutex usage 2021-01-26 15:57:28 +08:00
sync.h Merge #20495: sync: Use decltype(auto) return type for WITH_LOCK 2021-01-12 15:56:19 +08:00
threadinterrupt.cpp
threadinterrupt.h
threadsafety.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
timedata.cpp Avoid the use of abs64 in timedata 2020-10-12 19:50:16 -07:00
timedata.h
tinyformat.h refactor: Improve use of explicit keyword 2020-12-01 18:36:39 +01:00
torcontrol.cpp Add include for std::bind. 2021-01-13 02:05:00 +01:00
torcontrol.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
txdb.cpp Merge #18637: coins: allow cache resize after init 2020-07-29 07:53:19 +02:00
txdb.h txdb: add CCoinsViewDB::ChangeCacheSize 2020-07-01 14:44:24 -04:00
txmempool.cpp locks: Annotate CTxMemPool::check to require cs_main 2021-01-20 16:15:03 -05:00
txmempool.h locks: Annotate CTxMemPool::check to require cs_main 2021-01-20 16:15:03 -05:00
txrequest.cpp refactor: Improve use of explicit keyword 2020-12-01 18:36:39 +01:00
txrequest.h Report and verify expirations 2020-10-12 12:14:53 -07:00
uint256.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
uint256.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
undo.h
validation.cpp Merge #18710: Add local thread pool to CCheckQueue 2021-01-25 20:21:19 +01:00
validation.h Merge #18710: Add local thread pool to CCheckQueue 2021-01-25 20:21:19 +01:00
validationinterface.cpp Add 'sequence' zmq publisher to track all block (dis)connects, mempool deltas 2020-09-22 11:34:30 -04:00
validationinterface.h Add 'sequence' zmq publisher to track all block (dis)connects, mempool deltas 2020-09-22 11:34:30 -04:00
version.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
versionbits.cpp
versionbits.h
versionbitsinfo.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
versionbitsinfo.h
walletinitinterface.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
warnings.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
warnings.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00