UNPKG

ethers-maths

Version:

➗ Useful ethers-based math libraries to ease the journey through off-chain fixed-point arithmetics

17 lines (16 loc) 1.48 kB
import { BigNumberish } from "ethers"; export type MulDiv = (x: BigNumberish, y: BigNumberish, scale: BigNumberish) => bigint; export declare const pow10: (power: BigNumberish) => bigint; export declare const approxEqAbs: (x: BigNumberish, y: BigNumberish, tolerance?: BigNumberish) => boolean; export declare const abs: (x: BigNumberish) => bigint; export declare const min: (x: BigNumberish, ...others: BigNumberish[]) => bigint; export declare const max: (x: BigNumberish, ...others: BigNumberish[]) => bigint; export declare const sum: (initialValue: BigNumberish, others: BigNumberish[]) => bigint; export declare const mulDivHalfUp: MulDiv; export declare const mulDivDown: MulDiv; export declare const mulDivUp: MulDiv; export declare const avgHalfUp: (x: BigNumberish, y: BigNumberish, pct: BigNumberish, scale: BigNumberish) => bigint; export declare const pow: (x: BigNumberish, exponent: BigNumberish, scale: bigint, mulDiv?: MulDiv) => bigint; export declare const expN: (x: BigNumberish, N: BigNumberish, scale: BigNumberish, mulDiv?: MulDiv) => bigint; export declare const getConvertToAssets: (virtualAssets: BigNumberish, virtualShares: BigNumberish, mulDiv: MulDiv) => (shares: BigNumberish, totalAssets: BigNumberish, totalShares: BigNumberish) => bigint; export declare const getConvertToShares: (virtualAssets: BigNumberish, virtualShares: BigNumberish, mulDiv: MulDiv) => (assets: BigNumberish, totalAssets: BigNumberish, totalShares: BigNumberish) => bigint;