npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

tokenflow-geth

v1.3.1

Published

http://tokenflow.xyz

Readme

http://tokenflow.xyz

Example Usage setup:

To use this tool you have to create an instance of TraceProcessor. The TraceProcessor takes an instance of a providerConnector.

let traceProcessorInstance = new TraceProcessor({YOUR PROVIDERCONNECTOR INSTANCE})

You can either implement your own providerConnector or use the supplied Web3 provider.

The ProviderConnector allows you to specify wether or not it should translate contract names, token symbols and decimals. To enable translation you need to implement both resolveContractNamesAndTokenSymbolDecimals and resolveContractNamesSymbolsAndDecimals. Where resolveContractNamesAndTokenSymbolDecimals returns a boolean - true if you want to have it translate and false if you dont. resolveContractNamesSymbolsAndDecimals is the where you should then implement the translation of these values.

To then get the transaction trace, you simply call getTransfers on your traceProcessor instance. Where you just pass in the txhash for the wanted transaction. The getTransfers call returns a Promise containing TransfersNodes.

Check out the getTransaction.example.ts

Test transactions:

Swap Eth to ERC20 (WBTC). 0xc44e8bd76bec69ff305f0fcc3dccb2965970e145ffc083e0c27a22a06542f528

Swap eth to ERC20 (USDT). Small 0xde3db72870ee89ed21650b6874d74e139a3249b09dd380262271eb50316b0b2d

Swap ERC20 (AKRO) to Eth, multiple eth transfers 0x8d720401121afe4524bb7f6a9842af5cb347e19da9784bbc9419ec53eb563b29

Swap eth to ERC20 (MKR) with balance, multiple eth transfers 0x2e153f44f67835c4f2a85f70efe04e157c932bb5088128a4bf2ac0d41c0e1e0d

Swap ERC20 (OCEAN) to eth, multiple eth transfers 0x9639078bd27009822013c7718a1120ceaada3503b80644c9ec23f056a5337f73

Swap ERC20 (REN) to eth 0x38722e725f3ad157fb14a204891158de987a89eca58406a0911a182552e938c9

Swap ERC20 (DAI) to ERC20 (BAC) with CHI burning 0x77290eaad5271396a9610e0f852acabb8dae9a608f6236c6be1b3f1200f6dede

Swap ERC20 (USDT) to eth with CHI burning 0x1b690cc63824f68ee5e39d2cde8ac9c88139315ba79e76adc7dc9933daea40aa

Swap eth to ERC20 (ALEPH) 0xcc291510957b2a8c05d6b90a040a8a22766eee8522959600bdf4ef40ab510474