@mstable/protocol
Version:
mStable Contracts
29 lines (28 loc) • 1.06 kB
TypeScript
import { BN } from "@utils/math";
import { FeederPool, Masset } from "types/generated";
import { MusdEth } from "types/generated/MusdEth";
import { MusdLegacy } from "types/generated/MusdLegacy";
import { QuantityFormatter } from "./quantity-formatters";
import { Chain, Token } from "./tokens";
export interface Balances {
total: BN;
save: BN;
earn: BN;
}
export interface BlockInfo {
fromBlockNumber: number;
toBlockNumber: number;
startTime: Date;
endTime: Date;
}
export interface SwapRate {
inputToken: Token;
inputAmountRaw: BN;
inputDisplay: string;
outputToken: Token;
mOutputRaw: BN;
curveOutputRaw: BN;
curveInverseOutputRaw: BN;
}
export declare const outputSwapRate: (swap: SwapRate, quantityFormatter: QuantityFormatter) => void;
export declare const getSwapRates: (inputTokens: Token[], outputTokens: Token[], mAsset: Masset | MusdEth | MusdLegacy | FeederPool, toBlock: number, quantityFormatter: QuantityFormatter, inputAmount?: BN | number | string, chain?: Chain) => Promise<SwapRate[]>;