@dioxide-js/web3.js
Version:
dioxide javascript API
48 lines (38 loc) • 1.39 kB
text/typescript
import BigNumber from 'bignumber.js'
export const shakeKeyValue = (params: KeyValue | undefined) => {
if (params && typeof params === 'object') {
Object.keys(params).forEach((key) => {
const val = params[key]
if (['', undefined, null].includes(val)) {
delete params[key]
}
})
return params
}
return params
}
export const bignumberMult = (val1: number | string, val2: BigNumber.Value) => {
return new BigNumber(val1).multipliedBy(val2).toFixed()
}
export const bignumberMinus = (val1: BigNumber.Value, val2: BigNumber.Value) => {
return new BigNumber(val1).minus(new BigNumber(val2))
}
export const bignumberPlus = (val1: BigNumber.Value, val2: BigNumber.Value) => {
return new BigNumber(val1).plus(new BigNumber(val2))
}
export const bignumberPow = (val1: BigNumber.Value, power: number) => {
return new BigNumber(val1).pow(power)
}
export const bignumberDiv = (v1: BigNumber.Value, v2: BigNumber.Value) => {
return new BigNumber(v1).dividedBy(v2)
}
export const bignumberLt = (v1: BigNumber.Value, v2: BigNumber.Value) => {
return new BigNumber(v1).lt(v2)
}
export const toTokenAmount = (amount: string, decimals: number) => {
return bignumberDiv(amount, new BigNumber(10).pow(decimals)).toString()
}
export const fullAddress = (address: string) => {
if (!address) return ''
return `${address.split(':')[0]}:ed25519`
}