{"_id":"@brave/eth-token-tracker","_rev":"11-bc1ef0a1b32a1234a30b1c087f165639","name":"@brave/eth-token-tracker","dist-tags":{"latest":"3.1.0"},"versions":{"3.1.0":{"name":"@brave/eth-token-tracker","version":"3.1.0","keywords":["ethereum","tokens"],"author":{"name":"Dan Finlay","email":"dan@danfinlay.com"},"license":"ISC","_id":"@brave/eth-token-tracker@3.1.0","maintainers":[{"name":"bcrypt","email":"yan@mit.edu"},{"name":"brianbondy","email":"bbondy@gmail.com"},{"name":"nejczdovc","email":"nejc.zdovc@3zsistemi.si"},{"name":"brave.com","email":"devops@brave.com"},{"name":"evq","email":"ev@7pr.xyz"},{"name":"mrose17","email":"mrose17@gmail.com"},{"name":"brave-kevin","email":"klawler@brave.com"},{"name":"ryanml","email":"rlanese@brave.com"},{"name":"petemill","email":"miller.pete+npm@gmail.com"}],"homepage":"https://github.com/brave/eth-token-tracker#readme","bugs":{"url":"https://github.com/brave/eth-token-tracker/issues"},"dist":{"shasum":"fa4a4c1b7711c15dc20906ebb5b0dfbabf09acd3","tarball":"https://registry.npmjs.org/@brave/eth-token-tracker/-/eth-token-tracker-3.1.0.tgz","fileCount":10,"integrity":"sha512-MK6CyzkZYcSu/FAIoyPDVu+H3I5ozjJ/dGcnk4V/XU4MOMfb7gaSb0qHLlKX9cI6Kg2aQhe5Yx0yqD6KZaLFhg==","signatures":[{"sig":"MEQCID/tQXF+lVEnwgzt+ft4GuwldLRBKr6EWG+V+c3mChnFAiBqMoLx5mWLwteVqECjonfNCTkzNRGyhVov1KwXuXs5JQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29229,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHGRHCRA9TVsSAnZWagAA8oMQAKFzslHe4HM2NehETgO4\nMWX/Vzw8oYg2od7E5hbRBu0EKnjpA+Wk+h/tZBx9SyI/BVskGtrJ+o4uQ2TR\nTWQLLCe9BgiMlVsT9hPGJ79MEzE925J1PVl6ufgM6xTILNQlQl81j0Xynuhk\noeMtKg7QE0Hn7pjvT8SpjkjsBD0bvHvtxJskNEzt8DlUGlhUBdSSNU0Z6orH\nqlOqcHHbZxU+QPO76Mx1+OgtgJYxhNbFg2LI7ebmsv7or2oNwf3gOz8cClD8\nhsC1VLix2k4KeGtihrY49n1g3SLaz/XYH5ZdDlarP2GFFxchuJ3gcCzA6WMo\nvE6P2ocxAi7ePBxfiikKyNxoNkDG6bpyWaIQIn1sboklDLSrpRdiYNtx1x+F\n++lJiJNRl7iDibFg5z2/G7ApnutiQJnlW0/qlFnaAq6wJF94zp+TFEfZeEmm\nL+XNpqT6PDEiOYe5xFHs2ozkoJ6NQhOnyWHOPk4ijoLE2unqqFOo9rR5rHuW\nv6z1V+DQ5BBBuuzEXnQ+nBHvNeQOaS2nDQga/OdzZMJ+gGn3IQFhLQp602B7\n0H97gMW7UJIsy7fld8YdOnWD7ej9QHO5YNz4B3gMKFaFTO+YHVZpIoDB3Azl\n4dHv/hpnT9bErf+TNYVqdhnoIre62/usO1C5Rrooml/qtS65qZz+RX8ZSSu1\nLrup\r\n=6cWU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"4b916e54ed593178192b66ba77ded493b8c06607","scripts":{"lint":"echo 'Skip'","test":"tape test/**/*.js","build":"babel --presets @babel/preset-env --plugins @babel/plugin-transform-runtime -d dist/ lib/","buildSample":"browserify example/index.js -o bundle.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"brianbondy","email":"bbondy@gmail.com"},"repository":{"url":"git+ssh://git@github.com/brave/eth-token-tracker.git","type":"git"},"_npmVersion":"6.9.0","description":"A module for tracking Ethereum token balances over block changes.","directories":{},"_nodeVersion":"12.4.0","dependencies":{"ethjs":"^0.3.6","deep-equal":"^1.1.0","ethjs-query":"^0.3.7","ethjs-contract":"^0.2.1","eth-block-tracker":"^4.4.2","safe-event-emitter":"^1.0.1","human-standard-token-abi":"^1.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"solc":"^0.4.10","tape":"^4.6.3","@babel/cli":"^7.5.5","@babel/core":"^7.5.5","@babel/preset-env":"^7.5.5","ethereumjs-testrpc":"^3.0.4","web3-provider-engine":"^15.0.1","@babel/plugin-transform-runtime":"^7.5.5"},"_npmOperationalInternal":{"tmp":"tmp/eth-token-tracker_3.1.0_1612473415236_0.733168482307532","host":"s3://npm-registry-packages"}}},"time":{"created":"2021-02-04T21:16:55.124Z","modified":"2026-06-18T20:53:49.300Z","3.1.0":"2021-02-04T21:16:55.367Z"},"bugs":{"url":"https://github.com/brave/eth-token-tracker/issues"},"author":{"name":"Dan Finlay","email":"dan@danfinlay.com"},"license":"ISC","homepage":"https://github.com/brave/eth-token-tracker#readme","keywords":["ethereum","tokens"],"repository":{"url":"git+ssh://git@github.com/brave/eth-token-tracker.git","type":"git"},"description":"A module for tracking Ethereum token balances over block changes.","maintainers":[{"email":"yan@mit.edu","name":"bcrypt"},{"email":"bbondy@gmail.com","name":"brianbondy"},{"email":"devops@brave.com","name":"brave.com"},{"email":"darkdh@gmail.com","name":"darkdh"},{"email":"mrose17@gmail.com","name":"mrose17"},{"email":"miller.pete+npm@gmail.com","name":"petemill"},{"email":"sceli@brave.com","name":"claucece9"},{"email":"pes@peteresnyder.com","name":"pes10k"},{"email":"jjdsampson@gmail.com","name":"jonathansampson"},{"email":"alazarev@brave.com","name":"antonok"}],"readme":"# Eth Token Tracker [![CircleCI](https://circleci.com/gh/MetaMask/eth-token-tracker/tree/master.svg?style=svg)](https://circleci.com/gh/MetaMask/eth-token-tracker/tree/master)\n\nA JS module for tracking Ethereum tokens and their values over time.\n\n## Installation\n\n`npm install '@metamask/eth-token-tracker'`\n\n## Usage\n\n```javascript\nconst TokenTracker = require('@metamask/eth-token-tracker')\n\nvar tokenTracker = new TokenTracker({\n\n  userAddress: addresses[0], // whose balance to track\n  provider,                  // a web3-style provider\n  pollingInterval: 4000,     // block polling interval (optional)\n\n  // Tell it about the tokens to track:\n  tokens: [\n    {\n      address: tokenAddress,\n    }\n  ],\n})\n\n// You can use this method to check the state of the tokens\nvar balances = tokenTracker.serialize()\n\n// You can also subscribe to updates\ntokenTracker.on('update', function (balances) {\n  console.log(`Your balance of ${balances[0].symbol} is ${balances[0].string}`)\n})\n\n// You can add additional tokens after initialization:\ntokenTracker.add({ address: otherTokenAddress })\n\n// Make sure to clean up, or it will hold a reference:\ntokenTracker.stop()\n```\n\n","readmeFilename":"README.md"}