New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@metamask/nonce-tracker

Package Overview
Dependencies
Maintainers
12
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@metamask/nonce-tracker

Transaction nonce calculation used in MetaMask.

  • 6.0.0
  • Source
  • npm
  • Socket score

Version published
Maintainers
12
Created
Source

@metamask/nonce-tracker

How metamask calculates nonces

const NonceTracker = require('@metamask/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

FAQs

Package last updated on 28 May 2024

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc