Do not allow nonces larger than the next valid nonce

To avoid situations where a user signs a transaction that will become
surprisingly valid in the future.
feature/default_network_editable
Dan Finlay 7 years ago
parent 89e640afcb
commit 950ec9596c
  1. 4
      app/scripts/controllers/transactions.js

@ -209,6 +209,10 @@ module.exports = class TransactionController extends EventEmitter {
nonceLock = await this.nonceTracker.getNonceLock(fromAddress)
// add nonce to txParams
const nonce = txMeta.nonceSpecified ? txMeta.txParams.nonce : nonceLock.nextNonce
if (nonce > nonceLock.nextNonce) {
const message = `Specified nonce may not be larger than account's next valid nonce.`
throw new Error(message)
}
txMeta.txParams.nonce = ethUtil.addHexPrefix(nonce.toString(16))
// add nonce debugging information to txMeta
txMeta.nonceDetails = nonceLock.nonceDetails

Loading…
Cancel
Save