1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00

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.
This commit is contained in:
Dan Finlay 2017-12-07 16:13:38 -05:00
parent 89e640afcb
commit 950ec9596c

View File

@ -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