@prism-hq/prism-ag
Version:
Prism Aggregator
53 lines (52 loc) • 1.63 kB
JavaScript
;
// 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);
// }
// }