UNPKG

@alayanetwork/eth-method-registry

Version:

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

42 lines (31 loc) 1.37 kB
# Eth Method Registry [![CircleCI](https://circleci.com/gh/danfinlay/eth-method-registry.svg?style=svg)](https://circleci.com/gh/danfinlay/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](https://www.bokconsulting.com.au/blog/a-quick-look-at-paritys-signature-registry-contract/), 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 ```javascript const MethodRegistry = require('@alayanetwork/eth-method-registry') const Eth = require('@alayanetwork/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) => { 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) /* Parsed value: { name :'Transfer From', args: [ { type: 'address' }, { type: 'uint256' } ] } */ ```