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 🙏

© 2024 – Pkg Stats / Ryan Hefner

eth-wallet-monitor

v0.0.1

Published

Generic lib that allows to subscribe and monitor any eth wallet or smart contract

Downloads

4

Readme

eth-wallet-monitor

An abstraction on top of web3.js that allows anyone to subscribe to ethereum wallets events (be it a smart contract or an personal wallet).

Depending on the type of wallet being monitored, different events are subscribed:

  • pendingTransactions - if the wallet is a personal address then the subscritpion is to all pending transactions and cross reference the trx to and from with the addresses being monitored.

  • logs - if the address is a smart contract, then the subscription is to all logs emited by that contract. In this case it is also possible to fine tune the log events by the intended topics.

Instalation

npm install eth-wallet-monitor

Usage

Instantiate an address monitor and then register the listeners. This will hook a subscription to either logs or pendingTransactions events.

Whenever one of those events is received, the corresponding transaction is fetched and passed to the callback specified when registering the listeners.

  const EthAddressMonitor = new AddressMonitor(
    {
      addressesToMonitor, // list of addresses that we want to monitor
      monitorType, // type of addresses that we want to monitor
      httpProvider, // ethereum node http provider
      wssProvider, // ethereum node webSocket provider
    },
  );

  const callback = (...args) => {...}

  EthAddressMonitor.registerListeners(callback);

Building

Requirements

  • node 14

We recommend using nvm to manage your node versions. Once nvm is installed, take adavantage of .nvmrc to load the correct node version.

nvm use

Development

In order to start developing:

git clone [email protected]:cryptotavares/eth-wallet-address.git
npm install
npm test
npm run eslint
npm run coverage

This will clone this repo, install the dependencies, run the tests, eslint and coverage reports.

You can find the coverage report under coverage/lcov-report/index.html after running the coverage task.