UNPKG

samo-bas-ran

Version:
84 lines 3.49 kB
import { SwapperMeta, Token } from './meta'; import { Asset, Amount, SwapperType, ExpenseType, AmountRestrictionType, AssetWithTicker } from '../shared'; export { Asset, Amount, SwapperType, ExpenseType, AmountRestrictionType, AssetWithTicker, }; /** * A fee unit, including the type of asset and the amount of fee * * @property {string} name - A display name for this fee, example: Network Fee * @property {Token} token - Underlying token for paying fee, example: BNB for BSC blockchain * @property {ExpenseType} expenseType - Type of the fee, example: FROM_SOURCE_WALLET * @property {string} amount - The human readable amount of fee, example: 0.004 * */ export type SwapFee = { name: string; token: Token; expenseType: ExpenseType; amount: string; }; /** * A quote path from asset x (from) to asset y (to) * * @property {Token} from - The source asset * @property {Token} to - The destination asset * @property {SwapperMeta} swapper - Swapper for this path * @property {SwapperType} swapperType - Type of swapper * @property {string} expectedOutput - Expected output * @property {number} estimatedTimeInSeconds - Expected duration * */ export type QuotePath = { from: Token; to: Token; swapper: SwapperMeta; swapperType: SwapperType; expectedOutput: string; estimatedTimeInSeconds: number; }; /** * Limitations on input amount for requested route * * @property {string | null} min - Limitation on minimum input amount for this route * @property {string | null} max - Limitation on maximum input amount for this route * @property {AmountRestrictionType} type - type of limitation * */ export type AmountRestriction = { min: string | null; max: string | null; type: AmountRestrictionType; }; /** * A step of a multi-step swap route * * @property {Token} from - Source token * @property {Token} to - Destination token * @property {string} outputAmount - The estimation of Rango from output amount for Y * @property {string} outputAmountMin - The estimation of Rango from output amount for Y * @property {number | null} outputAmountUsd - The estimation of Rango from output usd value for Y * @property {SwapperMeta} swapper - Swapper suggested for this path * @property {QuotePath[] | null} path - The internal routing of this step showing how the initial swap request will * be split and executed. This can be used for previewing purpose to give the user a sense of what's going to happen. * Null indicates that there is no internal mechanism and swapping is simple and straight-forward. * @property {SwapFee[]} fee - List of fees that are taken from user in this step * @property {number | null} feeUsd - Amount of fee in usd * @property {AmountRestriction | null} amountRestriction - restrictions on input amount. This field is informational * and there is no need to apply it in client-side * @property {number} estimatedTimeInSeconds - The estimated time (in seconds) that this step might take, beware that * this number is just an estimation and should be used only for user preview, example: 15 * */ export type QuoteSimulationResult = { from: Token; to: Token; outputAmount: string; outputAmountMin: string; outputAmountUsd: number | null; swapper: SwapperMeta; path: QuotePath[] | null; fee: SwapFee[]; feeUsd: number | null; amountRestriction: AmountRestriction | null; estimatedTimeInSeconds: number; }; //# sourceMappingURL=common.d.ts.map