rpc: update validateaddress RPCExamples to bech32

also contains the following changes:
- rpc: factor out example bech32 address for RPCExamples
- doc: update developer notes wrt RPCExamples addresses
 (mention the EXAMPLE_ADDRESS constant as an example for an invalid bech32
  address suitable for RPCExamples help documentation)
This commit is contained in:
Sebastian Falbesoner 2020-02-11 23:03:19 +01:00
parent 98264e2ccb
commit 7f1475c711
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

@ -42,8 +42,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

@ -3737,8 +3737,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",
@ -3791,8 +3789,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);