19f3c76f72
* feat(explorer): operating cost
53 lines
1.4 KiB
TypeScript
53 lines
1.4 KiB
TypeScript
import { printableCoin } from '@nymproject/nym-validator-client';
|
|
import Big from 'big.js';
|
|
|
|
const DENOM = process.env.CURRENCY_DENOM || 'unym';
|
|
const DENOM_STAKING = process.env.CURRENCY_STAKING_DENOM || 'unyx';
|
|
|
|
export const currencyToString = (amount: string, denom: string = DENOM) =>
|
|
printableCoin({
|
|
amount,
|
|
denom,
|
|
});
|
|
|
|
export const stakingCurrencyToString = (amount: string, denom: string = DENOM_STAKING) =>
|
|
printableCoin({
|
|
amount,
|
|
denom,
|
|
});
|
|
|
|
/**
|
|
* Converts a decimal number to a pretty representation
|
|
* with fixed decimal places.
|
|
*
|
|
* @param val - a decimal number of string form
|
|
* @param dp - number of decimal places (4 by default ie. 0.0000)
|
|
* @returns A prettyfied decimal number
|
|
*/
|
|
export const toDisplay = (val: string | number | Big, dp = 4) => {
|
|
let displayValue;
|
|
try {
|
|
displayValue = Big(val).toFixed(dp);
|
|
} catch (e: any) {
|
|
console.warn(`${displayValue} not a valid decimal number: ${e}`);
|
|
}
|
|
return displayValue;
|
|
};
|
|
|
|
/**
|
|
* Converts a decimal number of μNYM (micro NYM) to NYM.
|
|
*
|
|
* @param unym - a decimal number of μNYM
|
|
* @param dp - number of decimal places (4 by default ie. 0.0000)
|
|
* @returns The corresponding decimal number in NYM
|
|
*/
|
|
export const unymToNym = (unym: string | number | Big, dp = 4) => {
|
|
let nym;
|
|
try {
|
|
nym = Big(unym).div(1_000_000).toFixed(dp);
|
|
} catch (e: any) {
|
|
console.warn(`${unym} not a valid decimal number: ${e}`);
|
|
}
|
|
return nym;
|
|
};
|