From 62be6fec6316959404653e62f729615fdeaaae68 Mon Sep 17 00:00:00 2001 From: hackyminer Date: Wed, 15 Aug 2018 08:36:47 +0900 Subject: [PATCH] trezor: for some larger chainId, Trezor returns only signature_v bit. simply recalc signature_v --- app/scripts/uiFuncs.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/scripts/uiFuncs.js b/app/scripts/uiFuncs.js index bacdec29b8..415d67af32 100644 --- a/app/scripts/uiFuncs.js +++ b/app/scripts/uiFuncs.js @@ -47,6 +47,13 @@ uiFuncs.signTxTrezor = function(rawTx, { path }, callback) { } } + // check the returned signature_v and recalc signature_v if it needed + // see also https://github.com/trezor/trezor-mcu/pull/399 + if (result.v <= 1) { + // for larger chainId, only signature_v returned. simply recalc signature_v + result.v += 2 * rawTx.chainId + 35; + } + rawTx.v = "0x" + ethFuncs.decimalToHex(result.v); rawTx.r = "0x" + result.r; rawTx.s = "0x" + result.s;