mirror of
https://github.com/orionprotocol/sdk.git
synced 2026-03-14 22:22:35 +03:00
15 lines
648 B
TypeScript
15 lines
648 B
TypeScript
import { BigNumber } from 'bignumber.js';
|
|
import type { ethers } from 'ethers';
|
|
|
|
/**
|
|
* Converts normalized blockchain ("machine-readable") number to denormalized ("human-readable") number.
|
|
* @param input Any blockchain-normalized numeric value
|
|
* @param decimals Blockchain asset precision
|
|
* @returns BigNumber
|
|
*/
|
|
export default function denormalizeNumber(input: ethers.BigNumber, decimals: BigNumber.Value) {
|
|
const decimalsBN = new BigNumber(decimals);
|
|
if (!decimalsBN.isInteger()) throw new Error(`Decimals '${decimalsBN.toString()}' is not an integer`);
|
|
return new BigNumber(input.toString()).div(new BigNumber(10).pow(decimalsBN));
|
|
}
|