@cranberry-money/shared-utils
Version:
Shared utility functions for Blueberry platform
37 lines • 1.63 kB
TypeScript
export interface FormatCurrencyOptions {
currency?: string;
locale?: string;
decimals?: number;
minimumFractionDigits?: number;
maximumFractionDigits?: number;
}
export declare function formatCurrency(value?: number, options?: FormatCurrencyOptions): string;
export declare function formatCryptoBalance(balance: string | number, symbol: string, decimals?: number): string;
export declare function getBlockchainShortName(chainName: string): string;
export declare function formatPercentage(value: number, decimals?: number): string;
/**
* Convert raw token amount to human-readable display format.
* Handles blockchain amounts that are stored as integers with implied decimals.
*
* @param rawAmount - Raw amount from blockchain (e.g., 4430 for 44.30 with 2 decimals)
* @param decimals - Token decimals (e.g., 2 for aAUD, 18 for ETH)
* @returns Formatted string (e.g., "44.30")
*
* @example
* formatTokenAmount(4430, 2) // "44.30"
* formatTokenAmount("1000000000000000000", 18) // "1.000000000000000000"
*/
export declare function formatTokenAmount(rawAmount: string | number, decimals: number): string;
/**
* Convert human-readable amount to raw token units for blockchain operations.
*
* @param displayAmount - Human-readable amount (e.g., "10.50")
* @param decimals - Token decimals (e.g., 2 for aAUD)
* @returns Raw amount for blockchain (e.g., 1050)
*
* @example
* parseTokenAmount("10.50", 2) // 1050
* parseTokenAmount("1.5", 18) // 1500000000000000000
*/
export declare function parseTokenAmount(displayAmount: string, decimals: number): number;
//# sourceMappingURL=formatting.d.ts.map