@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
2 lines • 3.77 kB
JavaScript
import u from"bn.js";import N from"decimal.js";import o from"bn.js";var R=new o(1).shln(64);var f=new o(1).shln(128),T=new o(1).shln(64).subn(1),c=new o(1).shln(128).subn(1);var I=new o("4295048016"),d=new o("79226673521066979257578248091"),m=new o("59543866431248"),A=new o("184467440737095516"),O=new o("15793534762490258745");var M=new o("18446743708227953217"),h=[{bit:0,factor:new o("fffcb933bd6fb800",16)},{bit:1,factor:new o("fff97272373d4000",16)},{bit:2,factor:new o("fff2e50f5f657000",16)},{bit:3,factor:new o("ffe5caca7e10f000",16)},{bit:4,factor:new o("ffcb9843d60f7000",16)},{bit:5,factor:new o("ff973b41fa98e800",16)},{bit:6,factor:new o("ff2ea16466c9b000",16)},{bit:7,factor:new o("fe5dee046a9a3800",16)},{bit:8,factor:new o("fcbe86c7900bb000",16)},{bit:9,factor:new o("f987a7253ac65800",16)},{bit:10,factor:new o("f3392b0822bb6000",16)},{bit:11,factor:new o("e7159475a2caf000",16)},{bit:12,factor:new o("d097f3bdfd2f2000",16)},{bit:13,factor:new o("a9f746462d9f8000",16)},{bit:14,factor:new o("70d869a156f31c00",16)},{bit:15,factor:new o("31be135f97ed3200",16)},{bit:16,factor:new o("9aa508b5b85a500",16)},{bit:17,factor:new o("5d6af8dedc582c",16)},{bit:18,factor:new o("2216e584f5fa",16)}];var p=new o(0),_=new o(1),v=new o(-1);var D=new o("18446744073700000000");function s(e){return new u(1).shln(e).subn(1)}function F(e,r,n){let t=e.add(r),i=s(n);if(t.gt(i))throw new Error(`Addition overflow: result exceeds ${n} bits`);return t}function L(e,r){if(e.lt(r))throw new Error("Subtraction underflow");return e.sub(r)}function g(e,r,n){let t=e.mul(r),i=s(n);if(t.gt(i))throw new Error(`Multiplication overflow: result exceeds ${n} bits`);return t}function y(e,r){let n=e.mul(r),t=n.and(s(128)),i=n.shrn(128);return[t,i]}function l(e,r,n){if(n.isZero())throw new Error("Division by zero");return e.mul(r).div(n)}function x(e,r,n){if(n.isZero())throw new Error("Division by zero");let t=e.mul(r),i=t.div(n);return t.mod(n).isZero()?i:i.addn(1)}function Q(e,r,n,t){return t?x(e,r,n):l(e,r,n)}function G(e,r){return e.div(r).add(e.mod(r).isZero()?p:_)}function S(e,r){let n=e.add(r);return n.gt(c)?c:n}function U(e,r){return e.gt(r)?e.sub(r):new u(0)}function K(e,r){let n=e.mul(r);if(n.gt(c))throw new Error("U128 multiplication overflow");return n}var V=new u(1).shln(256).subn(1);function Y(e,r,n){if(n.isZero())throw new Error("Division by zero");return e.mul(r).div(n)}function z(e,r,n){if(n.isZero())throw new Error("Division by zero");let t=e.mul(r),i=t.div(n);return t.mod(n).isZero()?i:i.addn(1)}function W(e){return e.isZero()?-1:e.bitLength()-1}function a(e){if(e.isZero())return-1;let r=0,n=e.clone();for(;n.and(new u(1)).isZero();)n=n.shrn(1),r++;return r}function q(e,r){return e.testn(r)}function $(e,r){return e.or(new u(1).shln(r))}function H(e,r){return e.and(new u(1).shln(r).notn(256))}function j(e,r){return e.xor(new u(1).shln(r))}function J(e){let r=new u(1).shln(127);return e.and(r).isZero()?e:e.sub(new u(1).shln(128))}function P(e){return e.isNeg()?e.add(new u(1).shln(128)):e}function ee(e){return e.isNeg()?e.neg():e}function re(e,r){return new N(e.toString()).div(N.pow(2,64)).toDecimalPlaces(r)}function ne(e){return new u(e.mul(N.pow(2,64)).floor().toFixed())}function oe(e,r){return e.add(f).sub(r).mod(f)}export{V as U256_MAX,ee as abs,F as checkedAdd,g as checkedMul,L as checkedSub,H as clearBit,ne as decimalToX64,G as divRoundingUp,P as fromSignedI128,q as isBitSet,a as leastSignificantBit,s as mask,W as mostSignificantBit,x as mulDivCeil,l as mulDivFloor,Q as mulDivRound,y as mulFull,$ as setBit,J as toSignedI128,j as toggleBit,K as u128CheckedMul,S as u128SaturatingAdd,U as u128SaturatingSub,z as u256MulDivCeil,Y as u256MulDivFloor,oe as wrappingSubU128,re as x64ToDecimal};
//# sourceMappingURL=bigNum.mjs.map