diff options
author | Andrew Chow <achow101-github@achow101.com> | 2019-05-15 00:21:11 -0400 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2019-06-21 08:51:41 -0400 |
commit | e78007fc1a8f1891078d4f6bfe7583a77dda7ee9 (patch) | |
tree | bea46e6894944b19345b65b06af182b44ca1d5a2 /src/rpc/util.h | |
parent | d9fc969e71c1f0f0a2404c3bb08aad78b6ac7a39 (diff) | |
download | bitcoin-e78007fc1a8f1891078d4f6bfe7583a77dda7ee9.tar.xz |
Make and get the multisig redeemscript and destination in one function instead of two
Instead of creating a redeemScript with CreateMultisigRedeemscript and
then getting the destination with AddAndGetDestinationForScript, do
both in the same function.
CreateMultisigRedeemscript is changed to AddAndGetMultisigDestination.
It creates the redeemScript and returns it via an output parameter. Then
it calls AddAndGetDestinationForScript to add the destination to the
keystore and get the proper destination.
This allows us to inspect the public keys in the redeemScript before creating
the destination so that the correct destination is used when uncompressed
pubkeys are in the multisig.
Github-Pull: #16026
Rebased-From: a49503402b6bc21e3878e151c07529941d36aed0
Diffstat (limited to 'src/rpc/util.h')
-rw-r--r-- | src/rpc/util.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/rpc/util.h b/src/rpc/util.h index f1bd2c89df..d4d8694053 100644 --- a/src/rpc/util.h +++ b/src/rpc/util.h @@ -6,6 +6,7 @@ #define BITCOIN_RPC_UTIL_H #include <node/transaction.h> +#include <outputtype.h> #include <pubkey.h> #include <rpc/protocol.h> #include <script/standard.h> @@ -28,7 +29,7 @@ extern InitInterfaces* g_rpc_interfaces; CPubKey HexToPubKey(const std::string& hex_in); CPubKey AddrToPubKey(CKeyStore* const keystore, const std::string& addr_in); -CScript CreateMultisigRedeemscript(const int required, const std::vector<CPubKey>& pubkeys); +CTxDestination AddAndGetMultisigDestination(const int required, const std::vector<CPubKey>& pubkeys, OutputType type, CKeyStore& keystore, CScript& script_out); UniValue DescribeAddress(const CTxDestination& dest); |