JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 73
  • Score
    100M100P100Q65481F
  • License ISC

Kitchensink of ethereum utils

Package Exports

  • eth-helpers

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (eth-helpers) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

eth-helpers

Kitchensink of ethereum utils

Usage

Units

const units = require('eth-helpers/units')
const { Wei, Ether, GWei } = units

const gasPrice = 16n * GWei
const value = units.parse('2.7811', { from: Ether }) // implicit `to: Wei`

const tx = // Send tx

console.log(units.format(address.balance, { to: Ether, from: Wei, decimals: 4 }))

API

Utils

const str = utils.format(nullish|string|Buffer|number|BigInt)

Format any of the above types as a eth hex string. Also has type specific functions to avoid guessing wrong:

  • const hex = utils.format.boolean(bool)
  • const hex = utils.format.number(number)
  • const hex = utils.format.bigint(bigint)
  • const hex = utils.format.bytes(buf)
  • const hex = utils.format.address(buf)

Parsing

Utilities exist for converting from hex strings to native data types:

  • const bool = utils.parse.boolean(hex)
  • const number = utils.parse.number(hex)
  • const bigint = utils.parse.bigint(hex)
  • const buf = utils.parse.bytes(hex)
  • const buf = utils.parse.address(hex)
  • const buf = utils.parse.uint256(hex)
  • const str = utils.parse.string(hex)

const receipt = async utils.mined(txHash, eth)

Wait for a transaction to be mined

Units

The units module contains a list of constants as well as helper functions to convert to and from strings and do lossless conversion.

Unit constants include as BigInt:

  • Wei
  • KWei / babbage
  • MWei / lovelace
  • GWei / shannon
  • µEther / microether / szabo
  • mEther / milliether / finney
  • Ether
  • KEther
  • MEther
  • GEther
  • TEther

const bigint = units.convert(value, from, [to = Wei])

Lossless unit conversion to BigInt. Asserts that no precision is lost.

const number = units.convertLossy(value, from, [to = Wei])

Lossy unit conversion to Number. Not suitable to exact calculations.

const str = units.format(value, { from = Wei, to = Wei, decimals = null })

Format BigInt as a string with from basis to to basis. Optional set the number of decimals similar to toFixed

const bigint = units.parse(string, { from, to = Wei })

Parse a string number into BigInt with specified basis.

Install

npm install eth-helpers

License

ISC