@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.
Files changed (110) hide show
  1. package/lib/api/api.d.ts +2 -1
  2. package/lib/api/api.js +1 -1
  3. package/lib/api/api.js.map +1 -1
  4. package/lib/api/api.mjs +1 -1
  5. package/lib/api/api.mjs.map +1 -1
  6. package/lib/api/index.d.ts +1 -1
  7. package/lib/api/index.js +1 -1
  8. package/lib/api/index.js.map +1 -1
  9. package/lib/api/index.mjs +1 -1
  10. package/lib/api/index.mjs.map +1 -1
  11. package/lib/api/type.d.ts +1 -1
  12. package/lib/api/type.js.map +1 -1
  13. package/lib/api/type.mjs.map +1 -1
  14. package/lib/common/accountInfo.d.ts +1 -1
  15. package/lib/common/bignumber.d.ts +1 -1
  16. package/lib/common/fractionUtil.d.ts +1 -1
  17. package/lib/common/index.d.ts +1 -1
  18. package/lib/common/transfer.d.ts +1 -1
  19. package/lib/common/txTool/txTool.d.ts +1 -1
  20. package/lib/common/txTool/txUtils.d.ts +1 -1
  21. package/lib/common/utility.d.ts +1 -1
  22. package/lib/index.d.ts +3 -3
  23. package/lib/index.js +1 -1
  24. package/lib/index.js.map +1 -1
  25. package/lib/index.mjs +1 -1
  26. package/lib/index.mjs.map +1 -1
  27. package/lib/module/amount.d.ts +1 -1
  28. package/lib/module/fraction.d.ts +1 -1
  29. package/lib/module/index.d.ts +1 -1
  30. package/lib/module/percent.d.ts +1 -1
  31. package/lib/module/price.d.ts +1 -1
  32. package/lib/raydium/account/account.d.ts +3 -3
  33. package/lib/raydium/account/index.d.ts +1 -1
  34. package/lib/raydium/account/instruction.d.ts +1 -1
  35. package/lib/raydium/account/types.d.ts +1 -1
  36. package/lib/raydium/account/util.d.ts +1 -1
  37. package/lib/raydium/clmm/clmm.d.ts +3 -3
  38. package/lib/raydium/clmm/index.d.ts +3 -3
  39. package/lib/raydium/clmm/instrument.d.ts +2 -2
  40. package/lib/raydium/clmm/type.d.ts +2 -2
  41. package/lib/raydium/clmm/utils/math.d.ts +2 -2
  42. package/lib/raydium/clmm/utils/pool.d.ts +2 -2
  43. package/lib/raydium/clmm/utils/position.d.ts +2 -2
  44. package/lib/raydium/clmm/utils/tick.d.ts +2 -2
  45. package/lib/raydium/clmm/utils/tickQuery.d.ts +2 -2
  46. package/lib/raydium/clmm/utils/tickarrayBitmap.d.ts +2 -2
  47. package/lib/raydium/cpmm/cpmm.d.ts +3 -3
  48. package/lib/raydium/cpmm/index.d.ts +1 -1
  49. package/lib/raydium/cpmm/type.d.ts +1 -1
  50. package/lib/raydium/farm/config.d.ts +1 -1
  51. package/lib/raydium/farm/farm.d.ts +3 -3
  52. package/lib/raydium/farm/index.d.ts +1 -1
  53. package/lib/raydium/farm/instruction.d.ts +1 -1
  54. package/lib/raydium/farm/layout.d.ts +1 -1
  55. package/lib/raydium/farm/type.d.ts +1 -1
  56. package/lib/raydium/farm/util.d.ts +1 -1
  57. package/lib/raydium/ido/ido.d.ts +3 -3
  58. package/lib/raydium/ido/index.d.ts +3 -3
  59. package/lib/raydium/ido/instruction.d.ts +1 -1
  60. package/lib/raydium/ido/type.d.ts +1 -1
  61. package/lib/raydium/index.d.ts +3 -3
  62. package/lib/raydium/index.js +1 -1
  63. package/lib/raydium/index.js.map +1 -1
  64. package/lib/raydium/index.mjs +1 -1
  65. package/lib/raydium/index.mjs.map +1 -1
  66. package/lib/raydium/liquidity/index.d.ts +1 -1
  67. package/lib/raydium/liquidity/instruction.d.ts +1 -1
  68. package/lib/raydium/liquidity/liquidity.d.ts +3 -3
  69. package/lib/raydium/liquidity/type.d.ts +1 -1
  70. package/lib/raydium/liquidity/utils.d.ts +1 -1
  71. package/lib/raydium/marketV2/createMarket.d.ts +3 -3
  72. package/lib/raydium/marketV2/createMarket.js +1 -1
  73. package/lib/raydium/marketV2/createMarket.js.map +1 -1
  74. package/lib/raydium/marketV2/createMarket.mjs +1 -1
  75. package/lib/raydium/marketV2/createMarket.mjs.map +1 -1
  76. package/lib/raydium/marketV2/index.d.ts +3 -3
  77. package/lib/raydium/marketV2/index.js +1 -1
  78. package/lib/raydium/marketV2/index.js.map +1 -1
  79. package/lib/raydium/marketV2/index.mjs +1 -1
  80. package/lib/raydium/marketV2/index.mjs.map +1 -1
  81. package/lib/raydium/moduleBase.d.ts +3 -3
  82. package/lib/raydium/raydium.d.ts +3 -3
  83. package/lib/raydium/raydium.js +1 -1
  84. package/lib/raydium/raydium.js.map +1 -1
  85. package/lib/raydium/raydium.mjs +1 -1
  86. package/lib/raydium/raydium.mjs.map +1 -1
  87. package/lib/raydium/token/constant.d.ts +1 -1
  88. package/lib/raydium/token/index.d.ts +1 -1
  89. package/lib/raydium/token/token.d.ts +3 -3
  90. package/lib/raydium/token/token.js +1 -1
  91. package/lib/raydium/token/token.js.map +1 -1
  92. package/lib/raydium/token/token.mjs +1 -1
  93. package/lib/raydium/token/token.mjs.map +1 -1
  94. package/lib/raydium/token/type.d.ts +1 -1
  95. package/lib/raydium/token/utils.d.ts +1 -1
  96. package/lib/raydium/tradeV2/index.d.ts +2 -2
  97. package/lib/raydium/tradeV2/instrument.d.ts +2 -2
  98. package/lib/raydium/tradeV2/trade.d.ts +3 -3
  99. package/lib/raydium/tradeV2/type.d.ts +2 -2
  100. package/lib/raydium/type.d.ts +1 -1
  101. package/lib/raydium/utils1216/index.d.ts +3 -3
  102. package/lib/raydium/utils1216/utils1216.d.ts +3 -3
  103. package/lib/{raydium-d05441b6.d.ts → raydium-0396913e.d.ts} +4 -2
  104. package/lib/{type-08d7cf11.d.ts → type-085c771c.d.ts} +1 -1
  105. package/lib/{type-15746482.d.ts → type-9fe71e3c.d.ts} +1 -0
  106. package/package.json +1 -1
  107. package/src/api/api.ts +1 -6
  108. package/src/api/type.ts +1 -0
  109. package/src/raydium/marketV2/createMarket.ts +26 -12
  110. package/src/raydium/token/token.ts +6 -1
@@ -1,3 +1,3 @@
1
- var Dn=Object.defineProperty,Kn=Object.defineProperties;var In=Object.getOwnPropertyDescriptors;var Ie=Object.getOwnPropertySymbols;var vt=Object.prototype.hasOwnProperty,_t=Object.prototype.propertyIsEnumerable;var It=(e,t,n)=>t in e?Dn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,q=(e,t)=>{for(var n in t||(t={}))vt.call(t,n)&&It(e,n,t[n]);if(Ie)for(var n of Ie(t))_t.call(t,n)&&It(e,n,t[n]);return e},ne=(e,t)=>Kn(e,In(t));var ve=(e,t)=>{var n={};for(var r in e)vt.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ie)for(var r of Ie(e))t.indexOf(r)<0&&_t.call(e,r)&&(n[r]=e[r]);return n};import{PublicKey as Dt}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Rn}from"@solana/spl-token";import Ke from"bn.js";import{get as Ft,set as vn}from"lodash";import Vt from"dayjs";import _n from"dayjs/plugin/utc";Vt.extend(_n);var ot=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 Vt().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}},Ot={},Fn={};function G(e){let t=Ft(Ot,e);if(!t){let n=Ft(Fn,e);t=new ot({name:e,logLevel:n}),vn(Ot,e,t)}return t}import{PublicKey as Ce,sendAndConfirmTransaction as xt,Transaction as Ee,TransactionMessage as Me,VersionedTransaction as Re}from"@solana/web3.js";import Zr from"axios";var j={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 Li,ComputeBudgetProgram as qt,Transaction as Ut,TransactionMessage as On,Keypair as Gt,VersionedTransaction as Ht}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Vn}from"@solana/spl-token";var Wt=G("Raydium_txUtil"),zt=1644;function _e(e){let t=[],n=[];return e.microLamports&&(t.push(qt.setComputeUnitPrice({microLamports:e.microLamports})),n.push(j.SetComputeUnitPrice)),e.units&&(t.push(qt.setComputeUnitLimit({units:e.units})),n.push(j.SetComputeUnitLimit)),{instructions:t,instructionTypes:n}}async function ge(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 qn(e,t){e.length<1&&Wt.logWithError(`no instructions provided: ${e.toString()}`),t.length<1&&Wt.logWithError(`no signers provided:, ${t.toString()}`);let n=new Ut;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=t[0],n.add(...e);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<zt}catch{return!1}}function Ae({instructions:e,payer:t,signers:n}){return qn(e,[t,...n])}function Be({instructions:e,payer:t,lookupTableAddressAccount:n,recentBlockhash:r=Gt.generate().publicKey.toString()}){let o=new On({payerKey:t,recentBlockhash:r,instructions:e}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new Ht(o).serialize()).toString("base64").length<zt}catch{return!1}}var Wn=e=>Buffer.isBuffer(e)?e:e instanceof Uint8Array?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e);function pe(e){let t=[];return e.forEach(n=>{n instanceof Ut&&(n.recentBlockhash||(n.recentBlockhash=Vn.toBase58()),n.feePayer||(n.feePayer=Gt.generate().publicKey));let r=n.serialize({requireAllSignatures:!1,verifySignatures:!1});n instanceof Ht&&(r=Wn(r));let i=r.toString("base64");t.push(i)}),console.log("simulate tx string:",t),t}import{PublicKey as wn,AddressLookupTableAccount as Ze}from"@solana/web3.js";import{PublicKey as Yr}from"@solana/web3.js";import{getTransferFeeConfig as Gu,unpackMint as Hu}from"@solana/spl-token";import{PublicKey as Is}from"@solana/web3.js";import _s from"bn.js";import Qr from"big.js";import gs from"bn.js";import Y from"bn.js";var he=9e15,se=1e9,st="0123456789abcdef",Oe="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Ve="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",ut={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-he,maxE:he,crypto:!1},Zt,te,A=!0,We="[DecimalError] ",oe=We+"Invalid argument: ",Xt=We+"Precision limit exceeded",Jt=We+"crypto unavailable",$t="[object Decimal]",H=Math.floor,V=Math.pow,Un=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Gn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Hn=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,en=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,X=1e7,P=7,zn=9007199254740991,jn=Oe.length-1,at=Ve.length-1,d={toStringTag:$t};d.absoluteValue=d.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),x(e)};d.ceil=function(){return x(new this.constructor(this),this.e+1,2)};d.clampedTo=d.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(oe+t);return n=r.cmp(e),n<0?e:r.cmp(t)>0?t:new i(r)};d.comparedTo=d.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};d.cosine=d.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())+P,r.rounding=1,n=Qn(r,sn(r,n)),r.precision=e,r.rounding=t,x(te==2||te==3?n.neg():n,e,t,!0)):new r(1):new r(NaN)};d.cubeRoot=d.cbrt=function(){var e,t,n,r,i,o,s,u,c,a,f=this,l=f.constructor;if(!f.isFinite()||f.isZero())return new l(f);for(A=!1,o=f.s*V(f.s*f,1/3),!o||Math.abs(o)==1/0?(n=W(f.d),e=f.e,(o=(e-n.length+1)%3)&&(n+=o==1||o==-2?"0":"00"),o=V(n,1/3),e=H((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 l(n),r.s=f.s):r=new l(o.toString()),s=(e=l.precision)+3;;)if(u=r,c=u.times(u).times(u),a=c.plus(f),r=E(a.plus(f).times(u),a.plus(c),s+2,1),W(u.d).slice(0,s)===(n=W(r.d)).slice(0,s))if(n=n.slice(s-3,s+1),n=="9999"||!i&&n=="4999"){if(!i&&(x(u,e+1,0),u.times(u).times(u).eq(f))){r=u;break}s+=4,i=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(x(r,e+1,1),t=!r.times(r).times(r).eq(f));break}return A=!0,x(r,e,l.rounding,t)};d.decimalPlaces=d.dp=function(){var e,t=this.d,n=NaN;if(t){if(e=t.length-1,n=(e-H(this.e/P))*P,e=t[e],e)for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n};d.dividedBy=d.div=function(e){return E(this,new this.constructor(e))};d.dividedToIntegerBy=d.divToInt=function(e){var t=this,n=t.constructor;return x(E(t,new n(e),0,1,1),n.precision,n.rounding)};d.equals=d.eq=function(e){return this.cmp(e)===0};d.floor=function(){return x(new this.constructor(this),this.e+1,3)};d.greaterThan=d.gt=function(e){return this.cmp(e)>0};d.greaterThanOrEqualTo=d.gte=function(e){var t=this.cmp(e);return t==1||t===0};d.hyperbolicCosine=d.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/Ge(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=be(s,1,o.times(t),new s(1),!0);for(var c,a=e,f=new s(8);a--;)c=o.times(o),o=u.minus(c.times(f.minus(c.times(f))));return x(o,s.precision=n,s.rounding=r,!0)};d.hyperbolicSine=d.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=be(o,2,i,i,!0);else{e=1.4*Math.sqrt(r),e=e>16?16:e|0,i=i.times(1/Ge(5,e)),i=be(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,x(i,t,n,!0)};d.hyperbolicTangent=d.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,E(n.sinh(),n.cosh(),r.precision=e,r.rounding=t)):new r(n.s)};d.inverseCosine=d.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()?Z(n,i,o):new n(0):new n(NaN):t.isZero()?Z(n,i+4,o).times(.5):(n.precision=i+6,n.rounding=1,t=t.asin(),e=Z(n,i+4,o).times(.5),n.precision=i,n.rounding=o,e.minus(t))};d.inverseHyperbolicCosine=d.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,A=!1,n=n.times(n).minus(1).sqrt().plus(n),A=!0,r.precision=e,r.rounding=t,n.ln()):new r(n)};d.inverseHyperbolicSine=d.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,A=!1,n=n.times(n).plus(1).sqrt().plus(n),A=!0,r.precision=e,r.rounding=t,n.ln())};d.inverseHyperbolicTangent=d.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?x(new o(i),e,t,!0):(o.precision=n=r-i.e,i=E(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)};d.inverseSine=d.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=Z(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)))};d.inverseTangent=d.atan=function(){var e,t,n,r,i,o,s,u,c,a=this,f=a.constructor,l=f.precision,p=f.rounding;if(a.isFinite()){if(a.isZero())return new f(a);if(a.abs().eq(1)&&l+4<=at)return s=Z(f,l+4,p).times(.25),s.s=a.s,s}else{if(!a.s)return new f(NaN);if(l+4<=at)return s=Z(f,l+4,p).times(.5),s.s=a.s,s}for(f.precision=u=l+10,f.rounding=1,n=Math.min(28,u/P+2|0),e=n;e;--e)a=a.div(a.times(a).plus(1).sqrt().plus(1));for(A=!1,t=Math.ceil(u/P),r=1,c=a.times(a),s=new f(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)),A=!0,x(s,f.precision=l,f.rounding=p,!0)};d.isFinite=function(){return!!this.d};d.isInteger=d.isInt=function(){return!!this.d&&H(this.e/P)>this.d.length-2};d.isNaN=function(){return!this.s};d.isNegative=d.isNeg=function(){return this.s<0};d.isPositive=d.isPos=function(){return this.s>0};d.isZero=function(){return!!this.d&&this.d[0]===0};d.lessThan=d.lt=function(e){return this.cmp(e)<0};d.lessThanOrEqualTo=d.lte=function(e){return this.cmp(e)<1};d.logarithm=d.log=function(e){var t,n,r,i,o,s,u,c,a=this,f=a.constructor,l=f.precision,p=f.rounding,m=5;if(e==null)e=new f(10),t=!0;else{if(e=new f(e),n=e.d,e.s<0||!n||!n[0]||e.eq(1))return new f(NaN);t=e.eq(10)}if(n=a.d,a.s<0||!n||!n[0]||a.eq(1))return new f(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(A=!1,u=l+m,s=ie(a,u),r=t?qe(f,u+10):ie(e,u),c=E(s,r,u,1),Se(c.d,i=l,p))do if(u+=10,s=ie(a,u),r=t?qe(f,u+10):ie(e,u),c=E(s,r,u,1),!o){+W(c.d).slice(i+1,i+15)+1==1e14&&(c=x(c,l+1,0));break}while(Se(c.d,i+=10,p));return A=!0,x(c,l,p)};d.minus=d.sub=function(e){var t,n,r,i,o,s,u,c,a,f,l,p,m=this,y=m.constructor;if(e=new y(e),!m.d||!e.d)return!m.s||!e.s?e=new y(NaN):m.d?e.s=-e.s:e=new y(e.d||m.s!==e.s?m:NaN),e;if(m.s!=e.s)return e.s=-e.s,m.plus(e);if(a=m.d,p=e.d,u=y.precision,c=y.rounding,!a[0]||!p[0]){if(p[0])e.s=-e.s;else if(a[0])e=new y(m);else return new y(c===3?-0:0);return A?x(e,u,c):e}if(n=H(e.e/P),f=H(m.e/P),a=a.slice(),o=f-n,o){for(l=o<0,l?(t=a,o=-o,s=p.length):(t=p,n=f,s=a.length),r=Math.max(Math.ceil(u/P),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=p.length,l=r<s,l&&(s=r),r=0;r<s;r++)if(a[r]!=p[r]){l=a[r]<p[r];break}o=0}for(l&&(t=a,a=p,p=t,e.s=-e.s),s=a.length,r=p.length-s;r>0;--r)a[s++]=0;for(r=p.length;r>o;){if(a[--r]<p[r]){for(i=r;i&&a[--i]===0;)a[i]=X-1;--a[i],a[r]+=X}a[r]-=p[r]}for(;a[--s]===0;)a.pop();for(;a[0]===0;a.shift())--n;return a[0]?(e.d=a,e.e=Ue(a,n),A?x(e,u,c):e):new y(c===3?-0:0)};d.modulo=d.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]?x(new r(n),r.precision,r.rounding):(A=!1,r.modulo==9?(t=E(n,e.abs(),0,3,1),t.s*=e.s):t=E(n,e,0,r.modulo,1),t=t.times(e),A=!0,n.minus(t))};d.naturalExponential=d.exp=function(){return ct(this)};d.naturalLogarithm=d.ln=function(){return ie(this)};d.negated=d.neg=function(){var e=new this.constructor(this);return e.s=-e.s,x(e)};d.plus=d.add=function(e){var t,n,r,i,o,s,u,c,a,f,l=this,p=l.constructor;if(e=new p(e),!l.d||!e.d)return!l.s||!e.s?e=new p(NaN):l.d||(e=new p(e.d||l.s===e.s?l:NaN)),e;if(l.s!=e.s)return e.s=-e.s,l.minus(e);if(a=l.d,f=e.d,u=p.precision,c=p.rounding,!a[0]||!f[0])return f[0]||(e=new p(l)),A?x(e,u,c):e;if(o=H(l.e/P),r=H(e.e/P),a=a.slice(),i=o-r,i){for(i<0?(n=a,i=-i,s=f.length):(n=f,r=o,s=a.length),o=Math.ceil(u/P),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=f.length,s-i<0&&(i=s,n=f,f=a,a=n),t=0;i;)t=(a[--i]=a[i]+f[i]+t)/X|0,a[i]%=X;for(t&&(a.unshift(t),++r),s=a.length;a[--s]==0;)a.pop();return e.d=a,e.e=Ue(a,r),A?x(e,u,c):e};d.precision=d.sd=function(e){var t,n=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(oe+e);return n.d?(t=tn(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t};d.round=function(){var e=this,t=e.constructor;return x(new t(e),e.e+1,t.rounding)};d.sine=d.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())+P,r.rounding=1,n=Zn(r,sn(r,n)),r.precision=e,r.rounding=t,x(te>2?n.neg():n,e,t,!0)):new r(NaN)};d.squareRoot=d.sqrt=function(){var e,t,n,r,i,o,s=this,u=s.d,c=s.e,a=s.s,f=s.constructor;if(a!==1||!u||!u[0])return new f(!a||a<0&&(!u||u[0])?NaN:u?s:1/0);for(A=!1,a=Math.sqrt(+s),a==0||a==1/0?(t=W(u),(t.length+c)%2==0&&(t+="0"),a=Math.sqrt(t),c=H((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 f(t)):r=new f(a.toString()),n=(c=f.precision)+3;;)if(o=r,r=o.plus(E(s,o,n+2,1)).times(.5),W(o.d).slice(0,n)===(t=W(r.d)).slice(0,n))if(t=t.slice(n-3,n+1),t=="9999"||!i&&t=="4999"){if(!i&&(x(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")&&(x(r,c+1,1),e=!r.times(r).eq(s));break}return A=!0,x(r,c,f.rounding,e)};d.tangent=d.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=E(n,new r(1).minus(n.times(n)).sqrt(),e+10,0),r.precision=e,r.rounding=t,x(te==2||te==4?n.neg():n,e,t,!0)):new r(NaN)};d.times=d.mul=function(e){var t,n,r,i,o,s,u,c,a,f=this,l=f.constructor,p=f.d,m=(e=new l(e)).d;if(e.s*=f.s,!p||!p[0]||!m||!m[0])return new l(!e.s||p&&!p[0]&&!m||m&&!m[0]&&!p?NaN:!p||!m?e.s/0:e.s*0);for(n=H(f.e/P)+H(e.e/P),c=p.length,a=m.length,c<a&&(o=p,p=m,m=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]+m[r]*p[i-r-1]+t,o[i--]=u%X|0,t=u/X|0;o[i]=(o[i]+t)%X|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=Ue(o,n),A?x(e,l.precision,l.rounding):e};d.toBinary=function(e,t){return ft(this,2,e,t)};d.toDecimalPlaces=d.toDP=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(Q(e,0,se),t===void 0?t=r.rounding:Q(t,0,8),x(n,e+n.e+1,t))};d.toExponential=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=$(r,!0):(Q(e,0,se),t===void 0?t=i.rounding:Q(t,0,8),r=x(new i(r),e+1,t),n=$(r,!0,e+1)),r.isNeg()&&!r.isZero()?"-"+n:n};d.toFixed=function(e,t){var n,r,i=this,o=i.constructor;return e===void 0?n=$(i):(Q(e,0,se),t===void 0?t=o.rounding:Q(t,0,8),r=x(new o(i),e+i.e+1,t),n=$(r,!1,e+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n};d.toFraction=function(e){var t,n,r,i,o,s,u,c,a,f,l,p,m=this,y=m.d,g=m.constructor;if(!y)return new g(m);if(a=n=new g(1),r=c=new g(0),t=new g(r),o=t.e=tn(y)-m.e-1,s=o%P,t.d[0]=V(10,s<0?P+s:s),e==null)e=o>0?t:a;else{if(u=new g(e),!u.isInt()||u.lt(a))throw Error(oe+u);e=u.gt(t)?o>0?t:a:u}for(A=!1,u=new g(W(y)),f=g.precision,g.precision=o=y.length*P*2;l=E(u,t,0,1,1),i=n.plus(l.times(r)),i.cmp(e)!=1;)n=r,r=i,i=a,a=c.plus(l.times(i)),c=i,i=t,t=u.minus(l.times(i)),u=i;return i=E(e.minus(n),r,0,1,1),c=c.plus(i.times(a)),n=n.plus(i.times(r)),c.s=a.s=m.s,p=E(a,r,o,1).minus(m).abs().cmp(E(c,n,o,1).minus(m).abs())<1?[a,r]:[c,n],g.precision=f,A=!0,p};d.toHexadecimal=d.toHex=function(e,t){return ft(this,16,e,t)};d.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:Q(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]?(A=!1,n=E(n,e,0,t,1).times(e),A=!0,x(n)):(e.s=n.s,n=e),n};d.toNumber=function(){return+this};d.toOctal=function(e,t){return ft(this,8,e,t)};d.toPower=d.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(V(+u,a));if(u=new c(u),u.eq(1))return u;if(r=c.precision,o=c.rounding,e.eq(1))return x(u,r,o);if(t=H(e.e/P),t>=e.d.length-1&&(n=a<0?-a:a)<=zn)return i=nn(c,u,n,r),e.s<0?new c(1).div(i):x(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=V(+u,a),t=n==0||!isFinite(n)?H(a*(Math.log("0."+W(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):(A=!1,c.rounding=u.s=1,n=Math.min(12,(t+"").length),i=ct(e.times(ie(u,r+n)),r),i.d&&(i=x(i,r+5,1),Se(i.d,r,o)&&(t=r+10,i=x(ct(e.times(ie(u,t+n)),t),t+5,1),+W(i.d).slice(r+1,r+15)+1==1e14&&(i=x(i,r+1,0)))),i.s=s,A=!0,c.rounding=o,x(i,r,o))};d.toPrecision=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=$(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(Q(e,1,se),t===void 0?t=i.rounding:Q(t,0,8),r=x(new i(r),e,t),n=$(r,e<=r.e||r.e<=i.toExpNeg,e)),r.isNeg()&&!r.isZero()?"-"+n:n};d.toSignificantDigits=d.toSD=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(Q(e,1,se),t===void 0?t=r.rounding:Q(t,0,8)),x(new r(n),e,t)};d.toString=function(){var e=this,t=e.constructor,n=$(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n};d.truncated=d.trunc=function(){return x(new this.constructor(this),this.e+1,1)};d.valueOf=d.toJSON=function(){var e=this,t=e.constructor,n=$(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};function W(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=P-r.length,n&&(o+=re(n)),o+=r;s=e[t],r=s+"",n=P-r.length,n&&(o+=re(n))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function Q(e,t,n){if(e!==~~e||e<t||e>n)throw Error(oe+e)}function Se(e,t,n,r){var i,o,s,u;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=P,i=0):(i=Math.ceil((t+1)/P),t%=P),o=V(10,P-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)==V(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)==V(10,t-3)-1,s}function Fe(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]+=st.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 Qn(e,t){var n,r,i;if(t.isZero())return t;r=t.d.length,r<32?(n=Math.ceil(r/3),i=(1/Ge(4,n)).toString()):(n=16,i="2.3283064365386962890625e-10"),e.precision+=n,t=be(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 E=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,f,l,p,m,y,g,T,h,w,b,B,S,N,C,R,v,_,K,ee,fe=r.constructor,Pe=r.s==i.s?1:-1,U=r.d,M=i.d;if(!U||!U[0]||!M||!M[0])return new fe(!r.s||!i.s||(U?M&&U[0]==M[0]:!M)?NaN:U&&U[0]==0||!M?Pe*0:Pe/0);for(c?(m=1,f=r.e-i.e):(c=X,m=P,f=H(r.e/m)-H(i.e/m)),K=M.length,v=U.length,h=new fe(Pe),w=h.d=[],l=0;M[l]==(U[l]||0);l++);if(M[l]>(U[l]||0)&&f--,o==null?(N=o=fe.precision,s=fe.rounding):u?N=o+(r.e-i.e)+1:N=o,N<0)w.push(1),y=!0;else{if(N=N/m+2|0,l=0,K==1){for(p=0,M=M[0],N++;(l<v||p)&&N--;l++)C=p*c+(U[l]||0),w[l]=C/M|0,p=C%M|0;y=p||l<v}else{for(p=c/(M[0]+1)|0,p>1&&(M=e(M,p,c),U=e(U,p,c),K=M.length,v=U.length),R=K,b=U.slice(0,K),B=b.length;B<K;)b[B++]=0;ee=M.slice(),ee.unshift(0),_=M[0],M[1]>=c/2&&++_;do p=0,a=t(M,b,K,B),a<0?(S=b[0],K!=B&&(S=S*c+(b[1]||0)),p=S/_|0,p>1?(p>=c&&(p=c-1),g=e(M,p,c),T=g.length,B=b.length,a=t(g,b,T,B),a==1&&(p--,n(g,K<T?ee:M,T,c))):(p==0&&(a=p=1),g=M.slice()),T=g.length,T<B&&g.unshift(0),n(b,g,B,c),a==-1&&(B=b.length,a=t(M,b,K,B),a<1&&(p++,n(b,K<B?ee:M,B,c))),B=b.length):a===0&&(p++,b=[0]),w[l++]=p,a&&b[0]?b[B++]=U[R]||0:(b=[U[R]],B=1);while((R++<v||b[0]!==void 0)&&N--);y=b[0]!==void 0}w[0]||w.shift()}if(m==1)h.e=f,Zt=y;else{for(l=1,p=w[0];p>=10;p/=10)l++;h.e=l+f*m-1,x(h,u?o+h.e+1:o,s,y)}return h}}();function x(e,t,n,r){var i,o,s,u,c,a,f,l,p,m=e.constructor;e:if(t!=null){if(l=e.d,!l)return e;for(i=1,u=l[0];u>=10;u/=10)i++;if(o=t-i,o<0)o+=P,s=t,f=l[p=0],c=f/V(10,i-s-1)%10|0;else if(p=Math.ceil((o+1)/P),u=l.length,p>=u)if(r){for(;u++<=p;)l.push(0);f=c=0,i=1,o%=P,s=o-P+1}else break e;else{for(f=u=l[p],i=1;u>=10;u/=10)i++;o%=P,s=o-P+i,c=s<0?0:f/V(10,i-s-1)%10|0}if(r=r||t<0||l[p+1]!==void 0||(s<0?f:f%V(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?f/V(10,i-s):0:l[p-1])%10&1||n==(e.s<0?8:7)),t<1||!l[0])return l.length=0,a?(t-=e.e+1,l[0]=V(10,(P-t%P)%P),e.e=-t||0):l[0]=e.e=0,e;if(o==0?(l.length=p,u=1,p--):(l.length=p+1,u=V(10,P-o),l[p]=s>0?(f/V(10,i-s)%V(10,s)|0)*u:0),a)for(;;)if(p==0){for(o=1,s=l[0];s>=10;s/=10)o++;for(s=l[0]+=u,u=1;s>=10;s/=10)u++;o!=u&&(e.e++,l[0]==X&&(l[0]=1));break}else{if(l[p]+=u,l[p]!=X)break;l[p--]=0,u=1}for(o=l.length;l[--o]===0;)l.pop()}return A&&(e.e>m.maxE?(e.d=null,e.e=NaN):e.e<m.minE&&(e.e=0,e.d=[0])),e}function $(e,t,n){if(!e.isFinite())return on(e);var r,i=e.e,o=W(e.d),s=o.length;return t?(n&&(r=n-s)>0?o=o.charAt(0)+"."+o.slice(1)+re(r):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+re(-i-1)+o,n&&(r=n-s)>0&&(o+=re(r))):i>=s?(o+=re(i+1-s),n&&(r=n-i-1)>0&&(o=o+"."+re(r))):((r=i+1)<s&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-s)>0&&(i+1===s&&(o+="."),o+=re(r))),o}function Ue(e,t){var n=e[0];for(t*=P;n>=10;n/=10)t++;return t}function qe(e,t,n){if(t>jn)throw A=!0,n&&(e.precision=n),Error(Xt);return x(new e(Oe),t,1,!0)}function Z(e,t,n){if(t>at)throw Error(Xt);return x(new e(Ve),t,n,!0)}function tn(e){var t=e.length-1,n=t*P+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 re(e){for(var t="";e--;)t+="0";return t}function nn(e,t,n,r){var i,o=new e(1),s=Math.ceil(r/P+4);for(A=!1;;){if(n%2&&(o=o.times(t),Qt(o.d,s)&&(i=!0)),n=H(n/2),n===0){n=o.d.length-1,i&&o.d[n]===0&&++o.d[n];break}t=t.times(t),Qt(t.d,s)}return A=!0,o}function jt(e){return e.d[e.d.length-1]&1}function rn(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 ct(e,t){var n,r,i,o,s,u,c,a=0,f=0,l=0,p=e.constructor,m=p.rounding,y=p.precision;if(!e.d||!e.d[0]||e.e>17)return new p(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:0/0);for(t==null?(A=!1,c=y):c=t,u=new p(.03125);e.e>-2;)e=e.times(u),l+=5;for(r=Math.log(V(2,l))/Math.LN10*2+5|0,c+=r,n=o=s=new p(1),p.precision=c;;){if(o=x(o.times(e),c,1),n=n.times(++f),u=s.plus(E(o,n,c,1)),W(u.d).slice(0,c)===W(s.d).slice(0,c)){for(i=l;i--;)s=x(s.times(s),c,1);if(t==null)if(a<3&&Se(s.d,c-r,m,a))p.precision=c+=10,n=o=u=new p(1),f=0,a++;else return x(s,p.precision=y,m,A=!0);else return p.precision=y,s}s=u}}function ie(e,t){var n,r,i,o,s,u,c,a,f,l,p,m=1,y=10,g=e,T=g.d,h=g.constructor,w=h.rounding,b=h.precision;if(g.s<0||!T||!T[0]||!g.e&&T[0]==1&&T.length==1)return new h(T&&!T[0]?-1/0:g.s!=1?NaN:T?0:g);if(t==null?(A=!1,f=b):f=t,h.precision=f+=y,n=W(T),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=W(g.d),r=n.charAt(0),m++;o=g.e,r>1?(g=new h("0."+n),o++):g=new h(r+"."+n.slice(1))}else return a=qe(h,f+2,b).times(o+""),g=ie(new h(r+"."+n.slice(1)),f-y).plus(a),h.precision=b,t==null?x(g,b,w,A=!0):g;for(l=g,c=s=g=E(g.minus(1),g.plus(1),f,1),p=x(g.times(g),f,1),i=3;;){if(s=x(s.times(p),f,1),a=c.plus(E(s,new h(i),f,1)),W(a.d).slice(0,f)===W(c.d).slice(0,f))if(c=c.times(2),o!==0&&(c=c.plus(qe(h,f+2,b).times(o+""))),c=E(c,new h(m),f,1),t==null)if(Se(c.d,f-y,w,u))h.precision=f+=y,a=s=g=E(l.minus(1),l.plus(1),f,1),p=x(g.times(g),f,1),i=u=1;else return x(c,h.precision=b,w,A=!0);else return h.precision=b,c;c=a,i+=2}}function on(e){return String(e.s*e.s/0)}function lt(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)%P,n<0&&(r+=P),r<i){for(r&&e.d.push(+t.slice(0,r)),i-=P;r<i;)e.d.push(+t.slice(r,r+=P));t=t.slice(r),r=P-t.length}else r-=i;for(;r--;)t+="0";e.d.push(+t),A&&(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 Yn(e,t){var n,r,i,o,s,u,c,a,f;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),en.test(t))return lt(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(Gn.test(t))n=16,t=t.toLowerCase();else if(Un.test(t))n=2;else if(Hn.test(t))n=8;else throw Error(oe+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=nn(r,new r(n),o,o*2)),a=Fe(t,n,X),f=a.length-1,o=f;a[o]===0;--o)a.pop();return o<0?new r(e.s*0):(e.e=Ue(a,f),e.d=a,A=!1,s&&(e=E(e,i,u*4)),c&&(e=e.times(Math.abs(c)<54?V(2,c):He.pow(2,c))),A=!0,e)}function Zn(e,t){var n,r=t.d.length;if(r<3)return t.isZero()?t:be(e,2,t,t);n=1.4*Math.sqrt(r),n=n>16?16:n|0,t=t.times(1/Ge(5,n)),t=be(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 be(e,t,n,r,i){var o,s,u,c,a=1,f=e.precision,l=Math.ceil(f/P);for(A=!1,c=n.times(n),u=new e(r);;){if(s=E(u.times(c),new e(t++*t++),f,1),u=i?r.plus(s):r.minus(s),r=E(s.times(c),new e(t++*t++),f,1),s=u.plus(r),s.d[l]!==void 0){for(o=l;s.d[o]===u.d[o]&&o--;);if(o==-1)break}o=u,u=r,r=s,s=o,a++}return A=!0,s.d.length=l+1,s}function Ge(e,t){for(var n=e;--t;)n*=e;return n}function sn(e,t){var n,r=t.s<0,i=Z(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return te=r?4:1,t;if(n=t.divToInt(i),n.isZero())te=r?3:2;else{if(t=t.minus(n.times(i)),t.lte(o))return te=jt(n)?r?2:3:r?4:1,t;te=jt(n)?r?1:4:r?3:2}return t.minus(i).abs()}function ft(e,t,n,r){var i,o,s,u,c,a,f,l,p,m=e.constructor,y=n!==void 0;if(y?(Q(n,1,se),r===void 0?r=m.rounding:Q(r,0,8)):(n=m.precision,r=m.rounding),!e.isFinite())f=on(e);else{for(f=$(e),s=f.indexOf("."),y?(i=2,t==16?n=n*4-3:t==8&&(n=n*3-2)):i=t,s>=0&&(f=f.replace(".",""),p=new m(1),p.e=f.length-s,p.d=Fe($(p),10,i),p.e=p.d.length),l=Fe(f,10,i),o=c=l.length;l[--c]==0;)l.pop();if(!l[0])f=y?"0p+0":"0";else{if(s<0?o--:(e=new m(e),e.d=l,e.e=o,e=E(e,p,n,r,0,i),l=e.d,o=e.e,a=Zt),s=l[n],u=i/2,a=a||l[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&&l[n-1]&1||r===(e.s<0?8:7)),l.length=n,a)for(;++l[--n]>i-1;)l[n]=0,n||(++o,l.unshift(1));for(c=l.length;!l[c-1];--c);for(s=0,f="";s<c;s++)f+=st.charAt(l[s]);if(y){if(c>1)if(t==16||t==8){for(s=t==16?4:3,--c;c%s;c++)f+="0";for(l=Fe(f,i,t),c=l.length;!l[c-1];--c);for(s=1,f="1.";s<c;s++)f+=st.charAt(l[s])}else f=f.charAt(0)+"."+f.slice(1);f=f+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)f="0"+f;f="0."+f}else if(++o>c)for(o-=c;o--;)f+="0";else o<c&&(f=f.slice(0,o)+"."+f.slice(o))}f=(t==16?"0x":t==2?"0b":t==8?"0o":"")+f}return e.s<0?"-"+f:f}function Qt(e,t){if(e.length>t)return e.length=t,!0}function Xn(e){return new this(e).abs()}function Jn(e){return new this(e).acos()}function $n(e){return new this(e).acosh()}function er(e,t){return new this(e).plus(t)}function tr(e){return new this(e).asin()}function nr(e){return new this(e).asinh()}function rr(e){return new this(e).atan()}function ir(e){return new this(e).atanh()}function or(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=Z(this,o,1).times(t.s>0?.25:.75),n.s=e.s):!t.d||e.isZero()?(n=t.s<0?Z(this,r,i):new this(0),n.s=e.s):!e.d||t.isZero()?(n=Z(this,o,1).times(.5),n.s=e.s):t.s<0?(this.precision=o,this.rounding=1,n=this.atan(E(e,t,o,1)),t=Z(this,o,1),this.precision=r,this.rounding=i,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(E(e,t,o,1)),n}function sr(e){return new this(e).cbrt()}function ur(e){return x(e=new this(e),e.e+1,2)}function ar(e,t,n){return new this(e).clamp(t,n)}function cr(e){if(!e||typeof e!="object")throw Error(We+"Object expected");var t,n,r,i=e.defaults===!0,o=["precision",1,se,"rounding",0,8,"toExpNeg",-he,0,"toExpPos",0,he,"maxE",0,he,"minE",-he,0,"modulo",0,9];for(t=0;t<o.length;t+=3)if(n=o[t],i&&(this[n]=ut[n]),(r=e[n])!==void 0)if(H(r)===r&&r>=o[t+1]&&r<=o[t+2])this[n]=r;else throw Error(oe+n+": "+r);if(n="crypto",i&&(this[n]=ut[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(Jt);else this[n]=!1;else throw Error(oe+n+": "+r);return this}function lr(e){return new this(e).cos()}function fr(e){return new this(e).cosh()}function un(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,Yt(o)){a.s=o.s,A?!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++;A?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 lt(a,o.toString())}else if(c!=="string")throw Error(oe+o);return(u=o.charCodeAt(0))===45?(o=o.slice(1),a.s=-1):(u===43&&(o=o.slice(1)),a.s=1),en.test(o)?lt(a,o):Yn(a,o)}if(i.prototype=d,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=cr,i.clone=un,i.isDecimal=Yt,i.abs=Xn,i.acos=Jn,i.acosh=$n,i.add=er,i.asin=tr,i.asinh=nr,i.atan=rr,i.atanh=ir,i.atan2=or,i.cbrt=sr,i.ceil=ur,i.clamp=ar,i.cos=lr,i.cosh=fr,i.div=pr,i.exp=dr,i.floor=mr,i.hypot=gr,i.ln=hr,i.log=br,i.log10=wr,i.log2=yr,i.max=xr,i.min=Tr,i.mod=Pr,i.mul=Ar,i.pow=Br,i.random=Sr,i.round=Lr,i.sign=kr,i.sin=Nr,i.sinh=Cr,i.sqrt=Er,i.sub=Mr,i.sum=Rr,i.tan=Dr,i.tanh=Kr,i.trunc=Ir,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 pr(e,t){return new this(e).div(t)}function dr(e){return new this(e).exp()}function mr(e){return x(e=new this(e),e.e+1,3)}function gr(){var e,t,n=new this(0);for(A=!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 A=!0,new this(1/0);n=t}return A=!0,n.sqrt()}function Yt(e){return e instanceof He||e&&e.toStringTag===$t||!1}function hr(e){return new this(e).ln()}function br(e,t){return new this(e).log(t)}function yr(e){return new this(e).log(2)}function wr(e){return new this(e).log(10)}function xr(){return rn(this,arguments,"lt")}function Tr(){return rn(this,arguments,"gt")}function Pr(e,t){return new this(e).mod(t)}function Ar(e,t){return new this(e).mul(t)}function Br(e,t){return new this(e).pow(t)}function Sr(e){var t,n,r,i,o=0,s=new this(1),u=[];if(e===void 0?e=this.precision:Q(e,1,se),r=Math.ceil(e/P),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(Jt);else for(;o<r;)u[o++]=Math.random()*1e7|0;for(r=u[--o],e%=P,r&&e&&(i=V(10,P-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-=P)u.shift();for(r=1,i=u[0];i>=10;i/=10)r++;r<P&&(n-=P-r)}return s.e=n,s.d=u,s}function Lr(e){return x(e=new this(e),e.e+1,this.rounding)}function kr(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function Nr(e){return new this(e).sin()}function Cr(e){return new this(e).sinh()}function Er(e){return new this(e).sqrt()}function Mr(e,t){return new this(e).sub(t)}function Rr(){var e=0,t=arguments,n=new this(t[e]);for(A=!1;n.s&&++e<t.length;)n=n.plus(t[e]);return A=!0,x(n,this.precision,this.rounding)}function Dr(e){return new this(e).tan()}function Kr(e){return new this(e).tanh()}function Ir(e){return x(e=new this(e),e.e+1,1)}d[Symbol.for("nodejs.util.inspect.custom")]=d.toString;d[Symbol.toStringTag]="Decimal";var He=d.constructor=un(ut);Oe=new He(Oe);Ve=new He(Ve);import{PublicKey as dt}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as vr}from"@solana/spl-token";import{PublicKey as I,SystemProgram as cn,SYSVAR_RENT_PUBKEY as _r}from"@solana/web3.js";function pt({pubkey:e,isSigner:t=!1,isWritable:n=!0}){return{pubkey:e,isWritable:n,isSigner:t}}var Fi=[pt({pubkey:vr,isWritable:!1}),pt({pubkey:cn.programId,isWritable:!1}),pt({pubkey:_r,isWritable:!1})];function ln({publicKey:e,transformSol:t}){let n=fn(e.toString());if(n instanceof I)return t&&n.equals(Le)?an:n;if(t&&n.toString()===Le.toBase58())return an;if(typeof n=="string"){if(n===I.default.toBase58())return I.default;try{return new I(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function fn(e){try{return new I(e)}catch{return e}}var Oi=new I("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Vi=new I("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),qi=new I("SysvarRent111111111111111111111111111111111"),Wi=new I("SysvarC1ock11111111111111111111111111111111"),Ui=new I("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Gi=new I("Sysvar1nstructions1111111111111111111111111"),Hi=cn.programId,zi=new I("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),ji=new I("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Qi=new I("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Yi=new I("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Zi=new I("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Xi=new I("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Ji=new I("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),$i=new I("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),eo=new I("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),to=new I("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),no=new I("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),an=new I("So11111111111111111111111111111111111111112"),Le=I.default;import{PublicKey as Fr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as pn}from"@solana/spl-token";var dn={chainId:101,address:Fr.default.toBase58(),programId:pn.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},de={chainId:101,address:"So11111111111111111111111111111111111111112",programId:pn.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 mt=class{constructor({mint:t,decimals:n,symbol:r,name:i,skipMint:o=!1,isToken2022:s=!1}){if(t===Le.toBase58()||t instanceof dt&&Le.equals(t)){this.decimals=de.decimals,this.symbol=de.symbol,this.name=de.name,this.mint=new dt(de.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?dt.default:ln({publicKey:t}),this.isToken2022=s}equals(t){return this===t?!0:this.mint.equals(t.mint)}},ye=mt;ye.WSOL=new mt(ne(q({},de),{mint:de.address}));import je from"big.js";import qr from"bn.js";import Wr from"decimal.js-light";import Or from"toformat";var Vr=Or,ke=Vr;var ze=G("module/fraction"),gt=ke(je),Ne=ke(Wr),Ur={[0]:Ne.ROUND_DOWN,[1]:Ne.ROUND_HALF_UP,[2]:Ne.ROUND_UP},Gr={[0]:je.roundDown,[1]:je.roundHalfUp,[2]:je.roundUp},D=class{constructor(t,n=new qr(1)){this.numerator=ue(t),this.denominator=ue(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new D(this.denominator,this.numerator)}add(t){let n=t instanceof D?t:new D(ue(t));return this.denominator.eq(n.denominator)?new D(this.numerator.add(n.numerator),this.denominator):new D(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof D?t:new D(ue(t));return this.denominator.eq(n.denominator)?new D(this.numerator.sub(n.numerator),this.denominator):new D(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof D?t:new D(ue(t));return new D(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof D?t:new D(ue(t));return new D(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},r=1){Number.isInteger(t)||ze.logWithError(`${t} is not an integer.`),t<=0&&ze.logWithError(`${t} is not positive.`),Ne.set({precision:t+1,rounding:Ur[r]});let i=new Ne(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)||ze.logWithError(`${t} is not an integer.`),t<0&&ze.logWithError(`${t} is negative.`),gt.DP=t,gt.RM=Gr[r]||1,new gt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};var Co=G("Raydium_price");var ht=class{constructor({decimals:t,symbol:n="UNKNOWN",name:r="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=r}equals(t){return this===t}},Qe=ht;Qe.SOL=new ht(dn);import zr from"bn.js";var _o=new D(new zr(100));var Ye=new Y(0),rs=new Y(1),is=new Y(2),os=new Y(3),ss=new Y(5),jr=new Y(10),us=new Y(100),as=new Y(1e3),cs=new Y(1e4),bn=9007199254740991;function ue(e){let t=G("Raydium_parseBigNumberish");if(e instanceof Y)return e;if(typeof e=="string"){if(e.match(/^-?[0-9]+$/))return new Y(e);t.logWithError(`invalid BigNumberish string: ${e}`)}return typeof e=="number"?(e%1&&t.logWithError(`BigNumberish number underflow: ${e}`),(e>=bn||e<=-bn)&&t.logWithError(`BigNumberish number overflow: ${e}`),new Y(String(e))):typeof e=="bigint"?new Y(e.toString()):(t.error(`invalid BigNumberish value: ${e}`),new Y(0))}var As=G("Raydium_amount"),Bs=ke(Qr);function bt(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 F}from"@solana/web3.js";var Hs=new F("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),zs=new F("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),js=new F("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Qs=new F("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Ys=new F("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Zs=new F("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Xs=new F("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Js=new F("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),$s=new F("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),eu=new F("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),tu=new F("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),nu=new F("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),ru=new F("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),iu=new F("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),ou=new F("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),su=new F("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),uu=new F("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),au=new F("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"),cu=new F("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),lu=new F("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2");import{PublicKey as mu}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as bu}from"@solana/spl-token";import xu from"bn.js";var yt=G("Raydium_accountInfo_util");async function yn(e,t,n){let{batchRequest:r,commitment:i="confirmed"}=q({batchRequest:!1},n),o=bt(t,100),s=new Array(o.length).fill([]);if(r){let u=o.map(f=>{let l=e._buildArgs([f.map(p=>p.toBase58())],i,"base64");return{methodName:"getMultipleAccounts",args:l}}),c=bt(u,10);s=(await(await Promise.all(c.map(async f=>await e._rpcBatchRequest(f)))).flat()).map(f=>(f.error&&yt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${f.error.message}`),f.result.value.map(l=>{if(l){let{data:p,executable:m,lamports:y,owner:g,rentEpoch:T}=l;return p.length!==2&&p[1]!=="base64"&&yt.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(p[0],"base64"),executable:m,lamports:y,owner:new Yr(g),rentEpoch:T}}return null})))}else try{s=await Promise.all(o.map(u=>e.getMultipleAccountsInfo(u,i)))}catch(u){u instanceof Error&&yt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${u.message}`)}return s.flat()}async function wt({connection:e,address:t}){let n=await yn(e,[...new Set(t.map(i=>i.toString()))].map(i=>new wn(i))),r={};for(let i=0;i<t.length;i++){let o=n[i],s=t[i];if(!o)continue;let u=new Ze({key:s,state:Ze.deserialize(o.data)});r[s.toString()]=u,Xe[s.toString()]=u}return r}var Xe={"2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17":new Ze({key:new wn("2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17"),state:Ze.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 Je=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 Zr.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}=_e(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!==Ce.default.toString())),this}async versionBuild({txVersion:t,extInfo:n}){return t===0?await this.buildV0(q({},n||{})):this.build(n)}build(t){let n=new Ee;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 ge(this.connection);if(n.recentBlockhash=s,this.signers.length&&n.sign(...this.signers),pe([n]),(u=this.owner)!=null&&u.isKeyPair)return{txId:await xt(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:f,onTxUpdate:l,recentBlockHash:p,skipPreflight:m=!0}=a||{},y=p!=null?p:await ge(this.connection);if((g=this.owner)!=null&&g.isKeyPair)return{txIds:await await Promise.all(s.map(async(T,h)=>(T.recentBlockhash=y,await xt(this.connection,T,u[h].find(w=>w.publicKey.equals(this.owner.publicKey))?u[h]:[...u[h],this.owner.signer],{skipPreflight:m})))),signedTxs:s};if(this.signAllTransactions){let T=s.map((w,b)=>(w.recentBlockhash=y,u[b].length&&w.sign(...u[b]),w));pe(T);let h=await this.signAllTransactions(T);if(f){let w=0,b=[],B=async()=>{if(!h[w])return;let S=await this.connection.sendRawTransaction(h[w].serialize(),{skipPreflight:m});b.push({txId:S,status:"sent",signedTx:h[w]}),l==null||l([...b]),w++,this.connection.onSignature(S,N=>{let C=b.findIndex(R=>R.txId===S);C>-1&&(b[C].status=N.err?"error":"success"),l==null||l([...b]),N.err||B()},"processed"),this.connection.getSignatureStatus(S)};return await B(),{txIds:b.map(S=>S.txId),signedTxs:h}}else{let w=[];for(let b=0;b<h.length;b+=1){let B=await this.connection.sendRawTransaction(h[b].serialize(),{skipPreflight:m});w.push(B)}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 p=t||{},{lookupTableCache:n={},lookupTableAddress:r=[],forerunCreate:i}=p,o=ve(p,["lookupTableCache","lookupTableAddress","forerunCreate"]),s=q(q({},this.cluster==="devnet"?{}:Xe),n),u=Array.from(new Set([...r,...this.lookupTableAddress])),c=[];for(let m of u)s[m]===void 0&&c.push(new Ce(m));let a=await wt({connection:this.connection,address:c});for(let[m,y]of Object.entries(a))s[m]=y;let f=new Me({payerKey:this.feePayer,recentBlockhash:i?Ce.default.toBase58():await ge(this.connection),instructions:[...this.allInstructions]}).compileToV0Message(Object.values(s)),l=new Re(f);return l.sign(this.signers),{builder:this,transaction:l,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async m=>{var T;let{recentBlockHash:y,skipPreflight:g=!0}=m||{};if(y&&(l.message.recentBlockhash=y),pe([l]),(T=this.owner)!=null&&T.isKeyPair){this.signers.find(B=>B.publicKey.equals(this.owner.publicKey))||l.sign([this.owner.signer]);let h=await this.connection.sendTransaction(l,{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:l}}if(this.signAllTransactions){let h=await this.signAllTransactions([l]);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,f)=>{a.sign(u[f])}),{builder:this,transactions:s,signers:u,instructionTypes:c,buildProps:r,execute:async a=>{var y;let{sequentially:f,onTxUpdate:l,recentBlockHash:p,skipPreflight:m=!0}=a||{};if(p&&s.forEach(g=>g.message.recentBlockhash=p),pe(s),(y=this.owner)!=null&&y.isKeyPair){let{lastValidBlockHeight:g,blockhash:T}=await this.connection.getLatestBlockhash();return s.forEach((h,w)=>{u[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:m});return await this.connection.confirmTransaction({blockhash:T,lastValidBlockHeight:g,signature:w},"confirmed"),w})),signedTxs:s}}if(this.signAllTransactions){let g=await this.signAllTransactions(s);if(f){let T=0,h=[],w=async()=>{if(!g[T])return;let b=await this.connection.sendTransaction(g[T],{skipPreflight:m});h.push({txId:b,status:"sent",signedTx:g[T]}),l==null||l([...h]),T++,this.connection.onSignature(b,B=>{let S=h.findIndex(N=>N.txId===b);S>-1&&(h[S].status=B.err?"error":"success"),l==null||l([...h]),B.err||w()},"processed"),this.connection.getSignatureStatus(b)};return w(),{txIds:[],signedTxs:g}}else{let T=[];for(let h=0;h<g.length;h+=1){let w=await this.connection.sendTransaction(g[h],{skipPreflight:m});T.push(w)}return{txIds:T,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=ve(a,["computeBudgetConfig"]),i=n?_e(n):{instructions:[],instructionTypes:[]},o=this.signers.reduce((f,l)=>ne(q({},f),{[l.publicKey.toBase58()]:l}),{}),s=[],u=[],c=[];if(this.allInstructions.forEach(f=>{let l=[...c,f],p=n?[...i.instructions,...l]:l,y=[...new Set(l.map(g=>g.keys.filter(T=>T.isSigner).map(T=>T.pubkey.toString())).flat()).values()].map(g=>new Ce(g));if(c.length<12&&Ae({instructions:p,payer:this.feePayer,signers:y})||Ae({instructions:l,payer:this.feePayer,signers:y}))c.push(f);else{if(c.length===0)throw Error("item ins too big");Ae({instructions:n?[...i.instructions,...c]:[...c],payer:this.feePayer,signers:y})?s.push(new Ee().add(...i.instructions,...c)):s.push(new Ee().add(...c)),u.push(Array.from(new Set(c.map(g=>g.keys.filter(T=>T.isSigner).map(T=>T.pubkey.toString())).flat())).map(g=>o[g]).filter(g=>g!==void 0)),c=[f]}}),c.length>0){let l=[...new Set(c.map(p=>p.keys.filter(m=>m.isSigner).map(m=>m.pubkey.toString())).flat()).values()].map(p=>o[p]).filter(p=>p!==void 0);Ae({instructions:n?[...i.instructions,...c]:[...c],payer:this.feePayer,signers:l.map(p=>p.publicKey)})?s.push(new Ee().add(...i.instructions,...c)):s.push(new Ee().add(...c)),u.push(l)}return s.forEach(f=>f.feePayer=this.feePayer),{builder:this,transactions:s,signers:u,instructionTypes:this.instructionTypes,execute:async f=>{var T;let{sequentially:l,onTxUpdate:p,recentBlockHash:m,skipPreflight:y=!0}=f||{},g=m!=null?m:await ge(this.connection);if(s.forEach(async(h,w)=>{h.recentBlockhash=g,u[w].length&&h.sign(...u[w])}),pe(s),(T=this.owner)!=null&&T.isKeyPair)return{txIds:await Promise.all(s.map(async(h,w)=>await xt(this.connection,h,u[w].find(b=>b.publicKey.equals(this.owner.publicKey))?u[w]:[...u[w],this.owner.signer],{skipPreflight:y}))),signedTxs:s};if(this.signAllTransactions){let h=await this.signAllTransactions(s);if(l){let w=0,b=[],B=async()=>{if(!h[w])return;let S=await this.connection.sendRawTransaction(h[w].serialize(),{skipPreflight:y});b.push({txId:S,status:"sent",signedTx:h[w]}),p==null||p([...b]),w++,this.connection.onSignature(S,N=>{let C=b.findIndex(R=>R.txId===S);C>-1&&(b[C].status=N.err?"error":"success"),p==null||p([...b]),N.err||B()},"processed"),this.connection.getSignatureStatus(S)};return await B(),{txIds:b.map(S=>S.txId),signedTxs:h}}else{let w=[];for(let b=0;b<h.length;b+=1){let B=await this.connection.sendRawTransaction(h[b].serialize(),{skipPreflight:y});w.push(B)}return{txIds:w,signedTxs:h}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuildV0(t){let T=t||{},{computeBudgetConfig:n,lookupTableCache:r={},lookupTableAddress:i=[]}=T,o=ve(T,["computeBudgetConfig","lookupTableCache","lookupTableAddress"]),s=q(q({},this.cluster==="devnet"?{}:Xe),r),u=Array.from(new Set([...this.lookupTableAddress,...i])),c=[];for(let h of u)s[h]===void 0&&c.push(new Ce(h));let a=await wt({connection:this.connection,address:c});for(let[h,w]of Object.entries(a))s[h]=w;let f=n?_e(n):{instructions:[],instructionTypes:[]},l=await ge(this.connection),p=this.signers.reduce((h,w)=>ne(q({},h),{[w.publicKey.toBase58()]:w}),{}),m=[],y=[],g=[];if(this.allInstructions.forEach(h=>{let w=[...g,h],b=n?[...f.instructions,...w]:w;if(g.length<12&&Be({instructions:b,payer:this.feePayer,lookupTableAddressAccount:s})||Be({instructions:w,payer:this.feePayer,lookupTableAddressAccount:s}))g.push(h);else{if(g.length===0)throw Error("item ins too big");let B={};for(let S of[...new Set(u)])s[S]!==void 0&&(B[S]=s[S]);if(n&&Be({instructions:[...f.instructions,...g],payer:this.feePayer,lookupTableAddressAccount:s,recentBlockhash:l})){let S=new Me({payerKey:this.feePayer,recentBlockhash:l,instructions:[...f.instructions,...g]}).compileToV0Message(Object.values(s));m.push(new Re(S))}else{let S=new Me({payerKey:this.feePayer,recentBlockhash:l,instructions:[...g]}).compileToV0Message(Object.values(s));m.push(new Re(S))}y.push(Array.from(new Set(g.map(S=>S.keys.filter(N=>N.isSigner).map(N=>N.pubkey.toString())).flat())).map(S=>p[S]).filter(S=>S!==void 0)),g=[h]}}),g.length>0){let w=[...new Set(g.map(b=>b.keys.filter(B=>B.isSigner).map(B=>B.pubkey.toString())).flat()).values()].map(b=>p[b]).filter(b=>b!==void 0);if(n&&Be({instructions:[...f.instructions,...g],payer:this.feePayer,lookupTableAddressAccount:s,recentBlockhash:l})){let b=new Me({payerKey:this.feePayer,recentBlockhash:l,instructions:[...f.instructions,...g]}).compileToV0Message(Object.values(s));m.push(new Re(b))}else{let b=new Me({payerKey:this.feePayer,recentBlockhash:l,instructions:[...g]}).compileToV0Message(Object.values(s));m.push(new Re(b))}y.push(w)}return{builder:this,transactions:m,buildProps:t,signers:y,instructionTypes:this.instructionTypes,execute:async h=>{var N;let{sequentially:w,onTxUpdate:b,recentBlockHash:B,skipPreflight:S=!0}=h||{};if(m.map(async(C,R)=>{y[R].length&&C.sign(y[R]),B&&(C.message.recentBlockhash=B)}),pe(m),(N=this.owner)!=null&&N.isKeyPair){let{lastValidBlockHeight:C,blockhash:R}=await this.connection.getLatestBlockhash();return m.forEach((v,_)=>{y[_].find(K=>K.publicKey.equals(this.owner.publicKey))||v.sign([this.owner.signer])}),{txIds:await Promise.all(m.map(async v=>{let _=await this.connection.sendTransaction(v,{skipPreflight:S});return await this.connection.confirmTransaction({blockhash:R,lastValidBlockHeight:C,signature:_},"confirmed"),_})),signedTxs:m}}if(this.signAllTransactions){let C=await this.signAllTransactions(m);if(w){let R=0,v=[],_=async()=>{if(!C[R])return;let K=await this.connection.sendTransaction(C[R],{skipPreflight:S});v.push({txId:K,status:"sent",signedTx:C[R]}),b==null||b([...v]),R++,this.connection.onSignature(K,ee=>{let fe=v.findIndex(Pe=>Pe.txId===K);fe>-1&&(v[fe].status=ee.err?"error":"success"),b==null||b([...v]),ee.err||_()},"processed"),this.connection.getSignatureStatus(K)};return _(),{txIds:[],signedTxs:C}}else{let R=[];for(let v=0;v<C.length;v+=1){let _=await this.connection.sendTransaction(C[v],{skipPreflight:S});R.push(_)}return{txIds:R,signedTxs:C}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:o||{}}}};var Tt=(...e)=>e.map(t=>{try{return typeof t=="object"?JSON.stringify(t):t}catch{return t}}).join(", "),De=class{constructor({scope:t,moduleName:n}){this.disabled=!1;this.scope=t,this.logger=G(n)}createTxBuilder(t){return this.scope.checkOwner(),new Je({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(Tt(t))}logInfo(...t){this.logger.info(Tt(t))}logAndCreateError(...t){let n=Tt(t);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{PublicKey as li,Keypair as fi}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as pi}from"@solana/spl-token";import Dc from"bn.js";import{PublicKey as ii}from"@solana/web3.js";import Pn,{isBN as cc}from"bn.js";import{bits as Xr,BitStructure as ga,blob as Jr,Blob as ha,cstr as ba,f32 as ya,f32be as wa,f64 as xa,f64be as Ta,greedy as Pa,Layout as $r,ns64 as Aa,ns64be as Ba,nu64 as Sa,nu64be as La,offset as ka,s16 as Na,s16be as Ca,s24 as Ea,s24be as Ma,s32 as Ra,s32be as Da,s40 as Ka,s40be as Ia,s48 as va,s48be as _a,s8 as Fa,seq as Oa,struct as Va,Structure as ei,u16 as ti,u16be as qa,u24 as Wa,u24be as Ua,u32 as ni,u32be as Ga,u40 as Ha,u40be as za,u48 as ja,u48be as Qa,u8 as Ya,UInt as ri,union as Za,Union as Xa,unionLayoutDiscriminator as Ja,utf8 as $a}from"@solana/buffer-layout";var $e=$r,xn=ei;var Pt=ri;var Tn=ti;var At=ni;var we=Jr;var Bt=Xr;var St=class extends $e{constructor(n,r,i){super(n,i);this.blob=we(n),this.signed=r}decode(n,r=0){let i=new Pn(this.blob.decode(n,r),10,"le");return this.signed?i.fromTwos(this.span*8).clone():i}encode(n,r,i=0){return typeof n=="number"&&(n=new Pn(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),r,i)}},et=class extends $e{constructor(n){super(8,n);this._lower=Bt(At(),!1),this._upper=Bt(At(),!1)}addBoolean(n){this._lower.fields.length<32?this._lower.addBoolean(n):this._upper.addBoolean(n)}decode(n,r=0){let i=this._lower.decode(n,r),o=this._upper.decode(n,r+this._lower.span);return q(q({},i),o)}encode(n,r,i=0){return this._lower.encode(n,r,i)+this._upper.encode(n,r,i+this._lower.span)}};function tt(e){return new Pt(1,e)}function xe(e){return new Pt(4,e)}function O(e){return new St(8,!1,e)}var Lt=class extends $e{constructor(n,r,i,o){super(n.span,o);this.layout=n,this.decoder=r,this.encoder=i}decode(n,r){return this.decoder(this.layout.decode(n,r))}encode(n,r,i){return this.layout.encode(this.encoder(n),r,i)}getSpan(n,r){return this.layout.getSpan(n,r)}};function z(e){return new Lt(we(32),t=>new ii(t),t=>t.toBuffer(),e)}var kt=class extends xn{decode(t,n){return super.decode(t,n)}};function Te(e,t,n){return new kt(e,t,n)}var oi=Te([z("mint"),z("owner"),O("amount"),xe("delegateOption"),z("delegate"),tt("state"),xe("isNativeOption"),O("isNative"),O("delegatedAmount"),xe("closeAuthorityOption"),z("closeAuthority")]);function si(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function Nt(e,...t){if(!si(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function Ct(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function An(e,t){Nt(e);let n=t.outputLen;if(e.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}var rt=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),J=(e,t)=>e<<32-t|e>>>t;var bc=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function ui(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Et(e){return typeof e=="string"&&(e=ui(e)),Nt(e),e}var nt=class{clone(){return this._cloneInto()}},yc={}.toString;function Bn(e){let t=r=>e().update(Et(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function ai(e,t,n,r){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,r);let i=BigInt(32),o=BigInt(4294967295),s=Number(n>>i&o),u=Number(n&o),c=r?4:0,a=r?0:4;e.setUint32(t+c,s,r),e.setUint32(t+a,u,r)}var Sn=(e,t,n)=>e&t^~e&n,Ln=(e,t,n)=>e&t^e&n^t&n,it=class extends nt{constructor(t,n,r,i){super(),this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=rt(this.buffer)}update(t){Ct(this);let{view:n,buffer:r,blockLen:i}=this;t=Et(t);let o=t.length;for(let s=0;s<o;){let u=Math.min(i-this.pos,o-s);if(u===i){let c=rt(t);for(;i<=o-s;s+=i)this.process(c,s);continue}r.set(t.subarray(s,s+u),this.pos),this.pos+=u,s+=u,this.pos===i&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Ct(this),An(t,this),this.finished=!0;let{buffer:n,view:r,blockLen:i,isLE:o}=this,{pos:s}=this;n[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(r,0),s=0);for(let l=s;l<i;l++)n[l]=0;ai(r,i-8,BigInt(this.length*8),o),this.process(r,0);let u=rt(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let a=c/4,f=this.get();if(a>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<a;l++)u.setUint32(4*l,f[l],o)}digest(){let{buffer:t,outputLen:n}=this;this.digestInto(t);let r=t.slice(0,n);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:n,buffer:r,length:i,finished:o,destroyed:s,pos:u}=this;return t.length=i,t.pos=u,t.finished=o,t.destroyed=s,i%n&&t.buffer.set(r),t}};var ci=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),ae=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ce=new Uint32Array(64),Mt=class extends it{constructor(){super(64,32,8,!1),this.A=ae[0]|0,this.B=ae[1]|0,this.C=ae[2]|0,this.D=ae[3]|0,this.E=ae[4]|0,this.F=ae[5]|0,this.G=ae[6]|0,this.H=ae[7]|0}get(){let{A:t,B:n,C:r,D:i,E:o,F:s,G:u,H:c}=this;return[t,n,r,i,o,s,u,c]}set(t,n,r,i,o,s,u,c){this.A=t|0,this.B=n|0,this.C=r|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=u|0,this.H=c|0}process(t,n){for(let l=0;l<16;l++,n+=4)ce[l]=t.getUint32(n,!1);for(let l=16;l<64;l++){let p=ce[l-15],m=ce[l-2],y=J(p,7)^J(p,18)^p>>>3,g=J(m,17)^J(m,19)^m>>>10;ce[l]=g+ce[l-7]+y+ce[l-16]|0}let{A:r,B:i,C:o,D:s,E:u,F:c,G:a,H:f}=this;for(let l=0;l<64;l++){let p=J(u,6)^J(u,11)^J(u,25),m=f+p+Sn(u,c,a)+ci[l]+ce[l]|0,g=(J(r,2)^J(r,13)^J(r,22))+Ln(r,i,o)|0;f=a,a=c,c=u,u=s+m|0,s=o,o=i,i=r,r=m+g|0}r=r+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,u=u+this.E|0,c=c+this.F|0,a=a+this.G|0,f=f+this.H|0,this.set(r,i,o,s,u,c,a,f)}roundClean(){ce.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var kn=Bn(()=>new Mt);var _c=G("Raydium_Util");function le({fromPublicKey:e,programId:t=pi}){let n=fi.generate().publicKey.toBase58().slice(0,32);return{publicKey:di(e,n,t),seed:n}}function di(e,t,n){let r=Buffer.concat([e.toBuffer(),Buffer.from(t),n.toBuffer()]),i=kn(r);return new li(i)}import{TransactionInstruction as gi,SYSVAR_RENT_PUBKEY as hi}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Nn}from"@solana/spl-token";import{createInitializeAccountInstruction as Cn}from"@solana/spl-token";import{SystemProgram as me,Transaction as En}from"@solana/web3.js";function mi(e="accountFlags"){let t=new et(e);return t.addBoolean("initialized"),t.addBoolean("market"),t.addBoolean("openOrders"),t.addBoolean("requestQueue"),t.addBoolean("eventQueue"),t.addBoolean("bids"),t.addBoolean("asks"),t}var Rt=Te([we(5),mi("accountFlags"),z("ownAddress"),O("vaultSignerNonce"),z("baseMint"),z("quoteMint"),z("baseVault"),O("baseDepositsTotal"),O("baseFeesAccrued"),z("quoteVault"),O("quoteDepositsTotal"),O("quoteFeesAccrued"),O("quoteDustThreshold"),z("requestQueue"),z("eventQueue"),z("bids"),z("asks"),O("baseLotSize"),O("quoteLotSize"),O("feeRateBps"),O("referrerRebatesAccrued"),we(7)]);function bi({programId:e,marketInfo:t}){let n=Te([tt("version"),xe("instruction"),O("baseLotSize"),O("quoteLotSize"),Tn("feeRateBps"),O("vaultSignerNonce"),O("quoteDustThreshold")]),r=[{pubkey:t.id,isSigner:!1,isWritable:!0},{pubkey:t.requestQueue,isSigner:!1,isWritable:!0},{pubkey:t.eventQueue,isSigner:!1,isWritable:!0},{pubkey:t.bids,isSigner:!1,isWritable:!0},{pubkey:t.asks,isSigner:!1,isWritable:!0},{pubkey:t.baseVault,isSigner:!1,isWritable:!0},{pubkey:t.quoteVault,isSigner:!1,isWritable:!0},{pubkey:t.baseMint,isSigner:!1,isWritable:!1},{pubkey:t.quoteMint,isSigner:!1,isWritable:!1},{pubkey:t.authority?t.quoteMint:hi,isSigner:!1,isWritable:!1}].concat(t.authority?{pubkey:t.authority,isSigner:!1,isWritable:!1}:[]).concat(t.authority&&t.pruneAuthority?{pubkey:t.pruneAuthority,isSigner:!1,isWritable:!1}:[]),i=Buffer.alloc(n.span);return n.encode({version:0,instruction:0,baseLotSize:t.baseLotSize,quoteLotSize:t.quoteLotSize,feeRateBps:t.feeRateBps,vaultSignerNonce:t.vaultSignerNonce,quoteDustThreshold:t.quoteDustThreshold},i),new gi({keys:r,programId:e,data:i})}async function Mn({connection:e,wallet:t,marketInfo:n}){let r=new En,i=await e.getMinimumBalanceForRentExemption(165);r.add(me.createAccountWithSeed({fromPubkey:t,basePubkey:t,seed:n.baseVault.seed,newAccountPubkey:n.baseVault.publicKey,lamports:i,space:165,programId:Nn}),me.createAccountWithSeed({fromPubkey:t,basePubkey:t,seed:n.quoteVault.seed,newAccountPubkey:n.quoteVault.publicKey,lamports:i,space:165,programId:Nn}),Cn(n.baseVault.publicKey,n.baseMint,n.vaultOwner),Cn(n.quoteVault.publicKey,n.quoteMint,n.vaultOwner));let o=new En;return o.add(me.createAccountWithSeed({fromPubkey:t,basePubkey:t,seed:n.id.seed,newAccountPubkey:n.id.publicKey,lamports:await e.getMinimumBalanceForRentExemption(Rt.span),space:Rt.span,programId:n.programId}),me.createAccountWithSeed({fromPubkey:t,basePubkey:t,seed:n.requestQueue.seed,newAccountPubkey:n.requestQueue.publicKey,lamports:await e.getMinimumBalanceForRentExemption(5120+12),space:5120+12,programId:n.programId}),me.createAccountWithSeed({fromPubkey:t,basePubkey:t,seed:n.eventQueue.seed,newAccountPubkey:n.eventQueue.publicKey,lamports:await e.getMinimumBalanceForRentExemption(262144+12),space:262144+12,programId:n.programId}),me.createAccountWithSeed({fromPubkey:t,basePubkey:t,seed:n.bids.seed,newAccountPubkey:n.bids.publicKey,lamports:await e.getMinimumBalanceForRentExemption(65536+12),space:65536+12,programId:n.programId}),me.createAccountWithSeed({fromPubkey:t,basePubkey:t,seed:n.asks.seed,newAccountPubkey:n.asks.publicKey,lamports:await e.getMinimumBalanceForRentExemption(65536+12),space:65536+12,programId:n.programId}),bi({programId:n.programId,marketInfo:{id:n.id.publicKey,requestQueue:n.requestQueue.publicKey,eventQueue:n.eventQueue.publicKey,bids:n.bids.publicKey,asks:n.asks.publicKey,baseVault:n.baseVault.publicKey,quoteVault:n.quoteVault.publicKey,baseMint:n.baseMint,quoteMint:n.quoteMint,baseLotSize:n.baseLotSize,quoteLotSize:n.quoteLotSize,feeRateBps:n.feeRateBps,vaultSignerNonce:n.vaultSignerNonce,quoteDustThreshold:n.quoteDustThreshold}})),[{transaction:r,signer:[],instructionTypes:[j.CreateAccount,j.CreateAccount,j.InitAccount,j.InitAccount]},{transaction:o,signer:[],instructionTypes:[j.CreateAccount,j.CreateAccount,j.CreateAccount,j.CreateAccount,j.CreateAccount,j.InitMarket]}]}var Kt=class extends De{async create({baseInfo:t,quoteInfo:n,lotSize:r,tickSize:i,dexProgramId:o,txVersion:s,computeBudgetConfig:u}){let c=this.scope.ownerPubKey,a=le({fromPublicKey:c,programId:o}),f=le({fromPublicKey:c,programId:o}),l=le({fromPublicKey:c,programId:o}),p=le({fromPublicKey:c,programId:o}),m=le({fromPublicKey:c,programId:o}),y=le({fromPublicKey:c,programId:Rn}),g=le({fromPublicKey:c,programId:Rn}),T=0,h=new Ke(100);function w(){let _=new Ke(0);for(;;)try{return{vaultOwner:Dt.createProgramAddressSync([a.publicKey.toBuffer(),_.toArrayLike(Buffer,"le",8)],o),vaultSignerNonce:_}}catch{if(_.iaddn(1),_.gt(new Ke(25555)))throw Error("find vault owner error")}}let{vaultOwner:b,vaultSignerNonce:B}=w(),S=new Ke(Math.round(10**t.decimals*r)),N=new Ke(Math.round(r*10**n.decimals*i));if(S.eq(Ye))throw Error("lot size is too small");if(N.eq(Ye))throw Error("tick size or lot size is too small");let C=await Mn({connection:this.scope.connection,wallet:this.scope.ownerPubKey,marketInfo:{programId:o,id:a,baseMint:t.mint,quoteMint:n.mint,baseVault:y,quoteVault:g,vaultOwner:b,requestQueue:f,eventQueue:l,bids:p,asks:m,feeRateBps:T,quoteDustThreshold:h,vaultSignerNonce:B,baseLotSize:S,quoteLotSize:N}}),R=this.createTxBuilder();R.addCustomComputeBudget(u),R.addInstruction({instructions:C[0].transaction.instructions,signers:C[0].signer});let v=[];for await(let _ of C.slice(1,C.length)){let K=this.createTxBuilder();K.addCustomComputeBudget(u),K.addInstruction({instructions:_.transaction.instructions,signers:_.signer,instructionTypes:_.instructionTypes});let ee=await K.versionBuild({txVersion:s});v.push(ee)}return R.versionMultiBuild({extraPreBuildData:v,extInfo:{address:{marketId:a.publicKey,requestQueue:f.publicKey,eventQueue:l.publicKey,bids:p.publicKey,asks:m.publicKey,baseVault:y.publicKey,quoteVault:g.publicKey,baseMint:new Dt(t.mint),quoteMin:new Dt(n.mint)}},txVersion:s})}};export{Kt as default};
1
+ var Dn=Object.defineProperty,Kn=Object.defineProperties;var In=Object.getOwnPropertyDescriptors;var _e=Object.getOwnPropertySymbols;var _t=Object.prototype.hasOwnProperty,vt=Object.prototype.propertyIsEnumerable;var It=(t,e,n)=>e in t?Dn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,V=(t,e)=>{for(var n in e||(e={}))_t.call(e,n)&&It(t,n,e[n]);if(_e)for(var n of _e(e))vt.call(e,n)&&It(t,n,e[n]);return t},te=(t,e)=>Kn(t,In(e));var ve=(t,e)=>{var n={};for(var r in t)_t.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&_e)for(var r of _e(t))e.indexOf(r)<0&&vt.call(t,r)&&(n[r]=t[r]);return n};import{PublicKey as Ke}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Rn}from"@solana/spl-token";import Ie from"bn.js";import{get as Ft,set as _n}from"lodash";import Vt from"dayjs";import vn from"dayjs/plugin/utc";Vt.extend(vn);var st=class{constructor(e){this.logLevel=e.logLevel!==void 0?e.logLevel:0,this.name=e.name}set level(e){this.logLevel=e}get time(){return Vt().utc().format("YYYY/MM/DD HH:mm:ss UTC")}get moduleName(){return this.name}isLogLevel(e){return e<=this.logLevel}error(...e){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...e),this):this}logWithError(...e){let n=e.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(n)}warning(...e){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...e),this):this}info(...e){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...e),this):this}debug(...e){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...e),this):this}},Ot={},Fn={};function U(t){let e=Ft(Ot,t);if(!e){let n=Ft(Fn,t);e=new st({name:t,logLevel:n}),_n(Ot,t,e)}return e}import{PublicKey as Ce,sendAndConfirmTransaction as Tt,Transaction as Me,TransactionMessage as Ee,VersionedTransaction as Re}from"@solana/web3.js";import Xr from"axios";var j={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 ki,ComputeBudgetProgram as qt,Transaction as Ut,TransactionMessage as On,Keypair as Gt,VersionedTransaction as Ht}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Vn}from"@solana/spl-token";var Wt=U("Raydium_txUtil"),zt=1644;function Fe(t){let e=[],n=[];return t.microLamports&&(e.push(qt.setComputeUnitPrice({microLamports:t.microLamports})),n.push(j.SetComputeUnitPrice)),t.units&&(e.push(qt.setComputeUnitLimit({units:t.units})),n.push(j.SetComputeUnitLimit)),{instructions:e,instructionTypes:n}}async function ge(t){var e,n;try{return((n=await((e=t.getLatestBlockhash)==null?void 0:e.call(t)))==null?void 0:n.blockhash)||(await t.getRecentBlockhash()).blockhash}catch{return(await t.getRecentBlockhash()).blockhash}}function qn(t,e){t.length<1&&Wt.logWithError(`no instructions provided: ${t.toString()}`),e.length<1&&Wt.logWithError(`no signers provided:, ${e.toString()}`);let n=new Ut;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=e[0],n.add(...t);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<zt}catch{return!1}}function Ae({instructions:t,payer:e,signers:n}){return qn(t,[e,...n])}function Be({instructions:t,payer:e,lookupTableAddressAccount:n,recentBlockhash:r=Gt.generate().publicKey.toString()}){let o=new On({payerKey:e,recentBlockhash:r,instructions:t}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new Ht(o).serialize()).toString("base64").length<zt}catch{return!1}}var Wn=t=>Buffer.isBuffer(t)?t:t instanceof Uint8Array?Buffer.from(t.buffer,t.byteOffset,t.byteLength):Buffer.from(t);function pe(t){let e=[];return t.forEach(n=>{n instanceof Ut&&(n.recentBlockhash||(n.recentBlockhash=Vn.toBase58()),n.feePayer||(n.feePayer=Gt.generate().publicKey));let r=n.serialize({requireAllSignatures:!1,verifySignatures:!1});n instanceof Ht&&(r=Wn(r));let i=r.toString("base64");e.push(i)}),console.log("simulate tx string:",e),e}import{PublicKey as wn,AddressLookupTableAccount as Xe}from"@solana/web3.js";import{PublicKey as Yr}from"@solana/web3.js";import{getTransferFeeConfig as Hu,unpackMint as zu}from"@solana/spl-token";import{PublicKey as _s}from"@solana/web3.js";import Fs from"bn.js";import Qr from"big.js";import hs from"bn.js";import Y from"bn.js";var he=9e15,oe=1e9,ut="0123456789abcdef",Ve="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",qe="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",at={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-he,maxE:he,crypto:!1},Zt,ee,A=!0,Ue="[DecimalError] ",ie=Ue+"Invalid argument: ",Xt=Ue+"Precision limit exceeded",Jt=Ue+"crypto unavailable",$t="[object Decimal]",G=Math.floor,F=Math.pow,Un=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Gn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Hn=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,en=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,X=1e7,P=7,zn=9007199254740991,jn=Ve.length-1,ct=qe.length-1,d={toStringTag:$t};d.absoluteValue=d.abs=function(){var t=new this.constructor(this);return t.s<0&&(t.s=1),x(t)};d.ceil=function(){return x(new this.constructor(this),this.e+1,2)};d.clampedTo=d.clamp=function(t,e){var n,r=this,i=r.constructor;if(t=new i(t),e=new i(e),!t.s||!e.s)return new i(NaN);if(t.gt(e))throw Error(ie+e);return n=r.cmp(t),n<0?t:r.cmp(e)>0?e:new i(r)};d.comparedTo=d.cmp=function(t){var e,n,r,i,o=this,s=o.d,u=(t=new o.constructor(t)).d,c=o.s,a=t.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!==t.e)return o.e>t.e^c<0?1:-1;for(r=s.length,i=u.length,e=0,n=r<i?r:i;e<n;++e)if(s[e]!==u[e])return s[e]>u[e]^c<0?1:-1;return r===i?0:r>i^c<0?1:-1};d.cosine=d.cos=function(){var t,e,n=this,r=n.constructor;return n.d?n.d[0]?(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+P,r.rounding=1,n=Qn(r,sn(r,n)),r.precision=t,r.rounding=e,x(ee==2||ee==3?n.neg():n,t,e,!0)):new r(1):new r(NaN)};d.cubeRoot=d.cbrt=function(){var t,e,n,r,i,o,s,u,c,a,f=this,l=f.constructor;if(!f.isFinite()||f.isZero())return new l(f);for(A=!1,o=f.s*F(f.s*f,1/3),!o||Math.abs(o)==1/0?(n=q(f.d),t=f.e,(o=(t-n.length+1)%3)&&(n+=o==1||o==-2?"0":"00"),o=F(n,1/3),t=G((t+1)/3)-(t%3==(t<0?-1:2)),o==1/0?n="5e"+t:(n=o.toExponential(),n=n.slice(0,n.indexOf("e")+1)+t),r=new l(n),r.s=f.s):r=new l(o.toString()),s=(t=l.precision)+3;;)if(u=r,c=u.times(u).times(u),a=c.plus(f),r=E(a.plus(f).times(u),a.plus(c),s+2,1),q(u.d).slice(0,s)===(n=q(r.d)).slice(0,s))if(n=n.slice(s-3,s+1),n=="9999"||!i&&n=="4999"){if(!i&&(x(u,t+1,0),u.times(u).times(u).eq(f))){r=u;break}s+=4,i=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(x(r,t+1,1),e=!r.times(r).times(r).eq(f));break}return A=!0,x(r,t,l.rounding,e)};d.decimalPlaces=d.dp=function(){var t,e=this.d,n=NaN;if(e){if(t=e.length-1,n=(t-G(this.e/P))*P,t=e[t],t)for(;t%10==0;t/=10)n--;n<0&&(n=0)}return n};d.dividedBy=d.div=function(t){return E(this,new this.constructor(t))};d.dividedToIntegerBy=d.divToInt=function(t){var e=this,n=e.constructor;return x(E(e,new n(t),0,1,1),n.precision,n.rounding)};d.equals=d.eq=function(t){return this.cmp(t)===0};d.floor=function(){return x(new this.constructor(this),this.e+1,3)};d.greaterThan=d.gt=function(t){return this.cmp(t)>0};d.greaterThanOrEqualTo=d.gte=function(t){var e=this.cmp(t);return e==1||e===0};d.hyperbolicCosine=d.cosh=function(){var t,e,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?(t=Math.ceil(i/3),e=(1/He(4,t)).toString()):(t=16,e="2.3283064365386962890625e-10"),o=be(s,1,o.times(e),new s(1),!0);for(var c,a=t,f=new s(8);a--;)c=o.times(o),o=u.minus(c.times(f.minus(c.times(f))));return x(o,s.precision=n,s.rounding=r,!0)};d.hyperbolicSine=d.sinh=function(){var t,e,n,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(e=o.precision,n=o.rounding,o.precision=e+Math.max(i.e,i.sd())+4,o.rounding=1,r=i.d.length,r<3)i=be(o,2,i,i,!0);else{t=1.4*Math.sqrt(r),t=t>16?16:t|0,i=i.times(1/He(5,t)),i=be(o,2,i,i,!0);for(var s,u=new o(5),c=new o(16),a=new o(20);t--;)s=i.times(i),i=i.times(u.plus(s.times(c.times(s).plus(a))))}return o.precision=e,o.rounding=n,x(i,e,n,!0)};d.hyperbolicTangent=d.tanh=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+7,r.rounding=1,E(n.sinh(),n.cosh(),r.precision=t,r.rounding=e)):new r(n.s)};d.inverseCosine=d.acos=function(){var t,e=this,n=e.constructor,r=e.abs().cmp(1),i=n.precision,o=n.rounding;return r!==-1?r===0?e.isNeg()?Z(n,i,o):new n(0):new n(NaN):e.isZero()?Z(n,i+4,o).times(.5):(n.precision=i+6,n.rounding=1,e=e.asin(),t=Z(n,i+4,o).times(.5),n.precision=i,n.rounding=o,t.minus(e))};d.inverseHyperbolicCosine=d.acosh=function(){var t,e,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(t=r.precision,e=r.rounding,r.precision=t+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,A=!1,n=n.times(n).minus(1).sqrt().plus(n),A=!0,r.precision=t,r.rounding=e,n.ln()):new r(n)};d.inverseHyperbolicSine=d.asinh=function(){var t,e,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,A=!1,n=n.times(n).plus(1).sqrt().plus(n),A=!0,r.precision=t,r.rounding=e,n.ln())};d.inverseHyperbolicTangent=d.atanh=function(){var t,e,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):(t=o.precision,e=o.rounding,r=i.sd(),Math.max(r,t)<2*-i.e-1?x(new o(i),t,e,!0):(o.precision=n=r-i.e,i=E(i.plus(1),new o(1).minus(i),n+t,1),o.precision=t+4,o.rounding=1,i=i.ln(),o.precision=t,o.rounding=e,i.times(.5))):new o(NaN)};d.inverseSine=d.asin=function(){var t,e,n,r,i=this,o=i.constructor;return i.isZero()?new o(i):(e=i.abs().cmp(1),n=o.precision,r=o.rounding,e!==-1?e===0?(t=Z(o,n+4,r).times(.5),t.s=i.s,t):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)))};d.inverseTangent=d.atan=function(){var t,e,n,r,i,o,s,u,c,a=this,f=a.constructor,l=f.precision,p=f.rounding;if(a.isFinite()){if(a.isZero())return new f(a);if(a.abs().eq(1)&&l+4<=ct)return s=Z(f,l+4,p).times(.25),s.s=a.s,s}else{if(!a.s)return new f(NaN);if(l+4<=ct)return s=Z(f,l+4,p).times(.5),s.s=a.s,s}for(f.precision=u=l+10,f.rounding=1,n=Math.min(28,u/P+2|0),t=n;t;--t)a=a.div(a.times(a).plus(1).sqrt().plus(1));for(A=!1,e=Math.ceil(u/P),r=1,c=a.times(a),s=new f(a),i=a;t!==-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[e]!==void 0)for(t=e;s.d[t]===o.d[t]&&t--;);return n&&(s=s.times(2<<n-1)),A=!0,x(s,f.precision=l,f.rounding=p,!0)};d.isFinite=function(){return!!this.d};d.isInteger=d.isInt=function(){return!!this.d&&G(this.e/P)>this.d.length-2};d.isNaN=function(){return!this.s};d.isNegative=d.isNeg=function(){return this.s<0};d.isPositive=d.isPos=function(){return this.s>0};d.isZero=function(){return!!this.d&&this.d[0]===0};d.lessThan=d.lt=function(t){return this.cmp(t)<0};d.lessThanOrEqualTo=d.lte=function(t){return this.cmp(t)<1};d.logarithm=d.log=function(t){var e,n,r,i,o,s,u,c,a=this,f=a.constructor,l=f.precision,p=f.rounding,m=5;if(t==null)t=new f(10),e=!0;else{if(t=new f(t),n=t.d,t.s<0||!n||!n[0]||t.eq(1))return new f(NaN);e=t.eq(10)}if(n=a.d,a.s<0||!n||!n[0]||a.eq(1))return new f(n&&!n[0]?-1/0:a.s!=1?NaN:n?0:1/0);if(e)if(n.length>1)o=!0;else{for(i=n[0];i%10===0;)i/=10;o=i!==1}if(A=!1,u=l+m,s=re(a,u),r=e?We(f,u+10):re(t,u),c=E(s,r,u,1),Se(c.d,i=l,p))do if(u+=10,s=re(a,u),r=e?We(f,u+10):re(t,u),c=E(s,r,u,1),!o){+q(c.d).slice(i+1,i+15)+1==1e14&&(c=x(c,l+1,0));break}while(Se(c.d,i+=10,p));return A=!0,x(c,l,p)};d.minus=d.sub=function(t){var e,n,r,i,o,s,u,c,a,f,l,p,m=this,y=m.constructor;if(t=new y(t),!m.d||!t.d)return!m.s||!t.s?t=new y(NaN):m.d?t.s=-t.s:t=new y(t.d||m.s!==t.s?m:NaN),t;if(m.s!=t.s)return t.s=-t.s,m.plus(t);if(a=m.d,p=t.d,u=y.precision,c=y.rounding,!a[0]||!p[0]){if(p[0])t.s=-t.s;else if(a[0])t=new y(m);else return new y(c===3?-0:0);return A?x(t,u,c):t}if(n=G(t.e/P),f=G(m.e/P),a=a.slice(),o=f-n,o){for(l=o<0,l?(e=a,o=-o,s=p.length):(e=p,n=f,s=a.length),r=Math.max(Math.ceil(u/P),s)+2,o>r&&(o=r,e.length=1),e.reverse(),r=o;r--;)e.push(0);e.reverse()}else{for(r=a.length,s=p.length,l=r<s,l&&(s=r),r=0;r<s;r++)if(a[r]!=p[r]){l=a[r]<p[r];break}o=0}for(l&&(e=a,a=p,p=e,t.s=-t.s),s=a.length,r=p.length-s;r>0;--r)a[s++]=0;for(r=p.length;r>o;){if(a[--r]<p[r]){for(i=r;i&&a[--i]===0;)a[i]=X-1;--a[i],a[r]+=X}a[r]-=p[r]}for(;a[--s]===0;)a.pop();for(;a[0]===0;a.shift())--n;return a[0]?(t.d=a,t.e=Ge(a,n),A?x(t,u,c):t):new y(c===3?-0:0)};d.modulo=d.mod=function(t){var e,n=this,r=n.constructor;return t=new r(t),!n.d||!t.s||t.d&&!t.d[0]?new r(NaN):!t.d||n.d&&!n.d[0]?x(new r(n),r.precision,r.rounding):(A=!1,r.modulo==9?(e=E(n,t.abs(),0,3,1),e.s*=t.s):e=E(n,t,0,r.modulo,1),e=e.times(t),A=!0,n.minus(e))};d.naturalExponential=d.exp=function(){return lt(this)};d.naturalLogarithm=d.ln=function(){return re(this)};d.negated=d.neg=function(){var t=new this.constructor(this);return t.s=-t.s,x(t)};d.plus=d.add=function(t){var e,n,r,i,o,s,u,c,a,f,l=this,p=l.constructor;if(t=new p(t),!l.d||!t.d)return!l.s||!t.s?t=new p(NaN):l.d||(t=new p(t.d||l.s===t.s?l:NaN)),t;if(l.s!=t.s)return t.s=-t.s,l.minus(t);if(a=l.d,f=t.d,u=p.precision,c=p.rounding,!a[0]||!f[0])return f[0]||(t=new p(l)),A?x(t,u,c):t;if(o=G(l.e/P),r=G(t.e/P),a=a.slice(),i=o-r,i){for(i<0?(n=a,i=-i,s=f.length):(n=f,r=o,s=a.length),o=Math.ceil(u/P),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=f.length,s-i<0&&(i=s,n=f,f=a,a=n),e=0;i;)e=(a[--i]=a[i]+f[i]+e)/X|0,a[i]%=X;for(e&&(a.unshift(e),++r),s=a.length;a[--s]==0;)a.pop();return t.d=a,t.e=Ge(a,r),A?x(t,u,c):t};d.precision=d.sd=function(t){var e,n=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(ie+t);return n.d?(e=tn(n.d),t&&n.e+1>e&&(e=n.e+1)):e=NaN,e};d.round=function(){var t=this,e=t.constructor;return x(new e(t),t.e+1,e.rounding)};d.sine=d.sin=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+P,r.rounding=1,n=Zn(r,sn(r,n)),r.precision=t,r.rounding=e,x(ee>2?n.neg():n,t,e,!0)):new r(NaN)};d.squareRoot=d.sqrt=function(){var t,e,n,r,i,o,s=this,u=s.d,c=s.e,a=s.s,f=s.constructor;if(a!==1||!u||!u[0])return new f(!a||a<0&&(!u||u[0])?NaN:u?s:1/0);for(A=!1,a=Math.sqrt(+s),a==0||a==1/0?(e=q(u),(e.length+c)%2==0&&(e+="0"),a=Math.sqrt(e),c=G((c+1)/2)-(c<0||c%2),a==1/0?e="5e"+c:(e=a.toExponential(),e=e.slice(0,e.indexOf("e")+1)+c),r=new f(e)):r=new f(a.toString()),n=(c=f.precision)+3;;)if(o=r,r=o.plus(E(s,o,n+2,1)).times(.5),q(o.d).slice(0,n)===(e=q(r.d)).slice(0,n))if(e=e.slice(n-3,n+1),e=="9999"||!i&&e=="4999"){if(!i&&(x(o,c+1,0),o.times(o).eq(s))){r=o;break}n+=4,i=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(x(r,c+1,1),t=!r.times(r).eq(s));break}return A=!0,x(r,c,f.rounding,t)};d.tangent=d.tan=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+10,r.rounding=1,n=n.sin(),n.s=1,n=E(n,new r(1).minus(n.times(n)).sqrt(),t+10,0),r.precision=t,r.rounding=e,x(ee==2||ee==4?n.neg():n,t,e,!0)):new r(NaN)};d.times=d.mul=function(t){var e,n,r,i,o,s,u,c,a,f=this,l=f.constructor,p=f.d,m=(t=new l(t)).d;if(t.s*=f.s,!p||!p[0]||!m||!m[0])return new l(!t.s||p&&!p[0]&&!m||m&&!m[0]&&!p?NaN:!p||!m?t.s/0:t.s*0);for(n=G(f.e/P)+G(t.e/P),c=p.length,a=m.length,c<a&&(o=p,p=m,m=o,s=c,c=a,a=s),o=[],s=c+a,r=s;r--;)o.push(0);for(r=a;--r>=0;){for(e=0,i=c+r;i>r;)u=o[i]+m[r]*p[i-r-1]+e,o[i--]=u%X|0,e=u/X|0;o[i]=(o[i]+e)%X|0}for(;!o[--s];)o.pop();return e?++n:o.shift(),t.d=o,t.e=Ge(o,n),A?x(t,l.precision,l.rounding):t};d.toBinary=function(t,e){return pt(this,2,t,e)};d.toDecimalPlaces=d.toDP=function(t,e){var n=this,r=n.constructor;return n=new r(n),t===void 0?n:(Q(t,0,oe),e===void 0?e=r.rounding:Q(e,0,8),x(n,t+n.e+1,e))};d.toExponential=function(t,e){var n,r=this,i=r.constructor;return t===void 0?n=$(r,!0):(Q(t,0,oe),e===void 0?e=i.rounding:Q(e,0,8),r=x(new i(r),t+1,e),n=$(r,!0,t+1)),r.isNeg()&&!r.isZero()?"-"+n:n};d.toFixed=function(t,e){var n,r,i=this,o=i.constructor;return t===void 0?n=$(i):(Q(t,0,oe),e===void 0?e=o.rounding:Q(e,0,8),r=x(new o(i),t+i.e+1,e),n=$(r,!1,t+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n};d.toFraction=function(t){var e,n,r,i,o,s,u,c,a,f,l,p,m=this,y=m.d,g=m.constructor;if(!y)return new g(m);if(a=n=new g(1),r=c=new g(0),e=new g(r),o=e.e=tn(y)-m.e-1,s=o%P,e.d[0]=F(10,s<0?P+s:s),t==null)t=o>0?e:a;else{if(u=new g(t),!u.isInt()||u.lt(a))throw Error(ie+u);t=u.gt(e)?o>0?e:a:u}for(A=!1,u=new g(q(y)),f=g.precision,g.precision=o=y.length*P*2;l=E(u,e,0,1,1),i=n.plus(l.times(r)),i.cmp(t)!=1;)n=r,r=i,i=a,a=c.plus(l.times(i)),c=i,i=e,e=u.minus(l.times(i)),u=i;return i=E(t.minus(n),r,0,1,1),c=c.plus(i.times(a)),n=n.plus(i.times(r)),c.s=a.s=m.s,p=E(a,r,o,1).minus(m).abs().cmp(E(c,n,o,1).minus(m).abs())<1?[a,r]:[c,n],g.precision=f,A=!0,p};d.toHexadecimal=d.toHex=function(t,e){return pt(this,16,t,e)};d.toNearest=function(t,e){var n=this,r=n.constructor;if(n=new r(n),t==null){if(!n.d)return n;t=new r(1),e=r.rounding}else{if(t=new r(t),e===void 0?e=r.rounding:Q(e,0,8),!n.d)return t.s?n:t;if(!t.d)return t.s&&(t.s=n.s),t}return t.d[0]?(A=!1,n=E(n,t,0,e,1).times(t),A=!0,x(n)):(t.s=n.s,n=t),n};d.toNumber=function(){return+this};d.toOctal=function(t,e){return pt(this,8,t,e)};d.toPower=d.pow=function(t){var e,n,r,i,o,s,u=this,c=u.constructor,a=+(t=new c(t));if(!u.d||!t.d||!u.d[0]||!t.d[0])return new c(F(+u,a));if(u=new c(u),u.eq(1))return u;if(r=c.precision,o=c.rounding,t.eq(1))return x(u,r,o);if(e=G(t.e/P),e>=t.d.length-1&&(n=a<0?-a:a)<=zn)return i=nn(c,u,n,r),t.s<0?new c(1).div(i):x(i,r,o);if(s=u.s,s<0){if(e<t.d.length-1)return new c(NaN);if((t.d[e]&1)==0&&(s=1),u.e==0&&u.d[0]==1&&u.d.length==1)return u.s=s,u}return n=F(+u,a),e=n==0||!isFinite(n)?G(a*(Math.log("0."+q(u.d))/Math.LN10+u.e+1)):new c(n+"").e,e>c.maxE+1||e<c.minE-1?new c(e>0?s/0:0):(A=!1,c.rounding=u.s=1,n=Math.min(12,(e+"").length),i=lt(t.times(re(u,r+n)),r),i.d&&(i=x(i,r+5,1),Se(i.d,r,o)&&(e=r+10,i=x(lt(t.times(re(u,e+n)),e),e+5,1),+q(i.d).slice(r+1,r+15)+1==1e14&&(i=x(i,r+1,0)))),i.s=s,A=!0,c.rounding=o,x(i,r,o))};d.toPrecision=function(t,e){var n,r=this,i=r.constructor;return t===void 0?n=$(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(Q(t,1,oe),e===void 0?e=i.rounding:Q(e,0,8),r=x(new i(r),t,e),n=$(r,t<=r.e||r.e<=i.toExpNeg,t)),r.isNeg()&&!r.isZero()?"-"+n:n};d.toSignificantDigits=d.toSD=function(t,e){var n=this,r=n.constructor;return t===void 0?(t=r.precision,e=r.rounding):(Q(t,1,oe),e===void 0?e=r.rounding:Q(e,0,8)),x(new r(n),t,e)};d.toString=function(){var t=this,e=t.constructor,n=$(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()&&!t.isZero()?"-"+n:n};d.truncated=d.trunc=function(){return x(new this.constructor(this),this.e+1,1)};d.valueOf=d.toJSON=function(){var t=this,e=t.constructor,n=$(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()?"-"+n:n};function q(t){var e,n,r,i=t.length-1,o="",s=t[0];if(i>0){for(o+=s,e=1;e<i;e++)r=t[e]+"",n=P-r.length,n&&(o+=ne(n)),o+=r;s=t[e],r=s+"",n=P-r.length,n&&(o+=ne(n))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function Q(t,e,n){if(t!==~~t||t<e||t>n)throw Error(ie+t)}function Se(t,e,n,r){var i,o,s,u;for(o=t[0];o>=10;o/=10)--e;return--e<0?(e+=P,i=0):(i=Math.ceil((e+1)/P),e%=P),o=F(10,P-e),u=t[i]%o|0,r==null?e<3?(e==0?u=u/100|0:e==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)&&(t[i+1]/o/100|0)==F(10,e-2)-1||(u==o/2||u==0)&&(t[i+1]/o/100|0)==0:e<4?(e==0?u=u/1e3|0:e==1?u=u/100|0:e==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)&&(t[i+1]/o/1e3|0)==F(10,e-3)-1,s}function Oe(t,e,n){for(var r,i=[0],o,s=0,u=t.length;s<u;){for(o=i.length;o--;)i[o]*=e;for(i[0]+=ut.indexOf(t.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 Qn(t,e){var n,r,i;if(e.isZero())return e;r=e.d.length,r<32?(n=Math.ceil(r/3),i=(1/He(4,n)).toString()):(n=16,i="2.3283064365386962890625e-10"),t.precision+=n,e=be(t,1,e.times(i),new t(1));for(var o=n;o--;){var s=e.times(e);e=s.times(s).minus(s).times(8).plus(1)}return t.precision-=n,e}var E=function(){function t(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 e(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,f,l,p,m,y,g,T,h,w,b,B,S,C,M,R,N,H,O,le,fe=r.constructor,Pe=r.s==i.s?1:-1,W=r.d,D=i.d;if(!W||!W[0]||!D||!D[0])return new fe(!r.s||!i.s||(W?D&&W[0]==D[0]:!D)?NaN:W&&W[0]==0||!D?Pe*0:Pe/0);for(c?(m=1,f=r.e-i.e):(c=X,m=P,f=G(r.e/m)-G(i.e/m)),O=D.length,N=W.length,h=new fe(Pe),w=h.d=[],l=0;D[l]==(W[l]||0);l++);if(D[l]>(W[l]||0)&&f--,o==null?(C=o=fe.precision,s=fe.rounding):u?C=o+(r.e-i.e)+1:C=o,C<0)w.push(1),y=!0;else{if(C=C/m+2|0,l=0,O==1){for(p=0,D=D[0],C++;(l<N||p)&&C--;l++)M=p*c+(W[l]||0),w[l]=M/D|0,p=M%D|0;y=p||l<N}else{for(p=c/(D[0]+1)|0,p>1&&(D=t(D,p,c),W=t(W,p,c),O=D.length,N=W.length),R=O,b=W.slice(0,O),B=b.length;B<O;)b[B++]=0;le=D.slice(),le.unshift(0),H=D[0],D[1]>=c/2&&++H;do p=0,a=e(D,b,O,B),a<0?(S=b[0],O!=B&&(S=S*c+(b[1]||0)),p=S/H|0,p>1?(p>=c&&(p=c-1),g=t(D,p,c),T=g.length,B=b.length,a=e(g,b,T,B),a==1&&(p--,n(g,O<T?le:D,T,c))):(p==0&&(a=p=1),g=D.slice()),T=g.length,T<B&&g.unshift(0),n(b,g,B,c),a==-1&&(B=b.length,a=e(D,b,O,B),a<1&&(p++,n(b,O<B?le:D,B,c))),B=b.length):a===0&&(p++,b=[0]),w[l++]=p,a&&b[0]?b[B++]=W[R]||0:(b=[W[R]],B=1);while((R++<N||b[0]!==void 0)&&C--);y=b[0]!==void 0}w[0]||w.shift()}if(m==1)h.e=f,Zt=y;else{for(l=1,p=w[0];p>=10;p/=10)l++;h.e=l+f*m-1,x(h,u?o+h.e+1:o,s,y)}return h}}();function x(t,e,n,r){var i,o,s,u,c,a,f,l,p,m=t.constructor;e:if(e!=null){if(l=t.d,!l)return t;for(i=1,u=l[0];u>=10;u/=10)i++;if(o=e-i,o<0)o+=P,s=e,f=l[p=0],c=f/F(10,i-s-1)%10|0;else if(p=Math.ceil((o+1)/P),u=l.length,p>=u)if(r){for(;u++<=p;)l.push(0);f=c=0,i=1,o%=P,s=o-P+1}else break e;else{for(f=u=l[p],i=1;u>=10;u/=10)i++;o%=P,s=o-P+i,c=s<0?0:f/F(10,i-s-1)%10|0}if(r=r||e<0||l[p+1]!==void 0||(s<0?f:f%F(10,i-s-1)),a=n<4?(c||r)&&(n==0||n==(t.s<0?3:2)):c>5||c==5&&(n==4||r||n==6&&(o>0?s>0?f/F(10,i-s):0:l[p-1])%10&1||n==(t.s<0?8:7)),e<1||!l[0])return l.length=0,a?(e-=t.e+1,l[0]=F(10,(P-e%P)%P),t.e=-e||0):l[0]=t.e=0,t;if(o==0?(l.length=p,u=1,p--):(l.length=p+1,u=F(10,P-o),l[p]=s>0?(f/F(10,i-s)%F(10,s)|0)*u:0),a)for(;;)if(p==0){for(o=1,s=l[0];s>=10;s/=10)o++;for(s=l[0]+=u,u=1;s>=10;s/=10)u++;o!=u&&(t.e++,l[0]==X&&(l[0]=1));break}else{if(l[p]+=u,l[p]!=X)break;l[p--]=0,u=1}for(o=l.length;l[--o]===0;)l.pop()}return A&&(t.e>m.maxE?(t.d=null,t.e=NaN):t.e<m.minE&&(t.e=0,t.d=[0])),t}function $(t,e,n){if(!t.isFinite())return on(t);var r,i=t.e,o=q(t.d),s=o.length;return e?(n&&(r=n-s)>0?o=o.charAt(0)+"."+o.slice(1)+ne(r):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(t.e<0?"e":"e+")+t.e):i<0?(o="0."+ne(-i-1)+o,n&&(r=n-s)>0&&(o+=ne(r))):i>=s?(o+=ne(i+1-s),n&&(r=n-i-1)>0&&(o=o+"."+ne(r))):((r=i+1)<s&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-s)>0&&(i+1===s&&(o+="."),o+=ne(r))),o}function Ge(t,e){var n=t[0];for(e*=P;n>=10;n/=10)e++;return e}function We(t,e,n){if(e>jn)throw A=!0,n&&(t.precision=n),Error(Xt);return x(new t(Ve),e,1,!0)}function Z(t,e,n){if(e>ct)throw Error(Xt);return x(new t(qe),e,n,!0)}function tn(t){var e=t.length-1,n=e*P+1;if(e=t[e],e){for(;e%10==0;e/=10)n--;for(e=t[0];e>=10;e/=10)n++}return n}function ne(t){for(var e="";t--;)e+="0";return e}function nn(t,e,n,r){var i,o=new t(1),s=Math.ceil(r/P+4);for(A=!1;;){if(n%2&&(o=o.times(e),Qt(o.d,s)&&(i=!0)),n=G(n/2),n===0){n=o.d.length-1,i&&o.d[n]===0&&++o.d[n];break}e=e.times(e),Qt(e.d,s)}return A=!0,o}function jt(t){return t.d[t.d.length-1]&1}function rn(t,e,n){for(var r,i=new t(e[0]),o=0;++o<e.length;)if(r=new t(e[o]),r.s)i[n](r)&&(i=r);else{i=r;break}return i}function lt(t,e){var n,r,i,o,s,u,c,a=0,f=0,l=0,p=t.constructor,m=p.rounding,y=p.precision;if(!t.d||!t.d[0]||t.e>17)return new p(t.d?t.d[0]?t.s<0?0:1/0:1:t.s?t.s<0?0:t:0/0);for(e==null?(A=!1,c=y):c=e,u=new p(.03125);t.e>-2;)t=t.times(u),l+=5;for(r=Math.log(F(2,l))/Math.LN10*2+5|0,c+=r,n=o=s=new p(1),p.precision=c;;){if(o=x(o.times(t),c,1),n=n.times(++f),u=s.plus(E(o,n,c,1)),q(u.d).slice(0,c)===q(s.d).slice(0,c)){for(i=l;i--;)s=x(s.times(s),c,1);if(e==null)if(a<3&&Se(s.d,c-r,m,a))p.precision=c+=10,n=o=u=new p(1),f=0,a++;else return x(s,p.precision=y,m,A=!0);else return p.precision=y,s}s=u}}function re(t,e){var n,r,i,o,s,u,c,a,f,l,p,m=1,y=10,g=t,T=g.d,h=g.constructor,w=h.rounding,b=h.precision;if(g.s<0||!T||!T[0]||!g.e&&T[0]==1&&T.length==1)return new h(T&&!T[0]?-1/0:g.s!=1?NaN:T?0:g);if(e==null?(A=!1,f=b):f=e,h.precision=f+=y,n=q(T),r=n.charAt(0),Math.abs(o=g.e)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)g=g.times(t),n=q(g.d),r=n.charAt(0),m++;o=g.e,r>1?(g=new h("0."+n),o++):g=new h(r+"."+n.slice(1))}else return a=We(h,f+2,b).times(o+""),g=re(new h(r+"."+n.slice(1)),f-y).plus(a),h.precision=b,e==null?x(g,b,w,A=!0):g;for(l=g,c=s=g=E(g.minus(1),g.plus(1),f,1),p=x(g.times(g),f,1),i=3;;){if(s=x(s.times(p),f,1),a=c.plus(E(s,new h(i),f,1)),q(a.d).slice(0,f)===q(c.d).slice(0,f))if(c=c.times(2),o!==0&&(c=c.plus(We(h,f+2,b).times(o+""))),c=E(c,new h(m),f,1),e==null)if(Se(c.d,f-y,w,u))h.precision=f+=y,a=s=g=E(l.minus(1),l.plus(1),f,1),p=x(g.times(g),f,1),i=u=1;else return x(c,h.precision=b,w,A=!0);else return h.precision=b,c;c=a,i+=2}}function on(t){return String(t.s*t.s/0)}function ft(t,e){var n,r,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;e.charCodeAt(r)===48;r++);for(i=e.length;e.charCodeAt(i-1)===48;--i);if(e=e.slice(r,i),e){if(i-=r,t.e=n=n-r-1,t.d=[],r=(n+1)%P,n<0&&(r+=P),r<i){for(r&&t.d.push(+e.slice(0,r)),i-=P;r<i;)t.d.push(+e.slice(r,r+=P));e=e.slice(r),r=P-e.length}else r-=i;for(;r--;)e+="0";t.d.push(+e),A&&(t.e>t.constructor.maxE?(t.d=null,t.e=NaN):t.e<t.constructor.minE&&(t.e=0,t.d=[0]))}else t.e=0,t.d=[0];return t}function Yn(t,e){var n,r,i,o,s,u,c,a,f;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),en.test(e))return ft(t,e)}else if(e==="Infinity"||e==="NaN")return+e||(t.s=NaN),t.e=NaN,t.d=null,t;if(Gn.test(e))n=16,e=e.toLowerCase();else if(Un.test(e))n=2;else if(Hn.test(e))n=8;else throw Error(ie+e);for(o=e.search(/p/i),o>0?(c=+e.slice(o+1),e=e.substring(2,o)):e=e.slice(2),o=e.indexOf("."),s=o>=0,r=t.constructor,s&&(e=e.replace(".",""),u=e.length,o=u-o,i=nn(r,new r(n),o,o*2)),a=Oe(e,n,X),f=a.length-1,o=f;a[o]===0;--o)a.pop();return o<0?new r(t.s*0):(t.e=Ge(a,f),t.d=a,A=!1,s&&(t=E(t,i,u*4)),c&&(t=t.times(Math.abs(c)<54?F(2,c):ze.pow(2,c))),A=!0,t)}function Zn(t,e){var n,r=e.d.length;if(r<3)return e.isZero()?e:be(t,2,e,e);n=1.4*Math.sqrt(r),n=n>16?16:n|0,e=e.times(1/He(5,n)),e=be(t,2,e,e);for(var i,o=new t(5),s=new t(16),u=new t(20);n--;)i=e.times(e),e=e.times(o.plus(i.times(s.times(i).minus(u))));return e}function be(t,e,n,r,i){var o,s,u,c,a=1,f=t.precision,l=Math.ceil(f/P);for(A=!1,c=n.times(n),u=new t(r);;){if(s=E(u.times(c),new t(e++*e++),f,1),u=i?r.plus(s):r.minus(s),r=E(s.times(c),new t(e++*e++),f,1),s=u.plus(r),s.d[l]!==void 0){for(o=l;s.d[o]===u.d[o]&&o--;);if(o==-1)break}o=u,u=r,r=s,s=o,a++}return A=!0,s.d.length=l+1,s}function He(t,e){for(var n=t;--e;)n*=t;return n}function sn(t,e){var n,r=e.s<0,i=Z(t,t.precision,1),o=i.times(.5);if(e=e.abs(),e.lte(o))return ee=r?4:1,e;if(n=e.divToInt(i),n.isZero())ee=r?3:2;else{if(e=e.minus(n.times(i)),e.lte(o))return ee=jt(n)?r?2:3:r?4:1,e;ee=jt(n)?r?1:4:r?3:2}return e.minus(i).abs()}function pt(t,e,n,r){var i,o,s,u,c,a,f,l,p,m=t.constructor,y=n!==void 0;if(y?(Q(n,1,oe),r===void 0?r=m.rounding:Q(r,0,8)):(n=m.precision,r=m.rounding),!t.isFinite())f=on(t);else{for(f=$(t),s=f.indexOf("."),y?(i=2,e==16?n=n*4-3:e==8&&(n=n*3-2)):i=e,s>=0&&(f=f.replace(".",""),p=new m(1),p.e=f.length-s,p.d=Oe($(p),10,i),p.e=p.d.length),l=Oe(f,10,i),o=c=l.length;l[--c]==0;)l.pop();if(!l[0])f=y?"0p+0":"0";else{if(s<0?o--:(t=new m(t),t.d=l,t.e=o,t=E(t,p,n,r,0,i),l=t.d,o=t.e,a=Zt),s=l[n],u=i/2,a=a||l[n+1]!==void 0,a=r<4?(s!==void 0||a)&&(r===0||r===(t.s<0?3:2)):s>u||s===u&&(r===4||a||r===6&&l[n-1]&1||r===(t.s<0?8:7)),l.length=n,a)for(;++l[--n]>i-1;)l[n]=0,n||(++o,l.unshift(1));for(c=l.length;!l[c-1];--c);for(s=0,f="";s<c;s++)f+=ut.charAt(l[s]);if(y){if(c>1)if(e==16||e==8){for(s=e==16?4:3,--c;c%s;c++)f+="0";for(l=Oe(f,i,e),c=l.length;!l[c-1];--c);for(s=1,f="1.";s<c;s++)f+=ut.charAt(l[s])}else f=f.charAt(0)+"."+f.slice(1);f=f+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)f="0"+f;f="0."+f}else if(++o>c)for(o-=c;o--;)f+="0";else o<c&&(f=f.slice(0,o)+"."+f.slice(o))}f=(e==16?"0x":e==2?"0b":e==8?"0o":"")+f}return t.s<0?"-"+f:f}function Qt(t,e){if(t.length>e)return t.length=e,!0}function Xn(t){return new this(t).abs()}function Jn(t){return new this(t).acos()}function $n(t){return new this(t).acosh()}function er(t,e){return new this(t).plus(e)}function tr(t){return new this(t).asin()}function nr(t){return new this(t).asinh()}function rr(t){return new this(t).atan()}function ir(t){return new this(t).atanh()}function or(t,e){t=new this(t),e=new this(e);var n,r=this.precision,i=this.rounding,o=r+4;return!t.s||!e.s?n=new this(NaN):!t.d&&!e.d?(n=Z(this,o,1).times(e.s>0?.25:.75),n.s=t.s):!e.d||t.isZero()?(n=e.s<0?Z(this,r,i):new this(0),n.s=t.s):!t.d||e.isZero()?(n=Z(this,o,1).times(.5),n.s=t.s):e.s<0?(this.precision=o,this.rounding=1,n=this.atan(E(t,e,o,1)),e=Z(this,o,1),this.precision=r,this.rounding=i,n=t.s<0?n.minus(e):n.plus(e)):n=this.atan(E(t,e,o,1)),n}function sr(t){return new this(t).cbrt()}function ur(t){return x(t=new this(t),t.e+1,2)}function ar(t,e,n){return new this(t).clamp(e,n)}function cr(t){if(!t||typeof t!="object")throw Error(Ue+"Object expected");var e,n,r,i=t.defaults===!0,o=["precision",1,oe,"rounding",0,8,"toExpNeg",-he,0,"toExpPos",0,he,"maxE",0,he,"minE",-he,0,"modulo",0,9];for(e=0;e<o.length;e+=3)if(n=o[e],i&&(this[n]=at[n]),(r=t[n])!==void 0)if(G(r)===r&&r>=o[e+1]&&r<=o[e+2])this[n]=r;else throw Error(ie+n+": "+r);if(n="crypto",i&&(this[n]=at[n]),(r=t[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(Jt);else this[n]=!1;else throw Error(ie+n+": "+r);return this}function lr(t){return new this(t).cos()}function fr(t){return new this(t).cosh()}function un(t){var e,n,r;function i(o){var s,u,c,a=this;if(!(a instanceof i))return new i(o);if(a.constructor=i,Yt(o)){a.s=o.s,A?!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++;A?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 ft(a,o.toString())}else if(c!=="string")throw Error(ie+o);return(u=o.charCodeAt(0))===45?(o=o.slice(1),a.s=-1):(u===43&&(o=o.slice(1)),a.s=1),en.test(o)?ft(a,o):Yn(a,o)}if(i.prototype=d,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=cr,i.clone=un,i.isDecimal=Yt,i.abs=Xn,i.acos=Jn,i.acosh=$n,i.add=er,i.asin=tr,i.asinh=nr,i.atan=rr,i.atanh=ir,i.atan2=or,i.cbrt=sr,i.ceil=ur,i.clamp=ar,i.cos=lr,i.cosh=fr,i.div=pr,i.exp=dr,i.floor=mr,i.hypot=gr,i.ln=hr,i.log=br,i.log10=wr,i.log2=yr,i.max=xr,i.min=Tr,i.mod=Pr,i.mul=Ar,i.pow=Br,i.random=Sr,i.round=Lr,i.sign=kr,i.sin=Nr,i.sinh=Cr,i.sqrt=Mr,i.sub=Er,i.sum=Rr,i.tan=Dr,i.tanh=Kr,i.trunc=Ir,t===void 0&&(t={}),t&&t.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],e=0;e<r.length;)t.hasOwnProperty(n=r[e++])||(t[n]=this[n]);return i.config(t),i}function pr(t,e){return new this(t).div(e)}function dr(t){return new this(t).exp()}function mr(t){return x(t=new this(t),t.e+1,3)}function gr(){var t,e,n=new this(0);for(A=!1,t=0;t<arguments.length;)if(e=new this(arguments[t++]),e.d)n.d&&(n=n.plus(e.times(e)));else{if(e.s)return A=!0,new this(1/0);n=e}return A=!0,n.sqrt()}function Yt(t){return t instanceof ze||t&&t.toStringTag===$t||!1}function hr(t){return new this(t).ln()}function br(t,e){return new this(t).log(e)}function yr(t){return new this(t).log(2)}function wr(t){return new this(t).log(10)}function xr(){return rn(this,arguments,"lt")}function Tr(){return rn(this,arguments,"gt")}function Pr(t,e){return new this(t).mod(e)}function Ar(t,e){return new this(t).mul(e)}function Br(t,e){return new this(t).pow(e)}function Sr(t){var e,n,r,i,o=0,s=new this(1),u=[];if(t===void 0?t=this.precision:Q(t,1,oe),r=Math.ceil(t/P),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(r));o<r;)i=e[o],i>=429e7?e[o]=crypto.getRandomValues(new Uint32Array(1))[0]:u[o++]=i%1e7;else if(crypto.randomBytes){for(e=crypto.randomBytes(r*=4);o<r;)i=e[o]+(e[o+1]<<8)+(e[o+2]<<16)+((e[o+3]&127)<<24),i>=214e7?crypto.randomBytes(4).copy(e,o):(u.push(i%1e7),o+=4);o=r/4}else throw Error(Jt);else for(;o<r;)u[o++]=Math.random()*1e7|0;for(r=u[--o],t%=P,r&&t&&(i=F(10,P-t),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-=P)u.shift();for(r=1,i=u[0];i>=10;i/=10)r++;r<P&&(n-=P-r)}return s.e=n,s.d=u,s}function Lr(t){return x(t=new this(t),t.e+1,this.rounding)}function kr(t){return t=new this(t),t.d?t.d[0]?t.s:0*t.s:t.s||NaN}function Nr(t){return new this(t).sin()}function Cr(t){return new this(t).sinh()}function Mr(t){return new this(t).sqrt()}function Er(t,e){return new this(t).sub(e)}function Rr(){var t=0,e=arguments,n=new this(e[t]);for(A=!1;n.s&&++t<e.length;)n=n.plus(e[t]);return A=!0,x(n,this.precision,this.rounding)}function Dr(t){return new this(t).tan()}function Kr(t){return new this(t).tanh()}function Ir(t){return x(t=new this(t),t.e+1,1)}d[Symbol.for("nodejs.util.inspect.custom")]=d.toString;d[Symbol.toStringTag]="Decimal";var ze=d.constructor=un(at);Ve=new ze(Ve);qe=new ze(qe);import{PublicKey as mt}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as _r}from"@solana/spl-token";import{PublicKey as I,SystemProgram as cn,SYSVAR_RENT_PUBKEY as vr}from"@solana/web3.js";function dt({pubkey:t,isSigner:e=!1,isWritable:n=!0}){return{pubkey:t,isWritable:n,isSigner:e}}var Oi=[dt({pubkey:_r,isWritable:!1}),dt({pubkey:cn.programId,isWritable:!1}),dt({pubkey:vr,isWritable:!1})];function ln({publicKey:t,transformSol:e}){let n=fn(t.toString());if(n instanceof I)return e&&n.equals(Le)?an:n;if(e&&n.toString()===Le.toBase58())return an;if(typeof n=="string"){if(n===I.default.toBase58())return I.default;try{return new I(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function fn(t){try{return new I(t)}catch{return t}}var Vi=new I("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),qi=new I("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Wi=new I("SysvarRent111111111111111111111111111111111"),Ui=new I("SysvarC1ock11111111111111111111111111111111"),Gi=new I("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Hi=new I("Sysvar1nstructions1111111111111111111111111"),zi=cn.programId,ji=new I("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Qi=new I("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Yi=new I("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Zi=new I("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Xi=new I("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Ji=new I("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),$i=new I("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),eo=new I("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),to=new I("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),no=new I("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),ro=new I("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),an=new I("So11111111111111111111111111111111111111112"),Le=I.default;import{PublicKey as Fr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as pn}from"@solana/spl-token";var dn={chainId:101,address:Fr.default.toBase58(),programId:pn.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},de={chainId:101,address:"So11111111111111111111111111111111111111112",programId:pn.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 gt=class{constructor({mint:e,decimals:n,symbol:r,name:i,skipMint:o=!1,isToken2022:s=!1}){if(e===Le.toBase58()||e instanceof mt&&Le.equals(e)){this.decimals=de.decimals,this.symbol=de.symbol,this.name=de.name,this.mint=new mt(de.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=r||e.toString().substring(0,6),this.name=i||e.toString().substring(0,6),this.mint=o?mt.default:ln({publicKey:e}),this.isToken2022=s}equals(e){return this===e?!0:this.mint.equals(e.mint)}},ye=gt;ye.WSOL=new gt(te(V({},de),{mint:de.address}));import Qe from"big.js";import qr from"bn.js";import Wr from"decimal.js-light";import Or from"toformat";var Vr=Or,ke=Vr;var je=U("module/fraction"),ht=ke(Qe),Ne=ke(Wr),Ur={[0]:Ne.ROUND_DOWN,[1]:Ne.ROUND_HALF_UP,[2]:Ne.ROUND_UP},Gr={[0]:Qe.roundDown,[1]:Qe.roundHalfUp,[2]:Qe.roundUp},K=class{constructor(e,n=new qr(1)){this.numerator=se(e),this.denominator=se(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new K(this.denominator,this.numerator)}add(e){let n=e instanceof K?e:new K(se(e));return this.denominator.eq(n.denominator)?new K(this.numerator.add(n.numerator),this.denominator):new K(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(e){let n=e instanceof K?e:new K(se(e));return this.denominator.eq(n.denominator)?new K(this.numerator.sub(n.numerator),this.denominator):new K(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(e){let n=e instanceof K?e:new K(se(e));return new K(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(e){let n=e instanceof K?e:new K(se(e));return new K(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(e,n={groupSeparator:""},r=1){Number.isInteger(e)||je.logWithError(`${e} is not an integer.`),e<=0&&je.logWithError(`${e} is not positive.`),Ne.set({precision:e+1,rounding:Ur[r]});let i=new Ne(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return i.toFormat(i.decimalPlaces(),n)}toFixed(e,n={groupSeparator:""},r=1){return Number.isInteger(e)||je.logWithError(`${e} is not an integer.`),e<0&&je.logWithError(`${e} is negative.`),ht.DP=e,ht.RM=Gr[r]||1,new ht(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,n)}isZero(){return this.numerator.isZero()}};var Mo=U("Raydium_price");var bt=class{constructor({decimals:e,symbol:n="UNKNOWN",name:r="UNKNOWN"}){this.decimals=e,this.symbol=n,this.name=r}equals(e){return this===e}},Ye=bt;Ye.SOL=new bt(dn);import zr from"bn.js";var Fo=new K(new zr(100));var Ze=new Y(0),is=new Y(1),os=new Y(2),ss=new Y(3),us=new Y(5),jr=new Y(10),as=new Y(100),cs=new Y(1e3),ls=new Y(1e4),bn=9007199254740991;function se(t){let e=U("Raydium_parseBigNumberish");if(t instanceof Y)return t;if(typeof t=="string"){if(t.match(/^-?[0-9]+$/))return new Y(t);e.logWithError(`invalid BigNumberish string: ${t}`)}return typeof t=="number"?(t%1&&e.logWithError(`BigNumberish number underflow: ${t}`),(t>=bn||t<=-bn)&&e.logWithError(`BigNumberish number overflow: ${t}`),new Y(String(t))):typeof t=="bigint"?new Y(t.toString()):(e.error(`invalid BigNumberish value: ${t}`),new Y(0))}var Bs=U("Raydium_amount"),Ss=ke(Qr);function yt(t,e=1,n=[]){let r=[...t];if(e<=0)return n;for(;r.length;)n.push(r.splice(0,e));return n}import{PublicKey as _}from"@solana/web3.js";var zs=new _("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),js=new _("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Qs=new _("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Ys=new _("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Zs=new _("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Xs=new _("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Js=new _("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),$s=new _("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),eu=new _("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),tu=new _("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),nu=new _("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),ru=new _("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),iu=new _("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),ou=new _("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),su=new _("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),uu=new _("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),au=new _("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),cu=new _("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"),lu=new _("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),fu=new _("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2");import{PublicKey as gu}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as yu}from"@solana/spl-token";import Tu from"bn.js";var wt=U("Raydium_accountInfo_util");async function yn(t,e,n){let{batchRequest:r,commitment:i="confirmed"}=V({batchRequest:!1},n),o=yt(e,100),s=new Array(o.length).fill([]);if(r){let u=o.map(f=>{let l=t._buildArgs([f.map(p=>p.toBase58())],i,"base64");return{methodName:"getMultipleAccounts",args:l}}),c=yt(u,10);s=(await(await Promise.all(c.map(async f=>await t._rpcBatchRequest(f)))).flat()).map(f=>(f.error&&wt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${f.error.message}`),f.result.value.map(l=>{if(l){let{data:p,executable:m,lamports:y,owner:g,rentEpoch:T}=l;return p.length!==2&&p[1]!=="base64"&&wt.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(p[0],"base64"),executable:m,lamports:y,owner:new Yr(g),rentEpoch:T}}return null})))}else try{s=await Promise.all(o.map(u=>t.getMultipleAccountsInfo(u,i)))}catch(u){u instanceof Error&&wt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${u.message}`)}return s.flat()}async function xt({connection:t,address:e}){let n=await yn(t,[...new Set(e.map(i=>i.toString()))].map(i=>new wn(i))),r={};for(let i=0;i<e.length;i++){let o=n[i],s=e[i];if(!o)continue;let u=new Xe({key:s,state:Xe.deserialize(o.data)});r[s.toString()]=u,Je[s.toString()]=u}return r}var Je={"2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17":new Xe({key:new wn("2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17"),state:Xe.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 $e=class{constructor(e){this.instructions=[];this.endInstructions=[];this.lookupTableAddress=[];this.signers=[];this.instructionTypes=[];this.endInstructionTypes=[];this.connection=e.connection,this.feePayer=e.feePayer,this.signAllTransactions=e.signAllTransactions,this.owner=e.owner,this.cluster=e.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 e=(await Xr.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:n}=(r=e==null?void 0:e[15])!=null?r:{};if(!!n)return{units:6e5,microLamports:Math.min(Math.ceil(n*1e6/6e5),25e3)}}addCustomComputeBudget(e){if(e){let{instructions:n,instructionTypes:r}=Fe(e);return this.instructions.unshift(...n),this.instructionTypes.unshift(...r),!0}return!1}async calComputeBudget({config:e,defaultIns:n}){try{let r=e||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(r))return;n&&this.instructions.unshift(...n)}catch{n&&this.instructions.unshift(...n)}}addInstruction({instructions:e=[],endInstructions:n=[],signers:r=[],instructionTypes:i=[],endInstructionTypes:o=[],lookupTableAddress:s=[]}){return this.instructions.push(...e),this.endInstructions.push(...n),this.signers.push(...r),this.instructionTypes.push(...i),this.endInstructionTypes.push(...o),this.lookupTableAddress.push(...s.filter(u=>u!==Ce.default.toString())),this}async versionBuild({txVersion:e,extInfo:n}){return e===0?await this.buildV0(V({},n||{})):this.build(n)}build(e){let n=new Me;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 ge(this.connection);if(n.recentBlockhash=s,this.signers.length&&n.sign(...this.signers),pe([n]),(u=this.owner)!=null&&u.isKeyPair)return{txId:await Tt(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:e||{}}}buildMultiTx(e){let{extraPreBuildData:n=[],extInfo:r}=e,{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:f,onTxUpdate:l,recentBlockHash:p,skipPreflight:m=!0}=a||{},y=p!=null?p:await ge(this.connection);if((g=this.owner)!=null&&g.isKeyPair)return{txIds:await await Promise.all(s.map(async(T,h)=>(T.recentBlockhash=y,await Tt(this.connection,T,u[h].find(w=>w.publicKey.equals(this.owner.publicKey))?u[h]:[...u[h],this.owner.signer],{skipPreflight:m})))),signedTxs:s};if(this.signAllTransactions){let T=s.map((w,b)=>(w.recentBlockhash=y,u[b].length&&w.sign(...u[b]),w));pe(T);let h=await this.signAllTransactions(T);if(f){let w=0,b=[],B=async()=>{if(!h[w])return;let S=await this.connection.sendRawTransaction(h[w].serialize(),{skipPreflight:m});b.push({txId:S,status:"sent",signedTx:h[w]}),l==null||l([...b]),w++,this.connection.onSignature(S,C=>{let M=b.findIndex(R=>R.txId===S);M>-1&&(b[M].status=C.err?"error":"success"),l==null||l([...b]),C.err||B()},"processed"),this.connection.getSignatureStatus(S)};return await B(),{txIds:b.map(S=>S.txId),signedTxs:h}}else{let w=[];for(let b=0;b<h.length;b+=1){let B=await this.connection.sendRawTransaction(h[b].serialize(),{skipPreflight:m});w.push(B)}return{txIds:w,signedTxs:h}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async versionMultiBuild({extraPreBuildData:e,txVersion:n,extInfo:r}){return n===0?await this.buildV0MultiTx({extraPreBuildData:e,buildProps:r||{}}):this.buildMultiTx({extraPreBuildData:e,extInfo:r})}async buildV0(e){let p=e||{},{lookupTableCache:n={},lookupTableAddress:r=[],forerunCreate:i}=p,o=ve(p,["lookupTableCache","lookupTableAddress","forerunCreate"]),s=V(V({},this.cluster==="devnet"?{}:Je),n),u=Array.from(new Set([...r,...this.lookupTableAddress])),c=[];for(let m of u)s[m]===void 0&&c.push(new Ce(m));let a=await xt({connection:this.connection,address:c});for(let[m,y]of Object.entries(a))s[m]=y;let f=new Ee({payerKey:this.feePayer,recentBlockhash:i?Ce.default.toBase58():await ge(this.connection),instructions:[...this.allInstructions]}).compileToV0Message(Object.values(s)),l=new Re(f);return l.sign(this.signers),{builder:this,transaction:l,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async m=>{var T;let{recentBlockHash:y,skipPreflight:g=!0}=m||{};if(y&&(l.message.recentBlockhash=y),pe([l]),(T=this.owner)!=null&&T.isKeyPair){this.signers.find(B=>B.publicKey.equals(this.owner.publicKey))||l.sign([this.owner.signer]);let h=await this.connection.sendTransaction(l,{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:l}}if(this.signAllTransactions){let h=await this.signAllTransactions([l]);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(e){let{extraPreBuildData:n=[],buildProps:r}=e,{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,f)=>{a.sign(u[f])}),{builder:this,transactions:s,signers:u,instructionTypes:c,buildProps:r,execute:async a=>{var y;let{sequentially:f,onTxUpdate:l,recentBlockHash:p,skipPreflight:m=!0}=a||{};if(p&&s.forEach(g=>g.message.recentBlockhash=p),pe(s),(y=this.owner)!=null&&y.isKeyPair){let{lastValidBlockHeight:g,blockhash:T}=await this.connection.getLatestBlockhash();return s.forEach((h,w)=>{u[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:m});return await this.connection.confirmTransaction({blockhash:T,lastValidBlockHeight:g,signature:w},"confirmed"),w})),signedTxs:s}}if(this.signAllTransactions){let g=await this.signAllTransactions(s);if(f){let T=0,h=[],w=async()=>{if(!g[T])return;let b=await this.connection.sendTransaction(g[T],{skipPreflight:m});h.push({txId:b,status:"sent",signedTx:g[T]}),l==null||l([...h]),T++,this.connection.onSignature(b,B=>{let S=h.findIndex(C=>C.txId===b);S>-1&&(h[S].status=B.err?"error":"success"),l==null||l([...h]),B.err||w()},"processed"),this.connection.getSignatureStatus(b)};return w(),{txIds:[],signedTxs:g}}else{let T=[];for(let h=0;h<g.length;h+=1){let w=await this.connection.sendTransaction(g[h],{skipPreflight:m});T.push(w)}return{txIds:T,signedTxs:g}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuild(e){let a=e||{},{computeBudgetConfig:n}=a,r=ve(a,["computeBudgetConfig"]),i=n?Fe(n):{instructions:[],instructionTypes:[]},o=this.signers.reduce((f,l)=>te(V({},f),{[l.publicKey.toBase58()]:l}),{}),s=[],u=[],c=[];if(this.allInstructions.forEach(f=>{let l=[...c,f],p=n?[...i.instructions,...l]:l,y=[...new Set(l.map(g=>g.keys.filter(T=>T.isSigner).map(T=>T.pubkey.toString())).flat()).values()].map(g=>new Ce(g));if(c.length<12&&Ae({instructions:p,payer:this.feePayer,signers:y})||Ae({instructions:l,payer:this.feePayer,signers:y}))c.push(f);else{if(c.length===0)throw Error("item ins too big");Ae({instructions:n?[...i.instructions,...c]:[...c],payer:this.feePayer,signers:y})?s.push(new Me().add(...i.instructions,...c)):s.push(new Me().add(...c)),u.push(Array.from(new Set(c.map(g=>g.keys.filter(T=>T.isSigner).map(T=>T.pubkey.toString())).flat())).map(g=>o[g]).filter(g=>g!==void 0)),c=[f]}}),c.length>0){let l=[...new Set(c.map(p=>p.keys.filter(m=>m.isSigner).map(m=>m.pubkey.toString())).flat()).values()].map(p=>o[p]).filter(p=>p!==void 0);Ae({instructions:n?[...i.instructions,...c]:[...c],payer:this.feePayer,signers:l.map(p=>p.publicKey)})?s.push(new Me().add(...i.instructions,...c)):s.push(new Me().add(...c)),u.push(l)}return s.forEach(f=>f.feePayer=this.feePayer),{builder:this,transactions:s,signers:u,instructionTypes:this.instructionTypes,execute:async f=>{var T;let{sequentially:l,onTxUpdate:p,recentBlockHash:m,skipPreflight:y=!0}=f||{},g=m!=null?m:await ge(this.connection);if(s.forEach(async(h,w)=>{h.recentBlockhash=g,u[w].length&&h.sign(...u[w])}),pe(s),(T=this.owner)!=null&&T.isKeyPair)return{txIds:await Promise.all(s.map(async(h,w)=>await Tt(this.connection,h,u[w].find(b=>b.publicKey.equals(this.owner.publicKey))?u[w]:[...u[w],this.owner.signer],{skipPreflight:y}))),signedTxs:s};if(this.signAllTransactions){let h=await this.signAllTransactions(s);if(l){let w=0,b=[],B=async()=>{if(!h[w])return;let S=await this.connection.sendRawTransaction(h[w].serialize(),{skipPreflight:y});b.push({txId:S,status:"sent",signedTx:h[w]}),p==null||p([...b]),w++,this.connection.onSignature(S,C=>{let M=b.findIndex(R=>R.txId===S);M>-1&&(b[M].status=C.err?"error":"success"),p==null||p([...b]),C.err||B()},"processed"),this.connection.getSignatureStatus(S)};return await B(),{txIds:b.map(S=>S.txId),signedTxs:h}}else{let w=[];for(let b=0;b<h.length;b+=1){let B=await this.connection.sendRawTransaction(h[b].serialize(),{skipPreflight:y});w.push(B)}return{txIds:w,signedTxs:h}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuildV0(e){let T=e||{},{computeBudgetConfig:n,lookupTableCache:r={},lookupTableAddress:i=[]}=T,o=ve(T,["computeBudgetConfig","lookupTableCache","lookupTableAddress"]),s=V(V({},this.cluster==="devnet"?{}:Je),r),u=Array.from(new Set([...this.lookupTableAddress,...i])),c=[];for(let h of u)s[h]===void 0&&c.push(new Ce(h));let a=await xt({connection:this.connection,address:c});for(let[h,w]of Object.entries(a))s[h]=w;let f=n?Fe(n):{instructions:[],instructionTypes:[]},l=await ge(this.connection),p=this.signers.reduce((h,w)=>te(V({},h),{[w.publicKey.toBase58()]:w}),{}),m=[],y=[],g=[];if(this.allInstructions.forEach(h=>{let w=[...g,h],b=n?[...f.instructions,...w]:w;if(g.length<12&&Be({instructions:b,payer:this.feePayer,lookupTableAddressAccount:s})||Be({instructions:w,payer:this.feePayer,lookupTableAddressAccount:s}))g.push(h);else{if(g.length===0)throw Error("item ins too big");let B={};for(let S of[...new Set(u)])s[S]!==void 0&&(B[S]=s[S]);if(n&&Be({instructions:[...f.instructions,...g],payer:this.feePayer,lookupTableAddressAccount:s,recentBlockhash:l})){let S=new Ee({payerKey:this.feePayer,recentBlockhash:l,instructions:[...f.instructions,...g]}).compileToV0Message(Object.values(s));m.push(new Re(S))}else{let S=new Ee({payerKey:this.feePayer,recentBlockhash:l,instructions:[...g]}).compileToV0Message(Object.values(s));m.push(new Re(S))}y.push(Array.from(new Set(g.map(S=>S.keys.filter(C=>C.isSigner).map(C=>C.pubkey.toString())).flat())).map(S=>p[S]).filter(S=>S!==void 0)),g=[h]}}),g.length>0){let w=[...new Set(g.map(b=>b.keys.filter(B=>B.isSigner).map(B=>B.pubkey.toString())).flat()).values()].map(b=>p[b]).filter(b=>b!==void 0);if(n&&Be({instructions:[...f.instructions,...g],payer:this.feePayer,lookupTableAddressAccount:s,recentBlockhash:l})){let b=new Ee({payerKey:this.feePayer,recentBlockhash:l,instructions:[...f.instructions,...g]}).compileToV0Message(Object.values(s));m.push(new Re(b))}else{let b=new Ee({payerKey:this.feePayer,recentBlockhash:l,instructions:[...g]}).compileToV0Message(Object.values(s));m.push(new Re(b))}y.push(w)}return{builder:this,transactions:m,buildProps:e,signers:y,instructionTypes:this.instructionTypes,execute:async h=>{var C;let{sequentially:w,onTxUpdate:b,recentBlockHash:B,skipPreflight:S=!0}=h||{};if(m.map(async(M,R)=>{y[R].length&&M.sign(y[R]),B&&(M.message.recentBlockhash=B)}),pe(m),(C=this.owner)!=null&&C.isKeyPair){let{lastValidBlockHeight:M,blockhash:R}=await this.connection.getLatestBlockhash();return m.forEach((N,H)=>{y[H].find(O=>O.publicKey.equals(this.owner.publicKey))||N.sign([this.owner.signer])}),{txIds:await Promise.all(m.map(async N=>{let H=await this.connection.sendTransaction(N,{skipPreflight:S});return await this.connection.confirmTransaction({blockhash:R,lastValidBlockHeight:M,signature:H},"confirmed"),H})),signedTxs:m}}if(this.signAllTransactions){let M=await this.signAllTransactions(m);if(w){let R=0,N=[],H=async()=>{if(!M[R])return;let O=await this.connection.sendTransaction(M[R],{skipPreflight:S});N.push({txId:O,status:"sent",signedTx:M[R]}),b==null||b([...N]),R++,this.connection.onSignature(O,le=>{let fe=N.findIndex(Pe=>Pe.txId===O);fe>-1&&(N[fe].status=le.err?"error":"success"),b==null||b([...N]),le.err||H()},"processed"),this.connection.getSignatureStatus(O)};return H(),{txIds:[],signedTxs:M}}else{let R=[];for(let N=0;N<M.length;N+=1){let H=await this.connection.sendTransaction(M[N],{skipPreflight:S});R.push(H)}return{txIds:R,signedTxs:M}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:o||{}}}};var Pt=(...t)=>t.map(e=>{try{return typeof e=="object"?JSON.stringify(e):e}catch{return e}}).join(", "),De=class{constructor({scope:e,moduleName:n}){this.disabled=!1;this.scope=e,this.logger=U(n)}createTxBuilder(e){return this.scope.checkOwner(),new $e({connection:this.scope.connection,feePayer:e||this.scope.ownerPubKey,cluster:this.scope.cluster,owner:this.scope.owner,signAllTransactions:this.scope.signAllTransactions})}logDebug(...e){this.logger.debug(Pt(e))}logInfo(...e){this.logger.info(Pt(e))}logAndCreateError(...e){let n=Pt(e);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{PublicKey as fi,Keypair as pi}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as di}from"@solana/spl-token";import Dc from"bn.js";import{PublicKey as oi}from"@solana/web3.js";import Pn,{isBN as cc}from"bn.js";import{bits as Jr,BitStructure as ga,blob as $r,Blob as ha,cstr as ba,f32 as ya,f32be as wa,f64 as xa,f64be as Ta,greedy as Pa,Layout as ei,ns64 as Aa,ns64be as Ba,nu64 as Sa,nu64be as La,offset as ka,s16 as Na,s16be as Ca,s24 as Ma,s24be as Ea,s32 as Ra,s32be as Da,s40 as Ka,s40be as Ia,s48 as _a,s48be as va,s8 as Fa,seq as Oa,struct as Va,Structure as ti,u16 as ni,u16be as qa,u24 as Wa,u24be as Ua,u32 as ri,u32be as Ga,u40 as Ha,u40be as za,u48 as ja,u48be as Qa,u8 as Ya,UInt as ii,union as Za,Union as Xa,unionLayoutDiscriminator as Ja,utf8 as $a}from"@solana/buffer-layout";var et=ei,xn=ti;var At=ii;var Tn=ni;var Bt=ri;var we=$r;var St=Jr;var Lt=class extends et{constructor(n,r,i){super(n,i);this.blob=we(n),this.signed=r}decode(n,r=0){let i=new Pn(this.blob.decode(n,r),10,"le");return this.signed?i.fromTwos(this.span*8).clone():i}encode(n,r,i=0){return typeof n=="number"&&(n=new Pn(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),r,i)}},tt=class extends et{constructor(n){super(8,n);this._lower=St(Bt(),!1),this._upper=St(Bt(),!1)}addBoolean(n){this._lower.fields.length<32?this._lower.addBoolean(n):this._upper.addBoolean(n)}decode(n,r=0){let i=this._lower.decode(n,r),o=this._upper.decode(n,r+this._lower.span);return V(V({},i),o)}encode(n,r,i=0){return this._lower.encode(n,r,i)+this._upper.encode(n,r,i+this._lower.span)}};function nt(t){return new At(1,t)}function xe(t){return new At(4,t)}function v(t){return new Lt(8,!1,t)}var kt=class extends et{constructor(n,r,i,o){super(n.span,o);this.layout=n,this.decoder=r,this.encoder=i}decode(n,r){return this.decoder(this.layout.decode(n,r))}encode(n,r,i){return this.layout.encode(this.encoder(n),r,i)}getSpan(n,r){return this.layout.getSpan(n,r)}};function z(t){return new kt(we(32),e=>new oi(e),e=>e.toBuffer(),t)}var Nt=class extends xn{decode(e,n){return super.decode(e,n)}};function Te(t,e,n){return new Nt(t,e,n)}var si=Te([z("mint"),z("owner"),v("amount"),xe("delegateOption"),z("delegate"),nt("state"),xe("isNativeOption"),v("isNative"),v("delegatedAmount"),xe("closeAuthorityOption"),z("closeAuthority")]);function ui(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function Ct(t,...e){if(!ui(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${t.length}`)}function Mt(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function An(t,e){Ct(t);let n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}var it=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),J=(t,e)=>t<<32-e|t>>>e;var bc=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function ai(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Et(t){return typeof t=="string"&&(t=ai(t)),Ct(t),t}var rt=class{clone(){return this._cloneInto()}},yc={}.toString;function Bn(t){let e=r=>t().update(Et(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function ci(t,e,n,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,r);let i=BigInt(32),o=BigInt(4294967295),s=Number(n>>i&o),u=Number(n&o),c=r?4:0,a=r?0:4;t.setUint32(e+c,s,r),t.setUint32(e+a,u,r)}var Sn=(t,e,n)=>t&e^~t&n,Ln=(t,e,n)=>t&e^t&n^e&n,ot=class extends rt{constructor(e,n,r,i){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=it(this.buffer)}update(e){Mt(this);let{view:n,buffer:r,blockLen:i}=this;e=Et(e);let o=e.length;for(let s=0;s<o;){let u=Math.min(i-this.pos,o-s);if(u===i){let c=it(e);for(;i<=o-s;s+=i)this.process(c,s);continue}r.set(e.subarray(s,s+u),this.pos),this.pos+=u,s+=u,this.pos===i&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Mt(this),An(e,this),this.finished=!0;let{buffer:n,view:r,blockLen:i,isLE:o}=this,{pos:s}=this;n[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(r,0),s=0);for(let l=s;l<i;l++)n[l]=0;ci(r,i-8,BigInt(this.length*8),o),this.process(r,0);let u=it(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let a=c/4,f=this.get();if(a>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<a;l++)u.setUint32(4*l,f[l],o)}digest(){let{buffer:e,outputLen:n}=this;this.digestInto(e);let r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:n,buffer:r,length:i,finished:o,destroyed:s,pos:u}=this;return e.length=i,e.pos=u,e.finished=o,e.destroyed=s,i%n&&e.buffer.set(r),e}};var li=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),ue=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ae=new Uint32Array(64),Rt=class extends ot{constructor(){super(64,32,8,!1),this.A=ue[0]|0,this.B=ue[1]|0,this.C=ue[2]|0,this.D=ue[3]|0,this.E=ue[4]|0,this.F=ue[5]|0,this.G=ue[6]|0,this.H=ue[7]|0}get(){let{A:e,B:n,C:r,D:i,E:o,F:s,G:u,H:c}=this;return[e,n,r,i,o,s,u,c]}set(e,n,r,i,o,s,u,c){this.A=e|0,this.B=n|0,this.C=r|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=u|0,this.H=c|0}process(e,n){for(let l=0;l<16;l++,n+=4)ae[l]=e.getUint32(n,!1);for(let l=16;l<64;l++){let p=ae[l-15],m=ae[l-2],y=J(p,7)^J(p,18)^p>>>3,g=J(m,17)^J(m,19)^m>>>10;ae[l]=g+ae[l-7]+y+ae[l-16]|0}let{A:r,B:i,C:o,D:s,E:u,F:c,G:a,H:f}=this;for(let l=0;l<64;l++){let p=J(u,6)^J(u,11)^J(u,25),m=f+p+Sn(u,c,a)+li[l]+ae[l]|0,g=(J(r,2)^J(r,13)^J(r,22))+Ln(r,i,o)|0;f=a,a=c,c=u,u=s+m|0,s=o,o=i,i=r,r=m+g|0}r=r+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,u=u+this.E|0,c=c+this.F|0,a=a+this.G|0,f=f+this.H|0,this.set(r,i,o,s,u,c,a,f)}roundClean(){ae.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var kn=Bn(()=>new Rt);var vc=U("Raydium_Util");function ce({fromPublicKey:t,programId:e=di}){let n=pi.generate().publicKey.toBase58().slice(0,32);return{publicKey:mi(t,n,e),seed:n}}function mi(t,e,n){let r=Buffer.concat([t.toBuffer(),Buffer.from(e),n.toBuffer()]),i=kn(r);return new fi(i)}import{TransactionInstruction as hi,SYSVAR_RENT_PUBKEY as bi}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Nn}from"@solana/spl-token";import{createInitializeAccountInstruction as Cn}from"@solana/spl-token";import{SystemProgram as me,Transaction as Mn}from"@solana/web3.js";function gi(t="accountFlags"){let e=new tt(t);return e.addBoolean("initialized"),e.addBoolean("market"),e.addBoolean("openOrders"),e.addBoolean("requestQueue"),e.addBoolean("eventQueue"),e.addBoolean("bids"),e.addBoolean("asks"),e}var Dt=Te([we(5),gi("accountFlags"),z("ownAddress"),v("vaultSignerNonce"),z("baseMint"),z("quoteMint"),z("baseVault"),v("baseDepositsTotal"),v("baseFeesAccrued"),z("quoteVault"),v("quoteDepositsTotal"),v("quoteFeesAccrued"),v("quoteDustThreshold"),z("requestQueue"),z("eventQueue"),z("bids"),z("asks"),v("baseLotSize"),v("quoteLotSize"),v("feeRateBps"),v("referrerRebatesAccrued"),we(7)]);function yi({programId:t,marketInfo:e}){let n=Te([nt("version"),xe("instruction"),v("baseLotSize"),v("quoteLotSize"),Tn("feeRateBps"),v("vaultSignerNonce"),v("quoteDustThreshold")]),r=[{pubkey:e.id,isSigner:!1,isWritable:!0},{pubkey:e.requestQueue,isSigner:!1,isWritable:!0},{pubkey:e.eventQueue,isSigner:!1,isWritable:!0},{pubkey:e.bids,isSigner:!1,isWritable:!0},{pubkey:e.asks,isSigner:!1,isWritable:!0},{pubkey:e.baseVault,isSigner:!1,isWritable:!0},{pubkey:e.quoteVault,isSigner:!1,isWritable:!0},{pubkey:e.baseMint,isSigner:!1,isWritable:!1},{pubkey:e.quoteMint,isSigner:!1,isWritable:!1},{pubkey:e.authority?e.quoteMint:bi,isSigner:!1,isWritable:!1}].concat(e.authority?{pubkey:e.authority,isSigner:!1,isWritable:!1}:[]).concat(e.authority&&e.pruneAuthority?{pubkey:e.pruneAuthority,isSigner:!1,isWritable:!1}:[]),i=Buffer.alloc(n.span);return n.encode({version:0,instruction:0,baseLotSize:e.baseLotSize,quoteLotSize:e.quoteLotSize,feeRateBps:e.feeRateBps,vaultSignerNonce:e.vaultSignerNonce,quoteDustThreshold:e.quoteDustThreshold},i),new hi({keys:r,programId:t,data:i})}async function En({connection:t,wallet:e,marketInfo:n}){let r=new Mn,i=await t.getMinimumBalanceForRentExemption(165);r.add(me.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.baseVault.seed,newAccountPubkey:n.baseVault.publicKey,lamports:i,space:165,programId:Nn}),me.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.quoteVault.seed,newAccountPubkey:n.quoteVault.publicKey,lamports:i,space:165,programId:Nn}),Cn(n.baseVault.publicKey,n.baseMint,n.vaultOwner),Cn(n.quoteVault.publicKey,n.quoteMint,n.vaultOwner));let o=new Mn;return o.add(me.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.id.seed,newAccountPubkey:n.id.publicKey,lamports:await t.getMinimumBalanceForRentExemption(Dt.span),space:Dt.span,programId:n.programId}),me.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.requestQueue.seed,newAccountPubkey:n.requestQueue.publicKey,lamports:await t.getMinimumBalanceForRentExemption(5120+12),space:5120+12,programId:n.programId}),me.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.eventQueue.seed,newAccountPubkey:n.eventQueue.publicKey,lamports:await t.getMinimumBalanceForRentExemption(262144+12),space:262144+12,programId:n.programId}),me.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.bids.seed,newAccountPubkey:n.bids.publicKey,lamports:await t.getMinimumBalanceForRentExemption(65536+12),space:65536+12,programId:n.programId}),me.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.asks.seed,newAccountPubkey:n.asks.publicKey,lamports:await t.getMinimumBalanceForRentExemption(65536+12),space:65536+12,programId:n.programId}),yi({programId:n.programId,marketInfo:{id:n.id.publicKey,requestQueue:n.requestQueue.publicKey,eventQueue:n.eventQueue.publicKey,bids:n.bids.publicKey,asks:n.asks.publicKey,baseVault:n.baseVault.publicKey,quoteVault:n.quoteVault.publicKey,baseMint:n.baseMint,quoteMint:n.quoteMint,baseLotSize:n.baseLotSize,quoteLotSize:n.quoteLotSize,feeRateBps:n.feeRateBps,vaultSignerNonce:n.vaultSignerNonce,quoteDustThreshold:n.quoteDustThreshold}})),[{transaction:r,signer:[],instructionTypes:[j.CreateAccount,j.CreateAccount,j.InitAccount,j.InitAccount]},{transaction:o,signer:[],instructionTypes:[j.CreateAccount,j.CreateAccount,j.CreateAccount,j.CreateAccount,j.CreateAccount,j.InitMarket]}]}var Kt=class extends De{async create({baseInfo:e,quoteInfo:n,lotSize:r,tickSize:i,dexProgramId:o,txVersion:s,computeBudgetConfig:u}){let c=this.scope.ownerPubKey,a=ce({fromPublicKey:c,programId:o}),f=ce({fromPublicKey:c,programId:o}),l=ce({fromPublicKey:c,programId:o}),p=ce({fromPublicKey:c,programId:o}),m=ce({fromPublicKey:c,programId:o}),y=ce({fromPublicKey:c,programId:Rn}),g=ce({fromPublicKey:c,programId:Rn}),T=0,h=new Ie(100);function w(){let N=new Ie(0);for(;;)try{return{vaultOwner:Ke.createProgramAddressSync([a.publicKey.toBuffer(),N.toArrayLike(Buffer,"le",8)],o),vaultSignerNonce:N}}catch{if(N.iaddn(1),N.gt(new Ie(25555)))throw Error("find vault owner error")}}let{vaultOwner:b,vaultSignerNonce:B}=w(),S=new Ie(Math.round(10**e.decimals*r)),C=new Ie(Math.round(r*10**n.decimals*i));if(S.eq(Ze))throw Error("lot size is too small");if(C.eq(Ze))throw Error("tick size or lot size is too small");let M=await En({connection:this.scope.connection,wallet:this.scope.ownerPubKey,marketInfo:{programId:o,id:a,baseMint:e.mint,quoteMint:n.mint,baseVault:y,quoteVault:g,vaultOwner:b,requestQueue:f,eventQueue:l,bids:p,asks:m,feeRateBps:T,quoteDustThreshold:h,vaultSignerNonce:B,baseLotSize:S,quoteLotSize:C}}),R=this.createTxBuilder();R.addInstruction({instructions:M[0].transaction.instructions,signers:M[0].signer});for await(let N of M.slice(1,M.length))R.addInstruction({instructions:N.transaction.instructions,signers:N.signer,instructionTypes:N.instructionTypes});return s===0?R.sizeCheckBuildV0({computeBudgetConfig:u,address:{marketId:a.publicKey,requestQueue:f.publicKey,eventQueue:l.publicKey,bids:p.publicKey,asks:m.publicKey,baseVault:y.publicKey,quoteVault:g.publicKey,baseMint:new Ke(e.mint),quoteMin:new Ke(n.mint)}}):R.sizeCheckBuild({computeBudgetConfig:u,address:{marketId:a.publicKey,requestQueue:f.publicKey,eventQueue:l.publicKey,bids:p.publicKey,asks:m.publicKey,baseVault:y.publicKey,quoteVault:g.publicKey,baseMint:new Ke(e.mint),quoteMin:new Ke(n.mint)}})}};export{Kt as default};
2
2
  /*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
3
3
  //# sourceMappingURL=createMarket.mjs.map