🚀 DAY 5 OF LAUNCH WEEK: Introducing Socket Firewall Enterprise.Learn more →
Socket
Book a DemoInstallSign in
Socket

nonce-tracker

Package Overview
Dependencies
Maintainers
12
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nonce-tracker

Transaction nonce calculation used in MetaMask.

Source
npmnpm
Version
3.0.0
Version published
Weekly downloads
223
-67.91%
Maintainers
12
Weekly downloads
 
Created
Source

nonce-tracker

How metamask calculates nonces

const NonceTracker = require('nonce-tracker');

const nonceTracker = new NonceTracker(config);

nonceLock = nonceTracker.getNonceLock('0xselectedEthereumAddress');

nonce = nonceLock.nextNonce;

NonceTracker

index.js:13-159

Parameters

  • opts Object {Object}
    • opts.provider Object a ethereum provider
    • opts.getPendingTransactions Function a function that returns an array of txMeta whose status is submitted
    • opts.getConfirmedTransactions Function a function that returns an array of txMeta whose status is confirmed
    • opts.blockTracker

getGlobalLock

index.js:27-32

Returns Promise<Object> with the key releaseLock (the gloabl mutex)

getNonceLock

index.js:48-82

Parameters

  • address

Properties

  • highestLocallyConfirmed number A hex string of the highest nonce on a confirmed transaction.
  • nextNetworkNonce number The next nonce suggested by the eth_getTransactionCount method.
  • highestSuggested number The maximum between the other two, the number returned.

this will return an object with the nextNonce nonceDetails, and the releaseLock Note: releaseLock must be called after adding a signed tx to pending transactions (or discarding).

Parameters

  • address {string} the hex string for the address whose nonce we are calculating

Returns Promise<NonceDetails>

Running tests

yarn test

Keywords

ethereum

FAQs

Package last updated on 15 Nov 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts