aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2021-04-01 14:53:23 +0800
committerfanquake <fanquake@gmail.com>2021-04-01 15:17:15 +0800
commit2b2ab9ab7895cd6356e5dc4db17aa9ce475d495e (patch)
tree1486cf9f2e379a6344b739cc44ddea324c928c63
parent539e4eec63fa5cbc525343c33c40c43f7b48cb6a (diff)
parent1111896eb7865a7bc474ee2aa338c97c22a66c14 (diff)
downloadbitcoin-2b2ab9ab7895cd6356e5dc4db17aa9ce475d495e.tar.xz
Merge #21544: rpc: Missing doc updates for bumpfee psbt update
1111896eb7865a7bc474ee2aa338c97c22a66c14 doc: Merge release notes (MarcoFalke) faeba9819d81e0f41756a45db55030ec3ba9f044 rpc: Missing doc updates for bumpfee psbt update (MarcoFalke) Pull request description: Stuff missed in #20891. Also merge release notes, so that it doesn't have to be done later. ACKs for top commit: fanquake: ACK 1111896eb7865a7bc474ee2aa338c97c22a66c14 Tree-SHA512: c9be5a3c944e2981c83546c4761277f1ad5fb9ba97bec80d073db4229924cb48fd23cb5638217c844e05af51d80507718dd201099cbe50819986b3c47c5df7e5
-rw-r--r--doc/release-notes-18077.md10
-rw-r--r--doc/release-notes-18466.md10
-rw-r--r--doc/release-notes-19776.md9
-rw-r--r--doc/release-notes-20861.md13
-rw-r--r--doc/release-notes.md44
-rw-r--r--src/wallet/rpcwallet.cpp8
6 files changed, 45 insertions, 49 deletions
diff --git a/doc/release-notes-18077.md b/doc/release-notes-18077.md
deleted file mode 100644
index 4034a4c19c..0000000000
--- a/doc/release-notes-18077.md
+++ /dev/null
@@ -1,10 +0,0 @@
-P2P and network changes
------------------------
-
-- Added NAT-PMP port mapping support via [`libnatpmp`](https://miniupnp.tuxfamily.org/libnatpmp.html)
-
-Command-line options
---------------------
-
-- The `-natpmp` option has been added to use NAT-PMP to map the listening port. If both UPnP
-and NAT-PMP are enabled, a successful allocation from UPnP prevails over one from NAT-PMP.
diff --git a/doc/release-notes-18466.md b/doc/release-notes-18466.md
deleted file mode 100644
index e46d5064a3..0000000000
--- a/doc/release-notes-18466.md
+++ /dev/null
@@ -1,10 +0,0 @@
-Low-level RPC changes
----------------------
-
-- Error codes have been updated to be more accurate for the following error cases (#18466):
- - `signmessage` now returns RPC_INVALID_ADDRESS_OR_KEY (-5) if the
- passed address is invalid. Previously returned RPC_TYPE_ERROR (-3).
- - `verifymessage` now returns RPC_INVALID_ADDRESS_OR_KEY (-5) if the
- passed address is invalid. Previously returned RPC_TYPE_ERROR (-3).
- - `verifymessage` now returns RPC_TYPE_ERROR (-3) if the passed signature
- is malformed. Previously returned RPC_INVALID_ADDRESS_OR_KEY (-5).
diff --git a/doc/release-notes-19776.md b/doc/release-notes-19776.md
deleted file mode 100644
index 5553c5a7bd..0000000000
--- a/doc/release-notes-19776.md
+++ /dev/null
@@ -1,9 +0,0 @@
-Updated RPCs
-------------
-
-- The `getpeerinfo` RPC returns two new boolean fields, `bip152_hb_to` and
- `bip152_hb_from`, that respectively indicate whether we selected a peer to be
- in compact blocks high-bandwidth mode or whether a peer selected us as a
- compact blocks high-bandwidth peer. High-bandwidth peers send new block
- announcements via a `cmpctblock` message rather than the usual inv/headers
- announcements. See BIP 152 for more details. (#19776)
diff --git a/doc/release-notes-20861.md b/doc/release-notes-20861.md
deleted file mode 100644
index 5c68e4ab0c..0000000000
--- a/doc/release-notes-20861.md
+++ /dev/null
@@ -1,13 +0,0 @@
-Updated RPCs
-------------
-
-- Due to [BIP 350](https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki)
- being implemented, behavior for all RPCs that accept addresses is changed when
- a native witness version 1 (or higher) is passed. These now require a Bech32m
- encoding instead of a Bech32 one, and Bech32m encoding will be used for such
- addresses in RPC output as well. No version 1 addresses should be created
- for mainnet until consensus rules are adopted that give them meaning
- (e.g. through [BIP 341](https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki)).
- Once that happens, Bech32m is expected to be used for them, so this shouldn't
- affect any production systems, but may be observed on other networks where such
- addresses already have meaning (like signet).
diff --git a/doc/release-notes.md b/doc/release-notes.md
index e46380b38f..334dfa80a4 100644
--- a/doc/release-notes.md
+++ b/doc/release-notes.md
@@ -59,8 +59,30 @@ Notable changes
P2P and network changes
-----------------------
+- Added NAT-PMP port mapping support via
+ [`libnatpmp`](https://miniupnp.tuxfamily.org/libnatpmp.html). (#18077)
+
Updated RPCs
------------
+
+- Due to [BIP 350](https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki)
+ being implemented, behavior for all RPCs that accept addresses is changed when
+ a native witness version 1 (or higher) is passed. These now require a Bech32m
+ encoding instead of a Bech32 one, and Bech32m encoding will be used for such
+ addresses in RPC output as well. No version 1 addresses should be created
+ for mainnet until consensus rules are adopted that give them meaning
+ (e.g. through [BIP 341](https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki)).
+ Once that happens, Bech32m is expected to be used for them, so this shouldn't
+ affect any production systems, but may be observed on other networks where such
+ addresses already have meaning (like signet). (#20861)
+
+- The `getpeerinfo` RPC returns two new boolean fields, `bip152_hb_to` and
+ `bip152_hb_from`, that respectively indicate whether we selected a peer to be
+ in compact blocks high-bandwidth mode or whether a peer selected us as a
+ compact blocks high-bandwidth peer. High-bandwidth peers send new block
+ announcements via a `cmpctblock` message rather than the usual inv/headers
+ announcements. See BIP 152 for more details. (#19776)
+
- `getpeerinfo` no longer returns the following fields: `addnode`, `banscore`,
and `whitelisted`, which were previously deprecated in 0.21. Instead of
`addnode`, the `connection_type` field returns manual. Instead of
@@ -72,8 +94,8 @@ Updated RPCs
`/rest/getutxos`, `/rest/block` deprecated the following fields (which are no
longer returned in the responses by default): `addresses`, `reqSigs`.
The `-deprecatedrpc=addresses` flag must be passed for these fields to be
- included in the RPC response. This flag/option will be available until v23, at which
- point the deprecation will be removed entirely. Note that these fields are attributes of
+ included in the RPC response. This flag/option will be available only for this major release, after which
+ the deprecation will be removed entirely. Note that these fields are attributes of
the `scriptPubKey` object returned in the RPC response. However, in the response
of `decodescript` these fields are top-level attributes, and included again as attributes
of the `scriptPubKey` object. (#20286)
@@ -93,6 +115,10 @@ Build System
New settings
------------
+- The `-natpmp` option has been added to use NAT-PMP to map the listening port.
+ If both UPnP and NAT-PMP are enabled, a successful allocation from UPnP
+ prevails over one from NAT-PMP. (#18077)
+
Updated settings
----------------
@@ -110,6 +136,9 @@ Wallet
The RPC returns public versions of all imported descriptors, including their timestamp and flags.
For ranged descriptors, it also returns the range boundaries and the next index to generate addresses from. (#20226)
+- The `bumpfee` RPC is not available with wallets that have private keys
+ disabled. `psbtbumpfee` can be used instead. (#20891)
+
GUI changes
-----------
@@ -118,11 +147,20 @@ Low-level changes
RPC
---
+
- The RPC server can process a limited number of simultaneous RPC requests.
- Previously, if this limit was exceeded, `bitcoind` would respond with
+ Previously, if this limit was exceeded, the RPC server would respond with
[status code 500 (`HTTP_INTERNAL_SERVER_ERROR`)](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#5xx_server_errors).
Now it returns status code 503 (`HTTP_SERVICE_UNAVAILABLE`). (#18335)
+- Error codes have been updated to be more accurate for the following error cases (#18466):
+ - `signmessage` now returns RPC_INVALID_ADDRESS_OR_KEY (-5) if the
+ passed address is invalid. Previously returned RPC_TYPE_ERROR (-3).
+ - `verifymessage` now returns RPC_INVALID_ADDRESS_OR_KEY (-5) if the
+ passed address is invalid. Previously returned RPC_TYPE_ERROR (-3).
+ - `verifymessage` now returns RPC_TYPE_ERROR (-3) if the passed signature
+ is malformed. Previously returned RPC_INVALID_ADDRESS_OR_KEY (-5).
+
Tests
-----
diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp
index ce8ce4342a..df26f039a0 100644
--- a/src/wallet/rpcwallet.cpp
+++ b/src/wallet/rpcwallet.cpp
@@ -3379,7 +3379,7 @@ RPCHelpMan signrawtransactionwithwallet()
static RPCHelpMan bumpfee_helper(std::string method_name)
{
- bool want_psbt = method_name == "psbtbumpfee";
+ const bool want_psbt = method_name == "psbtbumpfee";
const std::string incremental_fee{CFeeRate(DEFAULT_INCREMENTAL_RELAY_FEE).ToString(FeeEstimateMode::SAT_VB)};
return RPCHelpMan{method_name,
@@ -3413,14 +3413,14 @@ static RPCHelpMan bumpfee_helper(std::string method_name)
"still be replaceable in practice, for example if it has unconfirmed ancestors which\n"
"are replaceable).\n"},
{"estimate_mode", RPCArg::Type::STR, /* default */ "unset", std::string() + "The fee estimate mode, must be one of (case insensitive):\n"
- " \"" + FeeModes("\"\n\"") + "\""},
+ "\"" + FeeModes("\"\n\"") + "\""},
},
"options"},
},
RPCResult{
RPCResult::Type::OBJ, "", "", Cat(Cat<std::vector<RPCResult>>(
{
- {RPCResult::Type::STR, "psbt", "The base64-encoded unsigned PSBT of the new transaction." + std::string(want_psbt ? "" : " Only returned when wallet private keys are disabled. (DEPRECATED)")},
+ {RPCResult::Type::STR, "psbt", "The base64-encoded unsigned PSBT of the new transaction."},
},
want_psbt ? std::vector<RPCResult>{} : std::vector<RPCResult>{{RPCResult::Type::STR_HEX, "txid", "The id of the new transaction. Only returned when wallet private keys are enabled."}}
),
@@ -3437,7 +3437,7 @@ static RPCHelpMan bumpfee_helper(std::string method_name)
"\nBump the fee, get the new transaction\'s" + std::string(want_psbt ? "psbt" : "txid") + "\n" +
HelpExampleCli(method_name, "<txid>")
},
- [want_psbt](const RPCHelpMan& self, const JSONRPCRequest& request) mutable -> UniValue
+ [want_psbt](const RPCHelpMan& self, const JSONRPCRequest& request) -> UniValue
{
std::shared_ptr<CWallet> const pwallet = GetWalletForJSONRPCRequest(request);
if (!pwallet) return NullUniValue;