From 5b2ddf39586aa0962a79957c8b66909b93ce5787 Mon Sep 17 00:00:00 2001 From: Robert David Date: Wed, 15 Aug 2018 14:16:06 +0200 Subject: [PATCH] Add support for single and array of private keys Pop out the first element (if an array) in the `rest attributes` and use that as the privateKeys array. Also use first private key if there are not enough supplied. --- src/transaction.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/transaction.js b/src/transaction.js index f28f70a..acedff6 100644 --- a/src/transaction.js +++ b/src/transaction.js @@ -231,12 +231,13 @@ export default class Transaction { * @returns {Object} The signed version of `transaction`. */ static signTransaction(transaction, ...privateKeys) { + privateKeys = Array.isArray(privatekeys[0]) ? privateKeys[0]: privateKeys; const signedTx = clone(transaction) const serializedTransaction = Transaction.serializeTransactionIntoCanonicalString(transaction) signedTx.inputs.forEach((input, index) => { - const privateKey = privateKeys[index] + const privateKey = privateKeys[index] || privateKeys[0] const privateKeyBuffer = Buffer.from(base58.decode(privateKey)) const transactionUniqueFulfillment = input.fulfills ? serializedTransaction