@raydium-io/raydium-sdk-v2 0.0.41-alpha → 0.0.43-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api.d.ts +2 -1
- package/lib/api/api.js +1 -1
- package/lib/api/api.js.map +1 -1
- package/lib/api/api.mjs +1 -1
- package/lib/api/api.mjs.map +1 -1
- package/lib/api/index.d.ts +1 -1
- package/lib/api/index.js +1 -1
- package/lib/api/index.js.map +1 -1
- package/lib/api/index.mjs +1 -1
- package/lib/api/index.mjs.map +1 -1
- package/lib/api/type.d.ts +1 -1
- package/lib/api/type.js.map +1 -1
- package/lib/api/type.mjs.map +1 -1
- package/lib/common/accountInfo.d.ts +1 -1
- package/lib/common/bignumber.d.ts +1 -1
- package/lib/common/fractionUtil.d.ts +1 -1
- package/lib/common/index.d.ts +1 -1
- package/lib/common/transfer.d.ts +1 -1
- package/lib/common/txTool/txTool.d.ts +1 -1
- package/lib/common/txTool/txUtils.d.ts +1 -1
- package/lib/common/utility.d.ts +1 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +1 -1
- package/lib/index.mjs.map +1 -1
- package/lib/module/amount.d.ts +1 -1
- package/lib/module/fraction.d.ts +1 -1
- package/lib/module/index.d.ts +1 -1
- package/lib/module/percent.d.ts +1 -1
- package/lib/module/price.d.ts +1 -1
- package/lib/raydium/account/account.d.ts +3 -3
- package/lib/raydium/account/index.d.ts +1 -1
- package/lib/raydium/account/instruction.d.ts +1 -1
- package/lib/raydium/account/types.d.ts +1 -1
- package/lib/raydium/account/util.d.ts +1 -1
- package/lib/raydium/clmm/clmm.d.ts +3 -3
- package/lib/raydium/clmm/index.d.ts +3 -3
- package/lib/raydium/clmm/instrument.d.ts +2 -2
- package/lib/raydium/clmm/type.d.ts +2 -2
- package/lib/raydium/clmm/utils/math.d.ts +2 -2
- package/lib/raydium/clmm/utils/pool.d.ts +2 -2
- package/lib/raydium/clmm/utils/position.d.ts +2 -2
- package/lib/raydium/clmm/utils/tick.d.ts +2 -2
- package/lib/raydium/clmm/utils/tickQuery.d.ts +2 -2
- package/lib/raydium/clmm/utils/tickarrayBitmap.d.ts +2 -2
- package/lib/raydium/cpmm/cpmm.d.ts +3 -3
- package/lib/raydium/cpmm/index.d.ts +1 -1
- package/lib/raydium/cpmm/type.d.ts +1 -1
- package/lib/raydium/farm/config.d.ts +1 -1
- package/lib/raydium/farm/farm.d.ts +3 -3
- package/lib/raydium/farm/index.d.ts +1 -1
- package/lib/raydium/farm/instruction.d.ts +1 -1
- package/lib/raydium/farm/layout.d.ts +1 -1
- package/lib/raydium/farm/type.d.ts +1 -1
- package/lib/raydium/farm/util.d.ts +1 -1
- package/lib/raydium/ido/ido.d.ts +3 -3
- package/lib/raydium/ido/index.d.ts +3 -3
- package/lib/raydium/ido/instruction.d.ts +1 -1
- package/lib/raydium/ido/type.d.ts +1 -1
- package/lib/raydium/index.d.ts +3 -3
- package/lib/raydium/index.js +1 -1
- package/lib/raydium/index.js.map +1 -1
- package/lib/raydium/index.mjs +1 -1
- package/lib/raydium/index.mjs.map +1 -1
- package/lib/raydium/liquidity/index.d.ts +1 -1
- package/lib/raydium/liquidity/instruction.d.ts +1 -1
- package/lib/raydium/liquidity/liquidity.d.ts +3 -3
- package/lib/raydium/liquidity/type.d.ts +1 -1
- package/lib/raydium/liquidity/utils.d.ts +1 -1
- package/lib/raydium/marketV2/createMarket.d.ts +3 -3
- package/lib/raydium/marketV2/createMarket.js +1 -1
- package/lib/raydium/marketV2/createMarket.js.map +1 -1
- package/lib/raydium/marketV2/createMarket.mjs +1 -1
- package/lib/raydium/marketV2/createMarket.mjs.map +1 -1
- package/lib/raydium/marketV2/index.d.ts +3 -3
- package/lib/raydium/marketV2/index.js +1 -1
- package/lib/raydium/marketV2/index.js.map +1 -1
- package/lib/raydium/marketV2/index.mjs +1 -1
- package/lib/raydium/marketV2/index.mjs.map +1 -1
- package/lib/raydium/moduleBase.d.ts +3 -3
- package/lib/raydium/raydium.d.ts +3 -3
- package/lib/raydium/raydium.js +1 -1
- package/lib/raydium/raydium.js.map +1 -1
- package/lib/raydium/raydium.mjs +1 -1
- package/lib/raydium/raydium.mjs.map +1 -1
- package/lib/raydium/token/constant.d.ts +1 -1
- package/lib/raydium/token/index.d.ts +1 -1
- package/lib/raydium/token/token.d.ts +3 -3
- package/lib/raydium/token/token.js +1 -1
- package/lib/raydium/token/token.js.map +1 -1
- package/lib/raydium/token/token.mjs +1 -1
- package/lib/raydium/token/token.mjs.map +1 -1
- package/lib/raydium/token/type.d.ts +1 -1
- package/lib/raydium/token/utils.d.ts +1 -1
- package/lib/raydium/tradeV2/index.d.ts +2 -2
- package/lib/raydium/tradeV2/instrument.d.ts +2 -2
- package/lib/raydium/tradeV2/trade.d.ts +3 -3
- package/lib/raydium/tradeV2/type.d.ts +2 -2
- package/lib/raydium/type.d.ts +1 -1
- package/lib/raydium/utils1216/index.d.ts +3 -3
- package/lib/raydium/utils1216/utils1216.d.ts +3 -3
- package/lib/{raydium-d05441b6.d.ts → raydium-0396913e.d.ts} +4 -2
- package/lib/{type-08d7cf11.d.ts → type-085c771c.d.ts} +1 -1
- package/lib/{type-15746482.d.ts → type-9fe71e3c.d.ts} +1 -0
- package/package.json +1 -1
- package/src/api/api.ts +1 -6
- package/src/api/type.ts +1 -0
- package/src/raydium/marketV2/createMarket.ts +26 -12
- package/src/raydium/token/token.ts +6 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var Ht=Object.defineProperty,jt=Object.defineProperties;var zt=Object.getOwnPropertyDescriptors;var Pe=Object.getOwnPropertySymbols;var ct=Object.prototype.hasOwnProperty,lt=Object.prototype.propertyIsEnumerable;var ut=(e,t,n)=>t in e?Ht(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,D=(e,t)=>{for(var n in t||(t={}))ct.call(t,n)&&ut(e,n,t[n]);if(Pe)for(var n of Pe(t))lt.call(t,n)&&ut(e,n,t[n]);return e},U=(e,t)=>jt(e,zt(t));var Ie=(e,t)=>{var n={};for(var r in e)ct.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Pe)for(var r of Pe(e))t.indexOf(r)<0&<.call(e,r)&&(n[r]=e[r]);return n};import{PublicKey as mr}from"@solana/web3.js";import{MintLayout as fr,TOKEN_2022_PROGRAM_ID as ot,TOKEN_PROGRAM_ID as st}from"@solana/spl-token";import{get as mt,set as Yt}from"lodash";import pt from"dayjs";import Zt from"dayjs/plugin/utc";pt.extend(Zt);var We=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return pt().utc().format("YYYY/MM/DD HH:mm:ss UTC")}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let n=t.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(n)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},ft={},Qt={};function G(e){let t=mt(ft,e);if(!t){let n=mt(Qt,e);t=new We({name:e,logLevel:n}),Yt(ft,e,t)}return t}import{PublicKey as Te,sendAndConfirmTransaction as rt,Transaction as ye,TransactionMessage as xe,VersionedTransaction as Ae}from"@solana/web3.js";import lr from"axios";var qe={CreateAccount:"CreateAccount",InitAccount:"InitAccount",CreateATA:"CreateATA",CloseAccount:"CloseAccount",TransferAmount:"TransferAmount",InitMint:"InitMint",MintTo:"MintTo",InitMarket:"InitMarket",Util1216OwnerClaim:"Util1216OwnerClaim",SetComputeUnitPrice:"SetComputeUnitPrice",SetComputeUnitLimit:"SetComputeUnitLimit",ClmmCreatePool:"ClmmCreatePool",ClmmOpenPosition:"ClmmOpenPosition",ClmmIncreasePosition:"ClmmIncreasePosition",ClmmDecreasePosition:"ClmmDecreasePosition",ClmmClosePosition:"ClmmClosePosition",ClmmSwapBaseIn:"ClmmSwapBaseIn",ClmmSwapBaseOut:"ClmmSwapBaseOut",ClmmInitReward:"ClmmInitReward",ClmmSetReward:"ClmmSetReward",ClmmCollectReward:"ClmmCollectReward",AmmV4Swap:"AmmV4Swap",AmmV4AddLiquidity:"AmmV4AddLiquidity",AmmV4RemoveLiquidity:"AmmV4RemoveLiquidity",AmmV4SimulatePoolInfo:"AmmV4SimulatePoolInfo",AmmV4SwapBaseIn:"AmmV4SwapBaseIn",AmmV4SwapBaseOut:"AmmV4SwapBaseOut",AmmV4CreatePool:"AmmV4CreatePool",AmmV4InitPool:"AmmV4InitPool",AmmV5AddLiquidity:"AmmV5AddLiquidity",AmmV5RemoveLiquidity:"AmmV5RemoveLiquidity",AmmV5SimulatePoolInfo:"AmmV5SimulatePoolInfo",AmmV5SwapBaseIn:"AmmV5SwapBaseIn",AmmV5SwapBaseOut:"AmmV5SwapBaseOut",RouteSwap:"RouteSwap",RouteSwap1:"RouteSwap1",RouteSwap2:"RouteSwap2",FarmV3Deposit:"FarmV3Deposit",FarmV3Withdraw:"FarmV3Withdraw",FarmV3CreateLedger:"FarmV3CreateLedger",FarmV5Deposit:"FarmV5Deposit",FarmV5Withdraw:"FarmV5Withdraw",FarmV5CreateLedger:"FarmV5CreateLedger",FarmV6Deposit:"FarmV6Deposit",FarmV6Withdraw:"FarmV6Withdraw",FarmV6Create:"FarmV6Create",FarmV6Restart:"FarmV6Restart",FarmV6CreatorAddReward:"FarmV6CreatorAddReward",FarmV6CreatorWithdraw:"FarmV6CreatorWithdraw",CpmmCreatePool:"CpmmCreatePool",CpmmAddLiquidity:"CpmmAddLiquidity",CpmmWithdrawLiquidity:"CpmmWithdrawLiquidity",CpmmSwapBaseIn:"CpmmSwapBaseIn",CpmmSwapBaseOut:"CpmmSwapBaseOut"};import{PublicKey as Ar,ComputeBudgetProgram as dt,Transaction as ht,TransactionMessage as Jt,Keypair as bt,VersionedTransaction as wt}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Xt}from"@solana/spl-token";var gt=G("Raydium_txUtil"),Tt=1644;function Be(e){let t=[],n=[];return e.microLamports&&(t.push(dt.setComputeUnitPrice({microLamports:e.microLamports})),n.push(qe.SetComputeUnitPrice)),e.units&&(t.push(dt.setComputeUnitLimit({units:e.units})),n.push(qe.SetComputeUnitLimit)),{instructions:t,instructionTypes:n}}async function ue(e){var t,n;try{return((n=await((t=e.getLatestBlockhash)==null?void 0:t.call(e)))==null?void 0:n.blockhash)||(await e.getRecentBlockhash()).blockhash}catch{return(await e.getRecentBlockhash()).blockhash}}function $t(e,t){e.length<1&>.logWithError(`no instructions provided: ${e.toString()}`),t.length<1&>.logWithError(`no signers provided:, ${t.toString()}`);let n=new ht;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=t[0],n.add(...e);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<Tt}catch{return!1}}function pe({instructions:e,payer:t,signers:n}){return $t(e,[t,...n])}function de({instructions:e,payer:t,lookupTableAddressAccount:n,recentBlockhash:r=bt.generate().publicKey.toString()}){let o=new Jt({payerKey:t,recentBlockhash:r,instructions:e}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new wt(o).serialize()).toString("base64").length<Tt}catch{return!1}}var en=e=>Buffer.isBuffer(e)?e:e instanceof Uint8Array?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e);function oe(e){let t=[];return e.forEach(n=>{n instanceof ht&&(n.recentBlockhash||(n.recentBlockhash=Xt.toBase58()),n.feePayer||(n.feePayer=bt.generate().publicKey));let r=n.serialize({requireAllSignatures:!1,verifySignatures:!1});n instanceof wt&&(r=en(r));let i=r.toString("base64");t.push(i)}),console.log("simulate tx string:",t),t}import{PublicKey as Gt,AddressLookupTableAccount as Oe}from"@solana/web3.js";import{PublicKey as cr}from"@solana/web3.js";import{getTransferFeeConfig as Ks,unpackMint as Ws}from"@solana/spl-token";import{PublicKey as Ro}from"@solana/web3.js";import Eo from"bn.js";import ur from"big.js";import lo from"bn.js";import j from"bn.js";var ce=9e15,te=1e9,Ue="0123456789abcdef",Ce="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Ne="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Ge={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ce,maxE:ce,crypto:!1},kt,J,k=!0,Re="[DecimalError] ",ee=Re+"Invalid argument: ",Pt=Re+"Precision limit exceeded",It=Re+"crypto unavailable",Bt="[object Decimal]",q=Math.floor,O=Math.pow,tn=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,nn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,rn=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,St=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Z=1e7,x=7,on=9007199254740991,sn=Ce.length-1,He=Ne.length-1,p={toStringTag:Bt};p.absoluteValue=p.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),y(e)};p.ceil=function(){return y(new this.constructor(this),this.e+1,2)};p.clampedTo=p.clamp=function(e,t){var n,r=this,i=r.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(ee+t);return n=r.cmp(e),n<0?e:r.cmp(t)>0?t:new i(r)};p.comparedTo=p.cmp=function(e){var t,n,r,i,o=this,s=o.d,a=(e=new o.constructor(e)).d,u=o.s,c=e.s;if(!s||!a)return!u||!c?NaN:u!==c?u:s===a?0:!s^u<0?1:-1;if(!s[0]||!a[0])return s[0]?u:a[0]?-c:0;if(u!==c)return u;if(o.e!==e.e)return o.e>e.e^u<0?1:-1;for(r=s.length,i=a.length,t=0,n=r<i?r:i;t<n;++t)if(s[t]!==a[t])return s[t]>a[t]^u<0?1:-1;return r===i?0:r>i^u<0?1:-1};p.cosine=p.cos=function(){var e,t,n=this,r=n.constructor;return n.d?n.d[0]?(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+x,r.rounding=1,n=an(r,Ft(r,n)),r.precision=e,r.rounding=t,y(J==2||J==3?n.neg():n,e,t,!0)):new r(1):new r(NaN)};p.cubeRoot=p.cbrt=function(){var e,t,n,r,i,o,s,a,u,c,l=this,m=l.constructor;if(!l.isFinite()||l.isZero())return new m(l);for(k=!1,o=l.s*O(l.s*l,1/3),!o||Math.abs(o)==1/0?(n=K(l.d),e=l.e,(o=(e-n.length+1)%3)&&(n+=o==1||o==-2?"0":"00"),o=O(n,1/3),e=q((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?n="5e"+e:(n=o.toExponential(),n=n.slice(0,n.indexOf("e")+1)+e),r=new m(n),r.s=l.s):r=new m(o.toString()),s=(e=m.precision)+3;;)if(a=r,u=a.times(a).times(a),c=u.plus(l),r=C(c.plus(l).times(a),c.plus(u),s+2,1),K(a.d).slice(0,s)===(n=K(r.d)).slice(0,s))if(n=n.slice(s-3,s+1),n=="9999"||!i&&n=="4999"){if(!i&&(y(a,e+1,0),a.times(a).times(a).eq(l))){r=a;break}s+=4,i=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(y(r,e+1,1),t=!r.times(r).times(r).eq(l));break}return k=!0,y(r,e,m.rounding,t)};p.decimalPlaces=p.dp=function(){var e,t=this.d,n=NaN;if(t){if(e=t.length-1,n=(e-q(this.e/x))*x,e=t[e],e)for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n};p.dividedBy=p.div=function(e){return C(this,new this.constructor(e))};p.dividedToIntegerBy=p.divToInt=function(e){var t=this,n=t.constructor;return y(C(t,new n(e),0,1,1),n.precision,n.rounding)};p.equals=p.eq=function(e){return this.cmp(e)===0};p.floor=function(){return y(new this.constructor(this),this.e+1,3)};p.greaterThan=p.gt=function(e){return this.cmp(e)>0};p.greaterThanOrEqualTo=p.gte=function(e){var t=this.cmp(e);return t==1||t===0};p.hyperbolicCosine=p.cosh=function(){var e,t,n,r,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;n=s.precision,r=s.rounding,s.precision=n+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),t=(1/Ee(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=le(s,1,o.times(t),new s(1),!0);for(var u,c=e,l=new s(8);c--;)u=o.times(o),o=a.minus(u.times(l.minus(u.times(l))));return y(o,s.precision=n,s.rounding=r,!0)};p.hyperbolicSine=p.sinh=function(){var e,t,n,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,n=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,r=i.d.length,r<3)i=le(o,2,i,i,!0);else{e=1.4*Math.sqrt(r),e=e>16?16:e|0,i=i.times(1/Ee(5,e)),i=le(o,2,i,i,!0);for(var s,a=new o(5),u=new o(16),c=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(u.times(s).plus(c))))}return o.precision=t,o.rounding=n,y(i,t,n,!0)};p.hyperbolicTangent=p.tanh=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+7,r.rounding=1,C(n.sinh(),n.cosh(),r.precision=e,r.rounding=t)):new r(n.s)};p.inverseCosine=p.acos=function(){var e,t=this,n=t.constructor,r=t.abs().cmp(1),i=n.precision,o=n.rounding;return r!==-1?r===0?t.isNeg()?Y(n,i,o):new n(0):new n(NaN):t.isZero()?Y(n,i+4,o).times(.5):(n.precision=i+6,n.rounding=1,t=t.asin(),e=Y(n,i+4,o).times(.5),n.precision=i,n.rounding=o,e.minus(t))};p.inverseHyperbolicCosine=p.acosh=function(){var e,t,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(e=r.precision,t=r.rounding,r.precision=e+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,k=!1,n=n.times(n).minus(1).sqrt().plus(n),k=!0,r.precision=e,r.rounding=t,n.ln()):new r(n)};p.inverseHyperbolicSine=p.asinh=function(){var e,t,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,k=!1,n=n.times(n).plus(1).sqrt().plus(n),k=!0,r.precision=e,r.rounding=t,n.ln())};p.inverseHyperbolicTangent=p.atanh=function(){var e,t,n,r,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,t=o.rounding,r=i.sd(),Math.max(r,e)<2*-i.e-1?y(new o(i),e,t,!0):(o.precision=n=r-i.e,i=C(i.plus(1),new o(1).minus(i),n+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)};p.inverseSine=p.asin=function(){var e,t,n,r,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),n=o.precision,r=o.rounding,t!==-1?t===0?(e=Y(o,n+4,r).times(.5),e.s=i.s,e):new o(NaN):(o.precision=n+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=r,i.times(2)))};p.inverseTangent=p.atan=function(){var e,t,n,r,i,o,s,a,u,c=this,l=c.constructor,m=l.precision,f=l.rounding;if(c.isFinite()){if(c.isZero())return new l(c);if(c.abs().eq(1)&&m+4<=He)return s=Y(l,m+4,f).times(.25),s.s=c.s,s}else{if(!c.s)return new l(NaN);if(m+4<=He)return s=Y(l,m+4,f).times(.5),s.s=c.s,s}for(l.precision=a=m+10,l.rounding=1,n=Math.min(28,a/x+2|0),e=n;e;--e)c=c.div(c.times(c).plus(1).sqrt().plus(1));for(k=!1,t=Math.ceil(a/x),r=1,u=c.times(c),s=new l(c),i=c;e!==-1;)if(i=i.times(u),o=s.minus(i.div(r+=2)),i=i.times(u),s=o.plus(i.div(r+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return n&&(s=s.times(2<<n-1)),k=!0,y(s,l.precision=m,l.rounding=f,!0)};p.isFinite=function(){return!!this.d};p.isInteger=p.isInt=function(){return!!this.d&&q(this.e/x)>this.d.length-2};p.isNaN=function(){return!this.s};p.isNegative=p.isNeg=function(){return this.s<0};p.isPositive=p.isPos=function(){return this.s>0};p.isZero=function(){return!!this.d&&this.d[0]===0};p.lessThan=p.lt=function(e){return this.cmp(e)<0};p.lessThanOrEqualTo=p.lte=function(e){return this.cmp(e)<1};p.logarithm=p.log=function(e){var t,n,r,i,o,s,a,u,c=this,l=c.constructor,m=l.precision,f=l.rounding,d=5;if(e==null)e=new l(10),t=!0;else{if(e=new l(e),n=e.d,e.s<0||!n||!n[0]||e.eq(1))return new l(NaN);t=e.eq(10)}if(n=c.d,c.s<0||!n||!n[0]||c.eq(1))return new l(n&&!n[0]?-1/0:c.s!=1?NaN:n?0:1/0);if(t)if(n.length>1)o=!0;else{for(i=n[0];i%10===0;)i/=10;o=i!==1}if(k=!1,a=m+d,s=$(c,a),r=t?Me(l,a+10):$(e,a),u=C(s,r,a,1),ge(u.d,i=m,f))do if(a+=10,s=$(c,a),r=t?Me(l,a+10):$(e,a),u=C(s,r,a,1),!o){+K(u.d).slice(i+1,i+15)+1==1e14&&(u=y(u,m+1,0));break}while(ge(u.d,i+=10,f));return k=!0,y(u,m,f)};p.minus=p.sub=function(e){var t,n,r,i,o,s,a,u,c,l,m,f,d=this,T=d.constructor;if(e=new T(e),!d.d||!e.d)return!d.s||!e.s?e=new T(NaN):d.d?e.s=-e.s:e=new T(e.d||d.s!==e.s?d:NaN),e;if(d.s!=e.s)return e.s=-e.s,d.plus(e);if(c=d.d,f=e.d,a=T.precision,u=T.rounding,!c[0]||!f[0]){if(f[0])e.s=-e.s;else if(c[0])e=new T(d);else return new T(u===3?-0:0);return k?y(e,a,u):e}if(n=q(e.e/x),l=q(d.e/x),c=c.slice(),o=l-n,o){for(m=o<0,m?(t=c,o=-o,s=f.length):(t=f,n=l,s=c.length),r=Math.max(Math.ceil(a/x),s)+2,o>r&&(o=r,t.length=1),t.reverse(),r=o;r--;)t.push(0);t.reverse()}else{for(r=c.length,s=f.length,m=r<s,m&&(s=r),r=0;r<s;r++)if(c[r]!=f[r]){m=c[r]<f[r];break}o=0}for(m&&(t=c,c=f,f=t,e.s=-e.s),s=c.length,r=f.length-s;r>0;--r)c[s++]=0;for(r=f.length;r>o;){if(c[--r]<f[r]){for(i=r;i&&c[--i]===0;)c[i]=Z-1;--c[i],c[r]+=Z}c[r]-=f[r]}for(;c[--s]===0;)c.pop();for(;c[0]===0;c.shift())--n;return c[0]?(e.d=c,e.e=Fe(c,n),k?y(e,a,u):e):new T(u===3?-0:0)};p.modulo=p.mod=function(e){var t,n=this,r=n.constructor;return e=new r(e),!n.d||!e.s||e.d&&!e.d[0]?new r(NaN):!e.d||n.d&&!n.d[0]?y(new r(n),r.precision,r.rounding):(k=!1,r.modulo==9?(t=C(n,e.abs(),0,3,1),t.s*=e.s):t=C(n,e,0,r.modulo,1),t=t.times(e),k=!0,n.minus(t))};p.naturalExponential=p.exp=function(){return je(this)};p.naturalLogarithm=p.ln=function(){return $(this)};p.negated=p.neg=function(){var e=new this.constructor(this);return e.s=-e.s,y(e)};p.plus=p.add=function(e){var t,n,r,i,o,s,a,u,c,l,m=this,f=m.constructor;if(e=new f(e),!m.d||!e.d)return!m.s||!e.s?e=new f(NaN):m.d||(e=new f(e.d||m.s===e.s?m:NaN)),e;if(m.s!=e.s)return e.s=-e.s,m.minus(e);if(c=m.d,l=e.d,a=f.precision,u=f.rounding,!c[0]||!l[0])return l[0]||(e=new f(m)),k?y(e,a,u):e;if(o=q(m.e/x),r=q(e.e/x),c=c.slice(),i=o-r,i){for(i<0?(n=c,i=-i,s=l.length):(n=l,r=o,s=c.length),o=Math.ceil(a/x),s=o>s?o+1:s+1,i>s&&(i=s,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for(s=c.length,i=l.length,s-i<0&&(i=s,n=l,l=c,c=n),t=0;i;)t=(c[--i]=c[i]+l[i]+t)/Z|0,c[i]%=Z;for(t&&(c.unshift(t),++r),s=c.length;c[--s]==0;)c.pop();return e.d=c,e.e=Fe(c,r),k?y(e,a,u):e};p.precision=p.sd=function(e){var t,n=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(ee+e);return n.d?(t=Ct(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t};p.round=function(){var e=this,t=e.constructor;return y(new t(e),e.e+1,t.rounding)};p.sine=p.sin=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+x,r.rounding=1,n=cn(r,Ft(r,n)),r.precision=e,r.rounding=t,y(J>2?n.neg():n,e,t,!0)):new r(NaN)};p.squareRoot=p.sqrt=function(){var e,t,n,r,i,o,s=this,a=s.d,u=s.e,c=s.s,l=s.constructor;if(c!==1||!a||!a[0])return new l(!c||c<0&&(!a||a[0])?NaN:a?s:1/0);for(k=!1,c=Math.sqrt(+s),c==0||c==1/0?(t=K(a),(t.length+u)%2==0&&(t+="0"),c=Math.sqrt(t),u=q((u+1)/2)-(u<0||u%2),c==1/0?t="5e"+u:(t=c.toExponential(),t=t.slice(0,t.indexOf("e")+1)+u),r=new l(t)):r=new l(c.toString()),n=(u=l.precision)+3;;)if(o=r,r=o.plus(C(s,o,n+2,1)).times(.5),K(o.d).slice(0,n)===(t=K(r.d)).slice(0,n))if(t=t.slice(n-3,n+1),t=="9999"||!i&&t=="4999"){if(!i&&(y(o,u+1,0),o.times(o).eq(s))){r=o;break}n+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(y(r,u+1,1),e=!r.times(r).eq(s));break}return k=!0,y(r,u,l.rounding,e)};p.tangent=p.tan=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+10,r.rounding=1,n=n.sin(),n.s=1,n=C(n,new r(1).minus(n.times(n)).sqrt(),e+10,0),r.precision=e,r.rounding=t,y(J==2||J==4?n.neg():n,e,t,!0)):new r(NaN)};p.times=p.mul=function(e){var t,n,r,i,o,s,a,u,c,l=this,m=l.constructor,f=l.d,d=(e=new m(e)).d;if(e.s*=l.s,!f||!f[0]||!d||!d[0])return new m(!e.s||f&&!f[0]&&!d||d&&!d[0]&&!f?NaN:!f||!d?e.s/0:e.s*0);for(n=q(l.e/x)+q(e.e/x),u=f.length,c=d.length,u<c&&(o=f,f=d,d=o,s=u,u=c,c=s),o=[],s=u+c,r=s;r--;)o.push(0);for(r=c;--r>=0;){for(t=0,i=u+r;i>r;)a=o[i]+d[r]*f[i-r-1]+t,o[i--]=a%Z|0,t=a/Z|0;o[i]=(o[i]+t)%Z|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=Fe(o,n),k?y(e,m.precision,m.rounding):e};p.toBinary=function(e,t){return Ye(this,2,e,t)};p.toDecimalPlaces=p.toDP=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(H(e,0,te),t===void 0?t=r.rounding:H(t,0,8),y(n,e+n.e+1,t))};p.toExponential=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=Q(r,!0):(H(e,0,te),t===void 0?t=i.rounding:H(t,0,8),r=y(new i(r),e+1,t),n=Q(r,!0,e+1)),r.isNeg()&&!r.isZero()?"-"+n:n};p.toFixed=function(e,t){var n,r,i=this,o=i.constructor;return e===void 0?n=Q(i):(H(e,0,te),t===void 0?t=o.rounding:H(t,0,8),r=y(new o(i),e+i.e+1,t),n=Q(r,!1,e+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n};p.toFraction=function(e){var t,n,r,i,o,s,a,u,c,l,m,f,d=this,T=d.d,g=d.constructor;if(!T)return new g(d);if(c=n=new g(1),r=u=new g(0),t=new g(r),o=t.e=Ct(T)-d.e-1,s=o%x,t.d[0]=O(10,s<0?x+s:s),e==null)e=o>0?t:c;else{if(a=new g(e),!a.isInt()||a.lt(c))throw Error(ee+a);e=a.gt(t)?o>0?t:c:a}for(k=!1,a=new g(K(T)),l=g.precision,g.precision=o=T.length*x*2;m=C(a,t,0,1,1),i=n.plus(m.times(r)),i.cmp(e)!=1;)n=r,r=i,i=c,c=u.plus(m.times(i)),u=i,i=t,t=a.minus(m.times(i)),a=i;return i=C(e.minus(n),r,0,1,1),u=u.plus(i.times(c)),n=n.plus(i.times(r)),u.s=c.s=d.s,f=C(c,r,o,1).minus(d).abs().cmp(C(u,n,o,1).minus(d).abs())<1?[c,r]:[u,n],g.precision=l,k=!0,f};p.toHexadecimal=p.toHex=function(e,t){return Ye(this,16,e,t)};p.toNearest=function(e,t){var n=this,r=n.constructor;if(n=new r(n),e==null){if(!n.d)return n;e=new r(1),t=r.rounding}else{if(e=new r(e),t===void 0?t=r.rounding:H(t,0,8),!n.d)return e.s?n:e;if(!e.d)return e.s&&(e.s=n.s),e}return e.d[0]?(k=!1,n=C(n,e,0,t,1).times(e),k=!0,y(n)):(e.s=n.s,n=e),n};p.toNumber=function(){return+this};p.toOctal=function(e,t){return Ye(this,8,e,t)};p.toPower=p.pow=function(e){var t,n,r,i,o,s,a=this,u=a.constructor,c=+(e=new u(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new u(O(+a,c));if(a=new u(a),a.eq(1))return a;if(r=u.precision,o=u.rounding,e.eq(1))return y(a,r,o);if(t=q(e.e/x),t>=e.d.length-1&&(n=c<0?-c:c)<=on)return i=Nt(u,a,n,r),e.s<0?new u(1).div(i):y(i,r,o);if(s=a.s,s<0){if(t<e.d.length-1)return new u(NaN);if((e.d[t]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return n=O(+a,c),t=n==0||!isFinite(n)?q(c*(Math.log("0."+K(a.d))/Math.LN10+a.e+1)):new u(n+"").e,t>u.maxE+1||t<u.minE-1?new u(t>0?s/0:0):(k=!1,u.rounding=a.s=1,n=Math.min(12,(t+"").length),i=je(e.times($(a,r+n)),r),i.d&&(i=y(i,r+5,1),ge(i.d,r,o)&&(t=r+10,i=y(je(e.times($(a,t+n)),t),t+5,1),+K(i.d).slice(r+1,r+15)+1==1e14&&(i=y(i,r+1,0)))),i.s=s,k=!0,u.rounding=o,y(i,r,o))};p.toPrecision=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=Q(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(H(e,1,te),t===void 0?t=i.rounding:H(t,0,8),r=y(new i(r),e,t),n=Q(r,e<=r.e||r.e<=i.toExpNeg,e)),r.isNeg()&&!r.isZero()?"-"+n:n};p.toSignificantDigits=p.toSD=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(H(e,1,te),t===void 0?t=r.rounding:H(t,0,8)),y(new r(n),e,t)};p.toString=function(){var e=this,t=e.constructor,n=Q(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n};p.truncated=p.trunc=function(){return y(new this.constructor(this),this.e+1,1)};p.valueOf=p.toJSON=function(){var e=this,t=e.constructor,n=Q(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};function K(e){var t,n,r,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;t<i;t++)r=e[t]+"",n=x-r.length,n&&(o+=X(n)),o+=r;s=e[t],r=s+"",n=x-r.length,n&&(o+=X(n))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function H(e,t,n){if(e!==~~e||e<t||e>n)throw Error(ee+e)}function ge(e,t,n,r){var i,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=x,i=0):(i=Math.ceil((t+1)/x),t%=x),o=O(10,x-t),a=e[i]%o|0,r==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=n<4&&a==99999||n>3&&a==49999||a==5e4||a==0):s=(n<4&&a+1==o||n>3&&a+1==o/2)&&(e[i+1]/o/100|0)==O(10,t-2)-1||(a==o/2||a==0)&&(e[i+1]/o/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(r||n<4)&&a==9999||!r&&n>3&&a==4999):s=((r||n<4)&&a+1==o||!r&&n>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==O(10,t-3)-1,s}function Se(e,t,n){for(var r,i=[0],o,s=0,a=e.length;s<a;){for(o=i.length;o--;)i[o]*=t;for(i[0]+=Ue.indexOf(e.charAt(s++)),r=0;r<i.length;r++)i[r]>n-1&&(i[r+1]===void 0&&(i[r+1]=0),i[r+1]+=i[r]/n|0,i[r]%=n)}return i.reverse()}function an(e,t){var n,r,i;if(t.isZero())return t;r=t.d.length,r<32?(n=Math.ceil(r/3),i=(1/Ee(4,n)).toString()):(n=16,i="2.3283064365386962890625e-10"),e.precision+=n,t=le(e,1,t.times(i),new e(1));for(var o=n;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=n,t}var C=function(){function e(r,i,o){var s,a=0,u=r.length;for(r=r.slice();u--;)s=r[u]*i+a,r[u]=s%o|0,a=s/o|0;return a&&r.unshift(a),r}function t(r,i,o,s){var a,u;if(o!=s)u=o>s?1:-1;else for(a=u=0;a<o;a++)if(r[a]!=i[a]){u=r[a]>i[a]?1:-1;break}return u}function n(r,i,o,s){for(var a=0;o--;)r[o]-=a,a=r[o]<i[o]?1:0,r[o]=a*s+r[o]-i[o];for(;!r[0]&&r.length>1;)r.shift()}return function(r,i,o,s,a,u){var c,l,m,f,d,T,g,A,h,w,b,P,I,R,E,V,v,z,_,re,ie=r.constructor,fe=r.s==i.s?1:-1,W=r.d,N=i.d;if(!W||!W[0]||!N||!N[0])return new ie(!r.s||!i.s||(W?N&&W[0]==N[0]:!N)?NaN:W&&W[0]==0||!N?fe*0:fe/0);for(u?(d=1,l=r.e-i.e):(u=Z,d=x,l=q(r.e/d)-q(i.e/d)),_=N.length,v=W.length,h=new ie(fe),w=h.d=[],m=0;N[m]==(W[m]||0);m++);if(N[m]>(W[m]||0)&&l--,o==null?(R=o=ie.precision,s=ie.rounding):a?R=o+(r.e-i.e)+1:R=o,R<0)w.push(1),T=!0;else{if(R=R/d+2|0,m=0,_==1){for(f=0,N=N[0],R++;(m<v||f)&&R--;m++)E=f*u+(W[m]||0),w[m]=E/N|0,f=E%N|0;T=f||m<v}else{for(f=u/(N[0]+1)|0,f>1&&(N=e(N,f,u),W=e(W,f,u),_=N.length,v=W.length),V=_,b=W.slice(0,_),P=b.length;P<_;)b[P++]=0;re=N.slice(),re.unshift(0),z=N[0],N[1]>=u/2&&++z;do f=0,c=t(N,b,_,P),c<0?(I=b[0],_!=P&&(I=I*u+(b[1]||0)),f=I/z|0,f>1?(f>=u&&(f=u-1),g=e(N,f,u),A=g.length,P=b.length,c=t(g,b,A,P),c==1&&(f--,n(g,_<A?re:N,A,u))):(f==0&&(c=f=1),g=N.slice()),A=g.length,A<P&&g.unshift(0),n(b,g,P,u),c==-1&&(P=b.length,c=t(N,b,_,P),c<1&&(f++,n(b,_<P?re:N,P,u))),P=b.length):c===0&&(f++,b=[0]),w[m++]=f,c&&b[0]?b[P++]=W[V]||0:(b=[W[V]],P=1);while((V++<v||b[0]!==void 0)&&R--);T=b[0]!==void 0}w[0]||w.shift()}if(d==1)h.e=l,kt=T;else{for(m=1,f=w[0];f>=10;f/=10)m++;h.e=m+l*d-1,y(h,a?o+h.e+1:o,s,T)}return h}}();function y(e,t,n,r){var i,o,s,a,u,c,l,m,f,d=e.constructor;e:if(t!=null){if(m=e.d,!m)return e;for(i=1,a=m[0];a>=10;a/=10)i++;if(o=t-i,o<0)o+=x,s=t,l=m[f=0],u=l/O(10,i-s-1)%10|0;else if(f=Math.ceil((o+1)/x),a=m.length,f>=a)if(r){for(;a++<=f;)m.push(0);l=u=0,i=1,o%=x,s=o-x+1}else break e;else{for(l=a=m[f],i=1;a>=10;a/=10)i++;o%=x,s=o-x+i,u=s<0?0:l/O(10,i-s-1)%10|0}if(r=r||t<0||m[f+1]!==void 0||(s<0?l:l%O(10,i-s-1)),c=n<4?(u||r)&&(n==0||n==(e.s<0?3:2)):u>5||u==5&&(n==4||r||n==6&&(o>0?s>0?l/O(10,i-s):0:m[f-1])%10&1||n==(e.s<0?8:7)),t<1||!m[0])return m.length=0,c?(t-=e.e+1,m[0]=O(10,(x-t%x)%x),e.e=-t||0):m[0]=e.e=0,e;if(o==0?(m.length=f,a=1,f--):(m.length=f+1,a=O(10,x-o),m[f]=s>0?(l/O(10,i-s)%O(10,s)|0)*a:0),c)for(;;)if(f==0){for(o=1,s=m[0];s>=10;s/=10)o++;for(s=m[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,m[0]==Z&&(m[0]=1));break}else{if(m[f]+=a,m[f]!=Z)break;m[f--]=0,a=1}for(o=m.length;m[--o]===0;)m.pop()}return k&&(e.e>d.maxE?(e.d=null,e.e=NaN):e.e<d.minE&&(e.e=0,e.d=[0])),e}function Q(e,t,n){if(!e.isFinite())return Rt(e);var r,i=e.e,o=K(e.d),s=o.length;return t?(n&&(r=n-s)>0?o=o.charAt(0)+"."+o.slice(1)+X(r):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+X(-i-1)+o,n&&(r=n-s)>0&&(o+=X(r))):i>=s?(o+=X(i+1-s),n&&(r=n-i-1)>0&&(o=o+"."+X(r))):((r=i+1)<s&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-s)>0&&(i+1===s&&(o+="."),o+=X(r))),o}function Fe(e,t){var n=e[0];for(t*=x;n>=10;n/=10)t++;return t}function Me(e,t,n){if(t>sn)throw k=!0,n&&(e.precision=n),Error(Pt);return y(new e(Ce),t,1,!0)}function Y(e,t,n){if(t>He)throw Error(Pt);return y(new e(Ne),t,n,!0)}function Ct(e){var t=e.length-1,n=t*x+1;if(t=e[t],t){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function X(e){for(var t="";e--;)t+="0";return t}function Nt(e,t,n,r){var i,o=new e(1),s=Math.ceil(r/x+4);for(k=!1;;){if(n%2&&(o=o.times(t),xt(o.d,s)&&(i=!0)),n=q(n/2),n===0){n=o.d.length-1,i&&o.d[n]===0&&++o.d[n];break}t=t.times(t),xt(t.d,s)}return k=!0,o}function yt(e){return e.d[e.d.length-1]&1}function Mt(e,t,n){for(var r,i=new e(t[0]),o=0;++o<t.length;)if(r=new e(t[o]),r.s)i[n](r)&&(i=r);else{i=r;break}return i}function je(e,t){var n,r,i,o,s,a,u,c=0,l=0,m=0,f=e.constructor,d=f.rounding,T=f.precision;if(!e.d||!e.d[0]||e.e>17)return new f(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:0/0);for(t==null?(k=!1,u=T):u=t,a=new f(.03125);e.e>-2;)e=e.times(a),m+=5;for(r=Math.log(O(2,m))/Math.LN10*2+5|0,u+=r,n=o=s=new f(1),f.precision=u;;){if(o=y(o.times(e),u,1),n=n.times(++l),a=s.plus(C(o,n,u,1)),K(a.d).slice(0,u)===K(s.d).slice(0,u)){for(i=m;i--;)s=y(s.times(s),u,1);if(t==null)if(c<3&&ge(s.d,u-r,d,c))f.precision=u+=10,n=o=a=new f(1),l=0,c++;else return y(s,f.precision=T,d,k=!0);else return f.precision=T,s}s=a}}function $(e,t){var n,r,i,o,s,a,u,c,l,m,f,d=1,T=10,g=e,A=g.d,h=g.constructor,w=h.rounding,b=h.precision;if(g.s<0||!A||!A[0]||!g.e&&A[0]==1&&A.length==1)return new h(A&&!A[0]?-1/0:g.s!=1?NaN:A?0:g);if(t==null?(k=!1,l=b):l=t,h.precision=l+=T,n=K(A),r=n.charAt(0),Math.abs(o=g.e)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)g=g.times(e),n=K(g.d),r=n.charAt(0),d++;o=g.e,r>1?(g=new h("0."+n),o++):g=new h(r+"."+n.slice(1))}else return c=Me(h,l+2,b).times(o+""),g=$(new h(r+"."+n.slice(1)),l-T).plus(c),h.precision=b,t==null?y(g,b,w,k=!0):g;for(m=g,u=s=g=C(g.minus(1),g.plus(1),l,1),f=y(g.times(g),l,1),i=3;;){if(s=y(s.times(f),l,1),c=u.plus(C(s,new h(i),l,1)),K(c.d).slice(0,l)===K(u.d).slice(0,l))if(u=u.times(2),o!==0&&(u=u.plus(Me(h,l+2,b).times(o+""))),u=C(u,new h(d),l,1),t==null)if(ge(u.d,l-T,w,a))h.precision=l+=T,c=s=g=C(m.minus(1),m.plus(1),l,1),f=y(g.times(g),l,1),i=a=1;else return y(u,h.precision=b,w,k=!0);else return h.precision=b,u;u=c,i+=2}}function Rt(e){return String(e.s*e.s/0)}function ze(e,t){var n,r,i;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;r++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(r,i),t){if(i-=r,e.e=n=n-r-1,e.d=[],r=(n+1)%x,n<0&&(r+=x),r<i){for(r&&e.d.push(+t.slice(0,r)),i-=x;r<i;)e.d.push(+t.slice(r,r+=x));t=t.slice(r),r=x-t.length}else r-=i;for(;r--;)t+="0";e.d.push(+t),k&&(e.e>e.constructor.maxE?(e.d=null,e.e=NaN):e.e<e.constructor.minE&&(e.e=0,e.d=[0]))}else e.e=0,e.d=[0];return e}function un(e,t){var n,r,i,o,s,a,u,c,l;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),St.test(t))return ze(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(nn.test(t))n=16,t=t.toLowerCase();else if(tn.test(t))n=2;else if(rn.test(t))n=8;else throw Error(ee+t);for(o=t.search(/p/i),o>0?(u=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,r=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,i=Nt(r,new r(n),o,o*2)),c=Se(t,n,Z),l=c.length-1,o=l;c[o]===0;--o)c.pop();return o<0?new r(e.s*0):(e.e=Fe(c,l),e.d=c,k=!1,s&&(e=C(e,i,a*4)),u&&(e=e.times(Math.abs(u)<54?O(2,u):Ve.pow(2,u))),k=!0,e)}function cn(e,t){var n,r=t.d.length;if(r<3)return t.isZero()?t:le(e,2,t,t);n=1.4*Math.sqrt(r),n=n>16?16:n|0,t=t.times(1/Ee(5,n)),t=le(e,2,t,t);for(var i,o=new e(5),s=new e(16),a=new e(20);n--;)i=t.times(t),t=t.times(o.plus(i.times(s.times(i).minus(a))));return t}function le(e,t,n,r,i){var o,s,a,u,c=1,l=e.precision,m=Math.ceil(l/x);for(k=!1,u=n.times(n),a=new e(r);;){if(s=C(a.times(u),new e(t++*t++),l,1),a=i?r.plus(s):r.minus(s),r=C(s.times(u),new e(t++*t++),l,1),s=a.plus(r),s.d[m]!==void 0){for(o=m;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=r,r=s,s=o,c++}return k=!0,s.d.length=m+1,s}function Ee(e,t){for(var n=e;--t;)n*=e;return n}function Ft(e,t){var n,r=t.s<0,i=Y(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return J=r?4:1,t;if(n=t.divToInt(i),n.isZero())J=r?3:2;else{if(t=t.minus(n.times(i)),t.lte(o))return J=yt(n)?r?2:3:r?4:1,t;J=yt(n)?r?1:4:r?3:2}return t.minus(i).abs()}function Ye(e,t,n,r){var i,o,s,a,u,c,l,m,f,d=e.constructor,T=n!==void 0;if(T?(H(n,1,te),r===void 0?r=d.rounding:H(r,0,8)):(n=d.precision,r=d.rounding),!e.isFinite())l=Rt(e);else{for(l=Q(e),s=l.indexOf("."),T?(i=2,t==16?n=n*4-3:t==8&&(n=n*3-2)):i=t,s>=0&&(l=l.replace(".",""),f=new d(1),f.e=l.length-s,f.d=Se(Q(f),10,i),f.e=f.d.length),m=Se(l,10,i),o=u=m.length;m[--u]==0;)m.pop();if(!m[0])l=T?"0p+0":"0";else{if(s<0?o--:(e=new d(e),e.d=m,e.e=o,e=C(e,f,n,r,0,i),m=e.d,o=e.e,c=kt),s=m[n],a=i/2,c=c||m[n+1]!==void 0,c=r<4?(s!==void 0||c)&&(r===0||r===(e.s<0?3:2)):s>a||s===a&&(r===4||c||r===6&&m[n-1]&1||r===(e.s<0?8:7)),m.length=n,c)for(;++m[--n]>i-1;)m[n]=0,n||(++o,m.unshift(1));for(u=m.length;!m[u-1];--u);for(s=0,l="";s<u;s++)l+=Ue.charAt(m[s]);if(T){if(u>1)if(t==16||t==8){for(s=t==16?4:3,--u;u%s;u++)l+="0";for(m=Se(l,i,t),u=m.length;!m[u-1];--u);for(s=1,l="1.";s<u;s++)l+=Ue.charAt(m[s])}else l=l.charAt(0)+"."+l.slice(1);l=l+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)l="0"+l;l="0."+l}else if(++o>u)for(o-=u;o--;)l+="0";else o<u&&(l=l.slice(0,o)+"."+l.slice(o))}l=(t==16?"0x":t==2?"0b":t==8?"0o":"")+l}return e.s<0?"-"+l:l}function xt(e,t){if(e.length>t)return e.length=t,!0}function ln(e){return new this(e).abs()}function mn(e){return new this(e).acos()}function fn(e){return new this(e).acosh()}function pn(e,t){return new this(e).plus(t)}function dn(e){return new this(e).asin()}function gn(e){return new this(e).asinh()}function hn(e){return new this(e).atan()}function bn(e){return new this(e).atanh()}function wn(e,t){e=new this(e),t=new this(t);var n,r=this.precision,i=this.rounding,o=r+4;return!e.s||!t.s?n=new this(NaN):!e.d&&!t.d?(n=Y(this,o,1).times(t.s>0?.25:.75),n.s=e.s):!t.d||e.isZero()?(n=t.s<0?Y(this,r,i):new this(0),n.s=e.s):!e.d||t.isZero()?(n=Y(this,o,1).times(.5),n.s=e.s):t.s<0?(this.precision=o,this.rounding=1,n=this.atan(C(e,t,o,1)),t=Y(this,o,1),this.precision=r,this.rounding=i,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(C(e,t,o,1)),n}function Tn(e){return new this(e).cbrt()}function yn(e){return y(e=new this(e),e.e+1,2)}function xn(e,t,n){return new this(e).clamp(t,n)}function An(e){if(!e||typeof e!="object")throw Error(Re+"Object expected");var t,n,r,i=e.defaults===!0,o=["precision",1,te,"rounding",0,8,"toExpNeg",-ce,0,"toExpPos",0,ce,"maxE",0,ce,"minE",-ce,0,"modulo",0,9];for(t=0;t<o.length;t+=3)if(n=o[t],i&&(this[n]=Ge[n]),(r=e[n])!==void 0)if(q(r)===r&&r>=o[t+1]&&r<=o[t+2])this[n]=r;else throw Error(ee+n+": "+r);if(n="crypto",i&&(this[n]=Ge[n]),(r=e[n])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error(It);else this[n]=!1;else throw Error(ee+n+": "+r);return this}function kn(e){return new this(e).cos()}function Pn(e){return new this(e).cosh()}function Et(e){var t,n,r;function i(o){var s,a,u,c=this;if(!(c instanceof i))return new i(o);if(c.constructor=i,At(o)){c.s=o.s,k?!o.d||o.e>i.maxE?(c.e=NaN,c.d=null):o.e<i.minE?(c.e=0,c.d=[0]):(c.e=o.e,c.d=o.d.slice()):(c.e=o.e,c.d=o.d?o.d.slice():o.d);return}if(u=typeof o,u==="number"){if(o===0){c.s=1/o<0?-1:1,c.e=0,c.d=[0];return}if(o<0?(o=-o,c.s=-1):c.s=1,o===~~o&&o<1e7){for(s=0,a=o;a>=10;a/=10)s++;k?s>i.maxE?(c.e=NaN,c.d=null):s<i.minE?(c.e=0,c.d=[0]):(c.e=s,c.d=[o]):(c.e=s,c.d=[o]);return}else if(o*0!==0){o||(c.s=NaN),c.e=NaN,c.d=null;return}return ze(c,o.toString())}else if(u!=="string")throw Error(ee+o);return(a=o.charCodeAt(0))===45?(o=o.slice(1),c.s=-1):(a===43&&(o=o.slice(1)),c.s=1),St.test(o)?ze(c,o):un(c,o)}if(i.prototype=p,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.EUCLID=9,i.config=i.set=An,i.clone=Et,i.isDecimal=At,i.abs=ln,i.acos=mn,i.acosh=fn,i.add=pn,i.asin=dn,i.asinh=gn,i.atan=hn,i.atanh=bn,i.atan2=wn,i.cbrt=Tn,i.ceil=yn,i.clamp=xn,i.cos=kn,i.cosh=Pn,i.div=In,i.exp=Bn,i.floor=Sn,i.hypot=Cn,i.ln=Nn,i.log=Mn,i.log10=Fn,i.log2=Rn,i.max=En,i.min=Vn,i.mod=Dn,i.mul=Ln,i.pow=vn,i.random=On,i.round=_n,i.sign=Kn,i.sin=Wn,i.sinh=qn,i.sqrt=Un,i.sub=Gn,i.sum=Hn,i.tan=jn,i.tanh=zn,i.trunc=Yn,e===void 0&&(e={}),e&&e.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<r.length;)e.hasOwnProperty(n=r[t++])||(e[n]=this[n]);return i.config(e),i}function In(e,t){return new this(e).div(t)}function Bn(e){return new this(e).exp()}function Sn(e){return y(e=new this(e),e.e+1,3)}function Cn(){var e,t,n=new this(0);for(k=!1,e=0;e<arguments.length;)if(t=new this(arguments[e++]),t.d)n.d&&(n=n.plus(t.times(t)));else{if(t.s)return k=!0,new this(1/0);n=t}return k=!0,n.sqrt()}function At(e){return e instanceof Ve||e&&e.toStringTag===Bt||!1}function Nn(e){return new this(e).ln()}function Mn(e,t){return new this(e).log(t)}function Rn(e){return new this(e).log(2)}function Fn(e){return new this(e).log(10)}function En(){return Mt(this,arguments,"lt")}function Vn(){return Mt(this,arguments,"gt")}function Dn(e,t){return new this(e).mod(t)}function Ln(e,t){return new this(e).mul(t)}function vn(e,t){return new this(e).pow(t)}function On(e){var t,n,r,i,o=0,s=new this(1),a=[];if(e===void 0?e=this.precision:H(e,1,te),r=Math.ceil(e/x),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(r));o<r;)i=t[o],i>=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(r*=4);o<r;)i=t[o]+(t[o+1]<<8)+(t[o+2]<<16)+((t[o+3]&127)<<24),i>=214e7?crypto.randomBytes(4).copy(t,o):(a.push(i%1e7),o+=4);o=r/4}else throw Error(It);else for(;o<r;)a[o++]=Math.random()*1e7|0;for(r=a[--o],e%=x,r&&e&&(i=O(10,x-e),a[o]=(r/i|0)*i);a[o]===0;o--)a.pop();if(o<0)n=0,a=[0];else{for(n=-1;a[0]===0;n-=x)a.shift();for(r=1,i=a[0];i>=10;i/=10)r++;r<x&&(n-=x-r)}return s.e=n,s.d=a,s}function _n(e){return y(e=new this(e),e.e+1,this.rounding)}function Kn(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function Wn(e){return new this(e).sin()}function qn(e){return new this(e).sinh()}function Un(e){return new this(e).sqrt()}function Gn(e,t){return new this(e).sub(t)}function Hn(){var e=0,t=arguments,n=new this(t[e]);for(k=!1;n.s&&++e<t.length;)n=n.plus(t[e]);return k=!0,y(n,this.precision,this.rounding)}function jn(e){return new this(e).tan()}function zn(e){return new this(e).tanh()}function Yn(e){return y(e=new this(e),e.e+1,1)}p[Symbol.for("nodejs.util.inspect.custom")]=p.toString;p[Symbol.toStringTag]="Decimal";var Ve=p.constructor=Et(Ge);Ce=new Ve(Ce);Ne=new Ve(Ne);import{PublicKey as Qe}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Zn}from"@solana/spl-token";import{PublicKey as F,SystemProgram as Dt,SYSVAR_RENT_PUBKEY as Qn}from"@solana/web3.js";function Ze({pubkey:e,isSigner:t=!1,isWritable:n=!0}){return{pubkey:e,isWritable:n,isSigner:t}}var Vr=[Ze({pubkey:Zn,isWritable:!1}),Ze({pubkey:Dt.programId,isWritable:!1}),Ze({pubkey:Qn,isWritable:!1})];function Lt({publicKey:e,transformSol:t}){let n=vt(e.toString());if(n instanceof F)return t&&n.equals(he)?Vt:n;if(t&&n.toString()===he.toBase58())return Vt;if(typeof n=="string"){if(n===F.default.toBase58())return F.default;try{return new F(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function vt(e){try{return new F(e)}catch{return e}}var Dr=new F("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Lr=new F("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),vr=new F("SysvarRent111111111111111111111111111111111"),Or=new F("SysvarC1ock11111111111111111111111111111111"),_r=new F("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Kr=new F("Sysvar1nstructions1111111111111111111111111"),Wr=Dt.programId,qr=new F("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Ur=new F("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Gr=new F("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Hr=new F("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),jr=new F("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),zr=new F("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Yr=new F("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Zr=new F("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Qr=new F("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Jr=new F("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Xr=new F("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),Vt=new F("So11111111111111111111111111111111111111112"),he=F.default;import{PublicKey as Jn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ot}from"@solana/spl-token";var se={chainId:101,address:Jn.default.toBase58(),programId:Ot.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},ae={chainId:101,address:"So11111111111111111111111111111111111111112",programId:Ot.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};var Je=class{constructor({mint:t,decimals:n,symbol:r,name:i,skipMint:o=!1,isToken2022:s=!1}){if(t===he.toBase58()||t instanceof Qe&&he.equals(t)){this.decimals=ae.decimals,this.symbol=ae.symbol,this.name=ae.name,this.mint=new Qe(ae.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=r||t.toString().substring(0,6),this.name=i||t.toString().substring(0,6),this.mint=o?Qe.default:Lt({publicKey:t}),this.isToken2022=s}equals(t){return this===t?!0:this.mint.equals(t.mint)}},me=Je;me.WSOL=new Je(U(D({},ae),{mint:ae.address}));import Le from"big.js";import er from"bn.js";import tr from"decimal.js-light";import Xn from"toformat";var $n=Xn,be=$n;var De=G("module/fraction"),Xe=be(Le),we=be(tr),nr={[0]:we.ROUND_DOWN,[1]:we.ROUND_HALF_UP,[2]:we.ROUND_UP},rr={[0]:Le.roundDown,[1]:Le.roundHalfUp,[2]:Le.roundUp},M=class{constructor(t,n=new er(1)){this.numerator=ne(t),this.denominator=ne(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new M(this.denominator,this.numerator)}add(t){let n=t instanceof M?t:new M(ne(t));return this.denominator.eq(n.denominator)?new M(this.numerator.add(n.numerator),this.denominator):new M(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof M?t:new M(ne(t));return this.denominator.eq(n.denominator)?new M(this.numerator.sub(n.numerator),this.denominator):new M(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof M?t:new M(ne(t));return new M(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof M?t:new M(ne(t));return new M(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},r=1){Number.isInteger(t)||De.logWithError(`${t} is not an integer.`),t<=0&&De.logWithError(`${t} is not positive.`),we.set({precision:t+1,rounding:nr[r]});let i=new we(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return i.toFormat(i.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},r=1){return Number.isInteger(t)||De.logWithError(`${t} is not an integer.`),t<0&&De.logWithError(`${t} is negative.`),Xe.DP=t,Xe.RM=rr[r]||1,new Xe(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};var Pi=G("Raydium_price");var $e=class{constructor({decimals:t,symbol:n="UNKNOWN",name:r="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=r}equals(t){return this===t}},ve=$e;ve.SOL=new $e(se);import or from"bn.js";var Fi=new M(new or(100));var sr=new j(0),Xi=new j(1),$i=new j(2),eo=new j(3),to=new j(5),ar=new j(10),no=new j(100),ro=new j(1e3),io=new j(1e4),qt=9007199254740991;function ne(e){let t=G("Raydium_parseBigNumberish");if(e instanceof j)return e;if(typeof e=="string"){if(e.match(/^-?[0-9]+$/))return new j(e);t.logWithError(`invalid BigNumberish string: ${e}`)}return typeof e=="number"?(e%1&&t.logWithError(`BigNumberish number underflow: ${e}`),(e>=qt||e<=-qt)&&t.logWithError(`BigNumberish number overflow: ${e}`),new j(String(e))):typeof e=="bigint"?new j(e.toString()):(t.error(`invalid BigNumberish value: ${e}`),new j(0))}var To=G("Raydium_amount"),yo=be(ur);function et(e,t=1,n=[]){let r=[...e];if(t<=0)return n;for(;r.length;)n.push(r.splice(0,t));return n}import{PublicKey as L}from"@solana/web3.js";var Wo=new L("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),qo=new L("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Uo=new L("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Go=new L("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Ho=new L("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),jo=new L("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),zo=new L("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Yo=new L("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Zo=new L("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Qo=new L("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Jo=new L("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),Xo=new L("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),$o=new L("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),es=new L("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),ts=new L("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),ns=new L("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),rs=new L("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),is=new L("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"),os=new L("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),ss=new L("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2");import{PublicKey as ls}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ps}from"@solana/spl-token";import hs from"bn.js";var tt=G("Raydium_accountInfo_util");async function Ut(e,t,n){let{batchRequest:r,commitment:i="confirmed"}=D({batchRequest:!1},n),o=et(t,100),s=new Array(o.length).fill([]);if(r){let a=o.map(l=>{let m=e._buildArgs([l.map(f=>f.toBase58())],i,"base64");return{methodName:"getMultipleAccounts",args:m}}),u=et(a,10);s=(await(await Promise.all(u.map(async l=>await e._rpcBatchRequest(l)))).flat()).map(l=>(l.error&&tt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${l.error.message}`),l.result.value.map(m=>{if(m){let{data:f,executable:d,lamports:T,owner:g,rentEpoch:A}=m;return f.length!==2&&f[1]!=="base64"&&tt.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(f[0],"base64"),executable:d,lamports:T,owner:new cr(g),rentEpoch:A}}return null})))}else try{s=await Promise.all(o.map(a=>e.getMultipleAccountsInfo(a,i)))}catch(a){a instanceof Error&&tt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${a.message}`)}return s.flat()}async function nt({connection:e,address:t}){let n=await Ut(e,[...new Set(t.map(i=>i.toString()))].map(i=>new Gt(i))),r={};for(let i=0;i<t.length;i++){let o=n[i],s=t[i];if(!o)continue;let a=new Oe({key:s,state:Oe.deserialize(o.data)});r[s.toString()]=a,_e[s.toString()]=a}return r}var _e={"2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17":new Oe({key:new Gt("2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17"),state:Oe.deserialize(Buffer.from("AQAAAP//////////d49+DAAAAAAAAQZMWvw7GUNJdaccNBVnb57OKakxL2BHLYvhRwVILRsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMGRm/lIRcy/+ytunLDm+e8jOW7xfcSayxDmzpAAAAABt324ddloZPZy+FGzut5rBy0he1fWzeROoz1hX7/AKkG3fbh7nWP3hhCXbzkbM3athr8TYO5DSf+vfko2KGL/AVKU1D4XciC1hSlVnJ4iilt3x6rq9CmBniISTL07vagBqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAAAGp9UXGMd0yShWY5hpHV62i164o5tLbVxzVVshAAAAAIyXJY9OJInxuz0QKRSODYMLWhOZ2v8QhASOe9jb6fhZC3BlsePRfEU4nVJ/awTDzVi4bHMaoP21SbbRvAP4KUbIScv+6Yw2LHF/6K0ZjUPibbSWXCirYPGuuVl7zT789IUPLW4CpHr4JNCatp3ELXDLKMv6JJ+37le50lbBJ2LvDQdRqCgtphMF/imcN7mY5YRx2xE1A3MQ+L4QRaYK9u4GRfZP3LsAd00a+IkCpA22UNQMKdq5BFbJuwuOLqc8zxCTDlqxBG8J0HcxtfogQHDK06ukzfaXiNDKAob1MqBHS9lJxDYCwz8gd5DtFqNSTKG5l1zxIaKpDP/sffi2is1H9aKveyXSu5StXElYRl9SD5As0DHE4N0GLnf84/siiKXVyp4Ez121kLcUui/jLLFZEz/BwZK3Ilf9B9OcsEAeDMKAy2vjGSxQODgBz0QwGA+eP4ZjIjrIAQaXENv31QfLlOdXSRCkaybRniDHF4C8YcwhcvsqrOVuTP4B2Na+9wLdtrB31uz2rtlFI5kahdsnp/d1SrASDInYCtTYtdoke4kX+hoKWcEWM4Tle8pTUkUVv4BxS6fje/EzKBE4Qu9N9LMnrw/JNO0hqMVB4rk/2ou4AB1loQ7FZoPwut2o4KZB+0p9xnbrQKw038qjpHar+PyDwvxBRcu5hpHw3dguezeWv+IwvgW5icu8EGkhGa9AkFPPJT7VMSFb8xowveU=","base64"))})};var Ke=class{constructor(t){this.instructions=[];this.endInstructions=[];this.lookupTableAddress=[];this.signers=[];this.instructionTypes=[];this.endInstructionTypes=[];this.connection=t.connection,this.feePayer=t.feePayer,this.signAllTransactions=t.signAllTransactions,this.owner=t.owner,this.cluster=t.cluster}get AllTxData(){return{instructions:this.instructions,endInstructions:this.endInstructions,signers:this.signers,instructionTypes:this.instructionTypes,endInstructionTypes:this.endInstructionTypes,lookupTableAddress:this.lookupTableAddress}}get allInstructions(){return[...this.instructions,...this.endInstructions]}async getComputeBudgetConfig(){var r;let t=(await lr.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:n}=(r=t==null?void 0:t[15])!=null?r:{};if(!!n)return{units:6e5,microLamports:Math.min(Math.ceil(n*1e6/6e5),25e3)}}addCustomComputeBudget(t){if(t){let{instructions:n,instructionTypes:r}=Be(t);return this.instructions.unshift(...n),this.instructionTypes.unshift(...r),!0}return!1}async calComputeBudget({config:t,defaultIns:n}){try{let r=t||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(r))return;n&&this.instructions.unshift(...n)}catch{n&&this.instructions.unshift(...n)}}addInstruction({instructions:t=[],endInstructions:n=[],signers:r=[],instructionTypes:i=[],endInstructionTypes:o=[],lookupTableAddress:s=[]}){return this.instructions.push(...t),this.endInstructions.push(...n),this.signers.push(...r),this.instructionTypes.push(...i),this.endInstructionTypes.push(...o),this.lookupTableAddress.push(...s.filter(a=>a!==Te.default.toString())),this}async versionBuild({txVersion:t,extInfo:n}){return t===0?await this.buildV0(D({},n||{})):this.build(n)}build(t){let n=new ye;return this.allInstructions.length&&n.add(...this.allInstructions),n.feePayer=this.feePayer,{builder:this,transaction:n,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async r=>{var a;let{recentBlockHash:i,skipPreflight:o=!0}=r||{},s=i!=null?i:await ue(this.connection);if(n.recentBlockhash=s,this.signers.length&&n.sign(...this.signers),oe([n]),(a=this.owner)!=null&&a.isKeyPair)return{txId:await rt(this.connection,n,this.signers.find(u=>u.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:o}),signedTx:n};if(this.signAllTransactions){let u=await this.signAllTransactions([n]);return{txId:await this.connection.sendRawTransaction(u[0].serialize(),{skipPreflight:o}),signedTx:u[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:t||{}}}buildMultiTx(t){let{extraPreBuildData:n=[],extInfo:r}=t,{transaction:i}=this.build(r),o=n.filter(c=>c.transaction.instructions.length>0),s=[i,...o.map(c=>c.transaction)],a=[this.signers,...o.map(c=>c.signers)],u=[...this.instructionTypes,...o.map(c=>c.instructionTypes).flat()];return{builder:this,transactions:s,signers:a,instructionTypes:u,execute:async c=>{var g;let{sequentially:l,onTxUpdate:m,recentBlockHash:f,skipPreflight:d=!0}=c||{},T=f!=null?f:await ue(this.connection);if((g=this.owner)!=null&&g.isKeyPair)return{txIds:await await Promise.all(s.map(async(A,h)=>(A.recentBlockhash=T,await rt(this.connection,A,a[h].find(w=>w.publicKey.equals(this.owner.publicKey))?a[h]:[...a[h],this.owner.signer],{skipPreflight:d})))),signedTxs:s};if(this.signAllTransactions){let A=s.map((w,b)=>(w.recentBlockhash=T,a[b].length&&w.sign(...a[b]),w));oe(A);let h=await this.signAllTransactions(A);if(l){let w=0,b=[],P=async()=>{if(!h[w])return;let I=await this.connection.sendRawTransaction(h[w].serialize(),{skipPreflight:d});b.push({txId:I,status:"sent",signedTx:h[w]}),m==null||m([...b]),w++,this.connection.onSignature(I,R=>{let E=b.findIndex(V=>V.txId===I);E>-1&&(b[E].status=R.err?"error":"success"),m==null||m([...b]),R.err||P()},"processed"),this.connection.getSignatureStatus(I)};return await P(),{txIds:b.map(I=>I.txId),signedTxs:h}}else{let w=[];for(let b=0;b<h.length;b+=1){let P=await this.connection.sendRawTransaction(h[b].serialize(),{skipPreflight:d});w.push(P)}return{txIds:w,signedTxs:h}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async versionMultiBuild({extraPreBuildData:t,txVersion:n,extInfo:r}){return n===0?await this.buildV0MultiTx({extraPreBuildData:t,buildProps:r||{}}):this.buildMultiTx({extraPreBuildData:t,extInfo:r})}async buildV0(t){let f=t||{},{lookupTableCache:n={},lookupTableAddress:r=[],forerunCreate:i}=f,o=Ie(f,["lookupTableCache","lookupTableAddress","forerunCreate"]),s=D(D({},this.cluster==="devnet"?{}:_e),n),a=Array.from(new Set([...r,...this.lookupTableAddress])),u=[];for(let d of a)s[d]===void 0&&u.push(new Te(d));let c=await nt({connection:this.connection,address:u});for(let[d,T]of Object.entries(c))s[d]=T;let l=new xe({payerKey:this.feePayer,recentBlockhash:i?Te.default.toBase58():await ue(this.connection),instructions:[...this.allInstructions]}).compileToV0Message(Object.values(s)),m=new Ae(l);return m.sign(this.signers),{builder:this,transaction:m,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async d=>{var A;let{recentBlockHash:T,skipPreflight:g=!0}=d||{};if(T&&(m.message.recentBlockhash=T),oe([m]),(A=this.owner)!=null&&A.isKeyPair){this.signers.find(P=>P.publicKey.equals(this.owner.publicKey))||m.sign([this.owner.signer]);let h=await this.connection.sendTransaction(m,{skipPreflight:g}),{lastValidBlockHeight:w,blockhash:b}=await this.connection.getLatestBlockhash();return await this.connection.confirmTransaction({blockhash:b,lastValidBlockHeight:w,signature:h},"confirmed"),{txId:h,signedTx:m}}if(this.signAllTransactions){let h=await this.signAllTransactions([m]);return{txId:await this.connection.sendTransaction(h[0],{skipPreflight:g}),signedTx:h[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:o||{}}}async buildV0MultiTx(t){let{extraPreBuildData:n=[],buildProps:r}=t,{transaction:i}=await this.buildV0(r),o=n.filter(c=>c.builder.instructions.length>0),s=[i,...o.map(c=>c.transaction)],a=[this.signers,...o.map(c=>c.signers)],u=[...this.instructionTypes,...o.map(c=>c.instructionTypes).flat()];return s.forEach(async(c,l)=>{c.sign(a[l])}),{builder:this,transactions:s,signers:a,instructionTypes:u,buildProps:r,execute:async c=>{var T;let{sequentially:l,onTxUpdate:m,recentBlockHash:f,skipPreflight:d=!0}=c||{};if(f&&s.forEach(g=>g.message.recentBlockhash=f),oe(s),(T=this.owner)!=null&&T.isKeyPair){let{lastValidBlockHeight:g,blockhash:A}=await this.connection.getLatestBlockhash();return s.forEach((h,w)=>{a[w].find(b=>b.publicKey.equals(this.owner.publicKey))||h.sign([this.owner.signer])}),{txIds:await Promise.all(s.map(async h=>{let w=await this.connection.sendTransaction(h,{skipPreflight:d});return await this.connection.confirmTransaction({blockhash:A,lastValidBlockHeight:g,signature:w},"confirmed"),w})),signedTxs:s}}if(this.signAllTransactions){let g=await this.signAllTransactions(s);if(l){let A=0,h=[],w=async()=>{if(!g[A])return;let b=await this.connection.sendTransaction(g[A],{skipPreflight:d});h.push({txId:b,status:"sent",signedTx:g[A]}),m==null||m([...h]),A++,this.connection.onSignature(b,P=>{let I=h.findIndex(R=>R.txId===b);I>-1&&(h[I].status=P.err?"error":"success"),m==null||m([...h]),P.err||w()},"processed"),this.connection.getSignatureStatus(b)};return w(),{txIds:[],signedTxs:g}}else{let A=[];for(let h=0;h<g.length;h+=1){let w=await this.connection.sendTransaction(g[h],{skipPreflight:d});A.push(w)}return{txIds:A,signedTxs:g}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuild(t){let c=t||{},{computeBudgetConfig:n}=c,r=Ie(c,["computeBudgetConfig"]),i=n?Be(n):{instructions:[],instructionTypes:[]},o=this.signers.reduce((l,m)=>U(D({},l),{[m.publicKey.toBase58()]:m}),{}),s=[],a=[],u=[];if(this.allInstructions.forEach(l=>{let m=[...u,l],f=n?[...i.instructions,...m]:m,T=[...new Set(m.map(g=>g.keys.filter(A=>A.isSigner).map(A=>A.pubkey.toString())).flat()).values()].map(g=>new Te(g));if(u.length<12&&pe({instructions:f,payer:this.feePayer,signers:T})||pe({instructions:m,payer:this.feePayer,signers:T}))u.push(l);else{if(u.length===0)throw Error("item ins too big");pe({instructions:n?[...i.instructions,...u]:[...u],payer:this.feePayer,signers:T})?s.push(new ye().add(...i.instructions,...u)):s.push(new ye().add(...u)),a.push(Array.from(new Set(u.map(g=>g.keys.filter(A=>A.isSigner).map(A=>A.pubkey.toString())).flat())).map(g=>o[g]).filter(g=>g!==void 0)),u=[l]}}),u.length>0){let m=[...new Set(u.map(f=>f.keys.filter(d=>d.isSigner).map(d=>d.pubkey.toString())).flat()).values()].map(f=>o[f]).filter(f=>f!==void 0);pe({instructions:n?[...i.instructions,...u]:[...u],payer:this.feePayer,signers:m.map(f=>f.publicKey)})?s.push(new ye().add(...i.instructions,...u)):s.push(new ye().add(...u)),a.push(m)}return s.forEach(l=>l.feePayer=this.feePayer),{builder:this,transactions:s,signers:a,instructionTypes:this.instructionTypes,execute:async l=>{var A;let{sequentially:m,onTxUpdate:f,recentBlockHash:d,skipPreflight:T=!0}=l||{},g=d!=null?d:await ue(this.connection);if(s.forEach(async(h,w)=>{h.recentBlockhash=g,a[w].length&&h.sign(...a[w])}),oe(s),(A=this.owner)!=null&&A.isKeyPair)return{txIds:await Promise.all(s.map(async(h,w)=>await rt(this.connection,h,a[w].find(b=>b.publicKey.equals(this.owner.publicKey))?a[w]:[...a[w],this.owner.signer],{skipPreflight:T}))),signedTxs:s};if(this.signAllTransactions){let h=await this.signAllTransactions(s);if(m){let w=0,b=[],P=async()=>{if(!h[w])return;let I=await this.connection.sendRawTransaction(h[w].serialize(),{skipPreflight:T});b.push({txId:I,status:"sent",signedTx:h[w]}),f==null||f([...b]),w++,this.connection.onSignature(I,R=>{let E=b.findIndex(V=>V.txId===I);E>-1&&(b[E].status=R.err?"error":"success"),f==null||f([...b]),R.err||P()},"processed"),this.connection.getSignatureStatus(I)};return await P(),{txIds:b.map(I=>I.txId),signedTxs:h}}else{let w=[];for(let b=0;b<h.length;b+=1){let P=await this.connection.sendRawTransaction(h[b].serialize(),{skipPreflight:T});w.push(P)}return{txIds:w,signedTxs:h}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuildV0(t){let A=t||{},{computeBudgetConfig:n,lookupTableCache:r={},lookupTableAddress:i=[]}=A,o=Ie(A,["computeBudgetConfig","lookupTableCache","lookupTableAddress"]),s=D(D({},this.cluster==="devnet"?{}:_e),r),a=Array.from(new Set([...this.lookupTableAddress,...i])),u=[];for(let h of a)s[h]===void 0&&u.push(new Te(h));let c=await nt({connection:this.connection,address:u});for(let[h,w]of Object.entries(c))s[h]=w;let l=n?Be(n):{instructions:[],instructionTypes:[]},m=await ue(this.connection),f=this.signers.reduce((h,w)=>U(D({},h),{[w.publicKey.toBase58()]:w}),{}),d=[],T=[],g=[];if(this.allInstructions.forEach(h=>{let w=[...g,h],b=n?[...l.instructions,...w]:w;if(g.length<12&&de({instructions:b,payer:this.feePayer,lookupTableAddressAccount:s})||de({instructions:w,payer:this.feePayer,lookupTableAddressAccount:s}))g.push(h);else{if(g.length===0)throw Error("item ins too big");let P={};for(let I of[...new Set(a)])s[I]!==void 0&&(P[I]=s[I]);if(n&&de({instructions:[...l.instructions,...g],payer:this.feePayer,lookupTableAddressAccount:s,recentBlockhash:m})){let I=new xe({payerKey:this.feePayer,recentBlockhash:m,instructions:[...l.instructions,...g]}).compileToV0Message(Object.values(s));d.push(new Ae(I))}else{let I=new xe({payerKey:this.feePayer,recentBlockhash:m,instructions:[...g]}).compileToV0Message(Object.values(s));d.push(new Ae(I))}T.push(Array.from(new Set(g.map(I=>I.keys.filter(R=>R.isSigner).map(R=>R.pubkey.toString())).flat())).map(I=>f[I]).filter(I=>I!==void 0)),g=[h]}}),g.length>0){let w=[...new Set(g.map(b=>b.keys.filter(P=>P.isSigner).map(P=>P.pubkey.toString())).flat()).values()].map(b=>f[b]).filter(b=>b!==void 0);if(n&&de({instructions:[...l.instructions,...g],payer:this.feePayer,lookupTableAddressAccount:s,recentBlockhash:m})){let b=new xe({payerKey:this.feePayer,recentBlockhash:m,instructions:[...l.instructions,...g]}).compileToV0Message(Object.values(s));d.push(new Ae(b))}else{let b=new xe({payerKey:this.feePayer,recentBlockhash:m,instructions:[...g]}).compileToV0Message(Object.values(s));d.push(new Ae(b))}T.push(w)}return{builder:this,transactions:d,buildProps:t,signers:T,instructionTypes:this.instructionTypes,execute:async h=>{var R;let{sequentially:w,onTxUpdate:b,recentBlockHash:P,skipPreflight:I=!0}=h||{};if(d.map(async(E,V)=>{T[V].length&&E.sign(T[V]),P&&(E.message.recentBlockhash=P)}),oe(d),(R=this.owner)!=null&&R.isKeyPair){let{lastValidBlockHeight:E,blockhash:V}=await this.connection.getLatestBlockhash();return d.forEach((v,z)=>{T[z].find(_=>_.publicKey.equals(this.owner.publicKey))||v.sign([this.owner.signer])}),{txIds:await Promise.all(d.map(async v=>{let z=await this.connection.sendTransaction(v,{skipPreflight:I});return await this.connection.confirmTransaction({blockhash:V,lastValidBlockHeight:E,signature:z},"confirmed"),z})),signedTxs:d}}if(this.signAllTransactions){let E=await this.signAllTransactions(d);if(w){let V=0,v=[],z=async()=>{if(!E[V])return;let _=await this.connection.sendTransaction(E[V],{skipPreflight:I});v.push({txId:_,status:"sent",signedTx:E[V]}),b==null||b([...v]),V++,this.connection.onSignature(_,re=>{let ie=v.findIndex(fe=>fe.txId===_);ie>-1&&(v[ie].status=re.err?"error":"success"),b==null||b([...v]),re.err||z()},"processed"),this.connection.getSignatureStatus(_)};return z(),{txIds:[],signedTxs:E}}else{let V=[];for(let v=0;v<E.length;v+=1){let z=await this.connection.sendTransaction(E[v],{skipPreflight:I});V.push(z)}return{txIds:V,signedTxs:E}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:o||{}}}};var it=(...e)=>e.map(t=>{try{return typeof t=="object"?JSON.stringify(t):t}catch{return t}}).join(", "),ke=class{constructor({scope:t,moduleName:n}){this.disabled=!1;this.scope=t,this.logger=G(n)}createTxBuilder(t){return this.scope.checkOwner(),new Ke({connection:this.scope.connection,feePayer:t||this.scope.ownerPubKey,cluster:this.scope.cluster,owner:this.scope.owner,signAllTransactions:this.scope.signAllTransactions})}logDebug(...t){this.logger.debug(it(t))}logInfo(...t){this.logger.info(it(t))}logAndCreateError(...t){let n=it(t);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};var at=class extends ke{constructor(n){super(n);this._tokenList=[];this._tokenMap=new Map;this._blackTokenMap=new Map;this._mintGroup={official:new Set,jup:new Set,extra:new Set};this._extraTokenList=[]}async load(n){this.checkDisabled();let{forceUpdate:r=!1,type:i="strict"}=n||{},{mintList:o,blacklist:s}=await this.scope.fetchV3TokenList(r),a=await this.scope.fetchJupTokenList(i,r);this._tokenList=[],this._tokenMap=new Map,this._blackTokenMap=new Map,this._mintGroup={official:new Set,jup:new Set,extra:new Set},this._tokenMap.set(se.address,se),this._mintGroup.official.add(se.address),s.forEach(u=>{this._blackTokenMap.set(u.address,U(D({},u),{priority:-1}))}),o.forEach(u=>{var c;this._blackTokenMap.has(u.address)||(this._tokenMap.set(u.address,U(D({},u),{type:"raydium",priority:2,programId:(c=u.programId)!=null?c:u.tags.includes("token-2022")?ot.toBase58():st.toBase58()})),this._mintGroup.official.add(u.address))}),a.forEach(u=>{var c;this._blackTokenMap.has(u.address)||this._tokenMap.has(u.address)||(this._tokenMap.set(u.address,U(D({},u),{type:"jupiter",priority:1,programId:(c=u.programId)!=null?c:u.tags.includes("token-2022")?ot.toBase58():st.toBase58()})),this._mintGroup.jup.add(u.address))}),this._extraTokenList.forEach(u=>{this._blackTokenMap.has(u.address)||this._tokenMap.has(u.address)||(this._tokenMap.set(u.address,U(D({},u),{type:"extra",priority:1,programId:u.programId||u.tags.includes("token-2022")?ot.toBase58():st.toBase58()})),this._mintGroup.extra.add(u.address))}),this._tokenList=Array.from(this._tokenMap).map(u=>u[1])}get tokenList(){return this._tokenList}get tokenMap(){return this._tokenMap}get blackTokenMap(){return this._blackTokenMap}get mintGroup(){return this._mintGroup}async getTokenInfo(n){if(!n)throw new Error("please input mint");let r=n.toString(),i=this._tokenMap.get(r);if(i)return i;if(r.toLocaleUpperCase()==="SOL")return se;let o=(await this.scope.api.getTokenInfo([r]))[0];if(o)return this._mintGroup.extra.add(r),this._tokenMap.set(r,U(D({},o),{priority:2})),o;let s=await this.scope.connection.getAccountInfo(new mr(r));if(!s)throw new Error(`mint address not found: ${r}`);let a=fr.decode(s.data),u=r.toString().substring(0,6),c={chainId:101,address:r,programId:s.owner.toBase58(),logoURI:"",symbol:u,name:u,decimals:a.decimals,tags:[],extensions:{},priority:0,type:"unknown"};return this._mintGroup.extra.add(r),this._tokenMap.set(r,c),c}};export{at as default};
|
|
1
|
+
var Ht=Object.defineProperty,jt=Object.defineProperties;var zt=Object.getOwnPropertyDescriptors;var Pe=Object.getOwnPropertySymbols;var ct=Object.prototype.hasOwnProperty,lt=Object.prototype.propertyIsEnumerable;var ut=(e,t,n)=>t in e?Ht(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,L=(e,t)=>{for(var n in t||(t={}))ct.call(t,n)&&ut(e,n,t[n]);if(Pe)for(var n of Pe(t))lt.call(t,n)&&ut(e,n,t[n]);return e},U=(e,t)=>jt(e,zt(t));var Ie=(e,t)=>{var n={};for(var r in e)ct.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Pe)for(var r of Pe(e))t.indexOf(r)<0&<.call(e,r)&&(n[r]=e[r]);return n};import{PublicKey as mr}from"@solana/web3.js";import{MintLayout as fr,TOKEN_2022_PROGRAM_ID as ot,TOKEN_PROGRAM_ID as st}from"@solana/spl-token";import{get as mt,set as Yt}from"lodash";import pt from"dayjs";import Zt from"dayjs/plugin/utc";pt.extend(Zt);var We=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return pt().utc().format("YYYY/MM/DD HH:mm:ss UTC")}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let n=t.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(n)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},ft={},Qt={};function G(e){let t=mt(ft,e);if(!t){let n=mt(Qt,e);t=new We({name:e,logLevel:n}),Yt(ft,e,t)}return t}import{PublicKey as Te,sendAndConfirmTransaction as rt,Transaction as ye,TransactionMessage as xe,VersionedTransaction as Ae}from"@solana/web3.js";import lr from"axios";var qe={CreateAccount:"CreateAccount",InitAccount:"InitAccount",CreateATA:"CreateATA",CloseAccount:"CloseAccount",TransferAmount:"TransferAmount",InitMint:"InitMint",MintTo:"MintTo",InitMarket:"InitMarket",Util1216OwnerClaim:"Util1216OwnerClaim",SetComputeUnitPrice:"SetComputeUnitPrice",SetComputeUnitLimit:"SetComputeUnitLimit",ClmmCreatePool:"ClmmCreatePool",ClmmOpenPosition:"ClmmOpenPosition",ClmmIncreasePosition:"ClmmIncreasePosition",ClmmDecreasePosition:"ClmmDecreasePosition",ClmmClosePosition:"ClmmClosePosition",ClmmSwapBaseIn:"ClmmSwapBaseIn",ClmmSwapBaseOut:"ClmmSwapBaseOut",ClmmInitReward:"ClmmInitReward",ClmmSetReward:"ClmmSetReward",ClmmCollectReward:"ClmmCollectReward",AmmV4Swap:"AmmV4Swap",AmmV4AddLiquidity:"AmmV4AddLiquidity",AmmV4RemoveLiquidity:"AmmV4RemoveLiquidity",AmmV4SimulatePoolInfo:"AmmV4SimulatePoolInfo",AmmV4SwapBaseIn:"AmmV4SwapBaseIn",AmmV4SwapBaseOut:"AmmV4SwapBaseOut",AmmV4CreatePool:"AmmV4CreatePool",AmmV4InitPool:"AmmV4InitPool",AmmV5AddLiquidity:"AmmV5AddLiquidity",AmmV5RemoveLiquidity:"AmmV5RemoveLiquidity",AmmV5SimulatePoolInfo:"AmmV5SimulatePoolInfo",AmmV5SwapBaseIn:"AmmV5SwapBaseIn",AmmV5SwapBaseOut:"AmmV5SwapBaseOut",RouteSwap:"RouteSwap",RouteSwap1:"RouteSwap1",RouteSwap2:"RouteSwap2",FarmV3Deposit:"FarmV3Deposit",FarmV3Withdraw:"FarmV3Withdraw",FarmV3CreateLedger:"FarmV3CreateLedger",FarmV5Deposit:"FarmV5Deposit",FarmV5Withdraw:"FarmV5Withdraw",FarmV5CreateLedger:"FarmV5CreateLedger",FarmV6Deposit:"FarmV6Deposit",FarmV6Withdraw:"FarmV6Withdraw",FarmV6Create:"FarmV6Create",FarmV6Restart:"FarmV6Restart",FarmV6CreatorAddReward:"FarmV6CreatorAddReward",FarmV6CreatorWithdraw:"FarmV6CreatorWithdraw",CpmmCreatePool:"CpmmCreatePool",CpmmAddLiquidity:"CpmmAddLiquidity",CpmmWithdrawLiquidity:"CpmmWithdrawLiquidity",CpmmSwapBaseIn:"CpmmSwapBaseIn",CpmmSwapBaseOut:"CpmmSwapBaseOut"};import{PublicKey as Ar,ComputeBudgetProgram as dt,Transaction as ht,TransactionMessage as Jt,Keypair as wt,VersionedTransaction as bt}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Xt}from"@solana/spl-token";var gt=G("Raydium_txUtil"),Tt=1644;function Be(e){let t=[],n=[];return e.microLamports&&(t.push(dt.setComputeUnitPrice({microLamports:e.microLamports})),n.push(qe.SetComputeUnitPrice)),e.units&&(t.push(dt.setComputeUnitLimit({units:e.units})),n.push(qe.SetComputeUnitLimit)),{instructions:t,instructionTypes:n}}async function ue(e){var t,n;try{return((n=await((t=e.getLatestBlockhash)==null?void 0:t.call(e)))==null?void 0:n.blockhash)||(await e.getRecentBlockhash()).blockhash}catch{return(await e.getRecentBlockhash()).blockhash}}function $t(e,t){e.length<1&>.logWithError(`no instructions provided: ${e.toString()}`),t.length<1&>.logWithError(`no signers provided:, ${t.toString()}`);let n=new ht;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=t[0],n.add(...e);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<Tt}catch{return!1}}function pe({instructions:e,payer:t,signers:n}){return $t(e,[t,...n])}function de({instructions:e,payer:t,lookupTableAddressAccount:n,recentBlockhash:r=wt.generate().publicKey.toString()}){let o=new Jt({payerKey:t,recentBlockhash:r,instructions:e}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new bt(o).serialize()).toString("base64").length<Tt}catch{return!1}}var en=e=>Buffer.isBuffer(e)?e:e instanceof Uint8Array?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e);function oe(e){let t=[];return e.forEach(n=>{n instanceof ht&&(n.recentBlockhash||(n.recentBlockhash=Xt.toBase58()),n.feePayer||(n.feePayer=wt.generate().publicKey));let r=n.serialize({requireAllSignatures:!1,verifySignatures:!1});n instanceof bt&&(r=en(r));let i=r.toString("base64");t.push(i)}),console.log("simulate tx string:",t),t}import{PublicKey as Gt,AddressLookupTableAccount as Oe}from"@solana/web3.js";import{PublicKey as cr}from"@solana/web3.js";import{getTransferFeeConfig as Ks,unpackMint as Ws}from"@solana/spl-token";import{PublicKey as Ro}from"@solana/web3.js";import Eo from"bn.js";import ur from"big.js";import lo from"bn.js";import j from"bn.js";var ce=9e15,te=1e9,Ue="0123456789abcdef",Ce="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Ne="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Ge={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ce,maxE:ce,crypto:!1},kt,J,k=!0,Re="[DecimalError] ",ee=Re+"Invalid argument: ",Pt=Re+"Precision limit exceeded",It=Re+"crypto unavailable",Bt="[object Decimal]",q=Math.floor,O=Math.pow,tn=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,nn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,rn=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,St=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Z=1e7,x=7,on=9007199254740991,sn=Ce.length-1,He=Ne.length-1,p={toStringTag:Bt};p.absoluteValue=p.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),y(e)};p.ceil=function(){return y(new this.constructor(this),this.e+1,2)};p.clampedTo=p.clamp=function(e,t){var n,r=this,i=r.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(ee+t);return n=r.cmp(e),n<0?e:r.cmp(t)>0?t:new i(r)};p.comparedTo=p.cmp=function(e){var t,n,r,i,o=this,s=o.d,u=(e=new o.constructor(e)).d,c=o.s,a=e.s;if(!s||!u)return!c||!a?NaN:c!==a?c:s===u?0:!s^c<0?1:-1;if(!s[0]||!u[0])return s[0]?c:u[0]?-a:0;if(c!==a)return c;if(o.e!==e.e)return o.e>e.e^c<0?1:-1;for(r=s.length,i=u.length,t=0,n=r<i?r:i;t<n;++t)if(s[t]!==u[t])return s[t]>u[t]^c<0?1:-1;return r===i?0:r>i^c<0?1:-1};p.cosine=p.cos=function(){var e,t,n=this,r=n.constructor;return n.d?n.d[0]?(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+x,r.rounding=1,n=an(r,Ft(r,n)),r.precision=e,r.rounding=t,y(J==2||J==3?n.neg():n,e,t,!0)):new r(1):new r(NaN)};p.cubeRoot=p.cbrt=function(){var e,t,n,r,i,o,s,u,c,a,l=this,m=l.constructor;if(!l.isFinite()||l.isZero())return new m(l);for(k=!1,o=l.s*O(l.s*l,1/3),!o||Math.abs(o)==1/0?(n=K(l.d),e=l.e,(o=(e-n.length+1)%3)&&(n+=o==1||o==-2?"0":"00"),o=O(n,1/3),e=q((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?n="5e"+e:(n=o.toExponential(),n=n.slice(0,n.indexOf("e")+1)+e),r=new m(n),r.s=l.s):r=new m(o.toString()),s=(e=m.precision)+3;;)if(u=r,c=u.times(u).times(u),a=c.plus(l),r=C(a.plus(l).times(u),a.plus(c),s+2,1),K(u.d).slice(0,s)===(n=K(r.d)).slice(0,s))if(n=n.slice(s-3,s+1),n=="9999"||!i&&n=="4999"){if(!i&&(y(u,e+1,0),u.times(u).times(u).eq(l))){r=u;break}s+=4,i=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(y(r,e+1,1),t=!r.times(r).times(r).eq(l));break}return k=!0,y(r,e,m.rounding,t)};p.decimalPlaces=p.dp=function(){var e,t=this.d,n=NaN;if(t){if(e=t.length-1,n=(e-q(this.e/x))*x,e=t[e],e)for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n};p.dividedBy=p.div=function(e){return C(this,new this.constructor(e))};p.dividedToIntegerBy=p.divToInt=function(e){var t=this,n=t.constructor;return y(C(t,new n(e),0,1,1),n.precision,n.rounding)};p.equals=p.eq=function(e){return this.cmp(e)===0};p.floor=function(){return y(new this.constructor(this),this.e+1,3)};p.greaterThan=p.gt=function(e){return this.cmp(e)>0};p.greaterThanOrEqualTo=p.gte=function(e){var t=this.cmp(e);return t==1||t===0};p.hyperbolicCosine=p.cosh=function(){var e,t,n,r,i,o=this,s=o.constructor,u=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return u;n=s.precision,r=s.rounding,s.precision=n+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),t=(1/Ee(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=le(s,1,o.times(t),new s(1),!0);for(var c,a=e,l=new s(8);a--;)c=o.times(o),o=u.minus(c.times(l.minus(c.times(l))));return y(o,s.precision=n,s.rounding=r,!0)};p.hyperbolicSine=p.sinh=function(){var e,t,n,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,n=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,r=i.d.length,r<3)i=le(o,2,i,i,!0);else{e=1.4*Math.sqrt(r),e=e>16?16:e|0,i=i.times(1/Ee(5,e)),i=le(o,2,i,i,!0);for(var s,u=new o(5),c=new o(16),a=new o(20);e--;)s=i.times(i),i=i.times(u.plus(s.times(c.times(s).plus(a))))}return o.precision=t,o.rounding=n,y(i,t,n,!0)};p.hyperbolicTangent=p.tanh=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+7,r.rounding=1,C(n.sinh(),n.cosh(),r.precision=e,r.rounding=t)):new r(n.s)};p.inverseCosine=p.acos=function(){var e,t=this,n=t.constructor,r=t.abs().cmp(1),i=n.precision,o=n.rounding;return r!==-1?r===0?t.isNeg()?Y(n,i,o):new n(0):new n(NaN):t.isZero()?Y(n,i+4,o).times(.5):(n.precision=i+6,n.rounding=1,t=t.asin(),e=Y(n,i+4,o).times(.5),n.precision=i,n.rounding=o,e.minus(t))};p.inverseHyperbolicCosine=p.acosh=function(){var e,t,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(e=r.precision,t=r.rounding,r.precision=e+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,k=!1,n=n.times(n).minus(1).sqrt().plus(n),k=!0,r.precision=e,r.rounding=t,n.ln()):new r(n)};p.inverseHyperbolicSine=p.asinh=function(){var e,t,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,k=!1,n=n.times(n).plus(1).sqrt().plus(n),k=!0,r.precision=e,r.rounding=t,n.ln())};p.inverseHyperbolicTangent=p.atanh=function(){var e,t,n,r,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,t=o.rounding,r=i.sd(),Math.max(r,e)<2*-i.e-1?y(new o(i),e,t,!0):(o.precision=n=r-i.e,i=C(i.plus(1),new o(1).minus(i),n+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)};p.inverseSine=p.asin=function(){var e,t,n,r,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),n=o.precision,r=o.rounding,t!==-1?t===0?(e=Y(o,n+4,r).times(.5),e.s=i.s,e):new o(NaN):(o.precision=n+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=r,i.times(2)))};p.inverseTangent=p.atan=function(){var e,t,n,r,i,o,s,u,c,a=this,l=a.constructor,m=l.precision,f=l.rounding;if(a.isFinite()){if(a.isZero())return new l(a);if(a.abs().eq(1)&&m+4<=He)return s=Y(l,m+4,f).times(.25),s.s=a.s,s}else{if(!a.s)return new l(NaN);if(m+4<=He)return s=Y(l,m+4,f).times(.5),s.s=a.s,s}for(l.precision=u=m+10,l.rounding=1,n=Math.min(28,u/x+2|0),e=n;e;--e)a=a.div(a.times(a).plus(1).sqrt().plus(1));for(k=!1,t=Math.ceil(u/x),r=1,c=a.times(a),s=new l(a),i=a;e!==-1;)if(i=i.times(c),o=s.minus(i.div(r+=2)),i=i.times(c),s=o.plus(i.div(r+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return n&&(s=s.times(2<<n-1)),k=!0,y(s,l.precision=m,l.rounding=f,!0)};p.isFinite=function(){return!!this.d};p.isInteger=p.isInt=function(){return!!this.d&&q(this.e/x)>this.d.length-2};p.isNaN=function(){return!this.s};p.isNegative=p.isNeg=function(){return this.s<0};p.isPositive=p.isPos=function(){return this.s>0};p.isZero=function(){return!!this.d&&this.d[0]===0};p.lessThan=p.lt=function(e){return this.cmp(e)<0};p.lessThanOrEqualTo=p.lte=function(e){return this.cmp(e)<1};p.logarithm=p.log=function(e){var t,n,r,i,o,s,u,c,a=this,l=a.constructor,m=l.precision,f=l.rounding,d=5;if(e==null)e=new l(10),t=!0;else{if(e=new l(e),n=e.d,e.s<0||!n||!n[0]||e.eq(1))return new l(NaN);t=e.eq(10)}if(n=a.d,a.s<0||!n||!n[0]||a.eq(1))return new l(n&&!n[0]?-1/0:a.s!=1?NaN:n?0:1/0);if(t)if(n.length>1)o=!0;else{for(i=n[0];i%10===0;)i/=10;o=i!==1}if(k=!1,u=m+d,s=$(a,u),r=t?Me(l,u+10):$(e,u),c=C(s,r,u,1),ge(c.d,i=m,f))do if(u+=10,s=$(a,u),r=t?Me(l,u+10):$(e,u),c=C(s,r,u,1),!o){+K(c.d).slice(i+1,i+15)+1==1e14&&(c=y(c,m+1,0));break}while(ge(c.d,i+=10,f));return k=!0,y(c,m,f)};p.minus=p.sub=function(e){var t,n,r,i,o,s,u,c,a,l,m,f,d=this,T=d.constructor;if(e=new T(e),!d.d||!e.d)return!d.s||!e.s?e=new T(NaN):d.d?e.s=-e.s:e=new T(e.d||d.s!==e.s?d:NaN),e;if(d.s!=e.s)return e.s=-e.s,d.plus(e);if(a=d.d,f=e.d,u=T.precision,c=T.rounding,!a[0]||!f[0]){if(f[0])e.s=-e.s;else if(a[0])e=new T(d);else return new T(c===3?-0:0);return k?y(e,u,c):e}if(n=q(e.e/x),l=q(d.e/x),a=a.slice(),o=l-n,o){for(m=o<0,m?(t=a,o=-o,s=f.length):(t=f,n=l,s=a.length),r=Math.max(Math.ceil(u/x),s)+2,o>r&&(o=r,t.length=1),t.reverse(),r=o;r--;)t.push(0);t.reverse()}else{for(r=a.length,s=f.length,m=r<s,m&&(s=r),r=0;r<s;r++)if(a[r]!=f[r]){m=a[r]<f[r];break}o=0}for(m&&(t=a,a=f,f=t,e.s=-e.s),s=a.length,r=f.length-s;r>0;--r)a[s++]=0;for(r=f.length;r>o;){if(a[--r]<f[r]){for(i=r;i&&a[--i]===0;)a[i]=Z-1;--a[i],a[r]+=Z}a[r]-=f[r]}for(;a[--s]===0;)a.pop();for(;a[0]===0;a.shift())--n;return a[0]?(e.d=a,e.e=Fe(a,n),k?y(e,u,c):e):new T(c===3?-0:0)};p.modulo=p.mod=function(e){var t,n=this,r=n.constructor;return e=new r(e),!n.d||!e.s||e.d&&!e.d[0]?new r(NaN):!e.d||n.d&&!n.d[0]?y(new r(n),r.precision,r.rounding):(k=!1,r.modulo==9?(t=C(n,e.abs(),0,3,1),t.s*=e.s):t=C(n,e,0,r.modulo,1),t=t.times(e),k=!0,n.minus(t))};p.naturalExponential=p.exp=function(){return je(this)};p.naturalLogarithm=p.ln=function(){return $(this)};p.negated=p.neg=function(){var e=new this.constructor(this);return e.s=-e.s,y(e)};p.plus=p.add=function(e){var t,n,r,i,o,s,u,c,a,l,m=this,f=m.constructor;if(e=new f(e),!m.d||!e.d)return!m.s||!e.s?e=new f(NaN):m.d||(e=new f(e.d||m.s===e.s?m:NaN)),e;if(m.s!=e.s)return e.s=-e.s,m.minus(e);if(a=m.d,l=e.d,u=f.precision,c=f.rounding,!a[0]||!l[0])return l[0]||(e=new f(m)),k?y(e,u,c):e;if(o=q(m.e/x),r=q(e.e/x),a=a.slice(),i=o-r,i){for(i<0?(n=a,i=-i,s=l.length):(n=l,r=o,s=a.length),o=Math.ceil(u/x),s=o>s?o+1:s+1,i>s&&(i=s,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for(s=a.length,i=l.length,s-i<0&&(i=s,n=l,l=a,a=n),t=0;i;)t=(a[--i]=a[i]+l[i]+t)/Z|0,a[i]%=Z;for(t&&(a.unshift(t),++r),s=a.length;a[--s]==0;)a.pop();return e.d=a,e.e=Fe(a,r),k?y(e,u,c):e};p.precision=p.sd=function(e){var t,n=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(ee+e);return n.d?(t=Ct(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t};p.round=function(){var e=this,t=e.constructor;return y(new t(e),e.e+1,t.rounding)};p.sine=p.sin=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+x,r.rounding=1,n=cn(r,Ft(r,n)),r.precision=e,r.rounding=t,y(J>2?n.neg():n,e,t,!0)):new r(NaN)};p.squareRoot=p.sqrt=function(){var e,t,n,r,i,o,s=this,u=s.d,c=s.e,a=s.s,l=s.constructor;if(a!==1||!u||!u[0])return new l(!a||a<0&&(!u||u[0])?NaN:u?s:1/0);for(k=!1,a=Math.sqrt(+s),a==0||a==1/0?(t=K(u),(t.length+c)%2==0&&(t+="0"),a=Math.sqrt(t),c=q((c+1)/2)-(c<0||c%2),a==1/0?t="5e"+c:(t=a.toExponential(),t=t.slice(0,t.indexOf("e")+1)+c),r=new l(t)):r=new l(a.toString()),n=(c=l.precision)+3;;)if(o=r,r=o.plus(C(s,o,n+2,1)).times(.5),K(o.d).slice(0,n)===(t=K(r.d)).slice(0,n))if(t=t.slice(n-3,n+1),t=="9999"||!i&&t=="4999"){if(!i&&(y(o,c+1,0),o.times(o).eq(s))){r=o;break}n+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(y(r,c+1,1),e=!r.times(r).eq(s));break}return k=!0,y(r,c,l.rounding,e)};p.tangent=p.tan=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+10,r.rounding=1,n=n.sin(),n.s=1,n=C(n,new r(1).minus(n.times(n)).sqrt(),e+10,0),r.precision=e,r.rounding=t,y(J==2||J==4?n.neg():n,e,t,!0)):new r(NaN)};p.times=p.mul=function(e){var t,n,r,i,o,s,u,c,a,l=this,m=l.constructor,f=l.d,d=(e=new m(e)).d;if(e.s*=l.s,!f||!f[0]||!d||!d[0])return new m(!e.s||f&&!f[0]&&!d||d&&!d[0]&&!f?NaN:!f||!d?e.s/0:e.s*0);for(n=q(l.e/x)+q(e.e/x),c=f.length,a=d.length,c<a&&(o=f,f=d,d=o,s=c,c=a,a=s),o=[],s=c+a,r=s;r--;)o.push(0);for(r=a;--r>=0;){for(t=0,i=c+r;i>r;)u=o[i]+d[r]*f[i-r-1]+t,o[i--]=u%Z|0,t=u/Z|0;o[i]=(o[i]+t)%Z|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=Fe(o,n),k?y(e,m.precision,m.rounding):e};p.toBinary=function(e,t){return Ye(this,2,e,t)};p.toDecimalPlaces=p.toDP=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(H(e,0,te),t===void 0?t=r.rounding:H(t,0,8),y(n,e+n.e+1,t))};p.toExponential=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=Q(r,!0):(H(e,0,te),t===void 0?t=i.rounding:H(t,0,8),r=y(new i(r),e+1,t),n=Q(r,!0,e+1)),r.isNeg()&&!r.isZero()?"-"+n:n};p.toFixed=function(e,t){var n,r,i=this,o=i.constructor;return e===void 0?n=Q(i):(H(e,0,te),t===void 0?t=o.rounding:H(t,0,8),r=y(new o(i),e+i.e+1,t),n=Q(r,!1,e+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n};p.toFraction=function(e){var t,n,r,i,o,s,u,c,a,l,m,f,d=this,T=d.d,g=d.constructor;if(!T)return new g(d);if(a=n=new g(1),r=c=new g(0),t=new g(r),o=t.e=Ct(T)-d.e-1,s=o%x,t.d[0]=O(10,s<0?x+s:s),e==null)e=o>0?t:a;else{if(u=new g(e),!u.isInt()||u.lt(a))throw Error(ee+u);e=u.gt(t)?o>0?t:a:u}for(k=!1,u=new g(K(T)),l=g.precision,g.precision=o=T.length*x*2;m=C(u,t,0,1,1),i=n.plus(m.times(r)),i.cmp(e)!=1;)n=r,r=i,i=a,a=c.plus(m.times(i)),c=i,i=t,t=u.minus(m.times(i)),u=i;return i=C(e.minus(n),r,0,1,1),c=c.plus(i.times(a)),n=n.plus(i.times(r)),c.s=a.s=d.s,f=C(a,r,o,1).minus(d).abs().cmp(C(c,n,o,1).minus(d).abs())<1?[a,r]:[c,n],g.precision=l,k=!0,f};p.toHexadecimal=p.toHex=function(e,t){return Ye(this,16,e,t)};p.toNearest=function(e,t){var n=this,r=n.constructor;if(n=new r(n),e==null){if(!n.d)return n;e=new r(1),t=r.rounding}else{if(e=new r(e),t===void 0?t=r.rounding:H(t,0,8),!n.d)return e.s?n:e;if(!e.d)return e.s&&(e.s=n.s),e}return e.d[0]?(k=!1,n=C(n,e,0,t,1).times(e),k=!0,y(n)):(e.s=n.s,n=e),n};p.toNumber=function(){return+this};p.toOctal=function(e,t){return Ye(this,8,e,t)};p.toPower=p.pow=function(e){var t,n,r,i,o,s,u=this,c=u.constructor,a=+(e=new c(e));if(!u.d||!e.d||!u.d[0]||!e.d[0])return new c(O(+u,a));if(u=new c(u),u.eq(1))return u;if(r=c.precision,o=c.rounding,e.eq(1))return y(u,r,o);if(t=q(e.e/x),t>=e.d.length-1&&(n=a<0?-a:a)<=on)return i=Nt(c,u,n,r),e.s<0?new c(1).div(i):y(i,r,o);if(s=u.s,s<0){if(t<e.d.length-1)return new c(NaN);if((e.d[t]&1)==0&&(s=1),u.e==0&&u.d[0]==1&&u.d.length==1)return u.s=s,u}return n=O(+u,a),t=n==0||!isFinite(n)?q(a*(Math.log("0."+K(u.d))/Math.LN10+u.e+1)):new c(n+"").e,t>c.maxE+1||t<c.minE-1?new c(t>0?s/0:0):(k=!1,c.rounding=u.s=1,n=Math.min(12,(t+"").length),i=je(e.times($(u,r+n)),r),i.d&&(i=y(i,r+5,1),ge(i.d,r,o)&&(t=r+10,i=y(je(e.times($(u,t+n)),t),t+5,1),+K(i.d).slice(r+1,r+15)+1==1e14&&(i=y(i,r+1,0)))),i.s=s,k=!0,c.rounding=o,y(i,r,o))};p.toPrecision=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=Q(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(H(e,1,te),t===void 0?t=i.rounding:H(t,0,8),r=y(new i(r),e,t),n=Q(r,e<=r.e||r.e<=i.toExpNeg,e)),r.isNeg()&&!r.isZero()?"-"+n:n};p.toSignificantDigits=p.toSD=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(H(e,1,te),t===void 0?t=r.rounding:H(t,0,8)),y(new r(n),e,t)};p.toString=function(){var e=this,t=e.constructor,n=Q(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n};p.truncated=p.trunc=function(){return y(new this.constructor(this),this.e+1,1)};p.valueOf=p.toJSON=function(){var e=this,t=e.constructor,n=Q(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};function K(e){var t,n,r,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;t<i;t++)r=e[t]+"",n=x-r.length,n&&(o+=X(n)),o+=r;s=e[t],r=s+"",n=x-r.length,n&&(o+=X(n))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function H(e,t,n){if(e!==~~e||e<t||e>n)throw Error(ee+e)}function ge(e,t,n,r){var i,o,s,u;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=x,i=0):(i=Math.ceil((t+1)/x),t%=x),o=O(10,x-t),u=e[i]%o|0,r==null?t<3?(t==0?u=u/100|0:t==1&&(u=u/10|0),s=n<4&&u==99999||n>3&&u==49999||u==5e4||u==0):s=(n<4&&u+1==o||n>3&&u+1==o/2)&&(e[i+1]/o/100|0)==O(10,t-2)-1||(u==o/2||u==0)&&(e[i+1]/o/100|0)==0:t<4?(t==0?u=u/1e3|0:t==1?u=u/100|0:t==2&&(u=u/10|0),s=(r||n<4)&&u==9999||!r&&n>3&&u==4999):s=((r||n<4)&&u+1==o||!r&&n>3&&u+1==o/2)&&(e[i+1]/o/1e3|0)==O(10,t-3)-1,s}function Se(e,t,n){for(var r,i=[0],o,s=0,u=e.length;s<u;){for(o=i.length;o--;)i[o]*=t;for(i[0]+=Ue.indexOf(e.charAt(s++)),r=0;r<i.length;r++)i[r]>n-1&&(i[r+1]===void 0&&(i[r+1]=0),i[r+1]+=i[r]/n|0,i[r]%=n)}return i.reverse()}function an(e,t){var n,r,i;if(t.isZero())return t;r=t.d.length,r<32?(n=Math.ceil(r/3),i=(1/Ee(4,n)).toString()):(n=16,i="2.3283064365386962890625e-10"),e.precision+=n,t=le(e,1,t.times(i),new e(1));for(var o=n;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=n,t}var C=function(){function e(r,i,o){var s,u=0,c=r.length;for(r=r.slice();c--;)s=r[c]*i+u,r[c]=s%o|0,u=s/o|0;return u&&r.unshift(u),r}function t(r,i,o,s){var u,c;if(o!=s)c=o>s?1:-1;else for(u=c=0;u<o;u++)if(r[u]!=i[u]){c=r[u]>i[u]?1:-1;break}return c}function n(r,i,o,s){for(var u=0;o--;)r[o]-=u,u=r[o]<i[o]?1:0,r[o]=u*s+r[o]-i[o];for(;!r[0]&&r.length>1;)r.shift()}return function(r,i,o,s,u,c){var a,l,m,f,d,T,g,A,h,b,w,P,I,R,E,V,v,z,_,re,ie=r.constructor,fe=r.s==i.s?1:-1,W=r.d,N=i.d;if(!W||!W[0]||!N||!N[0])return new ie(!r.s||!i.s||(W?N&&W[0]==N[0]:!N)?NaN:W&&W[0]==0||!N?fe*0:fe/0);for(c?(d=1,l=r.e-i.e):(c=Z,d=x,l=q(r.e/d)-q(i.e/d)),_=N.length,v=W.length,h=new ie(fe),b=h.d=[],m=0;N[m]==(W[m]||0);m++);if(N[m]>(W[m]||0)&&l--,o==null?(R=o=ie.precision,s=ie.rounding):u?R=o+(r.e-i.e)+1:R=o,R<0)b.push(1),T=!0;else{if(R=R/d+2|0,m=0,_==1){for(f=0,N=N[0],R++;(m<v||f)&&R--;m++)E=f*c+(W[m]||0),b[m]=E/N|0,f=E%N|0;T=f||m<v}else{for(f=c/(N[0]+1)|0,f>1&&(N=e(N,f,c),W=e(W,f,c),_=N.length,v=W.length),V=_,w=W.slice(0,_),P=w.length;P<_;)w[P++]=0;re=N.slice(),re.unshift(0),z=N[0],N[1]>=c/2&&++z;do f=0,a=t(N,w,_,P),a<0?(I=w[0],_!=P&&(I=I*c+(w[1]||0)),f=I/z|0,f>1?(f>=c&&(f=c-1),g=e(N,f,c),A=g.length,P=w.length,a=t(g,w,A,P),a==1&&(f--,n(g,_<A?re:N,A,c))):(f==0&&(a=f=1),g=N.slice()),A=g.length,A<P&&g.unshift(0),n(w,g,P,c),a==-1&&(P=w.length,a=t(N,w,_,P),a<1&&(f++,n(w,_<P?re:N,P,c))),P=w.length):a===0&&(f++,w=[0]),b[m++]=f,a&&w[0]?w[P++]=W[V]||0:(w=[W[V]],P=1);while((V++<v||w[0]!==void 0)&&R--);T=w[0]!==void 0}b[0]||b.shift()}if(d==1)h.e=l,kt=T;else{for(m=1,f=b[0];f>=10;f/=10)m++;h.e=m+l*d-1,y(h,u?o+h.e+1:o,s,T)}return h}}();function y(e,t,n,r){var i,o,s,u,c,a,l,m,f,d=e.constructor;e:if(t!=null){if(m=e.d,!m)return e;for(i=1,u=m[0];u>=10;u/=10)i++;if(o=t-i,o<0)o+=x,s=t,l=m[f=0],c=l/O(10,i-s-1)%10|0;else if(f=Math.ceil((o+1)/x),u=m.length,f>=u)if(r){for(;u++<=f;)m.push(0);l=c=0,i=1,o%=x,s=o-x+1}else break e;else{for(l=u=m[f],i=1;u>=10;u/=10)i++;o%=x,s=o-x+i,c=s<0?0:l/O(10,i-s-1)%10|0}if(r=r||t<0||m[f+1]!==void 0||(s<0?l:l%O(10,i-s-1)),a=n<4?(c||r)&&(n==0||n==(e.s<0?3:2)):c>5||c==5&&(n==4||r||n==6&&(o>0?s>0?l/O(10,i-s):0:m[f-1])%10&1||n==(e.s<0?8:7)),t<1||!m[0])return m.length=0,a?(t-=e.e+1,m[0]=O(10,(x-t%x)%x),e.e=-t||0):m[0]=e.e=0,e;if(o==0?(m.length=f,u=1,f--):(m.length=f+1,u=O(10,x-o),m[f]=s>0?(l/O(10,i-s)%O(10,s)|0)*u:0),a)for(;;)if(f==0){for(o=1,s=m[0];s>=10;s/=10)o++;for(s=m[0]+=u,u=1;s>=10;s/=10)u++;o!=u&&(e.e++,m[0]==Z&&(m[0]=1));break}else{if(m[f]+=u,m[f]!=Z)break;m[f--]=0,u=1}for(o=m.length;m[--o]===0;)m.pop()}return k&&(e.e>d.maxE?(e.d=null,e.e=NaN):e.e<d.minE&&(e.e=0,e.d=[0])),e}function Q(e,t,n){if(!e.isFinite())return Rt(e);var r,i=e.e,o=K(e.d),s=o.length;return t?(n&&(r=n-s)>0?o=o.charAt(0)+"."+o.slice(1)+X(r):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+X(-i-1)+o,n&&(r=n-s)>0&&(o+=X(r))):i>=s?(o+=X(i+1-s),n&&(r=n-i-1)>0&&(o=o+"."+X(r))):((r=i+1)<s&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-s)>0&&(i+1===s&&(o+="."),o+=X(r))),o}function Fe(e,t){var n=e[0];for(t*=x;n>=10;n/=10)t++;return t}function Me(e,t,n){if(t>sn)throw k=!0,n&&(e.precision=n),Error(Pt);return y(new e(Ce),t,1,!0)}function Y(e,t,n){if(t>He)throw Error(Pt);return y(new e(Ne),t,n,!0)}function Ct(e){var t=e.length-1,n=t*x+1;if(t=e[t],t){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function X(e){for(var t="";e--;)t+="0";return t}function Nt(e,t,n,r){var i,o=new e(1),s=Math.ceil(r/x+4);for(k=!1;;){if(n%2&&(o=o.times(t),xt(o.d,s)&&(i=!0)),n=q(n/2),n===0){n=o.d.length-1,i&&o.d[n]===0&&++o.d[n];break}t=t.times(t),xt(t.d,s)}return k=!0,o}function yt(e){return e.d[e.d.length-1]&1}function Mt(e,t,n){for(var r,i=new e(t[0]),o=0;++o<t.length;)if(r=new e(t[o]),r.s)i[n](r)&&(i=r);else{i=r;break}return i}function je(e,t){var n,r,i,o,s,u,c,a=0,l=0,m=0,f=e.constructor,d=f.rounding,T=f.precision;if(!e.d||!e.d[0]||e.e>17)return new f(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:0/0);for(t==null?(k=!1,c=T):c=t,u=new f(.03125);e.e>-2;)e=e.times(u),m+=5;for(r=Math.log(O(2,m))/Math.LN10*2+5|0,c+=r,n=o=s=new f(1),f.precision=c;;){if(o=y(o.times(e),c,1),n=n.times(++l),u=s.plus(C(o,n,c,1)),K(u.d).slice(0,c)===K(s.d).slice(0,c)){for(i=m;i--;)s=y(s.times(s),c,1);if(t==null)if(a<3&&ge(s.d,c-r,d,a))f.precision=c+=10,n=o=u=new f(1),l=0,a++;else return y(s,f.precision=T,d,k=!0);else return f.precision=T,s}s=u}}function $(e,t){var n,r,i,o,s,u,c,a,l,m,f,d=1,T=10,g=e,A=g.d,h=g.constructor,b=h.rounding,w=h.precision;if(g.s<0||!A||!A[0]||!g.e&&A[0]==1&&A.length==1)return new h(A&&!A[0]?-1/0:g.s!=1?NaN:A?0:g);if(t==null?(k=!1,l=w):l=t,h.precision=l+=T,n=K(A),r=n.charAt(0),Math.abs(o=g.e)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)g=g.times(e),n=K(g.d),r=n.charAt(0),d++;o=g.e,r>1?(g=new h("0."+n),o++):g=new h(r+"."+n.slice(1))}else return a=Me(h,l+2,w).times(o+""),g=$(new h(r+"."+n.slice(1)),l-T).plus(a),h.precision=w,t==null?y(g,w,b,k=!0):g;for(m=g,c=s=g=C(g.minus(1),g.plus(1),l,1),f=y(g.times(g),l,1),i=3;;){if(s=y(s.times(f),l,1),a=c.plus(C(s,new h(i),l,1)),K(a.d).slice(0,l)===K(c.d).slice(0,l))if(c=c.times(2),o!==0&&(c=c.plus(Me(h,l+2,w).times(o+""))),c=C(c,new h(d),l,1),t==null)if(ge(c.d,l-T,b,u))h.precision=l+=T,a=s=g=C(m.minus(1),m.plus(1),l,1),f=y(g.times(g),l,1),i=u=1;else return y(c,h.precision=w,b,k=!0);else return h.precision=w,c;c=a,i+=2}}function Rt(e){return String(e.s*e.s/0)}function ze(e,t){var n,r,i;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;r++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(r,i),t){if(i-=r,e.e=n=n-r-1,e.d=[],r=(n+1)%x,n<0&&(r+=x),r<i){for(r&&e.d.push(+t.slice(0,r)),i-=x;r<i;)e.d.push(+t.slice(r,r+=x));t=t.slice(r),r=x-t.length}else r-=i;for(;r--;)t+="0";e.d.push(+t),k&&(e.e>e.constructor.maxE?(e.d=null,e.e=NaN):e.e<e.constructor.minE&&(e.e=0,e.d=[0]))}else e.e=0,e.d=[0];return e}function un(e,t){var n,r,i,o,s,u,c,a,l;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),St.test(t))return ze(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(nn.test(t))n=16,t=t.toLowerCase();else if(tn.test(t))n=2;else if(rn.test(t))n=8;else throw Error(ee+t);for(o=t.search(/p/i),o>0?(c=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,r=e.constructor,s&&(t=t.replace(".",""),u=t.length,o=u-o,i=Nt(r,new r(n),o,o*2)),a=Se(t,n,Z),l=a.length-1,o=l;a[o]===0;--o)a.pop();return o<0?new r(e.s*0):(e.e=Fe(a,l),e.d=a,k=!1,s&&(e=C(e,i,u*4)),c&&(e=e.times(Math.abs(c)<54?O(2,c):Ve.pow(2,c))),k=!0,e)}function cn(e,t){var n,r=t.d.length;if(r<3)return t.isZero()?t:le(e,2,t,t);n=1.4*Math.sqrt(r),n=n>16?16:n|0,t=t.times(1/Ee(5,n)),t=le(e,2,t,t);for(var i,o=new e(5),s=new e(16),u=new e(20);n--;)i=t.times(t),t=t.times(o.plus(i.times(s.times(i).minus(u))));return t}function le(e,t,n,r,i){var o,s,u,c,a=1,l=e.precision,m=Math.ceil(l/x);for(k=!1,c=n.times(n),u=new e(r);;){if(s=C(u.times(c),new e(t++*t++),l,1),u=i?r.plus(s):r.minus(s),r=C(s.times(c),new e(t++*t++),l,1),s=u.plus(r),s.d[m]!==void 0){for(o=m;s.d[o]===u.d[o]&&o--;);if(o==-1)break}o=u,u=r,r=s,s=o,a++}return k=!0,s.d.length=m+1,s}function Ee(e,t){for(var n=e;--t;)n*=e;return n}function Ft(e,t){var n,r=t.s<0,i=Y(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return J=r?4:1,t;if(n=t.divToInt(i),n.isZero())J=r?3:2;else{if(t=t.minus(n.times(i)),t.lte(o))return J=yt(n)?r?2:3:r?4:1,t;J=yt(n)?r?1:4:r?3:2}return t.minus(i).abs()}function Ye(e,t,n,r){var i,o,s,u,c,a,l,m,f,d=e.constructor,T=n!==void 0;if(T?(H(n,1,te),r===void 0?r=d.rounding:H(r,0,8)):(n=d.precision,r=d.rounding),!e.isFinite())l=Rt(e);else{for(l=Q(e),s=l.indexOf("."),T?(i=2,t==16?n=n*4-3:t==8&&(n=n*3-2)):i=t,s>=0&&(l=l.replace(".",""),f=new d(1),f.e=l.length-s,f.d=Se(Q(f),10,i),f.e=f.d.length),m=Se(l,10,i),o=c=m.length;m[--c]==0;)m.pop();if(!m[0])l=T?"0p+0":"0";else{if(s<0?o--:(e=new d(e),e.d=m,e.e=o,e=C(e,f,n,r,0,i),m=e.d,o=e.e,a=kt),s=m[n],u=i/2,a=a||m[n+1]!==void 0,a=r<4?(s!==void 0||a)&&(r===0||r===(e.s<0?3:2)):s>u||s===u&&(r===4||a||r===6&&m[n-1]&1||r===(e.s<0?8:7)),m.length=n,a)for(;++m[--n]>i-1;)m[n]=0,n||(++o,m.unshift(1));for(c=m.length;!m[c-1];--c);for(s=0,l="";s<c;s++)l+=Ue.charAt(m[s]);if(T){if(c>1)if(t==16||t==8){for(s=t==16?4:3,--c;c%s;c++)l+="0";for(m=Se(l,i,t),c=m.length;!m[c-1];--c);for(s=1,l="1.";s<c;s++)l+=Ue.charAt(m[s])}else l=l.charAt(0)+"."+l.slice(1);l=l+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)l="0"+l;l="0."+l}else if(++o>c)for(o-=c;o--;)l+="0";else o<c&&(l=l.slice(0,o)+"."+l.slice(o))}l=(t==16?"0x":t==2?"0b":t==8?"0o":"")+l}return e.s<0?"-"+l:l}function xt(e,t){if(e.length>t)return e.length=t,!0}function ln(e){return new this(e).abs()}function mn(e){return new this(e).acos()}function fn(e){return new this(e).acosh()}function pn(e,t){return new this(e).plus(t)}function dn(e){return new this(e).asin()}function gn(e){return new this(e).asinh()}function hn(e){return new this(e).atan()}function wn(e){return new this(e).atanh()}function bn(e,t){e=new this(e),t=new this(t);var n,r=this.precision,i=this.rounding,o=r+4;return!e.s||!t.s?n=new this(NaN):!e.d&&!t.d?(n=Y(this,o,1).times(t.s>0?.25:.75),n.s=e.s):!t.d||e.isZero()?(n=t.s<0?Y(this,r,i):new this(0),n.s=e.s):!e.d||t.isZero()?(n=Y(this,o,1).times(.5),n.s=e.s):t.s<0?(this.precision=o,this.rounding=1,n=this.atan(C(e,t,o,1)),t=Y(this,o,1),this.precision=r,this.rounding=i,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(C(e,t,o,1)),n}function Tn(e){return new this(e).cbrt()}function yn(e){return y(e=new this(e),e.e+1,2)}function xn(e,t,n){return new this(e).clamp(t,n)}function An(e){if(!e||typeof e!="object")throw Error(Re+"Object expected");var t,n,r,i=e.defaults===!0,o=["precision",1,te,"rounding",0,8,"toExpNeg",-ce,0,"toExpPos",0,ce,"maxE",0,ce,"minE",-ce,0,"modulo",0,9];for(t=0;t<o.length;t+=3)if(n=o[t],i&&(this[n]=Ge[n]),(r=e[n])!==void 0)if(q(r)===r&&r>=o[t+1]&&r<=o[t+2])this[n]=r;else throw Error(ee+n+": "+r);if(n="crypto",i&&(this[n]=Ge[n]),(r=e[n])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error(It);else this[n]=!1;else throw Error(ee+n+": "+r);return this}function kn(e){return new this(e).cos()}function Pn(e){return new this(e).cosh()}function Et(e){var t,n,r;function i(o){var s,u,c,a=this;if(!(a instanceof i))return new i(o);if(a.constructor=i,At(o)){a.s=o.s,k?!o.d||o.e>i.maxE?(a.e=NaN,a.d=null):o.e<i.minE?(a.e=0,a.d=[0]):(a.e=o.e,a.d=o.d.slice()):(a.e=o.e,a.d=o.d?o.d.slice():o.d);return}if(c=typeof o,c==="number"){if(o===0){a.s=1/o<0?-1:1,a.e=0,a.d=[0];return}if(o<0?(o=-o,a.s=-1):a.s=1,o===~~o&&o<1e7){for(s=0,u=o;u>=10;u/=10)s++;k?s>i.maxE?(a.e=NaN,a.d=null):s<i.minE?(a.e=0,a.d=[0]):(a.e=s,a.d=[o]):(a.e=s,a.d=[o]);return}else if(o*0!==0){o||(a.s=NaN),a.e=NaN,a.d=null;return}return ze(a,o.toString())}else if(c!=="string")throw Error(ee+o);return(u=o.charCodeAt(0))===45?(o=o.slice(1),a.s=-1):(u===43&&(o=o.slice(1)),a.s=1),St.test(o)?ze(a,o):un(a,o)}if(i.prototype=p,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.EUCLID=9,i.config=i.set=An,i.clone=Et,i.isDecimal=At,i.abs=ln,i.acos=mn,i.acosh=fn,i.add=pn,i.asin=dn,i.asinh=gn,i.atan=hn,i.atanh=wn,i.atan2=bn,i.cbrt=Tn,i.ceil=yn,i.clamp=xn,i.cos=kn,i.cosh=Pn,i.div=In,i.exp=Bn,i.floor=Sn,i.hypot=Cn,i.ln=Nn,i.log=Mn,i.log10=Fn,i.log2=Rn,i.max=En,i.min=Vn,i.mod=Ln,i.mul=Dn,i.pow=vn,i.random=On,i.round=_n,i.sign=Kn,i.sin=Wn,i.sinh=qn,i.sqrt=Un,i.sub=Gn,i.sum=Hn,i.tan=jn,i.tanh=zn,i.trunc=Yn,e===void 0&&(e={}),e&&e.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<r.length;)e.hasOwnProperty(n=r[t++])||(e[n]=this[n]);return i.config(e),i}function In(e,t){return new this(e).div(t)}function Bn(e){return new this(e).exp()}function Sn(e){return y(e=new this(e),e.e+1,3)}function Cn(){var e,t,n=new this(0);for(k=!1,e=0;e<arguments.length;)if(t=new this(arguments[e++]),t.d)n.d&&(n=n.plus(t.times(t)));else{if(t.s)return k=!0,new this(1/0);n=t}return k=!0,n.sqrt()}function At(e){return e instanceof Ve||e&&e.toStringTag===Bt||!1}function Nn(e){return new this(e).ln()}function Mn(e,t){return new this(e).log(t)}function Rn(e){return new this(e).log(2)}function Fn(e){return new this(e).log(10)}function En(){return Mt(this,arguments,"lt")}function Vn(){return Mt(this,arguments,"gt")}function Ln(e,t){return new this(e).mod(t)}function Dn(e,t){return new this(e).mul(t)}function vn(e,t){return new this(e).pow(t)}function On(e){var t,n,r,i,o=0,s=new this(1),u=[];if(e===void 0?e=this.precision:H(e,1,te),r=Math.ceil(e/x),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(r));o<r;)i=t[o],i>=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:u[o++]=i%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(r*=4);o<r;)i=t[o]+(t[o+1]<<8)+(t[o+2]<<16)+((t[o+3]&127)<<24),i>=214e7?crypto.randomBytes(4).copy(t,o):(u.push(i%1e7),o+=4);o=r/4}else throw Error(It);else for(;o<r;)u[o++]=Math.random()*1e7|0;for(r=u[--o],e%=x,r&&e&&(i=O(10,x-e),u[o]=(r/i|0)*i);u[o]===0;o--)u.pop();if(o<0)n=0,u=[0];else{for(n=-1;u[0]===0;n-=x)u.shift();for(r=1,i=u[0];i>=10;i/=10)r++;r<x&&(n-=x-r)}return s.e=n,s.d=u,s}function _n(e){return y(e=new this(e),e.e+1,this.rounding)}function Kn(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function Wn(e){return new this(e).sin()}function qn(e){return new this(e).sinh()}function Un(e){return new this(e).sqrt()}function Gn(e,t){return new this(e).sub(t)}function Hn(){var e=0,t=arguments,n=new this(t[e]);for(k=!1;n.s&&++e<t.length;)n=n.plus(t[e]);return k=!0,y(n,this.precision,this.rounding)}function jn(e){return new this(e).tan()}function zn(e){return new this(e).tanh()}function Yn(e){return y(e=new this(e),e.e+1,1)}p[Symbol.for("nodejs.util.inspect.custom")]=p.toString;p[Symbol.toStringTag]="Decimal";var Ve=p.constructor=Et(Ge);Ce=new Ve(Ce);Ne=new Ve(Ne);import{PublicKey as Qe}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Zn}from"@solana/spl-token";import{PublicKey as F,SystemProgram as Lt,SYSVAR_RENT_PUBKEY as Qn}from"@solana/web3.js";function Ze({pubkey:e,isSigner:t=!1,isWritable:n=!0}){return{pubkey:e,isWritable:n,isSigner:t}}var Vr=[Ze({pubkey:Zn,isWritable:!1}),Ze({pubkey:Lt.programId,isWritable:!1}),Ze({pubkey:Qn,isWritable:!1})];function Dt({publicKey:e,transformSol:t}){let n=vt(e.toString());if(n instanceof F)return t&&n.equals(he)?Vt:n;if(t&&n.toString()===he.toBase58())return Vt;if(typeof n=="string"){if(n===F.default.toBase58())return F.default;try{return new F(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function vt(e){try{return new F(e)}catch{return e}}var Lr=new F("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Dr=new F("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),vr=new F("SysvarRent111111111111111111111111111111111"),Or=new F("SysvarC1ock11111111111111111111111111111111"),_r=new F("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Kr=new F("Sysvar1nstructions1111111111111111111111111"),Wr=Lt.programId,qr=new F("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Ur=new F("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Gr=new F("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Hr=new F("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),jr=new F("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),zr=new F("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Yr=new F("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Zr=new F("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Qr=new F("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Jr=new F("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Xr=new F("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),Vt=new F("So11111111111111111111111111111111111111112"),he=F.default;import{PublicKey as Jn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ot}from"@solana/spl-token";var se={chainId:101,address:Jn.default.toBase58(),programId:Ot.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},ae={chainId:101,address:"So11111111111111111111111111111111111111112",programId:Ot.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};var Je=class{constructor({mint:t,decimals:n,symbol:r,name:i,skipMint:o=!1,isToken2022:s=!1}){if(t===he.toBase58()||t instanceof Qe&&he.equals(t)){this.decimals=ae.decimals,this.symbol=ae.symbol,this.name=ae.name,this.mint=new Qe(ae.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=r||t.toString().substring(0,6),this.name=i||t.toString().substring(0,6),this.mint=o?Qe.default:Dt({publicKey:t}),this.isToken2022=s}equals(t){return this===t?!0:this.mint.equals(t.mint)}},me=Je;me.WSOL=new Je(U(L({},ae),{mint:ae.address}));import De from"big.js";import er from"bn.js";import tr from"decimal.js-light";import Xn from"toformat";var $n=Xn,we=$n;var Le=G("module/fraction"),Xe=we(De),be=we(tr),nr={[0]:be.ROUND_DOWN,[1]:be.ROUND_HALF_UP,[2]:be.ROUND_UP},rr={[0]:De.roundDown,[1]:De.roundHalfUp,[2]:De.roundUp},M=class{constructor(t,n=new er(1)){this.numerator=ne(t),this.denominator=ne(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new M(this.denominator,this.numerator)}add(t){let n=t instanceof M?t:new M(ne(t));return this.denominator.eq(n.denominator)?new M(this.numerator.add(n.numerator),this.denominator):new M(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof M?t:new M(ne(t));return this.denominator.eq(n.denominator)?new M(this.numerator.sub(n.numerator),this.denominator):new M(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof M?t:new M(ne(t));return new M(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof M?t:new M(ne(t));return new M(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},r=1){Number.isInteger(t)||Le.logWithError(`${t} is not an integer.`),t<=0&&Le.logWithError(`${t} is not positive.`),be.set({precision:t+1,rounding:nr[r]});let i=new be(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return i.toFormat(i.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},r=1){return Number.isInteger(t)||Le.logWithError(`${t} is not an integer.`),t<0&&Le.logWithError(`${t} is negative.`),Xe.DP=t,Xe.RM=rr[r]||1,new Xe(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};var Pi=G("Raydium_price");var $e=class{constructor({decimals:t,symbol:n="UNKNOWN",name:r="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=r}equals(t){return this===t}},ve=$e;ve.SOL=new $e(se);import or from"bn.js";var Fi=new M(new or(100));var sr=new j(0),Xi=new j(1),$i=new j(2),eo=new j(3),to=new j(5),ar=new j(10),no=new j(100),ro=new j(1e3),io=new j(1e4),qt=9007199254740991;function ne(e){let t=G("Raydium_parseBigNumberish");if(e instanceof j)return e;if(typeof e=="string"){if(e.match(/^-?[0-9]+$/))return new j(e);t.logWithError(`invalid BigNumberish string: ${e}`)}return typeof e=="number"?(e%1&&t.logWithError(`BigNumberish number underflow: ${e}`),(e>=qt||e<=-qt)&&t.logWithError(`BigNumberish number overflow: ${e}`),new j(String(e))):typeof e=="bigint"?new j(e.toString()):(t.error(`invalid BigNumberish value: ${e}`),new j(0))}var To=G("Raydium_amount"),yo=we(ur);function et(e,t=1,n=[]){let r=[...e];if(t<=0)return n;for(;r.length;)n.push(r.splice(0,t));return n}import{PublicKey as D}from"@solana/web3.js";var Wo=new D("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),qo=new D("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Uo=new D("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Go=new D("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Ho=new D("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),jo=new D("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),zo=new D("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Yo=new D("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Zo=new D("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Qo=new D("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Jo=new D("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),Xo=new D("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),$o=new D("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),es=new D("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),ts=new D("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),ns=new D("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),rs=new D("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),is=new D("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"),os=new D("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),ss=new D("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2");import{PublicKey as ls}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ps}from"@solana/spl-token";import hs from"bn.js";var tt=G("Raydium_accountInfo_util");async function Ut(e,t,n){let{batchRequest:r,commitment:i="confirmed"}=L({batchRequest:!1},n),o=et(t,100),s=new Array(o.length).fill([]);if(r){let u=o.map(l=>{let m=e._buildArgs([l.map(f=>f.toBase58())],i,"base64");return{methodName:"getMultipleAccounts",args:m}}),c=et(u,10);s=(await(await Promise.all(c.map(async l=>await e._rpcBatchRequest(l)))).flat()).map(l=>(l.error&&tt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${l.error.message}`),l.result.value.map(m=>{if(m){let{data:f,executable:d,lamports:T,owner:g,rentEpoch:A}=m;return f.length!==2&&f[1]!=="base64"&&tt.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(f[0],"base64"),executable:d,lamports:T,owner:new cr(g),rentEpoch:A}}return null})))}else try{s=await Promise.all(o.map(u=>e.getMultipleAccountsInfo(u,i)))}catch(u){u instanceof Error&&tt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${u.message}`)}return s.flat()}async function nt({connection:e,address:t}){let n=await Ut(e,[...new Set(t.map(i=>i.toString()))].map(i=>new Gt(i))),r={};for(let i=0;i<t.length;i++){let o=n[i],s=t[i];if(!o)continue;let u=new Oe({key:s,state:Oe.deserialize(o.data)});r[s.toString()]=u,_e[s.toString()]=u}return r}var _e={"2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17":new Oe({key:new Gt("2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17"),state:Oe.deserialize(Buffer.from("AQAAAP//////////d49+DAAAAAAAAQZMWvw7GUNJdaccNBVnb57OKakxL2BHLYvhRwVILRsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMGRm/lIRcy/+ytunLDm+e8jOW7xfcSayxDmzpAAAAABt324ddloZPZy+FGzut5rBy0he1fWzeROoz1hX7/AKkG3fbh7nWP3hhCXbzkbM3athr8TYO5DSf+vfko2KGL/AVKU1D4XciC1hSlVnJ4iilt3x6rq9CmBniISTL07vagBqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAAAGp9UXGMd0yShWY5hpHV62i164o5tLbVxzVVshAAAAAIyXJY9OJInxuz0QKRSODYMLWhOZ2v8QhASOe9jb6fhZC3BlsePRfEU4nVJ/awTDzVi4bHMaoP21SbbRvAP4KUbIScv+6Yw2LHF/6K0ZjUPibbSWXCirYPGuuVl7zT789IUPLW4CpHr4JNCatp3ELXDLKMv6JJ+37le50lbBJ2LvDQdRqCgtphMF/imcN7mY5YRx2xE1A3MQ+L4QRaYK9u4GRfZP3LsAd00a+IkCpA22UNQMKdq5BFbJuwuOLqc8zxCTDlqxBG8J0HcxtfogQHDK06ukzfaXiNDKAob1MqBHS9lJxDYCwz8gd5DtFqNSTKG5l1zxIaKpDP/sffi2is1H9aKveyXSu5StXElYRl9SD5As0DHE4N0GLnf84/siiKXVyp4Ez121kLcUui/jLLFZEz/BwZK3Ilf9B9OcsEAeDMKAy2vjGSxQODgBz0QwGA+eP4ZjIjrIAQaXENv31QfLlOdXSRCkaybRniDHF4C8YcwhcvsqrOVuTP4B2Na+9wLdtrB31uz2rtlFI5kahdsnp/d1SrASDInYCtTYtdoke4kX+hoKWcEWM4Tle8pTUkUVv4BxS6fje/EzKBE4Qu9N9LMnrw/JNO0hqMVB4rk/2ou4AB1loQ7FZoPwut2o4KZB+0p9xnbrQKw038qjpHar+PyDwvxBRcu5hpHw3dguezeWv+IwvgW5icu8EGkhGa9AkFPPJT7VMSFb8xowveU=","base64"))})};var Ke=class{constructor(t){this.instructions=[];this.endInstructions=[];this.lookupTableAddress=[];this.signers=[];this.instructionTypes=[];this.endInstructionTypes=[];this.connection=t.connection,this.feePayer=t.feePayer,this.signAllTransactions=t.signAllTransactions,this.owner=t.owner,this.cluster=t.cluster}get AllTxData(){return{instructions:this.instructions,endInstructions:this.endInstructions,signers:this.signers,instructionTypes:this.instructionTypes,endInstructionTypes:this.endInstructionTypes,lookupTableAddress:this.lookupTableAddress}}get allInstructions(){return[...this.instructions,...this.endInstructions]}async getComputeBudgetConfig(){var r;let t=(await lr.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:n}=(r=t==null?void 0:t[15])!=null?r:{};if(!!n)return{units:6e5,microLamports:Math.min(Math.ceil(n*1e6/6e5),25e3)}}addCustomComputeBudget(t){if(t){let{instructions:n,instructionTypes:r}=Be(t);return this.instructions.unshift(...n),this.instructionTypes.unshift(...r),!0}return!1}async calComputeBudget({config:t,defaultIns:n}){try{let r=t||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(r))return;n&&this.instructions.unshift(...n)}catch{n&&this.instructions.unshift(...n)}}addInstruction({instructions:t=[],endInstructions:n=[],signers:r=[],instructionTypes:i=[],endInstructionTypes:o=[],lookupTableAddress:s=[]}){return this.instructions.push(...t),this.endInstructions.push(...n),this.signers.push(...r),this.instructionTypes.push(...i),this.endInstructionTypes.push(...o),this.lookupTableAddress.push(...s.filter(u=>u!==Te.default.toString())),this}async versionBuild({txVersion:t,extInfo:n}){return t===0?await this.buildV0(L({},n||{})):this.build(n)}build(t){let n=new ye;return this.allInstructions.length&&n.add(...this.allInstructions),n.feePayer=this.feePayer,{builder:this,transaction:n,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async r=>{var u;let{recentBlockHash:i,skipPreflight:o=!0}=r||{},s=i!=null?i:await ue(this.connection);if(n.recentBlockhash=s,this.signers.length&&n.sign(...this.signers),oe([n]),(u=this.owner)!=null&&u.isKeyPair)return{txId:await rt(this.connection,n,this.signers.find(c=>c.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:o}),signedTx:n};if(this.signAllTransactions){let c=await this.signAllTransactions([n]);return{txId:await this.connection.sendRawTransaction(c[0].serialize(),{skipPreflight:o}),signedTx:c[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:t||{}}}buildMultiTx(t){let{extraPreBuildData:n=[],extInfo:r}=t,{transaction:i}=this.build(r),o=n.filter(a=>a.transaction.instructions.length>0),s=[i,...o.map(a=>a.transaction)],u=[this.signers,...o.map(a=>a.signers)],c=[...this.instructionTypes,...o.map(a=>a.instructionTypes).flat()];return{builder:this,transactions:s,signers:u,instructionTypes:c,execute:async a=>{var g;let{sequentially:l,onTxUpdate:m,recentBlockHash:f,skipPreflight:d=!0}=a||{},T=f!=null?f:await ue(this.connection);if((g=this.owner)!=null&&g.isKeyPair)return{txIds:await await Promise.all(s.map(async(A,h)=>(A.recentBlockhash=T,await rt(this.connection,A,u[h].find(b=>b.publicKey.equals(this.owner.publicKey))?u[h]:[...u[h],this.owner.signer],{skipPreflight:d})))),signedTxs:s};if(this.signAllTransactions){let A=s.map((b,w)=>(b.recentBlockhash=T,u[w].length&&b.sign(...u[w]),b));oe(A);let h=await this.signAllTransactions(A);if(l){let b=0,w=[],P=async()=>{if(!h[b])return;let I=await this.connection.sendRawTransaction(h[b].serialize(),{skipPreflight:d});w.push({txId:I,status:"sent",signedTx:h[b]}),m==null||m([...w]),b++,this.connection.onSignature(I,R=>{let E=w.findIndex(V=>V.txId===I);E>-1&&(w[E].status=R.err?"error":"success"),m==null||m([...w]),R.err||P()},"processed"),this.connection.getSignatureStatus(I)};return await P(),{txIds:w.map(I=>I.txId),signedTxs:h}}else{let b=[];for(let w=0;w<h.length;w+=1){let P=await this.connection.sendRawTransaction(h[w].serialize(),{skipPreflight:d});b.push(P)}return{txIds:b,signedTxs:h}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async versionMultiBuild({extraPreBuildData:t,txVersion:n,extInfo:r}){return n===0?await this.buildV0MultiTx({extraPreBuildData:t,buildProps:r||{}}):this.buildMultiTx({extraPreBuildData:t,extInfo:r})}async buildV0(t){let f=t||{},{lookupTableCache:n={},lookupTableAddress:r=[],forerunCreate:i}=f,o=Ie(f,["lookupTableCache","lookupTableAddress","forerunCreate"]),s=L(L({},this.cluster==="devnet"?{}:_e),n),u=Array.from(new Set([...r,...this.lookupTableAddress])),c=[];for(let d of u)s[d]===void 0&&c.push(new Te(d));let a=await nt({connection:this.connection,address:c});for(let[d,T]of Object.entries(a))s[d]=T;let l=new xe({payerKey:this.feePayer,recentBlockhash:i?Te.default.toBase58():await ue(this.connection),instructions:[...this.allInstructions]}).compileToV0Message(Object.values(s)),m=new Ae(l);return m.sign(this.signers),{builder:this,transaction:m,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async d=>{var A;let{recentBlockHash:T,skipPreflight:g=!0}=d||{};if(T&&(m.message.recentBlockhash=T),oe([m]),(A=this.owner)!=null&&A.isKeyPair){this.signers.find(P=>P.publicKey.equals(this.owner.publicKey))||m.sign([this.owner.signer]);let h=await this.connection.sendTransaction(m,{skipPreflight:g}),{lastValidBlockHeight:b,blockhash:w}=await this.connection.getLatestBlockhash();return await this.connection.confirmTransaction({blockhash:w,lastValidBlockHeight:b,signature:h},"confirmed"),{txId:h,signedTx:m}}if(this.signAllTransactions){let h=await this.signAllTransactions([m]);return{txId:await this.connection.sendTransaction(h[0],{skipPreflight:g}),signedTx:h[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:o||{}}}async buildV0MultiTx(t){let{extraPreBuildData:n=[],buildProps:r}=t,{transaction:i}=await this.buildV0(r),o=n.filter(a=>a.builder.instructions.length>0),s=[i,...o.map(a=>a.transaction)],u=[this.signers,...o.map(a=>a.signers)],c=[...this.instructionTypes,...o.map(a=>a.instructionTypes).flat()];return s.forEach(async(a,l)=>{a.sign(u[l])}),{builder:this,transactions:s,signers:u,instructionTypes:c,buildProps:r,execute:async a=>{var T;let{sequentially:l,onTxUpdate:m,recentBlockHash:f,skipPreflight:d=!0}=a||{};if(f&&s.forEach(g=>g.message.recentBlockhash=f),oe(s),(T=this.owner)!=null&&T.isKeyPair){let{lastValidBlockHeight:g,blockhash:A}=await this.connection.getLatestBlockhash();return s.forEach((h,b)=>{u[b].find(w=>w.publicKey.equals(this.owner.publicKey))||h.sign([this.owner.signer])}),{txIds:await Promise.all(s.map(async h=>{let b=await this.connection.sendTransaction(h,{skipPreflight:d});return await this.connection.confirmTransaction({blockhash:A,lastValidBlockHeight:g,signature:b},"confirmed"),b})),signedTxs:s}}if(this.signAllTransactions){let g=await this.signAllTransactions(s);if(l){let A=0,h=[],b=async()=>{if(!g[A])return;let w=await this.connection.sendTransaction(g[A],{skipPreflight:d});h.push({txId:w,status:"sent",signedTx:g[A]}),m==null||m([...h]),A++,this.connection.onSignature(w,P=>{let I=h.findIndex(R=>R.txId===w);I>-1&&(h[I].status=P.err?"error":"success"),m==null||m([...h]),P.err||b()},"processed"),this.connection.getSignatureStatus(w)};return b(),{txIds:[],signedTxs:g}}else{let A=[];for(let h=0;h<g.length;h+=1){let b=await this.connection.sendTransaction(g[h],{skipPreflight:d});A.push(b)}return{txIds:A,signedTxs:g}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuild(t){let a=t||{},{computeBudgetConfig:n}=a,r=Ie(a,["computeBudgetConfig"]),i=n?Be(n):{instructions:[],instructionTypes:[]},o=this.signers.reduce((l,m)=>U(L({},l),{[m.publicKey.toBase58()]:m}),{}),s=[],u=[],c=[];if(this.allInstructions.forEach(l=>{let m=[...c,l],f=n?[...i.instructions,...m]:m,T=[...new Set(m.map(g=>g.keys.filter(A=>A.isSigner).map(A=>A.pubkey.toString())).flat()).values()].map(g=>new Te(g));if(c.length<12&&pe({instructions:f,payer:this.feePayer,signers:T})||pe({instructions:m,payer:this.feePayer,signers:T}))c.push(l);else{if(c.length===0)throw Error("item ins too big");pe({instructions:n?[...i.instructions,...c]:[...c],payer:this.feePayer,signers:T})?s.push(new ye().add(...i.instructions,...c)):s.push(new ye().add(...c)),u.push(Array.from(new Set(c.map(g=>g.keys.filter(A=>A.isSigner).map(A=>A.pubkey.toString())).flat())).map(g=>o[g]).filter(g=>g!==void 0)),c=[l]}}),c.length>0){let m=[...new Set(c.map(f=>f.keys.filter(d=>d.isSigner).map(d=>d.pubkey.toString())).flat()).values()].map(f=>o[f]).filter(f=>f!==void 0);pe({instructions:n?[...i.instructions,...c]:[...c],payer:this.feePayer,signers:m.map(f=>f.publicKey)})?s.push(new ye().add(...i.instructions,...c)):s.push(new ye().add(...c)),u.push(m)}return s.forEach(l=>l.feePayer=this.feePayer),{builder:this,transactions:s,signers:u,instructionTypes:this.instructionTypes,execute:async l=>{var A;let{sequentially:m,onTxUpdate:f,recentBlockHash:d,skipPreflight:T=!0}=l||{},g=d!=null?d:await ue(this.connection);if(s.forEach(async(h,b)=>{h.recentBlockhash=g,u[b].length&&h.sign(...u[b])}),oe(s),(A=this.owner)!=null&&A.isKeyPair)return{txIds:await Promise.all(s.map(async(h,b)=>await rt(this.connection,h,u[b].find(w=>w.publicKey.equals(this.owner.publicKey))?u[b]:[...u[b],this.owner.signer],{skipPreflight:T}))),signedTxs:s};if(this.signAllTransactions){let h=await this.signAllTransactions(s);if(m){let b=0,w=[],P=async()=>{if(!h[b])return;let I=await this.connection.sendRawTransaction(h[b].serialize(),{skipPreflight:T});w.push({txId:I,status:"sent",signedTx:h[b]}),f==null||f([...w]),b++,this.connection.onSignature(I,R=>{let E=w.findIndex(V=>V.txId===I);E>-1&&(w[E].status=R.err?"error":"success"),f==null||f([...w]),R.err||P()},"processed"),this.connection.getSignatureStatus(I)};return await P(),{txIds:w.map(I=>I.txId),signedTxs:h}}else{let b=[];for(let w=0;w<h.length;w+=1){let P=await this.connection.sendRawTransaction(h[w].serialize(),{skipPreflight:T});b.push(P)}return{txIds:b,signedTxs:h}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuildV0(t){let A=t||{},{computeBudgetConfig:n,lookupTableCache:r={},lookupTableAddress:i=[]}=A,o=Ie(A,["computeBudgetConfig","lookupTableCache","lookupTableAddress"]),s=L(L({},this.cluster==="devnet"?{}:_e),r),u=Array.from(new Set([...this.lookupTableAddress,...i])),c=[];for(let h of u)s[h]===void 0&&c.push(new Te(h));let a=await nt({connection:this.connection,address:c});for(let[h,b]of Object.entries(a))s[h]=b;let l=n?Be(n):{instructions:[],instructionTypes:[]},m=await ue(this.connection),f=this.signers.reduce((h,b)=>U(L({},h),{[b.publicKey.toBase58()]:b}),{}),d=[],T=[],g=[];if(this.allInstructions.forEach(h=>{let b=[...g,h],w=n?[...l.instructions,...b]:b;if(g.length<12&&de({instructions:w,payer:this.feePayer,lookupTableAddressAccount:s})||de({instructions:b,payer:this.feePayer,lookupTableAddressAccount:s}))g.push(h);else{if(g.length===0)throw Error("item ins too big");let P={};for(let I of[...new Set(u)])s[I]!==void 0&&(P[I]=s[I]);if(n&&de({instructions:[...l.instructions,...g],payer:this.feePayer,lookupTableAddressAccount:s,recentBlockhash:m})){let I=new xe({payerKey:this.feePayer,recentBlockhash:m,instructions:[...l.instructions,...g]}).compileToV0Message(Object.values(s));d.push(new Ae(I))}else{let I=new xe({payerKey:this.feePayer,recentBlockhash:m,instructions:[...g]}).compileToV0Message(Object.values(s));d.push(new Ae(I))}T.push(Array.from(new Set(g.map(I=>I.keys.filter(R=>R.isSigner).map(R=>R.pubkey.toString())).flat())).map(I=>f[I]).filter(I=>I!==void 0)),g=[h]}}),g.length>0){let b=[...new Set(g.map(w=>w.keys.filter(P=>P.isSigner).map(P=>P.pubkey.toString())).flat()).values()].map(w=>f[w]).filter(w=>w!==void 0);if(n&&de({instructions:[...l.instructions,...g],payer:this.feePayer,lookupTableAddressAccount:s,recentBlockhash:m})){let w=new xe({payerKey:this.feePayer,recentBlockhash:m,instructions:[...l.instructions,...g]}).compileToV0Message(Object.values(s));d.push(new Ae(w))}else{let w=new xe({payerKey:this.feePayer,recentBlockhash:m,instructions:[...g]}).compileToV0Message(Object.values(s));d.push(new Ae(w))}T.push(b)}return{builder:this,transactions:d,buildProps:t,signers:T,instructionTypes:this.instructionTypes,execute:async h=>{var R;let{sequentially:b,onTxUpdate:w,recentBlockHash:P,skipPreflight:I=!0}=h||{};if(d.map(async(E,V)=>{T[V].length&&E.sign(T[V]),P&&(E.message.recentBlockhash=P)}),oe(d),(R=this.owner)!=null&&R.isKeyPair){let{lastValidBlockHeight:E,blockhash:V}=await this.connection.getLatestBlockhash();return d.forEach((v,z)=>{T[z].find(_=>_.publicKey.equals(this.owner.publicKey))||v.sign([this.owner.signer])}),{txIds:await Promise.all(d.map(async v=>{let z=await this.connection.sendTransaction(v,{skipPreflight:I});return await this.connection.confirmTransaction({blockhash:V,lastValidBlockHeight:E,signature:z},"confirmed"),z})),signedTxs:d}}if(this.signAllTransactions){let E=await this.signAllTransactions(d);if(b){let V=0,v=[],z=async()=>{if(!E[V])return;let _=await this.connection.sendTransaction(E[V],{skipPreflight:I});v.push({txId:_,status:"sent",signedTx:E[V]}),w==null||w([...v]),V++,this.connection.onSignature(_,re=>{let ie=v.findIndex(fe=>fe.txId===_);ie>-1&&(v[ie].status=re.err?"error":"success"),w==null||w([...v]),re.err||z()},"processed"),this.connection.getSignatureStatus(_)};return z(),{txIds:[],signedTxs:E}}else{let V=[];for(let v=0;v<E.length;v+=1){let z=await this.connection.sendTransaction(E[v],{skipPreflight:I});V.push(z)}return{txIds:V,signedTxs:E}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:o||{}}}};var it=(...e)=>e.map(t=>{try{return typeof t=="object"?JSON.stringify(t):t}catch{return t}}).join(", "),ke=class{constructor({scope:t,moduleName:n}){this.disabled=!1;this.scope=t,this.logger=G(n)}createTxBuilder(t){return this.scope.checkOwner(),new Ke({connection:this.scope.connection,feePayer:t||this.scope.ownerPubKey,cluster:this.scope.cluster,owner:this.scope.owner,signAllTransactions:this.scope.signAllTransactions})}logDebug(...t){this.logger.debug(it(t))}logInfo(...t){this.logger.info(it(t))}logAndCreateError(...t){let n=it(t);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};var at=class extends ke{constructor(n){super(n);this._tokenList=[];this._tokenMap=new Map;this._blackTokenMap=new Map;this._mintGroup={official:new Set,jup:new Set,extra:new Set};this._whiteMap=new Set;this._extraTokenList=[]}async load(n){this.checkDisabled();let{forceUpdate:r=!1,type:i="strict"}=n||{},{mintList:o,blacklist:s,whiteList:u}=await this.scope.fetchV3TokenList(r),c=await this.scope.fetchJupTokenList(i,r);this._tokenList=[],this._tokenMap=new Map,this._blackTokenMap=new Map,this._mintGroup={official:new Set,jup:new Set,extra:new Set},this._whiteMap=new Set(u),this._tokenMap.set(se.address,se),this._mintGroup.official.add(se.address),s.forEach(a=>{this._blackTokenMap.set(a.address,U(L({},a),{priority:-1}))}),o.forEach(a=>{var l;this._blackTokenMap.has(a.address)||(this._tokenMap.set(a.address,U(L({},a),{type:"raydium",priority:2,programId:(l=a.programId)!=null?l:a.tags.includes("token-2022")?ot.toBase58():st.toBase58()})),this._mintGroup.official.add(a.address))}),c.forEach(a=>{var l;this._blackTokenMap.has(a.address)||this._tokenMap.has(a.address)||(this._tokenMap.set(a.address,U(L({},a),{type:"jupiter",priority:1,programId:(l=a.programId)!=null?l:a.tags.includes("token-2022")?ot.toBase58():st.toBase58()})),this._mintGroup.jup.add(a.address))}),this._extraTokenList.forEach(a=>{this._blackTokenMap.has(a.address)||this._tokenMap.has(a.address)||(this._tokenMap.set(a.address,U(L({},a),{type:"extra",priority:1,programId:a.programId||a.tags.includes("token-2022")?ot.toBase58():st.toBase58()})),this._mintGroup.extra.add(a.address))}),this._tokenList=Array.from(this._tokenMap).map(a=>a[1])}get tokenList(){return this._tokenList}get tokenMap(){return this._tokenMap}get blackTokenMap(){return this._blackTokenMap}get mintGroup(){return this._mintGroup}get whiteListMap(){return this._whiteMap}async getTokenInfo(n){if(!n)throw new Error("please input mint");let r=n.toString(),i=this._tokenMap.get(r);if(i)return i;if(r.toLocaleUpperCase()==="SOL")return se;let o=(await this.scope.api.getTokenInfo([r]))[0];if(o)return this._mintGroup.extra.add(r),this._tokenMap.set(r,U(L({},o),{priority:2})),o;let s=await this.scope.connection.getAccountInfo(new mr(r));if(!s)throw new Error(`mint address not found: ${r}`);let u=fr.decode(s.data),c=r.toString().substring(0,6),a={chainId:101,address:r,programId:s.owner.toBase58(),logoURI:"",symbol:c,name:c,decimals:u.decimals,tags:[],extensions:{},priority:0,type:"unknown"};return this._mintGroup.extra.add(r),this._tokenMap.set(r,a),a}};export{at as default};
|
|
2
2
|
//# sourceMappingURL=token.mjs.map
|