UNPKG

@airdao/swap-router-contracts

Version:

Smart contracts for swapping on Astra Classic and CL

17 lines (14 loc) 458 B
import bn from 'bignumber.js' import { BigNumber, BigNumberish } from 'ethers' bn.config({ EXPONENTIAL_AT: 999999, DECIMAL_PLACES: 40 }) // returns the sqrt price as a 64x96 export function encodePriceSqrt(reserve1: BigNumberish, reserve0: BigNumberish): BigNumber { return BigNumber.from( new bn(reserve1.toString()) .div(reserve0.toString()) .sqrt() .multipliedBy(new bn(2).pow(96)) .integerValue(3) .toString() ) }