From db1c2e43af816966fb0596901efda6fcd5b3380c Mon Sep 17 00:00:00 2001 From: Moe Elsharif Date: Thu, 5 Mar 2020 15:11:57 +0100 Subject: [PATCH] adds external signing --- lib/signing.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/signing.js b/lib/signing.js index 06e6c36e..72646456 100644 --- a/lib/signing.js +++ b/lib/signing.js @@ -1,5 +1,7 @@ const { Transaction } = require("ethereumjs-tx"); const util = require("ethereumjs-util"); +const { Message, PrivateKey } = require("bitcore-lib"); +const Mnemonic = require("bitcore-mnemonic"); const signTx = (keystore, pwDerivedKey, rawTx, signingAddress) => { if (!keystore.isDerivedKeyCorrect(pwDerivedKey)) { @@ -59,10 +61,18 @@ const concatSig = signature => { return util.addHexPrefix(r.concat(s, v).toString("hex")); }; +const signTxWithSeed = (mnemonic, msg) => { + const mnemoniciInstance = new Mnemonic(mnemonic); + const privateKeyInstance = new PrivateKey(mnemoniciInstance.toHDPrivateKey()); + const messageInstance = new Message(msg); + return messageInstance.sign(privateKeyInstance); +}; + module.exports = { concatSig, recoverAddress, signMsgHash, signMsg, - signTx + signTx, + signTxWithSeed };