eth-method-registry
v4.0.0
Published
A module for getting method signature info from an ethereum method signature.
Downloads
19,757
Readme
Eth Method Registry
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('@metamask/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