@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
2 lines • 3.58 kB
JavaScript
var A=Object.create;var p=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var O=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var g=(t,e)=>{for(var n in e)p(t,n,{get:e[n],enumerable:!0})},E=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of I(e))!h.call(t,i)&&i!==n&&p(t,i,{get:()=>e[i],enumerable:!(o=T(e,i))||o.enumerable});return t};var l=(t,e,n)=>(n=t!=null?A(O(t)):{},E(e||!t||!t.__esModule?p(n,"default",{value:t,enumerable:!0}):n,t)),M=t=>E(p({},"__esModule",{value:!0}),t);var F={};g(F,{SqrtPriceMath:()=>w});module.exports=M(F);var x=l(require("bn.js")),Z=l(require("decimal.js"));var r=l(require("bn.js")),S=new r.default(1).shln(64),B=64,v=new r.default(1).shln(128),k=new r.default(1).shln(64).subn(1),D=new r.default(1).shln(128).subn(1);var L=new r.default("4295048016"),a=new r.default("79226673521066979257578248091"),U=new r.default("59543866431248"),Q=new r.default("184467440737095516"),G=new r.default("15793534762490258745");var y=new r.default("18446743708227953217"),K=[{bit:0,factor:new r.default("fffcb933bd6fb800",16)},{bit:1,factor:new r.default("fff97272373d4000",16)},{bit:2,factor:new r.default("fff2e50f5f657000",16)},{bit:3,factor:new r.default("ffe5caca7e10f000",16)},{bit:4,factor:new r.default("ffcb9843d60f7000",16)},{bit:5,factor:new r.default("ff973b41fa98e800",16)},{bit:6,factor:new r.default("ff2ea16466c9b000",16)},{bit:7,factor:new r.default("fe5dee046a9a3800",16)},{bit:8,factor:new r.default("fcbe86c7900bb000",16)},{bit:9,factor:new r.default("f987a7253ac65800",16)},{bit:10,factor:new r.default("f3392b0822bb6000",16)},{bit:11,factor:new r.default("e7159475a2caf000",16)},{bit:12,factor:new r.default("d097f3bdfd2f2000",16)},{bit:13,factor:new r.default("a9f746462d9f8000",16)},{bit:14,factor:new r.default("70d869a156f31c00",16)},{bit:15,factor:new r.default("31be135f97ed3200",16)},{bit:16,factor:new r.default("9aa508b5b85a500",16)},{bit:17,factor:new r.default("5d6af8dedc582c",16)},{bit:18,factor:new r.default("2216e584f5fa",16)}];var c=new r.default(0),N=new r.default(1),X=new r.default(-1);var V=new r.default("18446744073700000000");function m(t,e,n){if(n.isZero())throw new Error("Division by zero");return t.mul(e).div(n)}function _(t,e,n){if(n.isZero())throw new Error("Division by zero");let o=t.mul(e),i=o.div(n);return o.mod(n).isZero()?i:i.addn(1)}function R(t,e){return t.div(e).add(t.mod(e).isZero()?c:N)}var W=new x.default(1).shln(256).subn(1);var w=class{static getNextSqrtPriceFromAmountARoundingUp(e,n,o,i){if(o.isZero())return e;let u=n.shln(B);if(i){let f=o.mul(e),s=u.add(f);if(s.gte(u))return _(u,e,s);let d=m(u,N,e);return _(u,N,d.add(o))}else{let f=o.mul(e);if(u.lte(f))throw new Error("Insufficient liquidity for token0 removal");let s=u.sub(f);return _(u,e,s)}}static getNextSqrtPriceFromAmountBRoundingDown(e,n,o,i){if(o.isZero())return e;if(i){let u=o.shln(B).div(n);return e.add(u)}else{let u=R(o.shln(B),n);return e.sub(u)}}static getNextSqrtPriceFromInput(e,n,o,i){if(!e.gt(c))throw Error("sqrtPriceX64.gt(BN_ZERO)");if(!n.gt(c))throw Error("liquidity.gt(BN_ZERO)");return i?this.getNextSqrtPriceFromAmountARoundingUp(e,n,o,!0):this.getNextSqrtPriceFromAmountBRoundingDown(e,n,o,!0)}static getNextSqrtPriceFromOutput(e,n,o,i){if(!e.gt(c))throw Error("sqrtPriceX64.gt(BN_ZERO)");if(!n.gt(c))throw Error("liquidity.gt(BN_ZERO)");return i?this.getNextSqrtPriceFromAmountBRoundingDown(e,n,o,!1):this.getNextSqrtPriceFromAmountARoundingUp(e,n,o,!1)}};0&&(module.exports={SqrtPriceMath});
//# sourceMappingURL=sqrtPriceMath.js.map