eth-method-registry

A JS library for getting Solidity method data from a four-byte method signature

Showing:

Popularity

Downloads/wk

2.6K

GitHub Stars

15

Maintenance

Last Commit

1mo ago

Contributors

9

Package

Dependencies

1

Size (min+gzip)

35.2KB

License

ISC

Type Definitions

Tree-Shakeable

No?

Categories

Readme

Eth Method Registry CircleCI

A javascript library for getting Solidity method data from a four-byte method signature.

Currently uses the parity on-chain method registry, but eventually I am interested in adding various parallel methods, whatever works and returns a valid response!

Installation

With Node.js Installed:

yarn install eth-method-registry -S

Usage

const { MethodRegistry } = require('eth-method-registry')
const Eth = require('ethjs')

const provider = new Eth.HttpProvider('https://mainnet.infura.io/v3/YOUR-PROJECT-ID')
const registry = new MethodRegistry({ provider })

// Uses promises, pass the 4byte prefix to the lookup method:
registry.lookup('0xa9059cbb')
  .then((result) => {
   console.log(result) // prints 'transfer(address,uint256)'
  })

// Also includes a method for parsing the resulting sig
// into something more useful for rendering:
const sig = 'transferFrom(address,uint256)'
const parsed = registry.parse(sig)
/* Parsed value:
   {
    name :'Transfer From',
    args: [
      { type: 'address' },
      { type: 'uint256' }
    ]
   }
*/

Development

The unit tests of this package run against Infura's v3 API. After cloning this repository, run cp .infurarc.template .infurarc and add your Infura project ID to the file.

Running Tests

yarn test

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100