UNPKG

@dahlia-labs/stableswap-sdk

Version:
69 lines 2.51 kB
import type { Token } from "@dahlia-labs/token-utils"; import { Fraction, TokenAmount } from "@dahlia-labs/token-utils"; import JSBI from "jsbi"; import type { Fees, IExchangeInfo } from "../entities"; export declare const normalizeAmount: (tokenAmount: TokenAmount) => JSBI; export declare const denormalizeAmount: (tokenAmount: TokenAmount) => TokenAmount; /** * Calculates the current virtual price of the exchange. * @param exchange * @returns */ export declare const calculateVirtualPrice: (exchange: IExchangeInfo) => Fraction | null; /** * Calculates the estimated output amount of a swap. * @param exchange * @param fromAmount * @returns */ export declare const calculateEstimatedSwapOutputAmount: (exchange: IExchangeInfo, fromAmount: TokenAmount) => { outputAmountBeforeFees: TokenAmount; outputAmount: TokenAmount; fee: TokenAmount; lpFee: TokenAmount; adminFee: TokenAmount; }; export interface IWithdrawOneResult { withdrawAmount: TokenAmount; withdrawAmountBeforeFees: TokenAmount; swapFee: TokenAmount; withdrawFee: TokenAmount; lpSwapFee: TokenAmount; adminSwapFee: TokenAmount; } /** * Calculates the amount of tokens withdrawn if only withdrawing one token. * @returns */ export declare const calculateEstimatedWithdrawOneAmount: ({ exchange, poolTokenAmount, withdrawToken, }: { exchange: IExchangeInfo; poolTokenAmount: TokenAmount; withdrawToken: Token; }) => IWithdrawOneResult; /** * Compute normalized fee for symmetric/asymmetric deposits/withdraws */ export declare const normalizedTradeFee: ({ trade }: Fees, n_coins: JSBI, amount: JSBI) => Fraction; export declare const calculateEstimatedWithdrawAmount: ({ poolTokenAmount, reserves, fees, lpTotalSupply, }: { /** * Amount of pool tokens to withdraw */ poolTokenAmount: TokenAmount; } & Pick<IExchangeInfo, "reserves" | "lpTotalSupply" | "fees">) => { withdrawAmounts: readonly [TokenAmount, TokenAmount]; withdrawAmountsBeforeFees: readonly [TokenAmount, TokenAmount]; fees: readonly [TokenAmount, TokenAmount]; }; /** * Calculate the estimated amount of LP tokens minted after a deposit. * @param exchange * @param depositAmountA * @param depositAmountB * @returns */ export declare const calculateEstimatedMintAmount: (exchange: IExchangeInfo, depositAmountA: JSBI, depositAmountB: JSBI) => { mintAmountBeforeFees: TokenAmount; mintAmount: TokenAmount; fees: TokenAmount; }; //# sourceMappingURL=amounts.d.ts.map