@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
2 lines • 850 B
JavaScript
import t from"bn.js";import l from"decimal.js";var n=class{static _multipler(e){return new l(10).pow(e)}static getPrice({priceX64:e,decimalA:i,decimalB:r}){return new l(e.toString()).div(this._Q64).mul(this._multipler(i)).div(this._multipler(r))}static getPriceX64({price:e,decimalA:i,decimalB:r}){let m=e.mul(this._multipler(r)).div(this._multipler(i));return new t(m.mul(this._Q64).toFixed(0))}};n._Q64=new l(new t(1).shln(64).toString());function g({supply:o,totalFundRaisingB:e,totalLockedAmount:i,totalSellA:r,migrateType:m,decimalsA:c}){let u=o.sub(r).sub(i),s=new t(new l(u.mul(e).toString()).sqrt().toFixed(0));if(m==="amm"){if(s.gt(new t(10).pow(new t(c))))return!0}else if(m==="cpmm"){if(s.gt(new t(100)))return!0}else throw Error("migrate type error");return!1}export{n as MathLaunch,g as checkPoolToAmm};
//# sourceMappingURL=func.mjs.map