From 919848aecdbb92989914f3a68333e4b3fa29ea0f Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Wed, 17 Jul 2019 12:32:53 +0100 Subject: [PATCH] Geth/infura nonce fix (#295) * Geth/infura nonce fix * Fix nonce logic --- lib/plugins/wallet/geth/base.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/plugins/wallet/geth/base.js b/lib/plugins/wallet/geth/base.js index 00264f4e..403f46de 100644 --- a/lib/plugins/wallet/geth/base.js +++ b/lib/plugins/wallet/geth/base.js @@ -13,6 +13,7 @@ exports.SUPPORTED_MODULES = ['wallet'] const paymentPrefixPath = "m/44'/60'/0'/0'" const defaultPrefixPath = "m/44'/60'/1'/0'" +let lastUsedNonces = {} module.exports = { NAME, @@ -99,7 +100,11 @@ function generateTx (_toAddress, wallet, amount, includesFee) { .then(arr => { const gas = arr[0] const gasPrice = arr[1] - const txCount = arr[2] + const txCount = arr[2] <= lastUsedNonces[fromAddress] + ? lastUsedNonces[fromAddress] + 1 + : arr[2] + + lastUsedNonces[fromAddress] = txCount const toSend = includesFee ? amount.minus(gasPrice.times(gas))