UNPKG

@solsdk/xswap_sdk

Version:

Universal cross-chain swaps SDK

30 lines (24 loc) 742 B
import { createJupiterApiClient, SwapApi, type QuoteResponse } from '@jup-ag/api'; export type JupiterQuoteParams = { amount: bigint; tokenIn: string; tokenOut: string; swapMode: 'ExactIn' | 'ExactOut'; slippageBps?: number; }; export class JupiterQuoteProvider { public swapApi: SwapApi; constructor() { this.swapApi = createJupiterApiClient({ fetchApi: fetch }); } public async getQuote(params: JupiterQuoteParams): Promise<{ quote: QuoteResponse }> { const quote = await this.swapApi.quoteGet({ amount: Number(params.amount), inputMint: params.tokenIn, outputMint: params.tokenOut, swapMode: params.swapMode, slippageBps: params.slippageBps, }); return { quote }; } }