UNPKG

@prism-hq/prism-ag

Version:

Prism Aggregator

53 lines (52 loc) 1.63 kB
"use strict"; // import { u64 } from "@project-serum/serum/lib/layout"; // import { Numberu64 } from "@solana/spl-token-swap"; // import { PublicKey } from "@solana/web3.js"; // import JSBI from "jsbi"; // import { TokenInfo } from "../types/types"; // import { Market } from "@ellipsis-labs/phoenix-sdk"; // import { BN } from "bn.js"; // import BigNumber from "bignumber.js"; // export enum Side { // Bid, // Ask, // } // export function phoenixRoute( // fromCoin: TokenInfo, // toCoin: TokenInfo, // fromCoinAmount: number, // option: any, // liquidityData: any, // settings: any, // ) { // try { // let info = liquidityData.phoenix[option.pool.address.toBase58()]; // let market: Market = info.pool; // let quote = market.getExpectedOutAmount({ // inAmount: fromCoinAmount, // side: fromCoin.mintAddress === market.baseToken.data.mintKey.toBase58() ? Side.Ask : Side.Bid, // slot: -1, // unixTimestamp: -1, // }); // let received = +quote; // let fees = 0; // let amountWithFees = received; // return { // from: fromCoin.symbol, // amountIn: fromCoinAmount, // to: toCoin.symbol, // amountOut: received, // amountWithFees: amountWithFees, // minimumReceived: amountWithFees * (1 - settings.slippage / 100), // provider: "phoenix", // fees: fees, // priceImpact: 0, // routeData: { // pool: market, // fromCoin: fromCoin, // toCoin: toCoin, // } // }}catch(e){ // console.log(e); // } // }