UNPKG

@thinkincoin-libs/sdk-core

Version:

⚒️ An SDK for building applications on top of Uniswap V3

19 lines (17 loc) 832 B
import { Currency, CurrencyAmount, Percent, Price } from '../entities' /** * Returns the percent difference between the mid price and the execution price, i.e. price impact. * @param midPrice mid price before the trade * @param inputAmount the input amount of the trade * @param outputAmount the output amount of the trade */ export function computePriceImpact<TBase extends Currency, TQuote extends Currency>( midPrice: Price<TBase, TQuote>, inputAmount: CurrencyAmount<TBase>, outputAmount: CurrencyAmount<TQuote> ): Percent { const quotedOutputAmount = midPrice.quote(inputAmount) // calculate price impact := (exactQuote - outputAmount) / exactQuote const priceImpact = quotedOutputAmount.subtract(outputAmount).divide(quotedOutputAmount) return new Percent(priceImpact.numerator, priceImpact.denominator) }