elements/src/rpc
Ava Chow 63d0b930f8
Merge bitcoin/bitcoin#29845: rpc: return warnings as an array instead of just a single one
42fb5311b1 rpc: return warnings as an array instead of just a single one (stickies-v)

Pull request description:

  The RPC documentation for `getblockchaininfo`, `getmininginfo` and `getnetworkinfo` states that "warnings" returns "any network and blockchain warnings". In practice, only a single warning (i.e. the latest one that is set) is returned, the other ones are ignored.

  Fix that by returning all warnings as an array.

  As a side benefit, clean up the GetWarnings() logic.

  Since this PR changes the RPC result schema, I've added release notes. Users can temporarily revert to the old results by using `-deprecatedrpc=warnings`, until it's removed in a future version.

  ---

  Some historical context from git log:

  - when `GetWarnings` was introduced in 401926283a, it was used in the `getinfo` RPC, where only a [single error/warning was returned](401926283a (diff-7442c48d42cd5455a79915a0f00cce5e13359db46437a32b812876edb0a5ccddR250)) (similar to how it is now).
  - later on, "warnings" RPC response fields were introduced, e.g. in ef2a3de25c, with the description [stating](ef2a3de25c (diff-1021bd3c74415ad9719bd764ad6ca35af5dfb33b1cd863c0be49bdf52518af54R411)) that it returned "any network warnings" but in practice still only a single warning was returned

ACKs for top commit:
  achow101:
    re-ACK 42fb5311b1
  tdb3:
    Re ACK for 42fb5311b1
  TheCharlatan:
    ACK 42fb5311b1
  maflcko:
    ACK 42fb5311b1 🔺

Tree-SHA512: 4225ed8979cd5f030dec785a80e7452a041ad5703445da79d2906ada983ed0bbe7b15889d663d75aae4a77d92e302c93e93eca185c7bd47c9cce29e12f752bd3
2024-05-06 12:24:09 -04:00
..
blockchain.cpp rpc: return warnings as an array instead of just a single one 2024-05-01 14:44:57 +01:00
blockchain.h refactor: rpc: Pass CBlockIndex by reference instead of pointer 2023-12-07 12:05:21 +01:00
client.cpp Merge bitcoin/bitcoin#29130: wallet: Add createwalletdescriptor and gethdkeys RPCs for adding new automatically generated descriptors 2024-03-29 06:39:57 -04:00
client.h refactor: rpc: hide and rename ParseNonRFCJSONValue() 2023-03-23 18:18:46 +00:00
external_signer.cpp scripted-diff: Fix bitcoin_config_h includes 2024-02-13 20:10:44 +00:00
fees.cpp refactor: De-globalize g_signals 2024-02-15 14:37:01 +01:00
mempool.cpp [refactor] make MempoolAcceptResult::m_replaced_transactions non-optional 2024-05-01 13:34:37 +01:00
mempool.h rpc: Move mempool RPCs to new file 2022-03-11 17:46:58 +01:00
mining.cpp rpc: return warnings as an array instead of just a single one 2024-05-01 14:44:57 +01:00
mining.h rpc: create rpc/mining.h, hoist default max tries values to constant 2020-06-01 15:08:36 +02:00
net.cpp rpc: return warnings as an array instead of just a single one 2024-05-01 14:44:57 +01:00
node.cpp [rpc, bugfix] Enforce maximum value for setmocktime 2024-04-15 09:51:06 +01:00
output_script.cpp Add PubKeyDestination for P2PK scripts 2023-09-12 12:14:31 -04:00
protocol.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
rawtransaction.cpp Merge bitcoin/bitcoin#28890: rpc: Remove deprecated -rpcserialversion 2024-01-05 10:42:10 +00:00
rawtransaction_util.cpp refactor: move parsing to new function 2024-01-19 15:04:56 +01:00
rawtransaction_util.h refactor: move parsing to new function 2024-01-19 15:04:56 +01:00
register.h scripted-diff: Fix bitcoin_config_h includes 2024-02-13 20:10:44 +00:00
request.cpp rpc: keep .cookie if it was not generated 2023-11-03 17:29:27 +02:00
request.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
server.cpp scripted-diff: Fix bitcoin_config_h includes 2024-02-13 20:10:44 +00:00
server.h Remove deprecated -rpcserialversion 2023-12-11 18:22:13 +01:00
server_util.cpp refactor: add and use EnsureAnyAddrman in rpc 2023-10-04 08:53:51 +05:30
server_util.h refactor: add and use EnsureAnyAddrman in rpc 2023-10-04 08:53:51 +05:30
signmessage.cpp rpc: access some args by name 2024-03-01 13:51:21 +00:00
txoutproof.cpp refactor: Use Txid in CMerkleBlock 2023-11-28 17:49:41 +01:00
util.cpp rpc: return warnings as an array instead of just a single one 2024-05-01 14:44:57 +01:00
util.h rpc: return warnings as an array instead of just a single one 2024-05-01 14:44:57 +01:00