mirror of
https://github.com/Retropex/bitcoin.git
synced 2025-05-12 19:20:42 +02:00
RPC: createmultisig/addmultisigaddress: Support named args for options
This commit is contained in:
parent
ecd45f5e6c
commit
30d940a219
@ -96,9 +96,11 @@ static const CRPCConvertParam vRPCConvertParams[] =
|
||||
{ "addmultisigaddress", 0, "nrequired" },
|
||||
{ "addmultisigaddress", 1, "keys" },
|
||||
{ "addmultisigaddress", 2, "options" },
|
||||
{ "addmultisigaddress", 2, "sort" },
|
||||
{ "createmultisig", 0, "nrequired" },
|
||||
{ "createmultisig", 1, "keys" },
|
||||
{ "createmultisig", 2, "options" },
|
||||
{ "createmultisig", 2, "sort" },
|
||||
{ "listunspent", 0, "minconf" },
|
||||
{ "listunspent", 1, "maxconf" },
|
||||
{ "listunspent", 2, "addresses" },
|
||||
|
@ -97,9 +97,9 @@ static RPCHelpMan createmultisig()
|
||||
{
|
||||
{"key", RPCArg::Type::STR_HEX, RPCArg::Optional::OMITTED, "The hex-encoded public key"},
|
||||
}},
|
||||
{"options|address_type", {RPCArg::Type::OBJ, RPCArg::Type::STR}, RPCArg::Optional::OMITTED, "",
|
||||
{"options|address_type", {RPCArg::Type::OBJ_NAMED_PARAMS, RPCArg::Type::STR}, RPCArg::Optional::OMITTED, "",
|
||||
{
|
||||
{"address_type", RPCArg::Type::STR, RPCArg::Default{"legacy"}, "The address type to use. Options are \"legacy\", \"p2sh-segwit\", and \"bech32\"."},
|
||||
{"address_type", RPCArg::Type::STR, RPCArg::Default{"legacy"}, "The address type to use. Options are \"legacy\", \"p2sh-segwit\", and \"bech32\".", RPCArgOptions{.also_positional = true}},
|
||||
{"sort", RPCArg::Type::BOOL, RPCArg::Default{false}, "Whether to sort public keys according to BIP67."},
|
||||
},
|
||||
RPCArgOptions{.oneline_description="options"}},
|
||||
|
@ -232,10 +232,10 @@ RPCHelpMan addmultisigaddress()
|
||||
{"key", RPCArg::Type::STR, RPCArg::Optional::OMITTED, "bitcoin address or hex-encoded public key"},
|
||||
},
|
||||
},
|
||||
{"options|label", {RPCArg::Type::OBJ, RPCArg::Type::STR}, RPCArg::Optional::OMITTED, "",
|
||||
{"options|label", {RPCArg::Type::OBJ_NAMED_PARAMS, RPCArg::Type::STR}, RPCArg::Optional::OMITTED, "",
|
||||
{
|
||||
{"address_type", RPCArg::Type::STR, RPCArg::DefaultHint{"set by -addresstype"}, "The address type to use. Options are \"legacy\", \"p2sh-segwit\", and \"bech32\"."},
|
||||
{"label", RPCArg::Type::STR, RPCArg::Optional::OMITTED, "A label to assign the address to."},
|
||||
{"address_type", RPCArg::Type::STR, RPCArg::DefaultHint{"set by -addresstype"}, "The address type to use. Options are \"legacy\", \"p2sh-segwit\", and \"bech32\".", RPCArgOptions{.also_positional = true}},
|
||||
{"label", RPCArg::Type::STR, RPCArg::Optional::OMITTED, "A label to assign the address to.", RPCArgOptions{.also_positional = true}},
|
||||
{"sort", RPCArg::Type::BOOL, RPCArg::Default{false}, "Whether to sort public keys according to BIP67."},
|
||||
},
|
||||
RPCArgOptions{.oneline_description="\"options\""}},
|
||||
|
@ -26,6 +26,8 @@ class SortMultisigTest(BitcoinTestFramework):
|
||||
|
||||
default = self.nodes[0].createmultisig(2, pubs)
|
||||
unsorted_ms = self.nodes[0].createmultisig(2, pubs, {"sort": False})
|
||||
assert_equal(unsorted_ms, self.nodes[0].createmultisig(2, pubs, options={"sort": False}))
|
||||
assert_equal(unsorted_ms, self.nodes[0].createmultisig(2, pubs, sort=False))
|
||||
|
||||
assert_equal("2N2BchzwfyuqJep7sKmFfBucfopHZQuPnpt", unsorted_ms["address"])
|
||||
assert_equal("5221022df8750480ad5b26950b25c7ba79d3e37d75f640f8e5d9bcd5b150a0f85014da2103e3818b65bcc73a7d64064106a859cc1a5a728c4345ff0b641209fba0d90de6e921021f2f6e1e50cb6a953935c3601284925decd3fd21bc445712576873fb8c6ebc1853ae", unsorted_ms["redeemScript"])
|
||||
@ -33,6 +35,8 @@ class SortMultisigTest(BitcoinTestFramework):
|
||||
assert_equal(default["redeemScript"], unsorted_ms["redeemScript"])
|
||||
|
||||
sorted_ms = self.nodes[0].createmultisig(2, pubs, {"sort": True})
|
||||
assert_equal(sorted_ms, self.nodes[0].createmultisig(2, pubs, options={"sort": True}))
|
||||
assert_equal(sorted_ms, self.nodes[0].createmultisig(2, pubs, sort=True))
|
||||
assert_equal("2NFd5JqpwmQNz3gevZJ3rz9ofuHvqaP9Cye", sorted_ms["address"])
|
||||
assert_equal("5221021f2f6e1e50cb6a953935c3601284925decd3fd21bc445712576873fb8c6ebc1821022df8750480ad5b26950b25c7ba79d3e37d75f640f8e5d9bcd5b150a0f85014da2103e3818b65bcc73a7d64064106a859cc1a5a728c4345ff0b641209fba0d90de6e953ae", sorted_ms["redeemScript"])
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user