0xweb
Version:
Contract package manager and other web3 tools
37 lines (31 loc) • 871 B
text/typescript
import { IToken, ITokenBase } from '@dequanto/models/IToken';
import { TAddress } from '@dequanto/models/TAddress';
import { TResultAsync } from '@dequanto/models/TResult';
import { ISwapRouted } from '../TokenExchanges/AmmBase/V2/AmmPairV2Service';
export interface IOracle {
getPrice (token: IToken, opts?: IOracleOptions): TResultAsync<IOracleResult>
}
export interface IOracleOptions {
block?: number
date?: Date
}
export interface IOracleResult {
quote?: ITokenBase
price: number
date: Date
source?: {
name: string
address?: TAddress
liquidity?: number
}
}
export interface ISwapOptions {
/** default: 1 */
amount?: number
amountWei?: bigint
date?: Date
block?: number
route?: string[]
//-store?: TokenPriceStore
pairs?: { address: TAddress, from: IToken, to: IToken }[]
}