Merge #18122: rpc: update validateaddress RPCExamples to bech32

7f1475c711 rpc: update validateaddress RPCExamples to bech32 (Sebastian Falbesoner)

Pull request description:

  Another small step to get rid of legacy addresses in the RPC help texts and by that encourage the use of bech32 addresses by default. The (invalid) address is the same as in the `getaddressinfo` RPC (see 2ee0cb3330, kudos to jonatack!), I don't think it adds any value to have a different example address per RPC.

ACKs for top commit:
  fanquake:
    ACK 7f1475c711
  MarcoFalke:
    ACK 7f1475c711

Tree-SHA512: 2350f61fa942a9053f9f5c860ea446965dc7209c71c81bdb98a859d03ca23b225ad72c9c506e4a55c8d8988823d9cfbe808c1a452a1eeadb70ab186b146dd4ca
This commit is contained in:
fanquake 2020-02-20 20:10:40 +08:00
commit 56fc2dfcc3
No known key found for this signature in database
GPG Key ID: 2EEB9F5CC09526C1
5 changed files with 13 additions and 7 deletions

View File

@ -1089,7 +1089,8 @@ A few guidelines for introducing and reviewing new RPC interfaces:
new RPC is replacing a deprecated RPC, to avoid both RPCs confusingly
showing up in the command list.
- Use *invalid* bech32 addresses for `RPCExamples` help documentation.
- Use *invalid* bech32 addresses (e.g. the constant `EXAMPLE_ADDRESS`) for
`RPCExamples` help documentation.
- *Rationale*: Prevent accidental transactions by users and encourage the use
of bech32 addresses by default.

View File

@ -44,8 +44,8 @@ static UniValue validateaddress(const JSONRPCRequest& request)
"}\n"
},
RPCExamples{
HelpExampleCli("validateaddress", "\"1PSSGeFHDnKNxiEyFrD1wcEaHr9hrQDDWc\"")
+ HelpExampleRpc("validateaddress", "\"1PSSGeFHDnKNxiEyFrD1wcEaHr9hrQDDWc\"")
HelpExampleCli("validateaddress", EXAMPLE_ADDRESS) +
HelpExampleRpc("validateaddress", EXAMPLE_ADDRESS)
},
}.Check(request);

View File

@ -14,6 +14,7 @@
#include <tuple>
const std::string UNIX_EPOCH_TIME = "UNIX epoch time";
const std::string EXAMPLE_ADDRESS = "\"bc1q09vm5lfy0j5reeulh4x5752q25uqqvz34hufdl\"";
void RPCTypeCheck(const UniValue& params,
const std::list<UniValueType>& typesExpected,

View File

@ -28,6 +28,12 @@
*/
extern const std::string UNIX_EPOCH_TIME;
/**
* Example bech32 address used in multiple RPCExamples. The address is intentionally
* invalid to prevent accidental transactions by users.
*/
extern const std::string EXAMPLE_ADDRESS;
class FillableSigningProvider;
class CPubKey;
class CScript;

View File

@ -3724,8 +3724,6 @@ UniValue getaddressinfo(const JSONRPCRequest& request)
return NullUniValue;
}
const std::string example_address = "\"bc1q09vm5lfy0j5reeulh4x5752q25uqqvz34hufdl\"";
RPCHelpMan{"getaddressinfo",
"\nReturn information about the given bitcoin address.\n"
"Some of the information will only be present if the address is in the active wallet.\n",
@ -3778,8 +3776,8 @@ UniValue getaddressinfo(const JSONRPCRequest& request)
"}\n"
},
RPCExamples{
HelpExampleCli("getaddressinfo", example_address) +
HelpExampleRpc("getaddressinfo", example_address)
HelpExampleCli("getaddressinfo", EXAMPLE_ADDRESS) +
HelpExampleRpc("getaddressinfo", EXAMPLE_ADDRESS)
},
}.Check(request);