aboutsummaryrefslogtreecommitdiff
path: root/src/rpc/rawtransaction_util.h
diff options
context:
space:
mode:
authorAndrew Chow <achow101-github@achow101.com>2019-07-05 17:39:31 -0400
committerAndrew Chow <achow101-github@achow101.com>2019-09-03 15:49:19 -0400
commit39034f1ee628dae0bc9da5b1b30b8a424e66d968 (patch)
tree9ab0166fd8e4000175fb702d7adfd53d6251728e /src/rpc/rawtransaction_util.h
parent7d6f63cc2c2b9c4f07a43619eef0b7314474fffd (diff)
downloadbitcoin-39034f1ee628dae0bc9da5b1b30b8a424e66d968.tar.xz
Refactor rawtransaction_util's SignTransaction to have previous tx parsing be separate
Diffstat (limited to 'src/rpc/rawtransaction_util.h')
-rw-r--r--src/rpc/rawtransaction_util.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/rpc/rawtransaction_util.h b/src/rpc/rawtransaction_util.h
index c85593e71e..b35e6da4ca 100644
--- a/src/rpc/rawtransaction_util.h
+++ b/src/rpc/rawtransaction_util.h
@@ -12,19 +12,27 @@ class UniValue;
struct CMutableTransaction;
class Coin;
class COutPoint;
+class SigningProvider;
/**
* Sign a transaction with the given keystore and previous transactions
*
* @param mtx The transaction to-be-signed
- * @param prevTxs Array of previous txns outputs that tx depends on but may not yet be in the block chain
* @param keystore Temporary keystore containing signing keys
* @param coins Map of unspent outputs - coins in mempool and current chain UTXO set, may be extended by previous txns outputs after call
- * @param tempKeystore Whether to use temporary keystore
* @param hashType The signature hash type
* @returns JSON object with details of signed transaction
*/
-UniValue SignTransaction(CMutableTransaction& mtx, const UniValue& prevTxs, FillableSigningProvider* keystore, std::map<COutPoint, Coin>& coins, bool tempKeystore, const UniValue& hashType);
+UniValue SignTransaction(CMutableTransaction& mtx, const SigningProvider* keystore, std::map<COutPoint, Coin>& coins, const UniValue& hashType);
+
+/**
+ * Parse a prevtxs UniValue array and get the map of coins from it
+ *
+ * @param prevTxs Array of previous txns outputs that tx depends on but may not yet be in the block chain
+ * @param keystore A pointer to the temprorary keystore if there is one
+ * @param coins Map of unspent outputs - coins in mempool and current chain UTXO set, may be extended by previous txns outputs after call
+ */
+void ParsePrevouts(const UniValue& prevTxsUnival, FillableSigningProvider* keystore, std::map<COutPoint, Coin>& coins);
/** Create a transaction from univalue parameters */
CMutableTransaction ConstructTransaction(const UniValue& inputs_in, const UniValue& outputs_in, const UniValue& locktime, bool rbf);