UNPKG

@robertprp/intents-sdk

Version:

Shogun Network Intent-based cross-chain swaps SDK

31 lines (23 loc) 838 B
/* eslint-disable @typescript-eslint/no-namespace */ import { formatUnits, parseUnits } from 'viem'; export namespace Parsers { // eslint-disable-next-line @typescript-eslint/no-explicit-any export function bigIntReplacer(_key: string, value: any): any { if (typeof value === 'bigint') { return value.toString(); } if (typeof value === 'string' && /^\d+n$/.test(value)) { return value.slice(0, -1); } return value; } export function bigintToFloat(amount: bigint, decimals: number): number { const formatted = formatUnits(amount, decimals); const result = parseFloat(formatted); return result; } export function floatToBigint(usdValue: number, decimals: number): bigint { const valueString = usdValue.toFixed(decimals); return parseUnits(valueString, decimals); } }