UNPKG

@atomiqlabs/sdk-lib

Version:

Basic SDK functionality library for atomiq

27 lines (23 loc) 815 B
import {Token, TokenAmount} from "../../Tokens"; import {PercentagePPM} from "../ISwap"; export type Fee< ChainIdentifier extends string = string, TSrc extends Token<ChainIdentifier> = Token<ChainIdentifier>, TDst extends Token<ChainIdentifier> = Token<ChainIdentifier> > = { amountInSrcToken: TokenAmount<ChainIdentifier, TSrc>, amountInDstToken: TokenAmount<ChainIdentifier, TDst>, usdValue: (abortSignal?: AbortSignal, preFetchedUsdPrice?: number) => Promise<number>, composition?: { base: TokenAmount<ChainIdentifier>, percentage: PercentagePPM } } export enum FeeType { SWAP = 0, NETWORK_OUTPUT = 1 } export type FeeBreakdown<ChainIdentifier extends string = string> = { type: FeeType, fee: Fee<ChainIdentifier> }[];