Skip to content

Commit 2b2ab9a

Browse files
committed
Merge #21544: rpc: Missing doc updates for bumpfee psbt update
1111896 doc: Merge release notes (MarcoFalke) faeba98 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 1111896 Tree-SHA512: c9be5a3c944e2981c83546c4761277f1ad5fb9ba97bec80d073db4229924cb48fd23cb5638217c844e05af51d80507718dd201099cbe50819986b3c47c5df7e5
2 parents 539e4ee + 1111896 commit 2b2ab9a

File tree

6 files changed

+45
-49
lines changed

6 files changed

+45
-49
lines changed

doc/release-notes-18077.md

Lines changed: 0 additions & 10 deletions
This file was deleted.

doc/release-notes-18466.md

Lines changed: 0 additions & 10 deletions
This file was deleted.

doc/release-notes-19776.md

Lines changed: 0 additions & 9 deletions
This file was deleted.

doc/release-notes-20861.md

Lines changed: 0 additions & 13 deletions
This file was deleted.

doc/release-notes.md

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,30 @@ Notable changes
5959
P2P and network changes
6060
-----------------------
6161

62+
- Added NAT-PMP port mapping support via
63+
[`libnatpmp`](https://miniupnp.tuxfamily.org/libnatpmp.html). (#18077)
64+
6265
Updated RPCs
6366
------------
67+
68+
- Due to [BIP 350](https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki)
69+
being implemented, behavior for all RPCs that accept addresses is changed when
70+
a native witness version 1 (or higher) is passed. These now require a Bech32m
71+
encoding instead of a Bech32 one, and Bech32m encoding will be used for such
72+
addresses in RPC output as well. No version 1 addresses should be created
73+
for mainnet until consensus rules are adopted that give them meaning
74+
(e.g. through [BIP 341](https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki)).
75+
Once that happens, Bech32m is expected to be used for them, so this shouldn't
76+
affect any production systems, but may be observed on other networks where such
77+
addresses already have meaning (like signet). (#20861)
78+
79+
- The `getpeerinfo` RPC returns two new boolean fields, `bip152_hb_to` and
80+
`bip152_hb_from`, that respectively indicate whether we selected a peer to be
81+
in compact blocks high-bandwidth mode or whether a peer selected us as a
82+
compact blocks high-bandwidth peer. High-bandwidth peers send new block
83+
announcements via a `cmpctblock` message rather than the usual inv/headers
84+
announcements. See BIP 152 for more details. (#19776)
85+
6486
- `getpeerinfo` no longer returns the following fields: `addnode`, `banscore`,
6587
and `whitelisted`, which were previously deprecated in 0.21. Instead of
6688
`addnode`, the `connection_type` field returns manual. Instead of
@@ -72,8 +94,8 @@ Updated RPCs
7294
`/rest/getutxos`, `/rest/block` deprecated the following fields (which are no
7395
longer returned in the responses by default): `addresses`, `reqSigs`.
7496
The `-deprecatedrpc=addresses` flag must be passed for these fields to be
75-
included in the RPC response. This flag/option will be available until v23, at which
76-
point the deprecation will be removed entirely. Note that these fields are attributes of
97+
included in the RPC response. This flag/option will be available only for this major release, after which
98+
the deprecation will be removed entirely. Note that these fields are attributes of
7799
the `scriptPubKey` object returned in the RPC response. However, in the response
78100
of `decodescript` these fields are top-level attributes, and included again as attributes
79101
of the `scriptPubKey` object. (#20286)
@@ -93,6 +115,10 @@ Build System
93115
New settings
94116
------------
95117

118+
- The `-natpmp` option has been added to use NAT-PMP to map the listening port.
119+
If both UPnP and NAT-PMP are enabled, a successful allocation from UPnP
120+
prevails over one from NAT-PMP. (#18077)
121+
96122
Updated settings
97123
----------------
98124

@@ -110,6 +136,9 @@ Wallet
110136
The RPC returns public versions of all imported descriptors, including their timestamp and flags.
111137
For ranged descriptors, it also returns the range boundaries and the next index to generate addresses from. (#20226)
112138

139+
- The `bumpfee` RPC is not available with wallets that have private keys
140+
disabled. `psbtbumpfee` can be used instead. (#20891)
141+
113142
GUI changes
114143
-----------
115144

@@ -118,11 +147,20 @@ Low-level changes
118147

119148
RPC
120149
---
150+
121151
- The RPC server can process a limited number of simultaneous RPC requests.
122-
Previously, if this limit was exceeded, `bitcoind` would respond with
152+
Previously, if this limit was exceeded, the RPC server would respond with
123153
[status code 500 (`HTTP_INTERNAL_SERVER_ERROR`)](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#5xx_server_errors).
124154
Now it returns status code 503 (`HTTP_SERVICE_UNAVAILABLE`). (#18335)
125155

156+
- Error codes have been updated to be more accurate for the following error cases (#18466):
157+
- `signmessage` now returns RPC_INVALID_ADDRESS_OR_KEY (-5) if the
158+
passed address is invalid. Previously returned RPC_TYPE_ERROR (-3).
159+
- `verifymessage` now returns RPC_INVALID_ADDRESS_OR_KEY (-5) if the
160+
passed address is invalid. Previously returned RPC_TYPE_ERROR (-3).
161+
- `verifymessage` now returns RPC_TYPE_ERROR (-3) if the passed signature
162+
is malformed. Previously returned RPC_INVALID_ADDRESS_OR_KEY (-5).
163+
126164
Tests
127165
-----
128166

src/wallet/rpcwallet.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3379,7 +3379,7 @@ RPCHelpMan signrawtransactionwithwallet()
33793379

33803380
static RPCHelpMan bumpfee_helper(std::string method_name)
33813381
{
3382-
bool want_psbt = method_name == "psbtbumpfee";
3382+
const bool want_psbt = method_name == "psbtbumpfee";
33833383
const std::string incremental_fee{CFeeRate(DEFAULT_INCREMENTAL_RELAY_FEE).ToString(FeeEstimateMode::SAT_VB)};
33843384

33853385
return RPCHelpMan{method_name,
@@ -3413,14 +3413,14 @@ static RPCHelpMan bumpfee_helper(std::string method_name)
34133413
"still be replaceable in practice, for example if it has unconfirmed ancestors which\n"
34143414
"are replaceable).\n"},
34153415
{"estimate_mode", RPCArg::Type::STR, /* default */ "unset", std::string() + "The fee estimate mode, must be one of (case insensitive):\n"
3416-
" \"" + FeeModes("\"\n\"") + "\""},
3416+
"\"" + FeeModes("\"\n\"") + "\""},
34173417
},
34183418
"options"},
34193419
},
34203420
RPCResult{
34213421
RPCResult::Type::OBJ, "", "", Cat(Cat<std::vector<RPCResult>>(
34223422
{
3423-
{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)")},
3423+
{RPCResult::Type::STR, "psbt", "The base64-encoded unsigned PSBT of the new transaction."},
34243424
},
34253425
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."}}
34263426
),
@@ -3437,7 +3437,7 @@ static RPCHelpMan bumpfee_helper(std::string method_name)
34373437
"\nBump the fee, get the new transaction\'s" + std::string(want_psbt ? "psbt" : "txid") + "\n" +
34383438
HelpExampleCli(method_name, "<txid>")
34393439
},
3440-
[want_psbt](const RPCHelpMan& self, const JSONRPCRequest& request) mutable -> UniValue
3440+
[want_psbt](const RPCHelpMan& self, const JSONRPCRequest& request) -> UniValue
34413441
{
34423442
std::shared_ptr<CWallet> const pwallet = GetWalletForJSONRPCRequest(request);
34433443
if (!pwallet) return NullUniValue;

0 commit comments

Comments
 (0)