A module for getting method signature info from an ethereum method signature.

Usage no npm install needed!

<script type="module">
  import smartwalletEthMethodRegistry from 'https://cdn.skypack.dev/@smartwallet/eth-method-registry';


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!


With Node.js Installed:

npm install --save @smartwallet/eth-method-registry


yarn add @smartwallet/eth-method-registry


const MethodRegistry = require('@smartwallet/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:
.then((result) => {
  assert.equal(result, 'transfer(address,uint256)', 'finds correct signature')

// 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)

// Also possible to call the static method
const parsed = MethodRegistry.parse(sig)

/* Parsed value:
    name: 'Transfer From',
    rawName: 'transferFrom', 
    args: [
      { type: 'address' },
      { type: 'uint256' }