UNPKG

@qso-soft/shared

Version:

Shared library for QSO-soft

49 lines (48 loc) 1.74 kB
import { BinanceNetworks, NumberRange, OkxNetworks, SupportedNetworks } from '../../types'; import { ClientType } from '../clients'; interface ICalculateAmount { minAndMaxAmount: NumberRange; usePercentBalance?: boolean; decimals?: number; } type NumberCalculateAmount = ICalculateAmount & { isBigInt?: false; balance: number; }; type BigIntCalculateAmount = ICalculateAmount & { isBigInt: true; balance: bigint; }; export declare function calculateAmount(args: NumberCalculateAmount): number; export declare function calculateAmount(args: BigIntCalculateAmount): bigint; export declare const getExpectedBalance: (expectedBalance?: NumberRange) => { currentExpectedBalance: number; isTopUpByExpectedBalance: boolean; }; interface GetTopUpOptions { isTopUpByExpectedBalance: boolean; currentExpectedBalance: number; tokenToWithdraw: string; client: ClientType; minAndMaxAmount: NumberRange; network: SupportedNetworks | BinanceNetworks | OkxNetworks; amount?: number; percentToAdd?: number; minNativeBalance?: number; fee?: number; } export declare const getTopUpOptions: ({ isTopUpByExpectedBalance, currentExpectedBalance, tokenToWithdraw, client, amount, minAndMaxAmount, network, percentToAdd, minNativeBalance, fee, }: GetTopUpOptions) => Promise<{ isDone: boolean; successMessage: string; currentAmount?: undefined; shouldTopUp?: undefined; prevNativeBalance?: undefined; } | { currentAmount: number; shouldTopUp: boolean; prevNativeBalance: number; isDone?: undefined; successMessage?: undefined; }>; export declare const calculateAmountWithFee: (amount: number, fee: number, percentToAdd?: number) => number; export {};