@leverj/adapter
Version:
common utilities used in leverj exchange
15 lines (13 loc) • 599 B
JavaScript
const affirm = require('@leverj/affirm')
const BigNumber = require('bignumber.js')
module.exports = function () {
const mathUtil = {}
mathUtil.toBN = function (number, decimalPlaces) {
affirm(decimalPlaces === 0 || decimalPlaces, 'decimal places must be provided')
affirm(typeof number === 'number', 'Invalid number')
affirm(typeof decimalPlaces === 'number' && decimalPlaces >= 0 && decimalPlaces <= 18, 'invalid decimalPlaces')
const multiplied = BigNumber(number).shiftedBy(decimalPlaces)
return multiplied.integerValue(BigNumber.ROUND_DOWN)
}
return mathUtil
}()