@helium/currency
Version:
Utilities for handling different currency types on the Helium blockchain
32 lines • 1.52 kB
TypeScript
import BigNumber from 'bignumber.js';
import { AnyCurrencyType } from './CurrencyType';
import { NetworkTokens, USDollars, DataCredits, BaseCurrencyType, TestNetworkTokens, Ticker } from './currency_types';
type StringFormatOptions = {
decimalSeparator?: string;
groupSeparator?: string;
showTicker?: boolean;
roundingMode?: BigNumber.RoundingMode;
showTrailingZeroes?: boolean;
};
export default class Balance<T extends BaseCurrencyType> {
type: T;
integerBalance: number;
floatBalance: number;
bigBalance: BigNumber;
bigInteger: BigNumber;
constructor(integerBalance: number | undefined, type: T);
static fromFloat(float: number, currencyType: AnyCurrencyType): Balance<AnyCurrencyType>;
static fromIntAndTicker(integerBalance: number, ticker?: Ticker): Balance<BaseCurrencyType>;
static fromFloatAndTicker(float: number, ticker: Ticker): Balance<AnyCurrencyType>;
toString(maxDecimalPlaces?: number, options?: StringFormatOptions): string;
plus(balance: Balance<T>): Balance<T>;
minus(balance: Balance<T>): Balance<T>;
times(n: number): Balance<T>;
dividedBy(n: number): Balance<T>;
toNetworkTokens(oraclePrice?: Balance<USDollars>): Balance<NetworkTokens>;
toTestNetworkTokens(oraclePrice?: Balance<USDollars>): Balance<TestNetworkTokens>;
toUsd(oraclePrice?: Balance<USDollars>): Balance<USDollars>;
toDataCredits(oraclePrice?: Balance<USDollars>): Balance<DataCredits>;
}
export {};
//# sourceMappingURL=Balance.d.ts.map