UNPKG

@raydium-io/raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

2 lines 87.8 kB
var Mo=Object.defineProperty,Fo=Object.defineProperties;var vo=Object.getOwnPropertyDescriptors;var dt=Object.getOwnPropertySymbols;var Bn=Object.prototype.hasOwnProperty,Sn=Object.prototype.propertyIsEnumerable;var In=(o,e,n)=>e in o?Mo(o,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[e]=n,F=(o,e)=>{for(var n in e||(e={}))Bn.call(e,n)&&In(o,n,e[n]);if(dt)for(var n of dt(e))Sn.call(e,n)&&In(o,n,e[n]);return o},V=(o,e)=>Fo(o,vo(e));var me=(o,e)=>{var n={};for(var i in o)Bn.call(o,i)&&e.indexOf(i)<0&&(n[i]=o[i]);if(o!=null&&dt)for(var i of dt(o))e.indexOf(i)<0&&Sn.call(o,i)&&(n[i]=o[i]);return n};import{PublicKey as Ho}from"@solana/web3.js";import Ln,{isBN as On}from"bn.js";import{bits as _o,BitStructure as ys,blob as Vo,Blob as bs,cstr as gs,f32 as Ps,f32be as As,f64 as ws,f64be as ks,greedy as Ts,Layout as Eo,ns64 as hs,ns64be as Is,nu64 as Bs,nu64be as Ss,offset as Do,s16 as Ks,s16be as xs,s24 as Cs,s24be as Rs,s32 as Wo,s32be as Ls,s40 as Os,s40be as Ns,s48 as Ms,s48be as Fs,s8 as vs,seq as qo,struct as _s,Structure as Uo,u16 as Go,u16be as Vs,u24 as Es,u24be as Ds,u32 as zo,u32be as Ws,u40 as qs,u40be as Us,u48 as Gs,u48be as zs,u8 as Xo,UInt as Yo,union as Xs,Union as Ys,unionLayoutDiscriminator as Hs,utf8 as Qs}from"@solana/buffer-layout";var pt=Eo,Kn=Uo;var Vt=Yo;var xn=Xo,H=Go;var ft=zo;var ce=Wo;var Cn=qo;var v=Vo;var Et=_o,Rn=Do;var Ie=class extends pt{constructor(n,i,a){super(n,a);this.blob=v(n),this.signed=i}decode(n,i=0){let a=new Ln(this.blob.decode(n,i),10,"le");return this.signed?a.fromTwos(this.span*8).clone():a}encode(n,i,a=0){return typeof n=="number"&&(n=new Ln(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),i,a)}},yt=class extends pt{constructor(n){super(8,n);this._lower=Et(ft(),!1),this._upper=Et(ft(),!1)}addBoolean(n){this._lower.fields.length<32?this._lower.addBoolean(n):this._upper.addBoolean(n)}decode(n,i=0){let a=this._lower.decode(n,i),c=this._upper.decode(n,i+this._lower.span);return F(F({},a),c)}encode(n,i,a=0){return this._lower.encode(n,i,a)+this._upper.encode(n,i,a+this._lower.span)}};function d(o){return new Vt(1,o)}function z(o){return new Vt(4,o)}function t(o){return new Ie(8,!1,o)}function O(o){return new Ie(16,!1,o)}function Nn(o){return new Ie(1,!0,o)}function Le(o){return new Ie(8,!0,o)}function Mn(o){return new Ie(16,!0,o)}var Xe=class extends pt{constructor(n,i,a,c){super(n.span,c);this.layout=n,this.decoder=i,this.encoder=a}decode(n,i){return this.decoder(this.layout.decode(n,i))}encode(n,i,a){return this.layout.encode(this.encoder(n),i,a)}getSpan(n,i){return this.layout.getSpan(n,i)}};function r(o){return new Xe(v(32),e=>new Ho(e),e=>e.toBuffer(),o)}function ue(o){return new Xe(xn(),Qo,Zo,o)}function Qo(o){if(o===0)return!1;if(o===1)return!0;throw new Error("Invalid bool: "+o)}function Zo(o){return o?1:0}function Wt(o,e){let n=ft("length"),i=m([n,A(o,Rn(n,-n.span),"values")]);return new Xe(i,({values:a})=>a,a=>({values:a}),e)}var Dt=class extends Kn{decode(e,n){return super.decode(e,n)}};function m(o,e,n){return new Dt(o,e,n)}function A(o,e,n){let i,a=typeof e=="number"?e:On(e)?e.toNumber():new Proxy(e,{get(c,l){if(!i){let p=Reflect.get(c,"count");i=On(p)?p.toNumber():p,Reflect.set(c,"count",i)}return Reflect.get(c,l)},set(c,l,p){return l==="count"&&(i=p),Reflect.set(c,l,p)}});return Cn(o,a,n)}var $o=m([v(8),d("bump"),ue("disableCreatePool"),H("index"),t("tradeFeeRate"),t("protocolFeeRate"),t("fundFeeRate"),t("createPoolFee"),r("protocolOwner"),r("fundOwner"),t("creatorFeeRate"),t("creatorFeeShareRate"),A(t(),14)]),Fn=m([v(8),r("configId"),r("poolCreator"),r("vaultA"),r("vaultB"),r("mintLp"),r("mintA"),r("mintB"),r("mintProgramA"),r("mintProgramB"),r("observationId"),d("bump"),d("status"),d("lpDecimals"),d("mintDecimalA"),d("mintDecimalB"),t("lpAmount"),t("protocolFeesMintA"),t("protocolFeesMintB"),t("fundFeesMintA"),t("fundFeesMintB"),t("openTime"),t("epoch"),d("feeOn"),ue("enableCreatorFee"),A(d(),6),t("creatorFeesMintA"),t("creatorFeesMintB"),A(t(),28)]),au=m([v(8),r("configId"),A(t(),30)]),su=m([v(8),d("bump"),r("creator"),r("ammConfig"),t("shareRate"),A(t(),8)]);var vn=(i=>(i[i.BothToken=0]="BothToken",i[i.OnlyTokenA=1]="OnlyTokenA",i[i.OnlyTokenB=2]="OnlyTokenB",i))(vn||{});import{PublicKey as ct,TransactionInstruction as fe,Keypair as ls,SystemProgram as _t}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as lt,TOKEN_2022_PROGRAM_ID as Tn,TOKEN_PROGRAM_ID as we}from"@solana/spl-token";import{PublicKey as ei}from"@solana/web3.js";import{get as _n,set as jo}from"lodash";var qt=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 Date.now().toString()}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(i=>typeof i=="object"?JSON.stringify(i):i).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}},Vn={},Jo={};function E(o){let e=_n(Vn,o);if(!e){let n=_n(Jo,o);e=new qt({name:o,logLevel:n}),jo(Vn,o,e)}return e}import{MINT_SIZE as Au,TOKEN_PROGRAM_ID as wu,getTransferFeeConfig as ku,unpackMint as Tu}from"@solana/spl-token";var Ut=E("Raydium_accountInfo_util");async function Pe(o,e,n){let{batchRequest:i,commitment:a="confirmed",chunkCount:c=100}=F({batchRequest:!1},n),l=Gt(e,c),p=new Array(l.length).fill([]);if(i){let b=l.map(k=>{let T=o._buildArgs([k.map(w=>w.toBase58())],a,"base64");return{methodName:"getMultipleAccounts",args:T}}),y=Gt(b,10);p=(await(await Promise.all(y.map(async k=>await o._rpcBatchRequest(k)))).flat()).map(k=>(k.error&&Ut.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${k.error.message}`),k.result.value.map(T=>{if(T){let{data:w,executable:B,lamports:g,owner:P,rentEpoch:h}=T;return w.length!==2&&w[1]!=="base64"&&Ut.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(w[0],"base64"),executable:B,lamports:g,owner:new ei(P),rentEpoch:h}}return null})))}else try{p=await Promise.all(l.map(b=>o.getMultipleAccountsInfo(b,a)))}catch(b){b instanceof Error&&Ut.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${b.message}`)}return p.flat()}import Te from"bn.js";import uR from"decimal.js";import ui from"big.js";import Eu from"bn.js";import ti from"toformat";var ni=ti,He=ni;import gt from"big.js";import ii from"bn.js";import ri from"decimal.js-light";import Qe from"bn.js";var En=9007199254740991;function ie(o){let e=E("Raydium_parseBigNumberish");if(o instanceof Qe)return o;if(typeof o=="string"){if(o.match(/^-?[0-9]+$/))return new Qe(o);e.logWithError(`invalid BigNumberish string: ${o}`)}return typeof o=="number"?(o%1&&e.logWithError(`BigNumberish number underflow: ${o}`),(o>=En||o<=-En)&&e.logWithError(`BigNumberish number overflow: ${o}`),new Qe(String(o))):typeof o=="bigint"?new Qe(o.toString()):(e.error(`invalid BigNumberish value: ${o}`),new Qe(0))}var bt=E("module/fraction"),zt=He(gt),Ze=He(ri),ai={[0]:Ze.ROUND_DOWN,[1]:Ze.ROUND_HALF_UP,[2]:Ze.ROUND_UP},si={[0]:gt.roundDown,[1]:gt.roundHalfUp,[2]:gt.roundUp},U=class{constructor(e,n=new ii(1)){this.numerator=ie(e),this.denominator=ie(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new U(this.denominator,this.numerator)}add(e){let n=e instanceof U?e:new U(ie(e));return this.denominator.eq(n.denominator)?new U(this.numerator.add(n.numerator),this.denominator):new U(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(e){let n=e instanceof U?e:new U(ie(e));return this.denominator.eq(n.denominator)?new U(this.numerator.sub(n.numerator),this.denominator):new U(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(e){let n=e instanceof U?e:new U(ie(e));return new U(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(e){let n=e instanceof U?e:new U(ie(e));return new U(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(e,n={groupSeparator:""},i=1){Number.isInteger(e)||bt.logWithError(`${e} is not an integer.`),e<=0&&bt.logWithError(`${e} is not positive.`),Ze.set({precision:e+1,rounding:ai[i]});let a=new Ze(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return a.toFormat(a.decimalPlaces(),n)}toFixed(e,n={groupSeparator:""},i=1){return Number.isInteger(e)||bt.logWithError(`${e} is not an integer.`),e<0&&bt.logWithError(`${e} is negative.`),zt.DP=e,zt.RM=si[i]||1,new zt(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,n)}isZero(){return this.numerator.isZero()}};var Hu=E("Raydium_amount"),Qu=He(ui);import{PublicKey as li}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Dn}from"@solana/spl-token";var Pt={chainId:101,address:li.default.toBase58(),programId:Dn.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},de={chainId:101,address:"So11111111111111111111111111111111111111112",programId:Dn.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};import{PublicKey as Xt}from"@solana/web3.js";import{PublicKey as X,SystemProgram as Wn,SYSVAR_RENT_PUBKEY as mi}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as di}from"@solana/spl-token";function Oe({pubkey:o,isSigner:e=!1,isWritable:n=!0}){return{pubkey:o,isWritable:n,isSigner:e}}var pi=[Oe({pubkey:di,isWritable:!1}),Oe({pubkey:Wn.programId,isWritable:!1}),Oe({pubkey:mi,isWritable:!1})];function qn({publicKey:o,transformSol:e}){let n=Un(o.toString());if(n instanceof X)return e&&n.equals(Be)?Ae:n;if(e&&n.toString()===Be.toBase58())return Ae;if(typeof n=="string"){if(n===X.default.toBase58())return X.default;try{return new X(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function Un(o){try{return new X(o)}catch{return o}}var $e=new X("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Se=new X("SysvarRent111111111111111111111111111111111"),oc=new X("SysvarC1ock11111111111111111111111111111111"),Ke=new X("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),fi=new X("Sysvar1nstructions1111111111111111111111111"),Gn=Wn.programId,ic=new X("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),rc=new X("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),ac=new X("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),sc=new X("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),uc=new X("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),cc=new X("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),lc=new X("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),mc=new X("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),dc=new X("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),pc=new X("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),fc=new X("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),Ae=new X("So11111111111111111111111111111111111111112"),Be=X.default;var Yt=class{constructor({mint:e,decimals:n,symbol:i,name:a,skipMint:c=!1,isToken2022:l=!1}){if(e===Be.toBase58()||e instanceof Xt&&Be.equals(e)){this.decimals=de.decimals,this.symbol=de.symbol,this.name=de.name,this.mint=new Xt(de.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=i||e.toString().substring(0,6),this.name=a||e.toString().substring(0,6),this.mint=c?Xt.default:qn({publicKey:e}),this.isToken2022=l}equals(e){return this===e?!0:this.mint.equals(e.mint)}},ee=Yt;ee.WSOL=new Yt(V(F({},de),{mint:de.address}));var Ht=class{constructor({decimals:e,symbol:n="UNKNOWN",name:i="UNKNOWN"}){this.decimals=e,this.symbol=n,this.name=i}equals(e){return this===e}},At=Ht;At.SOL=new Ht(Pt);import yi from"bn.js";var Sc=new U(new yi(100));var Oc=E("Raydium_price");import{merge as lC}from"lodash";import Wc from"axios";var zn={BASE_HOST:"https://api-v3.raydium.io",OWNER_BASE_HOST:"https://owner-v1.raydium.io",SERVICE_BASE_HOST:"https://service.raydium.io",MONITOR_BASE_HOST:"https://monitor.raydium.io",SERVICE_1_BASE_HOST:"https://service-v1.raydium.io",TEMP_HOST:"https://temp-api-v1.raydium.io",SEND_TRANSACTION:"/send-transaction",FARM_ARP:"/main/farm/info",FARM_ARP_LINE:"/main/farm-apr-tv",CLMM_CONFIG:"/main/clmm-config",CPMM_CONFIG:"/main/cpmm-config",CLMM_DYNAMIC_CONFIG:"/main/clmm-dynamic-config",VERSION:"/main/version",CHECK_AVAILABILITY:"/v3/main/AvailabilityCheckAPI",RPCS:"/main/rpcs",INFO:"/main/info",STAKE_POOLS:"/main/stake-pools",CHAIN_TIME:"/main/chain-time",TOKEN_LIST:"/mint/list",MINT_INFO_ID:"/mint/ids",JUP_TOKEN_LIST:"https://lite-api.jup.ag/tokens/v2/tag?query=verified",POOL_LIST:"/pools/info/list-v2",POOL_SEARCH_BY_ID:"/pools/info/ids",POOL_SEARCH_MINT:"/pools/info/list-v2",POOL_SEARCH_LP:"/pools/info/lps",POOL_KEY_BY_ID:"/pools/key/ids",POOL_LIQUIDITY_LINE:"/pools/line/liquidity",POOL_POSITION_LINE:"/pools/line/position",FARM_INFO:"/farms/info/ids",FARM_LP_INFO:"/farms/info/lp",FARM_KEYS:"/farms/key/ids",OWNER_CREATED_FARM:"/create-pool/{owner}",OWNER_STAKE_FARMS:"/position/stake/{owner}",OWNER_LOCK_POSITION:"/position/clmm-lock/{owner}",SWAP_HOST:"https://transaction-v1.raydium.io",SWAP_COMPUTE:"/compute/",SWAP_TX:"/transaction/",MINT_PRICE:"/mint/price",MIGRATE_CONFIG:"/main/migrate-lp",PRIORITY_FEE:"/main/auto-fee",CPMM_LOCK:"https://dynamic-ipfs.raydium.io/lock/cpmm/position",LAUNCH_AUTH_HOST:"https://launch-auth-v1.raydium.io",LAUNCH_COMMENT_HOST:"hhttps://launch-forum-v1.raydium.io",LAUNCH_HISTORY_HOST:"https://launch-history-v1.raydium.io",LAUNCH_MINT_HOST:"https://launch-mint-v1.raydium.io"},bi=V(F({},zn),{BASE_HOST:"https://api-v3-devnet.raydium.io",OWNER_BASE_HOST:"https://owner-v1-devnet.raydium.io",SWAP_HOST:"https://transaction-v1-devnet.raydium.io",CPMM_LOCK:"https://dynamic-ipfs-devnet.raydium.io/lock/cpmm/position",TEMP_HOST:"https://temp-api-v1-devnet.raydium.io",LAUNCH_AUTH_HOST:"https://launch-auth-v1-devnet.raydium.io",LAUNCH_COMMENT_HOST:"https://launch-forum-v1-devnet.raydium.io",LAUNCH_HISTORY_HOST:"https://launch-history-v1-devnet.raydium.io",LAUNCH_MINT_HOST:"https://launch-mint-v1-devnet.raydium.io"});var ll=E("Raydium_Api");import{PublicKey as Vm,SystemProgram as Em}from"@solana/web3.js";import{AccountLayout as Gm,createAssociatedTokenAccountIdempotentInstruction as zm,TOKEN_PROGRAM_ID as Xm,TOKEN_2022_PROGRAM_ID as Ym}from"@solana/spl-token";import{PublicKey as _e,sendAndConfirmTransaction as en,SystemProgram as Ti,Transaction as et,TransactionMessage as tt,VersionedTransaction as nt}from"@solana/web3.js";import hi from"axios";import{PublicKey as Qt,AddressLookupTableAccount as Fe}from"@solana/web3.js";async function Zt({connection:o,address:e,cluster:n="mainnet"}){let i=await Pe(o,[...new Set(e.map(c=>c.toString()))].map(c=>new Qt(c))),a={};for(let c=0;c<e.length;c++){let l=i[c],p=e[c];if(!l)continue;let b=new Fe({key:p,state:Fe.deserialize(l.data)});a[p.toString()]=b,n==="devnet"?Me[p.toString()]=b:Ne[p.toString()]=b}return a}var Ne={},$t=async o=>{let e="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Ne[e])return Ne;let n=new Qt(e),i=await o.getAccountInfo(n);return i&&(Ne[e]=new Fe({key:n,state:Fe.deserialize(i.data)})),Ne},Me={},jt=async o=>{let e="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Me[e])return Me;let n=new Qt(e),i=await o.getAccountInfo(n);return i&&(Me[e]=new Fe({key:n,state:Fe.deserialize(i.data)})),Me};var Q={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",ClmmLockPosition:"ClmmLockPosition",ClmmHarvestLockPosition:"ClmmHarvestLockPosition",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",FarmV4Withdraw:"FarmV4Withdraw",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",CpmmLockLp:"CpmmLockLp",CpmmCollectLockFee:"CpmmCollectLockFee",TransferTip:"TransferTip"};import{ComputeBudgetProgram as Xn,Keypair as Hn,PublicKey as gi,Transaction as Qn,TransactionMessage as Pi,VersionedTransaction as Zn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ai}from"@solana/spl-token";var Yn=E("Raydium_txUtil"),$n=1644;function wt(o){let e=[],n=[];return o.microLamports&&(e.push(Xn.setComputeUnitPrice({microLamports:o.microLamports})),n.push(Q.SetComputeUnitPrice)),o.units&&(e.push(Xn.setComputeUnitLimit({units:o.units})),n.push(Q.SetComputeUnitLimit)),{instructions:e,instructionTypes:n}}async function ve(o,e){var i,a;let n=e!=null?e:"confirmed";return(a=await((i=o.getLatestBlockhash)==null?void 0:i.call(o,{commitment:n})))==null?void 0:a.blockhash}async function kt(o,e){return o.getSignatureStatuses([e]),new Promise((n,i)=>{let a=setTimeout(i,6e4);o.onSignature(e,c=>{if(clearTimeout(a),!c.err){n("");return}i(Object.assign(c.err,{txId:e}))},"confirmed")})}function Jt(o,e){o.length<1&&Yn.logWithError(`no instructions provided: ${o.toString()}`),e.length<1&&Yn.logWithError(`no signers provided:, ${e.toString()}`);let n=new Qn;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=e[0],n.add(...o);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<$n}catch{return!1}}function Y(o,e){let[n,i]=gi.findProgramAddressSync(o,e);return{publicKey:n,nonce:i}}function je({instructions:o,payer:e,signers:n}){return Jt(o,[e,...n])}function Je({instructions:o,payer:e,lookupTableAddressAccount:n,recentBlockhash:i=Hn.generate().publicKey.toString()}){let c=new Pi({payerKey:e,recentBlockhash:i,instructions:o}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new Zn(c).serialize()).toString("base64").length<$n}catch{return!1}}var wi=o=>Buffer.isBuffer(o)?o:o instanceof Uint8Array?Buffer.from(o.buffer,o.byteOffset,o.byteLength):Buffer.from(o),ki=o=>{let e=o.serialize({requireAllSignatures:!1,verifySignatures:!1});o instanceof Zn&&(e=wi(e));try{return e instanceof Buffer?e.toString("base64"):Buffer.from(e).toString("base64")}catch{return e.toString("base64")}};function xe(o){let e=[];return o.forEach(n=>{n instanceof Qn&&(n.recentBlockhash||(n.recentBlockhash=Ai.toBase58()),n.feePayer||(n.feePayer=Hn.generate().publicKey)),e.push(ki(n))}),console.log("simulate tx string:",e),e}var Tt=2e3,ht=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,this.blockhashCommitment=e.blockhashCommitment,this.loopMultiTxStatus=!!e.loopMultiTxStatus}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 i;let e=(await hi.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:n}=(i=e==null?void 0:e[15])!=null?i:{};if(!!n)return{units:6e5,microLamports:Math.min(Math.ceil(n*1e6/6e5),25e3)}}addCustomComputeBudget(e){if(e){let{instructions:n,instructionTypes:i}=wt(e);return this.instructions.unshift(...n),this.instructionTypes.unshift(...i),!0}return!1}addTipInstruction(e){var n;return e?(this.endInstructions.push(Ti.transfer({fromPubkey:(n=e.feePayer)!=null?n:this.feePayer,toPubkey:new _e(e.address),lamports:BigInt(e.amount.toString())})),this.endInstructionTypes.push(Q.TransferTip),!0):!1}async calComputeBudget({config:e,defaultIns:n}){try{let i=e||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(i))return;n&&this.instructions.unshift(...n)}catch{n&&this.instructions.unshift(...n)}}addInstruction({instructions:e=[],endInstructions:n=[],signers:i=[],instructionTypes:a=[],endInstructionTypes:c=[],lookupTableAddress:l=[]}){return this.instructions.push(...e),this.endInstructions.push(...n),this.signers.push(...i),this.instructionTypes.push(...a),this.endInstructionTypes.push(...c),this.lookupTableAddress.push(...l.filter(p=>p!==_e.default.toString())),this}async versionBuild({txVersion:e,extInfo:n,lookupTableAddress:i}){return e===0?await this.buildV0(V(F({},n||{}),{lookupTableAddress:i})):this.build(n)}build(e){var i;let n=new et;return this.allInstructions.length&&n.add(...this.allInstructions),n.feePayer=this.feePayer,((i=this.owner)==null?void 0:i.signer)&&!this.signers.some(a=>a.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer),{builder:this,transaction:n,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async a=>{var f;let{recentBlockHash:c,skipPreflight:l=!0,sendAndConfirm:p,notSendToRpc:b}=a||{},y=c!=null?c:await ve(this.connection,this.blockhashCommitment);if(n.recentBlockhash=y,this.signers.length&&n.sign(...this.signers),xe([n]),(f=this.owner)!=null&&f.isKeyPair)return{txId:p?await en(this.connection,n,this.signers.find(T=>T.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:l}):await this.connection.sendRawTransaction(n.serialize(),{skipPreflight:l}),signedTx:n};if(this.signAllTransactions){let k=await this.signAllTransactions([n]);if(this.signers.length)for(let T of k)try{T.sign(...this.signers)}catch{}return{txId:b?"":await this.connection.sendRawTransaction(k[0].serialize(),{skipPreflight:l}),signedTx:k[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:e||{}}}buildMultiTx(e){var y;let{extraPreBuildData:n=[],extInfo:i}=e,{transaction:a}=this.build(i),c=n.filter(f=>f.transaction.instructions.length>0),l=[a,...c.map(f=>f.transaction)],p=[this.signers,...c.map(f=>f.signers)],b=[...this.instructionTypes,...c.map(f=>f.instructionTypes).flat()];return(y=this.owner)!=null&&y.signer&&p.forEach(f=>{f.some(k=>k.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:l,signers:p,instructionTypes:b,execute:async f=>{var h;let{sequentially:k,onTxUpdate:T,skipTxCount:w=0,recentBlockHash:B,skipPreflight:g=!0}=f||{},P=B!=null?B:await ve(this.connection,this.blockhashCommitment);if((h=this.owner)!=null&&h.isKeyPair){if(k){let S=[],N=0;for(let M of l){if(++N,N<=w)continue;let I=await en(this.connection,M,this.signers.find(x=>x.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:g});S.push(I)}return{txIds:S,signedTxs:l}}return{txIds:await await Promise.all(l.map(async S=>(S.recentBlockhash=P,await this.connection.sendRawTransaction(S.serialize(),{skipPreflight:g})))),signedTxs:l}}if(this.signAllTransactions){let S=l.map((M,I)=>(M.recentBlockhash=P,p[I].length&&M.sign(...p[I]),M));xe(S);let N=await this.signAllTransactions(S);if(k){let M=0,I=[],x=async()=>{if(!N[M])return;let K=await this.connection.sendRawTransaction(N[M].serialize(),{skipPreflight:g});I.push({txId:K,status:"sent",signedTx:N[M]}),T==null||T([...I]),M++;let C=!1,L=null,_=null,ne=q=>{L!==null&&clearInterval(L),_!==null&&this.connection.removeSignatureListener(_);let W=I.findIndex(J=>J.txId===K);if(W>-1){if(I[W].status==="error"||I[W].status==="success")return;I[W].status=q.err?"error":"success"}T==null||T([...I]),q.err||x()};this.loopMultiTxStatus&&(L=setInterval(async()=>{var q;if(C){clearInterval(L);return}try{let W=await this.connection.getTransaction(K,{commitment:"confirmed",maxSupportedTransactionVersion:1});W&&(C=!0,clearInterval(L),ne({err:((q=W.meta)==null?void 0:q.err)||null}),console.log("tx status from getTransaction:",K))}catch(W){C=!0,clearInterval(L),console.error("getTransaction timeout:",W,K)}},Tt)),_=this.connection.onSignature(K,q=>{if(C){this.connection.removeSignatureListener(_);return}C=!0,ne(q)},"confirmed"),this.connection.getSignatureStatus(K)};return await x(),{txIds:I.map(K=>K.txId),signedTxs:N}}else{let M=[];for(let I=0;I<N.length;I+=1){let x=await this.connection.sendRawTransaction(N[I].serialize(),{skipPreflight:g});M.push(x)}return{txIds:M,signedTxs:N}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:i||{}}}async versionMultiBuild({extraPreBuildData:e,txVersion:n,extInfo:i}){return n===0?await this.buildV0MultiTx({extraPreBuildData:e,buildProps:i||{}}):this.buildMultiTx({extraPreBuildData:e,extInfo:i})}async buildV0(e){var g;let B=e||{},{lookupTableCache:n={},lookupTableAddress:i=[],forerunCreate:a,recentBlockhash:c}=B,l=me(B,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),p=F(F({},this.cluster==="devnet"?await jt(this.connection):await $t(this.connection)),n),b=Array.from(new Set([...i,...this.lookupTableAddress])),y=[];for(let P of b)p[P]===void 0&&y.push(new _e(P));let f=await Zt({connection:this.connection,address:y});for(let[P,h]of Object.entries(f))p[P]=h;let k=a?_e.default.toBase58():c!=null?c:await ve(this.connection,this.blockhashCommitment),T=new tt({payerKey:this.feePayer,recentBlockhash:k,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(p));((g=this.owner)==null?void 0:g.signer)&&!this.signers.some(P=>P.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let w=new nt(T);return w.sign(this.signers),{builder:this,transaction:w,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async P=>{var M;let{skipPreflight:h=!0,sendAndConfirm:S,notSendToRpc:N}=P||{};if(xe([w]),(M=this.owner)!=null&&M.isKeyPair){let I=await this.connection.sendTransaction(w,{skipPreflight:h});return S&&await kt(this.connection,I),{txId:I,signedTx:w}}if(this.signAllTransactions){let I=await this.signAllTransactions([w]);if(this.signers.length)for(let x of I)try{x.sign(this.signers)}catch{}return{txId:N?"":await this.connection.sendTransaction(I[0],{skipPreflight:h}),signedTx:I[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:l||{}}}async buildV0MultiTx(e){var y;let{extraPreBuildData:n=[],buildProps:i}=e,{transaction:a}=await this.buildV0(i),c=n.filter(f=>f.builder.instructions.length>0),l=[a,...c.map(f=>f.transaction)],p=[this.signers,...c.map(f=>f.signers)],b=[...this.instructionTypes,...c.map(f=>f.instructionTypes).flat()];return(y=this.owner)!=null&&y.signer&&p.forEach(f=>{f.some(k=>k.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),l.forEach(async(f,k)=>{f.sign(p[k])}),{builder:this,transactions:l,signers:p,instructionTypes:b,buildProps:i,execute:async f=>{var g;let{sequentially:k,onTxUpdate:T,recentBlockHash:w,skipPreflight:B=!0}=f||{};if(w&&l.forEach(P=>P.message.recentBlockhash=w),xe(l),(g=this.owner)!=null&&g.isKeyPair){if(k){let P=[];for(let h of l){let S=await this.connection.sendTransaction(h,{skipPreflight:B});await kt(this.connection,S),P.push(S)}return{txIds:P,signedTxs:l}}return{txIds:await Promise.all(l.map(async P=>await this.connection.sendTransaction(P,{skipPreflight:B}))),signedTxs:l}}if(this.signAllTransactions){let P=await this.signAllTransactions(l);if(k){let h=0,S=[],N=async()=>{if(!P[h])return;let M=await this.connection.sendTransaction(P[h],{skipPreflight:B});S.push({txId:M,status:"sent",signedTx:P[h]}),T==null||T([...S]),h++;let I=!1,x=null,K=null,C=L=>{x!==null&&clearInterval(x),K!==null&&this.connection.removeSignatureListener(K);let _=S.findIndex(ne=>ne.txId===M);if(_>-1){if(S[_].status==="error"||S[_].status==="success")return;S[_].status=L.err?"error":"success"}T==null||T([...S]),L.err||N()};this.loopMultiTxStatus&&(x=setInterval(async()=>{var L;if(I){clearInterval(x);return}try{let _=await this.connection.getTransaction(M,{commitment:"confirmed",maxSupportedTransactionVersion:1});_&&(I=!0,clearInterval(x),C({err:((L=_.meta)==null?void 0:L.err)||null}),console.log("tx status from getTransaction:",M))}catch(_){I=!0,clearInterval(x),console.error("getTransaction timeout:",_,M)}},Tt)),K=this.connection.onSignature(M,L=>{if(I){this.connection.removeSignatureListener(K);return}I=!0,C(L)},"confirmed"),this.connection.getSignatureStatus(M)};return N(),{txIds:[],signedTxs:P}}else{let h=[];for(let S=0;S<P.length;S+=1){let N=await this.connection.sendTransaction(P[S],{skipPreflight:B});h.push(N)}return{txIds:h,signedTxs:P}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:i||{}}}async sizeCheckBuild(e){var T;let k=e||{},{splitIns:n=[],computeBudgetConfig:i}=k,a=me(k,["splitIns","computeBudgetConfig"]),c=i?wt(i):{instructions:[],instructionTypes:[]},l=this.signers.reduce((w,B)=>V(F({},w),{[B.publicKey.toBase58()]:B}),{}),p=[],b=[],y=[],f=0;if(this.allInstructions.forEach(w=>{let B=[...y,w],g=i?[...c.instructions,...B]:B,h=[...new Set(B.map(S=>S.keys.filter(N=>N.isSigner).map(N=>N.pubkey.toString())).flat()).values()].map(S=>new _e(S));if(w!==n[f]&&y.length<12&&(je({instructions:g,payer:this.feePayer,signers:h})||je({instructions:B,payer:this.feePayer,signers:h})))y.push(w);else{if(y.length===0)throw Error("item ins too big");f+=w===n[f]?1:0,je({instructions:i?[...c.instructions,...y]:[...y],payer:this.feePayer,signers:h})?p.push(new et().add(...c.instructions,...y)):p.push(new et().add(...y)),b.push(Array.from(new Set(y.map(S=>S.keys.filter(N=>N.isSigner).map(N=>N.pubkey.toString())).flat())).map(S=>l[S]).filter(S=>S!==void 0)),y=[w]}}),y.length>0){let B=[...new Set(y.map(g=>g.keys.filter(P=>P.isSigner).map(P=>P.pubkey.toString())).flat()).values()].map(g=>l[g]).filter(g=>g!==void 0);je({instructions:i?[...c.instructions,...y]:[...y],payer:this.feePayer,signers:B.map(g=>g.publicKey)})?p.push(new et().add(...c.instructions,...y)):p.push(new et().add(...y)),b.push(B)}return p.forEach(w=>w.feePayer=this.feePayer),(T=this.owner)!=null&&T.signer&&b.forEach(w=>{w.some(B=>B.publicKey.equals(this.owner.publicKey))||w.push(this.owner.signer)}),{builder:this,transactions:p,signers:b,instructionTypes:this.instructionTypes,execute:async w=>{var M;let{sequentially:B,onTxUpdate:g,skipTxCount:P=0,recentBlockHash:h,skipPreflight:S=!0}=w||{},N=h!=null?h:await ve(this.connection,this.blockhashCommitment);if(p.forEach(async(I,x)=>{I.recentBlockhash=N,b[x].length&&I.sign(...b[x])}),xe(p),(M=this.owner)!=null&&M.isKeyPair){if(B){let I=0,x=[];for(let K of p){if(++I,I<=P){x.push("tx skipped");continue}let C=await en(this.connection,K,this.signers.find(L=>L.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:S});x.push(C)}return{txIds:x,signedTxs:p}}return{txIds:await Promise.all(p.map(async I=>await this.connection.sendRawTransaction(I.serialize(),{skipPreflight:S}))),signedTxs:p}}if(this.signAllTransactions){let I=await this.signAllTransactions(p.slice(P,p.length)),x=[...p.slice(0,P),...I];if(B){let K=0,C=[],L=async()=>{if(!x[K])return;K<P&&(C.push({txId:"",status:"success",signedTx:x[K]}),g==null||g([...C]),K++,L());let _=await this.connection.sendRawTransaction(x[K].serialize(),{skipPreflight:S});C.push({txId:_,status:"sent",signedTx:x[K]}),g==null||g([...C]),K++;let ne=!1,q=null,W=null,J=G=>{q!==null&&clearInterval(q),W!==null&&this.connection.removeSignatureListener(W);let oe=C.findIndex(be=>be.txId===_);if(oe>-1){if(C[oe].status==="error"||C[oe].status==="success")return;C[oe].status=G.err?"error":"success"}g==null||g([...C]),G.err||L()};this.loopMultiTxStatus&&(q=setInterval(async()=>{var G;if(ne){clearInterval(q);return}try{let oe=await this.connection.getTransaction(_,{commitment:"confirmed",maxSupportedTransactionVersion:1});oe&&(ne=!0,clearInterval(q),J({err:((G=oe.meta)==null?void 0:G.err)||null}),console.log("tx status from getTransaction:",_))}catch(oe){ne=!0,clearInterval(q),console.error("getTransaction timeout:",oe,_)}},Tt)),W=this.connection.onSignature(_,G=>{if(ne){this.connection.removeSignatureListener(W);return}ne=!0,J(G)},"confirmed"),this.connection.getSignatureStatus(_)};return await L(),{txIds:C.map(_=>_.txId),signedTxs:x}}else{let K=[];for(let C=0;C<x.length;C+=1){let L=await this.connection.sendRawTransaction(x[C].serialize(),{skipPreflight:S});K.push(L)}return{txIds:K,signedTxs:x}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:a||{}}}async sizeCheckBuildV0(e){var M;let N=e||{},{computeBudgetConfig:n,splitIns:i=[],lookupTableCache:a={},lookupTableAddress:c=[],insCountLimit:l=12}=N,p=me(N,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),b=F(F({},this.cluster==="devnet"?await jt(this.connection):await $t(this.connection)),a),y=Array.from(new Set([...this.lookupTableAddress,...c])),f=[];for(let I of y)b[I]===void 0&&f.push(new _e(I));let k=await Zt({connection:this.connection,address:f});for(let[I,x]of Object.entries(k))b[I]=x;let T=n?wt(n):{instructions:[],instructionTypes:[]},w=await ve(this.connection,this.blockhashCommitment),B=this.signers.reduce((I,x)=>V(F({},I),{[x.publicKey.toBase58()]:x}),{}),g=[],P=[],h=[],S=0;if(this.allInstructions.forEach(I=>{let x=[...h,I],K=n?[...T.instructions,...x]:x;if(I!==i[S]&&h.length<l&&(Je({instructions:K,payer:this.feePayer,lookupTableAddressAccount:b})||Je({instructions:x,payer:this.feePayer,lookupTableAddressAccount:b})))h.push(I);else{if(h.length===0)throw Error("item ins too big");S+=I===i[S]?1:0;let C={};for(let L of[...new Set(y)])b[L]!==void 0&&(C[L]=b[L]);if(n&&Je({instructions:[...T.instructions,...h],payer:this.feePayer,lookupTableAddressAccount:b,recentBlockhash:w})){let L=new tt({payerKey:this.feePayer,recentBlockhash:w,instructions:[...T.instructions,...h]}).compileToV0Message(Object.values(b));g.push(new nt(L))}else{let L=new tt({payerKey:this.feePayer,recentBlockhash:w,instructions:[...h]}).compileToV0Message(Object.values(b));g.push(new nt(L))}P.push(Array.from(new Set(h.map(L=>L.keys.filter(_=>_.isSigner).map(_=>_.pubkey.toString())).flat())).map(L=>B[L]).filter(L=>L!==void 0)),h=[I]}}),h.length>0){let x=[...new Set(h.map(K=>K.keys.filter(C=>C.isSigner).map(C=>C.pubkey.toString())).flat()).values()].map(K=>B[K]).filter(K=>K!==void 0);if(n&&Je({instructions:[...T.instructions,...h],payer:this.feePayer,lookupTableAddressAccount:b,recentBlockhash:w})){let K=new tt({payerKey:this.feePayer,recentBlockhash:w,instructions:[...T.instructions,...h]}).compileToV0Message(Object.values(b));g.push(new nt(K))}else{let K=new tt({payerKey:this.feePayer,recentBlockhash:w,instructions:[...h]}).compileToV0Message(Object.values(b));g.push(new nt(K))}P.push(x)}return(M=this.owner)!=null&&M.signer&&P.forEach(I=>{I.some(x=>x.publicKey.equals(this.owner.publicKey))||I.push(this.owner.signer)}),g.forEach((I,x)=>{I.sign(P[x])}),{builder:this,transactions:g,buildProps:e,signers:P,instructionTypes:this.instructionTypes,execute:async I=>{var ne;let{sequentially:x,onTxUpdate:K,skipTxCount:C=0,recentBlockHash:L,skipPreflight:_=!0}=I||{};if(g.map(async(q,W)=>{P[W].length&&q.sign(P[W]),L&&(q.message.recentBlockhash=L)}),xe(g),(ne=this.owner)!=null&&ne.isKeyPair){if(x){let q=0,W=[];for(let J of g){if(++q,q<=C){console.log("skip tx: ",q),W.push("tx skipped");continue}let G=await this.connection.sendTransaction(J,{skipPreflight:_});await kt(this.connection,G),W.push(G)}return{txIds:W,signedTxs:g}}return{txIds:await Promise.all(g.map(async q=>await this.connection.sendTransaction(q,{skipPreflight:_}))),signedTxs:g}}if(this.signAllTransactions){let q=await this.signAllTransactions(g.slice(C,g.length)),W=[...g.slice(0,C),...q];if(x){let J=0,G=[],oe=async()=>{if(!W[J])return;if(J<C){G.push({txId:"",status:"success",signedTx:W[J]}),K==null||K([...G]),J++,oe();return}let be=await this.connection.sendTransaction(W[J],{skipPreflight:_});G.push({txId:be,status:"sent",signedTx:W[J]}),K==null||K([...G]),J++;let ze=!1,Re=null,mt=null,hn=he=>{Re!==null&&clearInterval(Re),mt!==null&&this.connection.removeSignatureListener(mt);let ge=G.findIndex(No=>No.txId===be);if(ge>-1){if(G[ge].status==="error"||G[ge].status==="success")return;G[ge].status=he.err?"error":"success"}K==null||K([...G]),he.err||oe()};this.loopMultiTxStatus&&(Re=setInterval(async()=>{var he;if(ze){clearInterval(Re);return}try{let ge=await this.connection.getTransaction(be,{commitment:"confirmed",maxSupportedTransactionVersion:1});ge&&(ze=!0,clearInterval(Re),hn({err:((he=ge.meta)==null?void 0:he.err)||null}),console.log("tx status from getTransaction:",be))}catch(ge){ze=!0,clearInterval(Re),console.error("getTransaction timeout:",ge,be)}},Tt)),mt=this.connection.onSignature(be,he=>{if(ze){this.connection.removeSignatureListener(mt);return}ze=!0,hn(he)},"confirmed"),this.connection.getSignatureStatus(be)};return oe(),{txIds:[],signedTxs:W}}else{let J=[];for(let G=0;G<W.length;G+=1){let oe=await this.connection.sendTransaction(W[G],{skipPreflight:_});J.push(oe)}return{txIds:J,signedTxs:W}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:p||{}}}};var tn=(...o)=>o.map(e=>{try{return typeof e=="object"?JSON.stringify(e):e}catch{return e}}).join(", "),re=class{constructor({scope:e,moduleName:n}){this.disabled=!1;this.scope=e,this.logger=E(n)}createTxBuilder(e){return this.scope.checkOwner(),new ht({connection:this.scope.connection,feePayer:e||this.scope.ownerPubKey,cluster:this.scope.cluster,owner:this.scope.owner,blockhashCommitment:this.scope.blockhashCommitment,loopMultiTxStatus:this.scope.loopMultiTxStatus,api:this.scope.api,signAllTransactions:this.scope.signAllTransactions})}logDebug(...e){this.logger.debug(tn(e))}logInfo(...e){this.logger.info(tn(e))}logAndCreateError(...e){let n=tn(e);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{PublicKey as ym,SystemProgram as gm}from"@solana/web3.js";import wm from"bn.js";import{createCloseAccountInstruction as Im,createInitializeAccountInstruction as Bm,createTransferInstruction as Sm,TOKEN_PROGRAM_ID as Km}from"@solana/spl-token";import{Keypair as nm,PublicKey as om}from"@solana/web3.js";import am from"bn.js";import{TOKEN_PROGRAM_ID as cm}from"@solana/spl-token";var It=m([r("mint"),r("owner"),t("amount"),z("delegateOption"),r("delegate"),d("state"),z("isNativeOption"),t("isNative"),t("delegatedAmount"),z("closeAuthorityOption"),r("closeAuthority")]);import{PublicKey as vP,SystemProgram as _P}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as EP}from"@solana/spl-token";import{PublicKey as Bi}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Si}from"@solana/spl-token";function ae(o,e,n){return Y([o.toBuffer(),(n!=null?n:Si).toBuffer(),e.toBuffer()],new Bi("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"))}import{PublicKey as R}from"@solana/web3.js";var Jn=new R("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),eo=new R("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),to=new R("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),nn=new R("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),id=new R("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Ki=new R("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),no=new R("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),oo=new R("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),rd=new R("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),xi=new R("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),io=new R("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Ci=new R("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Ri=new R("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),ro=new R("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),ad=new R("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Li=new R("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),St=new R("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),ao=new R("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),sd=new R("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),Oi=new R("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Ni=new R("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Mi=new R("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),ud=new R("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),cd=new R("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),ld=new R("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),md=new R("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),dd=new R("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var ke={OPEN_BOOK_PROGRAM:new R("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new R("Ray1111111111111111111111111111111111111111"),AMM_V4:new R("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new R("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new R("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new R("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new R("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new R("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new R("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new R("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new R("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new R("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:R.default,Router:new R("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new R("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new R("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new R("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new R("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new R("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new R("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new R("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new R("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new R("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new R("Ray1111111111111111111111111111111111111111")};import QP from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as gb,TOKEN_2022_PROGRAM_ID as Pb,TOKEN_PROGRAM_ID as Ab}from"@solana/spl-token";import{PublicKey as kb}from"@solana/web3.js";import hb from"bn.js";import Bb from"decimal.js";import{TOKEN_PROGRAM_ID as Sd}from"@solana/spl-token";import{PublicKey as Rd}from"@solana/web3.js";var Fi=m([z("mintAuthorityOption"),r("mintAuthority"),t("supply"),d("decimals"),d("isInitialized"),z("freezeAuthorityOption"),r("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as Vy,TOKEN_2022_PROGRAM_ID as Ey,TOKEN_PROGRAM_ID as Dy}from"@solana/spl-token";import{Keypair as Uy,PublicKey as Gy,SystemProgram as Xy,TransactionInstruction as Yy}from"@solana/web3.js";import Qy from"bn.js";import D from"bn.js";var Ee=new D(1).shln(64);var vi=new D(1).shln(128),on=new D(1).shln(64).subn(1),_i=new D(1).shln(128).subn(1);var De=new D("4295048016"),We=new D("79226673521066979257578248091"),Vi=new D("59543866431248"),Ei=new D("184467440737095516"),Di=new D("15793534762490258745");var rn=60,qd=new D("18446743708227953217"),Wi=[{bit:0,factor:new D("fffcb933bd6fb800",16)},{bit:1,factor:new D("fff97272373d4000",16)},{bit:2,factor:new D("fff2e50f5f657000",16)},{bit:3,factor:new D("ffe5caca7e10f000",16)},{bit:4,factor:new D("ffcb9843d60f7000",16)},{bit:5,factor:new D("ff973b41fa98e800",16)},{bit:6,factor:new D("ff2ea16466c9b000",16)},{bit:7,factor:new D("fe5dee046a9a3800",16)},{bit:8,factor:new D("fcbe86c7900bb000",16)},{bit:9,factor:new D("f987a7253ac65800",16)},{bit:10,factor:new D("f3392b0822bb6000",16)},{bit:11,factor:new D("e7159475a2caf000",16)},{bit:12,factor:new D("d097f3bdfd2f2000",16)},{bit:13,factor:new D("a9f746462d9f8000",16)},{bit:14,factor:new D("70d869a156f31c00",16)},{bit:15,factor:new D("31be135f97ed3200",16)},{bit:16,factor:new D("9aa508b5b85a500",16)},{bit:17,factor:new D("5d6af8dedc582c",16)},{bit:18,factor:new D("2216e584f5fa",16)}];var ot=3,so=100;var uo=10,co=100,Kt=14;var $=new D(0),qe=new D(1),Ud=new D(-1);var Gd=new D("18446744073700000000");var qi=m([v(8),d("bump"),H("index"),r("owner"),z("protocolFeeRate"),z("tradeFeeRate"),H("tickSpacing"),z("fundFeeRate"),A(z(),1),r("fundOwner"),A(t(),3)]),Ui=m([z("blockTimestamp"),Le("tickCumulative"),A(t(),4)]),lo=m([v(8),ue("initialized"),t("recentEpoch"),H("observationIndex"),r("poolId"),A(Ui,so,"observations"),A(t(),4)]),Gi=m([H("filterPeriod"),H("decayPeriod"),H("reductionFactor"),z("dynamicFeeControl"),z("maxVolatilityAccumulator"),ce("tickSpacingIndexReference"),z("volatilityReference"),z("volatilityAccumulator"),t("lastUpdateTimestamp"),A(d(),46)]),zi=m([d("state"),t("openTime"),t("endTime"),t("lastUpdateTime"),O("emissionsPerSecondX64"),t("totalEmissioned"),t("claimed"),r("mint"),r("vault"),r("creator"),O("growthGlobalX64")]),an=m([v(8),d("bump"),r("configId"),r("creator"),r("mintA"),r("mintB"),r("vaultA"),r("vaultB"),r("observationId"),d("mintDecimalsA"),d("mintDecimalsB"),H("tickSpacing"),O("liquidity"),O("sqrtPriceX64"),ce("tickCurrent"),z(),O("feeGrowthGlobalX64A"),O("feeGrowthGlobalX64B"),t("protocolFeesTokenA"),t("protocolFeesTokenB"),A(O(),4),d("status"),d("feeOn"),v(6),A(zi,ot,"rewardInfos"),v(8*16,"tickArrayBitmap"),A(t(),4),t("fundFeesTokenA"),t("fundFeesTokenB"),t("startTime"),t("recentEpoch"),Gi.replicate("dynamicFeeInfo"),A(t(),46)]),Xi=m([O("growthInsideLastX64"),t("rewardAmountOwed")]),Yi=m([v(8),d("bump"),r("nftMint"),r("poolId"),ce("tickLower"),ce("tickUpper"),O("liquidity"),O("feeGrowthInsideLastX64A"),O("feeGrowthInsideLastX64B"),t("tokenFeesOwedA"),t("tokenFeesOwedB"),A(Xi,ot,"rewardInfos"),t("recentEpoch"),A(t(),7)]),Hd=m([v(8),d("bump"),r("poolId"),ce("tickLower"),ce("tickUpper"),O("liquidity"),O("feeGrowthInsideLastX64A"),O("feeGrowthInsideLastX64B"),t("tokenFeesOwedA"),t("tokenFeesOwedB"),A(O(),ot,"rewardGrowthInside"),t("recentEpoch"),A(t(),7)]),Hi=m([ce("tick"),Mn("liquidityNet"),O("liquidityGross"),O("feeGrowthOutsideX64A"),O("feeGrowthOutsideX64B"),A(O(),ot,"rewardGrowthsOutsideX64"),t("orderPhase"),t("ordersAmount"),t("partFilledOrdersRemaining"),O("unfilledRatioX64"),A(z(),3)]),mo=m([v(8),r("poolId"),ce("startTickIndex"),A(Hi,rn,"ticks"),d("initializedTickCount"),t("recentEpoch"),A(d(),107)]),Qi=m([v(8),d("bump"),A(r(),uo,"operationOwners"),A(r(),co,"whitelistMints")]),Zi=m([v(8),r("poolId"),r("owner"),ce("tick"),ue("zeroForOne"),t("orderPhase"),t("totalAmount"),t("filledAmount"),t("settleBase"),t("settleOutput"),t("openTime"),O("unfilledRatioX64"),A(t(),4)]),po=m([v(8),r("poolId"),v(8*8*Kt,"positiveTickArrayBitmap"),v(8*8*Kt,"negativeTickArrayBitmap")]),Qd=m([v(8),H("index"),H("filterPeriod"),H("decayPeriod"),H("reductionFactor"),z("dynamicFeeControl"),z("maxVolatilityAccumulator"),A(t(),8)]),$i=m([v(8),r("wallet"),d("nonceIndex"),t("orderNonce"),A(t(),4)]),Zd=m([t(),d("bump"),r("owner"),r("poolId"),r("positionId"),r("nftAccount"),A(t(),8)]),ji=m([v(8),d("bump"),r("lockOwner"),r("poolId"),r("positionId"),r("nftAccount"),r("lockNftMint"),t("recentEpoch"),A(t(),8)]);import Jd from"bn.js";var lp=Buffer.from("amm_config","utf8"),er=Buffer.from("pool","utf8"),tr=Buffer.from("pool_vault","utf8"),mp=Buffer.from("pool_reward_vault","utf8"),dp=Buffer.from("position","utf8"),pp=Buffer.from("tick_array","utf8"),fp=Buffer.from("operation","utf8"),yp=Buffer.from("pool_tick_array_bitmap_extension","utf8"),bp=Buffer.from("observation","utf8"),gp=Buffer.from("support_mint","utf8"),Pp=Buffer.from("dynamic_fee_config","utf8"),Ap=Buffer.from("permission","utf8");function xt(o){return Y([Buffer.from("metadata","utf8"),Ke.toBuffer(),o.toBuffer()],Ke)}var wp=Buffer.from("locked_position","utf8");import{sha256 as br}from"js-sha256";import nr from"bn.js";import Ip from"decimal.js";var Sp=new nr(1).shln(256).subn(1);import Gp from"bn.js";import Np from"bn.js";import Fp from"decimal.js";import Qp from"bn.js";import $p from"decimal.js";import{PublicKey as Vf}from"@solana/web3.js";import Df from"bn.js";import{TOKEN_2022_PROGRAM_ID as Hf,TOKEN_PROGRAM_ID as Qf}from"@solana/spl-token";import Jf from"decimal.js";import Kf from"bn.js";import ff from"bn.js";import ly from"bn.js";function j(o){let e=`global:${o}`;return Buffer.from(br.digest(e)).slice(0,8)}lo.span;var ib=E("Raydium_Clmm"),rb={createPool:j("create_pool"),createCustomizablePool:j("create_customizable_pool"),createPermissionedPool:j("create_permissioned_pool"),openPositionV2:j("open_position_v2"),openPositionWithToken22Nft:j("open_position_with_token22_nft"),closePosition:j("close_position"),increaseLiquidityV2:j("increase_liquidity_v2"),decreaseLiquidityV2:j("decrease_liquidity_v2"),initializeReward:j("initialize_reward"),setRewardParams:j("set_reward_params"),updateRewardInfos:j("update_reward_infos"),collectRemainingRewards:j("collect_remaining_rewards"),swapV2:j("swap_v2"),openLimitOrder:j("open_limit_order"),increaseLimitOrder:j("increase_limit_order"),decreaseLimitOrder:j("decrease_limit_order"),settleLimitOrder:j("settle_limit_order"),closeLimitOrder:j("close_limit_order")};import{PublicKey as ln}from"@solana/web3.js";var wr=m([d("instruction")]),kr=m([d("instruction")]),Tr=m([t("rewardState"),t("rewardOpenTime"),t("rewardEndTime"),t("rewardLastUpdateTime"),t("totalReward"),t("totalRewardEmissioned"),t("rewardClaimed"),t("rewardPerSecond"),O("accRewardPerShare"),r("rewardVault"),r("rewardMint"),r("rewardSender"),t("rewardType"),A(t(),15,"padding")]),hr=m([t("state"),t("nonce"),r("lpVault"),r("rewardVault"),r(),r(),t(),t(),t("totalReward"),O("perShareReward"),t("lastSlot"),t("perSlotReward")]),Ir=m([t("state"),t("nonce"),r("lpVault"),r("rewardVaultA"),t("totalRewardA"),O("perShareRewardA"),t("perSlotRewardA"),d("option"),r("rewardVaultB"),v(7),t("totalRewardB"),O("perShareRewardB"),t("perSlotRewardB"),t("lastSlot"),r()]),Br=m([t(),t("state"),t("nonce"),t("validRewardTokenNum"),O("rewardMultiplier"),t("rewardPeriodMax"),t("rewardPeriodMin"),t("rewardPeriodExtend"),r("lpMint"),r("lpVault"),A(Tr,5,"rewardInfos"),r("creator"),r(),A(t(),32,"padding")]),Sr=new Proxy(hr,{get(o,e,n){return e==="decode"?(...i)=>{let a=o.decode(...i);return V(F({},a),{version:3,rewardInfos:[{rewardVault:a.rewardVault,totalReward:a.totalReward,perSlotReward:a.perSlotReward,perShareReward:a.perShareReward}]})}:Reflect.get(o,e,n)}}),Kr=new Proxy(Ir,{get(o,e,n){return e==="decode"?(...i)=>{let a=o.decode(...i);return V(F({},a),{version:5,rewardInfos:[{rewardVault:a.rewardVaultA,totalReward:a.totalRewardA,perSlotReward:a.perSlotRewardA,perShareReward:a.perShareRewardA},{rewardVault:a.rewardVaultB,totalReward:a.totalRewardB,perSlotReward:a.perSlotRewardB,perShareReward:a.perShareRewardB}]})}:Reflect.get(o,e,n)}}),Ao=new Proxy(Br,{get(o,e,n){return e==="decode"?(...i)=>{let a=o.decode(...i);return V(F({},a),{version:6,rewardInfos:a.rewardInfos.map(c=>{var l;return V(F({},c),{rewardType:((l=Object.entries(at).find(p=>String(p[1])===c.rewardType.toString()))!=null?l:["Standard SPL"])[0]})})})}:Reflect.get(o,e,n)}}),xr=m([t("isSet"),t("rewardPerSecond"),t("rewardOpenTime"),t("rewardEndTime"),t("rewardType")]),Cr=m([d("instruction"),t("nonce"),A(xr,5,"rewardTimeInfo")]),Rr=m([d("instruction"),t("rewardReopenTime"),t("rewardEndTime"),t("rewardPerSecond")]),Lr=m([d("instruction"),t("isSet"),t("rewardPerSecond"),t("rewardOpenTime"),t("rewardEndTime"),t("rewardType")]),eg=m([t("state"),r("id"),r("owner"),t("deposited"),A(t(),1,"rewardDebts")]),wo=m([t("state"),r("id"),r("owner"),t("deposited"),A(O(),1,"rewardDebts"),t(""),t("voteLockedBalance"),A(t(),15)]),tg=m([t("state"),r("id"),r("owner"),t("deposited"),A(t(),2,"rewardDebts")]),Or=m([t("state"),r("id"),r("owner"),t("deposited"),A(O(),2,"rewardDebts"),A(t(),17)]),Nr=m([t(),t("state"),r("id"),r("owner"),t("deposited"),A(O(),5,"rewardDebts"),A(t(),16)]),Mr=m([d("instruction"),t("amount")]),Fr=m([r("mint"),r("grantAuthority"),t("baselineVoteWeightScaledFactor"),t("maxExtraLockupVoteWeightScaledFactor"),t("lockupSaturationSecs"),Nn("digitShift"),A(d(),7,"reserved1"),A(t(),7,"reserved2")]),vr=m([v(8),r("governanceProgramId"),r("realm"),r("realmGoverningTokenMint"),r("realmAuthority"),A(d(),32,"reserved1"),A(Fr,4,"votingMints"),Le("timeOffset"),d("bump"),A(d(),7,"reserved2"),A(t(),11,"reserved3")]),_r=m([Le("startTime"),Le("endTime"),d("kind"),A(d(),15,"reserved")]),Vr=m([A(_r,1,"lockup"),t("amountDeposited_native"),t("amountInitiallyLockedNative"),ue("isUsed"),ue("allowClawback"),d("votingMintConfigIdx"),A(d(),29,"reserved")]),Er=m([v(8),r("voterAuthority"),r("registrar"),A(Vr,32,"deposits"),d("voterBump"),d("voterWweightRecordBump"),A(d(),94,"reserved")]);import{NATIVE_MINT as lg}from"@solana/spl-token";var mg=E("Raydium_farm_config"),Dr=new ln("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Wr=new ln("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var dg=new ln("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var at={"Standard SPL":0,"Option tokens":1},ko={[Jn.toString()]:3,[eo.toString()]:4,[to.toString()]:5,[nn.toString()]:6,[ke.FARM_PROGRAM_ID_V3.toString()]:3,[ke.FARM_PROGRAM_ID_V4.toString()]:4,[ke.FARM_PROGRAM_ID_V5.toString()]:5,[ke.FARM_PROGRAM_ID_V6.toString()]:6};import{PublicKey as $g,SystemProgram as jg,SYSVAR_CLOCK_PUBKEY as Jg,SYSVAR_RENT_PUBKEY as eP,TransactionInstruction as tP}from"@solana/web3.js";import oP from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as rP,createAssociatedTokenAccountIdempotentInstruction as aP,TOKEN_PROGRAM_ID as sP}from"@solana/spl-token";import Kg from"bn.js";import{PublicKey as Pg}from"@solana/web3.js";import wg from"bn.js";var Dg=E("Raydium.farm.util");var PP=E("Raydium_farm_instruction"),AP={voterStakeRegistryCreateVoter:Buffer.from([6,24,245,52,243,255,148,25]),voterStakeRegistryCreateDepositEntry:Buffer.from([185,131,167,186,159,125,19,67]),voterStakeRegistryDeposit:Buffer.from([242,35,198,137,82,225,242,182]),voterStakeRegistryWithdraw:Buffer.from([183,18,70,156,148,109,161,34]),voterStakeRegistryUpdateVoterWeightRecord:Buffer.from([45,185,3,36,109,190,115,169])};import aA from"bn.js";import{PublicKey as fk}from"@solana/web3.js";import{AccountLayout as gk,MintLayout as Pk,NATIVE_MINT as Ak,TOKEN_PROGRAM_ID as kk}from"@solana/spl-token";import cA from"bn.js";import ho from"bn.js";var Qr=new ho(25),Zr=new ho(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as LA,TOKEN_PROGRAM_ID as OA}from"@solana/spl-token";import{PublicKey as MA,SystemProgram as FA,SYSVAR_RENT_PUBKEY as vA,TransactionInstruction as _A}from"@solana/web3.js";import zA from"bn.js";var $r=m([d("instruction"),t("amountIn"),t("minAmountOut")]),jr=m([d("instruction"),t("maxAmountIn"),t("amountOut")]),KA=m([d("instruction"),d("nonce")]),Jr=m([d("instruction"),d("nonce"),t("startTime")]),Io=m([t("status"),t("nonce"),t("maxOrder"),t("depth"),t("baseDecimal"),t("quoteDecimal"),t("state"),t("resetFlag"),t("minSize"),t("volMaxCutRatio"),t("amountWaveRatio"),t("baseLotSize"),t("quoteLotSize"),t("minPriceMultiplier"),t("maxPriceMultiplier"),t("systemDecimalValue"),t("minSeparateNumerator"),t("minSeparateDenominator"),t("tradeFeeNumerator"),t("tradeFeeDenominator"),t("pnlNumerator"),t("pnlDenominator"),t("swapFeeNumerator"),t("swapFeeDenominator"),t("baseNeedTakePnl"),t("quoteNeedTakePnl"),t("quoteTotalPnl"),t("baseTotalPnl"),t("poolOpenTime"),t("punishPcAmount"),t("punishCoinAmount"),t("orderbookToInitTime"),O("swapBaseInAmount"),O("swapQuoteOutAmount"),t("swapBase2QuoteFee"),O("swapQuoteInAmount"),O("swapBaseOutAmount"),t("swapQuote2BaseFee"),r("baseVault"),r("quoteVault"),r("baseMint"),r("quoteMint"),r("lpMint"),r("openOrders"),r("marketId"),r("marketProgramId"),r("targetOrders"),r("withdrawQueue"),r("lpVault"),r("owner"),t("lpReserve"),A(t(),3,"padding")]),xA=m([t("accountType"),t("status"),t("nonce"),t("maxOrder"),t("depth"),t("baseDecimal"),t("quoteDecimal"),t("state"),t("resetFlag"),t("minSize"),t("volMaxCutRatio"),t("amountWaveRatio"),t("baseLotSize"),t("quoteLotSize"),t("minPriceMultiplier"),t("maxPriceMultiplier"),t("systemDecimalsValue"),t("abortTradeFactor"),t("priceTickMultiplier"),t("priceTick"),t("minSeparateNumerator"),t("minSeparateDenominator"),t("tradeFeeNumerator"),t("tradeFeeDenominator"),t("pnlNumerator"),t("pnlDenominator"),t("swapFeeNumerator"),t("swapFeeDenominator"),t("baseNeedTakePnl"),t("quoteNeedTakePnl"),t("quoteTotalPnl"),t("baseTotalPnl"),t("poolOpenTime"),t("punishPcAmount"),t("punishCoinAmount"),t("orderbookToInitTime"),O("swapBaseInAmount"),O("swapQuoteOutAmount"),O("swapQuoteInAmount"),O("swapBaseOutAmount"),t("swapQuote2BaseFee"),t("swapBase2QuoteFee"),r("baseVault"),r("quoteVault"),r("baseMint"),r("quoteMint"),r("lpMint"),r("modelDataAccount"),r("openOrders"),r("marketId"),r("marketProgramId"),r("targetOrders"),r("owner"),A(t(),64,"padding")]),ea=m([d("instruction"),t("baseAmountIn"),t("quoteAmountIn"),t("fixedSide"),t("otherAmountMin")]),ta=m([d("instruction"),t("lpAmount"),t("baseAmountMin"),t("quoteAmountMin")]);var na=m([t("fee")]);var HA=E("Raydium_liquidity_instruction");var oa=5e4,ia=m([t("x"),t("y"),t("price")]),jA=m([t("accountType"),t("status"),t("multiplier"),t("validDataCount"),A(ia,oa,"DataElement")]);import{PublicKey as lw}from"@solana/web3.js";import dw from"decimal.js";import{TOKEN_PROGRAM_ID as fw}from"@solana/spl-token";import{PublicKey as nw}from"@solana/web3.js";var rw=E("Raydium_liquidity_serum");import Wk from"bn.js";import Uk from"decimal.js";import{TOKEN_PROGRAM_ID as Ww}from"@solana/spl-token";import{PublicKey as Uw}from"@solana/web3.js";import zw from"bn.js";import{SystemProgram as xw,SYSVAR_RENT_PUBKEY as Cw,Transaction as Rw,TransactionInstruction as Lw}from"@solana/web3.js";import{createInitializeAccountInstruction as Nw,TOKEN_PROGRAM_ID as Mw}from"@solana/spl-token";function ra(o="accountFlags"){let e=new yt(o);return e.addBoolean("initialized"),e.addBoolean("market"),e.addBoolean("openOrders"),e.addBoolean("requestQueue"),e.addBoolean("eventQueue"),e.addBoolean("bids"),e.addBoolean("asks"),e}var aa=m([v(5),ra("accountFlags"),r("ownAddress"),t("vaultSignerNonce"),r("baseMint"),r("quoteMint"),r("baseVault"),t("baseDepositsTotal"),t("baseFeesAccrued"),r("quoteVault"),t("quoteDepositsTotal"),t("quoteFeesAccrued"),t("quoteDustThreshold"),r("requestQueue"),r("eventQueue"),r("bids"),r("asks"),t("baseLotSize"),t("quoteLotSize"),t("feeRateBps"),t("referrerRebatesAccrued"),v(7)]);import{PublicKey as fT}from"@solana/web3.js";import{AccountLayout as bT,NATIVE_MINT as gT,TOKEN_2022_PROGRAM_ID as PT,TOKEN_PROGRAM_ID as AT,createAssociatedTokenAccountIdempotentInstruction as wT}from"@solana/spl-token";import So from"bn.js";import Nt from"bn.js";function dn(o,e){if(e.isZero())throw Error("divisor is zero");return o.mod(e)}function pa(o,e){if(e.isZero())throw Error("rhs is zero");let n=o.div(e);return dn(o,e).gt(st)&&(n=n.add(new Nt(1))),[n,e]}var st=new Nt(0),ut=class{static swapBaseInputWithoutFees(e,n,i){let a=e.mul(i),c=n.add(e);return a.div(c)}static swapBaseOutputWithoutFees(e,n,i){let a=n.mul(e),c=i.sub(e),[l]=pa(a,c);return l}static lpTokensToTradingTokens(e,n,i,a,c){let l=e.mul(i).div(n),p=e.mul(a).div(n);if(c===0)return{tokenAmount0:l,tokenAmount1:p};if(c===1)return dn(e.mul(i),n).gt(st)&&l.gt(st)&&(l=l.add(new Nt(1))),dn(e.mul(a),n).gt(st)&&p.gt(st)&&(p=p.add(new Nt(1))),{tokenAmount0:l,tokenAmount1:p};throw Error("roundDirection value error")}};import ya from"bn.js";import fa from"bn.js";var pe=new fa(1e6);var se=class{static tradingFee(e,n){return Ft(e,n,pe)}static protocolFee(e,n){return Mt(e,n,pe)}static fundFee(e,n){return Mt(e,n,pe)}static creatorFee(e,n){return Ft(e,n,pe)}static splitCreatorFee(e,n,i){return Mt(e,i,n.add(i))}static calculatePreFeeAmount(e,n){if(n.isZero())return e;let i=e.mul(pe),a=pe.sub(n);return i.add(a).sub(new ya(1)).div(a)}};var Bo=(n=>(n[n.Floor=0]="Floor",n[n.Ceiling=1]="Ceiling",n))(Bo||{}),ba=(n=>(n[n.ZeroForOne=0]="ZeroForOne",n[n.OneForZero=1]="OneForZero",n))(ba||{}),ga=(n=>(n[n.OneForZero=0]="OneForZero",n[n.ZeroForOne=1]="ZeroForOne",n))(ga||{}),pn=class{static validate_supply(e,n){if(e.isZero())throw Error("tokenAmount0 is zero");if(n.isZero())throw Error("tokenAmount1 is zero")}static swapBaseInput(e,n,i,a,c,l,p,b){let y=new So(0),f=se.tradingFee(e,a),k;b?(y=se.creatorFee(e,c),k=e.sub(f).sub(y)):k=e.sub(f);let T=se.protocolFee(f,l),w=se.protocolFee(f,p),B=ut.swapBaseInputWithoutFees(k,n,i),g;return b?g=B:(y=se.creatorFee(B,c),g=B.sub(y)),{newInputVaultAmount:n.add(k),newOutputVaultAmount:i.sub(B),inputAmount:e,outputAmount:g,tradeFee:f,protocolFee:T,fundFee:w,creatorFee:y}}static swapBaseOutput(e,n,i,a,c,l,p,b){let y,f=new So(0),k;if(b)k=e;else{let P=se.calculatePreFeeAmount(e,c);f=P.sub(e),k=P}let T=ut.swapBaseOutputWithoutFees(k,n,i),w;if(b){let P=se.calculatePreFeeAmount(T,a.add(c)),h=P.sub(T);f=se.splitCreatorFee(h,a,c),y=h.sub(f),w=P}else{let P=se.calculatePreFeeAmount(T,a);y=P.sub(T),w=P}let B=se.protocolFee(y,l),g=se.fundFee(y,p);return{newInputVaultAmount:n.add(T),newOutputVaultAmount:i.sub(k),inputAmount:w,outputAmount:e,tradeFee:y,protocolFee:B,fundFee:g,creatorFee:f}}};import xT from"bn.js";import RT from"decimal.js";var Pa=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),Aa=Buffer.from("amm_config","utf8"),wa=Buffer.from("pool","utf8"),ka=Buffer.from("pool_lp_mint","utf8"),Ta=Buffer.from("pool_vault","utf8"),ha=Buffer.from("observation","utf8"),Ia=Buffer.from("permission","utf8"),Ba=Buffer.from("support_mint","utf8"),Sa=Buffer.from("creator_fee_share","utf8");function fn(o){return Y([Pa],o)}function mT(o,e){return Y([Aa,xa(e)],o)}function yn(o,e,n,i){return Y([wa,e.toBuffer(),n.toBuffer(),i.toBuffer()],o)}function Ka(o,e){return Y([ka,e.toBuffer()],o)}function Ko(o,e,n){return Y([Ta,e.toBuffer(),n.toBuffer()],o)}function bn(o,e){return Y([ha,e.toBuffer()],o)}function xa(o){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,o,!1),new Uint8Array(e)}function Ca({poolId:o,programId:e,configId:n,mintA:i,mintB:a}){let c=fn(e).publicKey,l=o||yn(e,n,i,a).publicKey,p=Ka(e,l).publicKey,b=Ko(e,l,i).publicKey,y=Ko(e,l,a).publicKey,f=bn(e,l).publicKey;return{poolId:l,configId:n,authority:c,lpMint:p,vaultA:b,vaultB:y,observationId:f}}var Ra=Buffer.from("locked_liquidity","utf8");function gn(o,e){return Y([Ra,e.toBuffer()],o)}function La(o,e){return Y([Ia,e.toBuffer()],o)}function Oa(o,e){return Y([Ba,e.toBuffer()],o)}function Pn(o,e,n){return Y([Sa,e.toBuffer(),n.toBuffer()],o)}import{PublicKey as NK,SystemProgram as MK}from"@solana/web3.js";import{createTransferInstruction as vK,TOKEN_PROGRAM_ID as _K,TOKEN_2022_PROGRAM_ID as VK,createAssociatedTokenAccountIdempotentInstruction as EK,createSyncNativeInstruction as WK,createTransferCheckedInstruction as qK}from"@solana/spl-token";import as from"bn.js";import zK from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Ch,TOKEN_2022_PROGRAM_ID as Rh,TOKEN_PROGRAM_ID as Lh}from"@solana/spl-token";import{SystemProgram as Fh,TransactionInstruction as vh}from"@solana/web3.js";import qa from"bn.js";var fh=Buffer.from("vault_auth_seed","utf8"),yh=Buffer.from("global_config","utf8"),bh=Buffer.from("pool_vesting","utf8"),gh=Buffer.from("platform_config","utf8"),Ph=Buffer.from("platform_fee_vault_auth_seed","utf8"),Ah=Buffer.from("creator_fee_vault_auth_seed","utf8"),wh=Buffer.from("platform_global_access","utf8"),kh=Buffer.from("platform_allow_config","utf8"),Th=Buffer.from("platform_curve_rule","utf8");var Eh={initialize:Buffer.from([175,175,109,31,13,152,155,237]),initializeV2:Buffer.from([67,153,175,39,218,16,38,32]),buyExactIn:Buffer.from([250,234,13,123,213,156,19,236]),buyExactOut:Buffer.from([24,211,116,40,105,3,153,56]),sellExactIn:Buffer.from([149,39,222,155,211,124,152,26]),sellExactOut:Buffer.from([95,200,71,34,8,9,11,166]),createVestingAccount:Buffer.from([129,178,2,13,217,172,230,218]),claimVestedToken:Buffer.from([49,33,104,30,189,157,79,35]),createPlatformConfig:Buffer.from([176,90,196,175,253,113,220,20]),claimPlatformFee:Buffer.from([156,39,208,135,76,237,61,72]),updatePlaformConfig:Buffer.from([195,60,76,129,146,45,67,143]),initializeWithToken2022:Buffer.from([37,190,126,222,44,154,171,17]),claimPlatformFeeFromVault:Buffer.from([117,241,198,168,248,218,80,29]),claimCreatorFee:Buffer.from([26,97,138,203,132,171,141,252]),createPlatformVestingAccount:Buffer.from([146,71,173,69,98,19,15,106]),createPlatformAllowConfig:Buffer.from([69,71,168,7,214,250,107,102]),closePlatformAllowConfig:Buffer.from([82,205,36,216,16,6,240,215]),createPlatformCurveRule:Buffer.from([148,71,180,136,122,144,59,21]),updatePlatformCurveRule:Buffer.from([90,100,206,196,54,117,120,139]),removePlatformCurveRule:Buffer.from([236,77,154,138,32,145,127,219]),closePlatformCurveRule:Buffer.from([194,114,82,45,136,88,169,159])};var Dh=new qa("18446744073709551615");var Ua=m([t(),t("epoch"),d("curveType"),H("index"),t("migrateFee"),t("tradeFeeRate"),t("maxShareFeeRate"),t("minSupplyA"),t("maxLockRate"),t("minSellRateA"),t("minMigrateRateA"),t("minFundRaisingB"),r("mintB"),r("protocolFeeOwner"),r("migrateFeeOwner"),r("migrateToAmmWallet"),r("migrateToCpmmWallet"),A(t(),16)]),Ga=m([t("totalLockedAmount"),t("cliffPeriod"),t("unlockPeriod"),t("startTime"),t("totalAllocatedShare")]),za=m([t(),t("epoch"),d("bump"),d("status"),d("mintDecimalsA"),d("mintDecimalsB"),d("migrateType"),t("supply"),t("totalSellA"),t("virtualA"),t("virtualB"),t("realA"),t("realB"),t("totalFundRaisingB"),t("protocolFee"),t("platformFee"),t("migrateFee"),Ga.replicate("vestingSchedule"),r("configId"),r("platformId"),r("mintA"),r("mintB"),r("vaultA"),r("vaultB"),r("creator"),d("mintProgramFlag"),d("cpmmCreatorFeeOn"),t("platformVestingShare"),A(d(),54)]),Gh=m([t(),t("epoch"),r("poolId"),r("beneficiary"),t("claimedAmount"),t("tokenShareAmount"),A(t(),8)]),Xa=m([d("migrateType"),d("migrateCpmmFeeOn"),t("supply"),t("totalSellA"),t("totalFundRaisingB"),t("totalLockedAmount"),t("cliffPeriod"),t("unlockPeriod")]),zh=m([t("epoch"),d("index"),r("configId"),Xa.replicate("bondingCurveParam"),A(t(),50)]),xo=m([t(),t("epoch"),r("platformClaimFeeWallet"),r("platformLockNftWallet"),t("platformScale"),t("creatorScale"),t("burnScale"),t("feeRate"),A(d(),64,"name"),A(d(),256,"web"),A(d(),256,"img"),r("cpConfigId"),t("creatorFeeRate"),r("transferFeeExtensionAuth"),r("platformVestingWallet"),t("platformVestingScale"),r("platformCpCreator"),d("restrictGlobalConfig"),d("restrictCurveParam"),r("curveRuleManager"),A(d(),78)]),Ya=m([d("field"),d("op"),O("value")]),Ha=m([H("groupId"),t("epoch"),Wt(Ya,"constraints")]),Qa=m([t(),d("bump"),d("version"),r("platformId"),r("configId"),t("epoch"),A(t(),8),Wt(Ha,"groups")]);import{TOKEN_2022_PROGRAM_ID as Hh,TOKEN_PROGRAM_ID as Qh}from"@solana/spl-token";import Za from"bn.js";var sI=new Za(1e6);import mI from"bn.js";import pI from"decimal.js";import zI from"bn.js";import YI from"decimal.js";import AI from"bn.js";import kI from"decimal.js";import LI from"bn.js";import NI from"decimal.js";import Lo from"bn.js";import wn from"decimal.js";var vt=class{static _multipler(e){return new wn(10).pow(e)}static getPrice({priceX64:e,decimalA:n,decimalB:i}){return new wn(e.toString()).div(this._Q64).mul(this._multipler(n)).div(this._multipler(i))}static getPriceX64({price:e,decimalA:n,decimalB:i}){let a=e.mul(this._multipler(i)).div(this._multipler(n));return new Lo(a.mul(this._Q64).toFixed(0))}};vt._Q64=new wn(new Lo(1).shln(64).toString());import{NATIVE_MINT as uS,TOKEN_2022_PROGRAM_ID as cS,TOKEN_PROGRAM_ID as lS,createAssociatedTokenAccountIdempotentInstruction as dS,createSyncNativeInstruction as pS,getTransferFeeConfig as fS,unpackMint as yS}from"@solana/spl-token";import Z from"bn.js";import{PublicKey as os,SystemProgram as PS}from"@solana/web3.js";import BS from"decimal.js";var SS={initPriceX64:new Z("515752397214619"),supply:new Z(1e15),totalSellA:new Z(7931e11),totalFundRaisingB:new Z(85e9),totalFundRaisingBUSD:new Z(125e8),totalLockedAmount:new Z("0"),cliffPeriod:new Z("0"),unlockPeriod:new Z("0"),decimals:6,virtualA:new Z("1073471847374405"),virtualB:new Z("30050573465"),realA:new Z(0),realB:new Z(0),protocolFee:new Z(0),platformId:new os("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new Z(0),cliffPeriod:new Z(0),unlockPeriod:new Z(0),startTime:new Z(0),totalAllocatedShare:new Z(0)}},KS=new Z(1e4);var is={[no.toBase58()]:3};var rs=m([v(5),v(8),r("ownAddress"),t("vaultSignerNonce"),r("baseMint"),r("quoteMint"),r("baseVault"),t("baseDepositsTotal"),t("baseFeesAccrued"),r("quoteVault"),t("quoteDepositsTotal"),t("quoteFeesAccrued"),t("quoteDustThreshold"),r("requestQueue"),r("eventQueue"),r("bids"),r("asks"),t("baseLotSize"),t("quoteLotSize"),t("feeRateBps"),t("referrerRebatesAccrued"),v(7)]);import{PublicKey as $S}from"@solana/web3.js";var nK=E("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as mK,TOKEN_2022_PROGRAM_ID as dK,TOKEN_PROGRAM_ID as pK}from"@solana/spl-token";import{PublicKey as yK,SystemProgram as bK,TransactionInstruction as gK}from"@solana/web3.js";import AK from"bn.js";var kx=new as(0);import{PublicKey as ss,Transaction as kn,TransactionInstruction as us}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as cs}from"@solana/spl-token";import Oo from"bn.js";var te=class extends re{static getPdaPoolId(e,n){return Y([te.SEED_CONFIG.pool.id,n.toBuffer()],e)}static getPdaOwnerId(e,n,i,a){return Y([te.SEED_CONFIG.owner.id,n.toBuffer(),i.toBuffer(),Buffer.from(new Oo(a).toArray())],e)}static async getAllInfo({connection:e,programId:n,poolIds:i,wallet:a,chainTime:c}){if(i.length===0)return[];let l=i.map(f=>te.getPdaPoolId(n,f).publicKey),p=[];for(let f=0;f<te.VERSION_PROJECT.length;f++)p.push(...l.map(k=>te.getPdaOwnerId(n,k,a,f).publicKey));let b=await Pe(e,[...l,...p]),y=[];for(let f=0;f<b.length;f++){let k=Math.floor(f/i.length),T=f%i.length,w=l[T],B=p[f],g=b[T],P=b[i.length+f];if(!(g&&P)||g.data.length!==te.POOL_LAYOUT.span||P.data.length!==te.OWNER_LAYOUT.span)continue;let h=te.POOL_LAYOUT.decode(g.data),S=te.OWNER_LAYOUT.decode(P.data),N=h.openTime.toNumber(),M=h.endTime.toNumber(),I=S.tokenInfo.map(C=>C.debtAmount.gt(new Oo(0))).filter(C=>!C).length!==3,x=c>N&&c<M&&h.status===1,K=I&&x;y.push({programId:n,poolId:w,ammId:h.ammId,ownerAccountId:B,snapshotLpAmount:S.lpAmount,project:te.VERSION_PROJECT[k],openTime:N,endTime:M,canClaim:K,canClaimErrorType:I?x?void 0:"outOfOperationalTime":"alreadyClaimIt",tokenInfo:h.tokenInfo.map((C,L)=>({mintAddress:C.mintAddress,mintVault:C.mintVault,mintDecimals:C.mintDecimals,perLpLoss:C.perLpLoss,debtAmount:S.tokenInfo[L].debtAmount.add(S.tokenInfo[L].claimedAmount)}))})}return y}async makeClaimTransaction({poolInfo:e,ownerInfo:n,feePayer:i}){n.wallet||this.scope.checkOwner();let a=this.createTxBuilder(i),c=n.wallet||this.scope.ownerPubKey,l=[];for(let y of e.tokenInfo){let{account:f,instructionParams:k}=await this.scope.account.getOrCreateTokenAccount({mint:y.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:y.mintAddress.equals(ee.WSOL.mint),createInfo:{payer:c,amount:0},skipCloseAccount:!y.mintAddress.equals(ee.WSOL.mint),associatedOnly:y.mintAddress.equals(ee.WSOL.mint)?!1:n.associatedOnly});k&&a.addInstruction(k),l.push(f)}a.addInstruction({instructions:[te.makeClaimInstruction({programId:e.programId,poolInfo:e,ownerInfo:{wallet:c,ownerPda:e.ownerAccountId,claimAddress:l}})]});let{transaction:p,signers:b}=a.build();return[{transaction:p,signer:b}]}async makeClaimAllTransaction({poolInfos:e,ownerInfo:n,feePayer:i}){let a=this.createTxBuilder(i),c=n.wallet||this.scope.ownerPubKey,l={};for(let f of e){let k=[];for(let T of f.tokenInfo){let{account:w,instructionParams:B}=await this.scope.account.getOrCreateTokenAccount({mint:T.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:T.mintAddress.equals(ee.WSOL.mint),createInfo:{payer:c,amount:0},skipCloseAccount:!T.mintAddress.equals(ee.WSOL.mint),associatedOnly:T.mintAddress.equals(ee.WSOL.mint)?!1:n.associatedOnly});B&&a.addInstruction(B),w&&(l[T.mintAddress.toString()]=w,k.push(w))}a.addInstruction({instructions:[te.makeClaimInstruction({programId:f.programId,poolInfo:f,ownerInfo:{wallet:c,ownerPda:f.ownerAccountId,claimAddress:k}})]})}let{transaction:p,signers:b}=a.build(),y=a.allInstructions;return Jt(y,[c,...b.map(f=>f.publicKey)])?[{transaction:p,signer:b}]:[{transaction:new kn().add(...y.slice(0,a.AllTxData.instructions.length-1)),signer:b},{transaction:new kn().add(...y.slice(a.AllTxData.instructions.length-1)),signer:[]},{transaction:new kn().add(...a.AllTxData.endInstructions),signer:[]}]}static makeClaimInstruction({programId:e,poolInfo:n,ownerInfo:i}){let a=m([]),c=[{pubkey:i.wallet,isSigner:!0,isWritable:!0},{pubkey:n.poolId,isSigner:!1,isWritable:!0},{pubkey:i.ownerPda,isSigner:!1,isWritable:!0},...i.claimAddress.map(b=>({pubkey:b,isSigner:!1,isWritable:!0})),...n.tokenInfo.map(({mintVault:b})=>({pubkey:b,isSigner:!1,isWritable:!0})),{pubkey:cs,isSigner:!1,isWritable:!1}],l=Buffer.alloc(a.span);a.encode({},l);let p=Buffer.from([10,66,208,184,161,6,191,98,...l]);return new us({keys:c,programId:e,data:p})}},le=te;le.CLAIMED_NUM=3,le.POOL_LAYOUT=m([v(8),d("bump"),d("status"),t("openTime"),t("endTime"),r("ammId"),A(m([d("mintDecimals"),r("mintAddress"),r("mintVault"),t("perLpLoss"),t("totalClaimedAmount")]),te.CLAIMED_NUM,"tokenInfo"),A(t(),10,"padding")]),le.OWNER_LAYOUT=m([v(8),d("bump"),d("version"),r("poolId"),r("owner"),t("lpAmount"),A(m([r("mintAddress"),t("debtAmount"),t("claimedAmount")]),te.CLAIMED_NUM,"tokenInfo"),A(t(),4,"padding")]),le.DEFAULT_POOL_ID=["58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2","6UmmUiYoBjSrhakAobJw8BvkmJtDVxaeBtbt7rxWo1mg","AVs9TA4nWDzfPJE9gGVNJMVhcQy3V9PGazuz33BfG2RA","DVa7Qmb5ct9RCpaU7UTpSaf3GVMYz17vNVU67XpdCRut","7XawhbbxtsRcQA8KTkHT9f9nc6d69UwqCDh6U5EEbEmX","6a1CsrpeZubDjEJE9s1CMVheB6HWM5d7m1cj2jkhyXhj","EoNrn8iUhwgJySD1pHu8Qxm5gSQqLK3za4m8xzD2RuEb","AceAyRTWt4PyB2pHqf2qhDgNZDtKVNaxgL8Ru3V4aN1P","6tmFJbMk5yVHFcFy7X2K8RwHjKLr6KVFLYXpgpBNeAxB"].map(e=>new ss(e)),le.SEED_CONFIG={pool:{id:Buffer.from("pool_seed","utf8")},owner:{id:Buffer.from("user_claim_seed","utf8")}},le.VERSION_PROJECT=[void 0,"Francium","Tulip","Larix"];import{PublicKey as Vx}from"@solana/web3.js";import{getTransferFeeConfig as Dx,MintLayout as Wx,TOKEN_2022_PROGRAM_ID as qx,TOKEN_PROGRAM_ID as Ux,unpackMint as Gx}from"@solana/spl-token";var PR=new Te(2),AR=new Te(3),wR=new Te(5),ci=new Te(10),kR=new Te(100),TR=new Te(1e3),hR=new Te(1e4);function Ft(o,e,n){return o.mul(e).add(n).sub(new Te(1)).div(n)}function Mt(o,e,n){return o.mul(e).div(n)}function Gt(o,e=1,n=[]){let i=[...o];if(e<=0)return n;for(;i.length;)n.push(i.splice(0,e));return n}var ms=E("Raydium_cpmm"),ye={initialize:[175,175,109,31,13,152,155,237],deposit:[242,35,198,137,82,225,242,182],withdraw:[183,18,70,156,148,109,161,34],swapBaseInput:[143,190,90,218,196,30,51,222],swapBaseOutput:[55,217,98,86,163,74,180,173],lockCpLiquidity:[216,157,29,78,38,51,31,26],collectCpFee:[8,30,51,199,209,184,247,133],createPermissionPda:Buffer.from([135,136,2,216,137,169,181,202]),closePermissionPda:Buffer.from([156,84,32,118,69,135,70,123]),initializeWithPermission:Buffer.from([63,55,254,65,49,178,89,121]),collectCreatorFee:Buffer.from([20,22,86,123,198,28,219,132]),collectCreatorFeePermissionless:Buffer.from([202,202,34,83,226,122,145,229])};function Na(o,e,n,i,a,c,l,p,b,y,f,k,T,w,B,g,P,h,S,N,M){let I=m([t("amountMaxA"),t("amountMaxB"),t("openTime")]),x=yn(o,n,c,l).publicKey,K=[{pubkey:e,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!a.equals(x),isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!1},{pubkey:l,isSigner:!1,isWritable:!1},{pubkey:p,isSigner:!1,isWritable:!0},{pubkey:b,isSigner:!1,isWritable:!0},{pubkey:y,isSigner:!1,isWritable:!0},{pubkey:f,isSigner:!1,isWritable:!0},{pubkey:k,isSigner:!1,isWritable:!0},{pubkey:T,isSigner:!1,isWritable:!0},{pubkey:w,isSigner:!1,isWritable:!0},{pubkey:P,isSigner:!1,isWritable:!0},{pubkey:we,isSigner:!1,isWritable:!1},{pubkey:B,isSigner:!1,isWritable:!1},{pubkey:g,isSigner:!1,isWritable:!1},{pubkey:lt,isSigner:!1,isWritable:!1},{pubkey:Gn,isSigner:!1,isWritable:!1},{pubkey:Se,isSigner:!1,isWritable:!1},...(M!=null?M:[]).map(L=>({pubkey:L,isSigner:!1,isWritable:!1}))],C=Buffer.alloc(I.span);return I.encode({amountMaxA:h,amountMaxB:S,openTime:N},C),new fe({keys:K,programId:o,data:Buffer.from([...ye.initialize,...C])})}function Ma(o,e,n,i,a,c,l,p,b,y,f,k,T,w,B){let g=m([t("lpAmount"),t("amountMaxA"),t("amountMaxB")]),P=[{pubkey:e,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:l,isSigner:!1,isWritable:!0},{pubkey:p,isSigner:!1,isWritable:!0},{pubkey:b,isSigner:!1,isWritable:!0},{pubkey:we,isSigner:!1,isWritable:!1},{pubkey:Tn,isSigner:!1,isWritable:!1},{pubkey:y,isSigner:!1,isWritable:!1},{pubkey:f,isSigner:!1,isWritable:!1},{pubkey:k,isSigner:!1,isWritable:!0}],h=Buffer.alloc(g.span);return ms.debug("cpmm deposit data",{lpAmount:T.toString(),amountMaxA:w.toString(),amountMaxB:B.toString()}),g.encode({lpAmount:T,amountMaxA:w,amountMaxB:B},h),new fe({keys:P,programId:o,data:Buffer.from([...ye.deposit,...h])})}function Fa(o,e,n,i,a,c,l,p,b,y,f,k,T,w,B){let g=m([t("lpAmount"),t("amountMinA"),t("amountMinB")]),P=[{pubkey:e,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:l,isSigner:!1,isWritable:!0},{pubkey:p,isSigner:!1,isWritable:!0},{pubkey:b,isSigner:!1,isWritable:!0},{pubkey:we,isSigner:!1,isWritable:!1},{pubkey:Tn,isSigner:!1,isWritable:!1},{pubkey:y,isSigner:!1,isWritable:!1},{pubkey:f,isSigner:!1,isWritable:!1},{pubkey:k,isSigner:!1,isWritable:!0},{pubkey:$e,isSigner:!1,isWritable:!1}],h=Buffer.alloc(g.span);return g.encode({lpAmount:T,amountMinA:w,amountMinB:B},h),new fe({keys:P,programId:o,data:Buffer.from([...ye.withdraw,...h])})}function An(o,e,n,i,a,c,l,p,b,y,f,k,T,w,B,g){let P=m([t("amountIn"),t("amounOutMin")]),h=[{pubkey:e,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:l,isSigner:!1,isWritable:!0},{pubkey:p,isSigner:!1,isWritable:!0},{pubkey:b,isSigner:!1,isWritable:!0},{pubkey:y,isSigner:!1,isWritable:!1},{pubkey:f,isSigner:!1,isWritable:!1},{pubkey:k,isSigner:!1,isWritable:!1},{pubkey:T,isSigner:!1,isWritable:!1},{pubkey:w,isSigner:!1,isWritable:!0}],S=Buffer.alloc(P.span);return P.encode({amountIn:B,amounOutMin:g},S),new fe({keys:h,programId:o,data:Buffer.from([...ye.swapBaseInput,...S])})}function va(o,e,n,i,a,c,l,p,b,y,f,k,T,w,B,g){let P=m([t("amountInMax"),t("amountOut")]),h=[{pubkey:e,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:l,isSigner:!1,isWritable:!0},{pubkey:p,isSigner:!1,isWritable:!0},{pubkey:b,isSigner:!1,isWritable:!0},{pubkey:y,isSigner:!1,isWritable:!1},{pubkey:f,isSigner:!1,isWritable:!1},{pubkey:k,isSigner:!1,isWritable:!1},{pubkey:T,isSigner:!1,isWritable:!1},{pubkey:w,isSigner:!1,isWritable:!0}],S=Buffer.alloc(P.span);return P.encode({amountInMax:B,amountOut:g},S),new fe({keys:h,programId:o,data:Buffer.from([...ye.swapBaseOutput,...S])})}async function _a(o){var P;let{ownerInfo:e,poolInfo:n,poolKeys:i,feeNftOwner:a,getEphemeralSigners:c}=o,l=[],[p,b]=[new ct(n.id),new ct(n.lpMint.address)],y;if(c)y=new ct((await c(1))[0]);else{let h=ls.generate();l.push(h),y=h.publicKey}let{publicKey:f}=ae(a,y,we),{publicKey:k}=xt(y),{publicKey:T}=gn(o.lockProgram,y),{publicKey:w}=ae(e.wallet,b,we),{publicKey:B}=ae(o.lockAuthProgram,b,we),g=ds({programId:o.lockProgram,auth:o.lockAuthProgram,payer:e.feePayer,liquidityOwner:e.wallet,nftOwner:a,nftMint:y,nftAccount:f,poolId:p,lockPda:T,mintLp:b,userLpVault:w,lockLpVault:B,poolVaultA:new ct(i.vault.A),poolVaultB:new ct(i.vault.B),metadataAccount:k,lpAmount:o.lpAmount,withMetadata:(P=o.withMetadata)!=null?P:!0});return{address:{nftMint:y,nftAccount:f,metadataAccount:k,lockPda:T,userLpVault:w,lockLpVault:B},instructions:[g],signers:l,instructionTypes:[Q.CpmmLockLp],lookupTableAddress:[]}}function ds({programId:o,auth:e,payer:n,liquidityOwner:i,nftOwner:a,nftMint:c,nftAccount:l,poolId:p,lockPda:b,mintLp:y,userLpVault:f,lockLpVault:k,poolVaultA:T,poolVaultB:w,metadataAccount:B,lpAmount:g,withMetadata:P}){let h=[{pubkey:e,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!0},{pubkey:i,isSigner:!0,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:c,isSigner:!0,isWritable:!0},{pubkey:l,isSigner:!1,isWritable:!0},{pubkey:p,isSigner:!1,isWritable:!1},{pubkey:b,isSigner:!1,isWritable:!0},{pubkey:y,isSigner:!1,isWritable:!1},{pubkey:f,isSigner:!1,isWritable:!0},{pubkey:k,isSigner:!1,isWritable:!0},{pubkey:T,isSigner:!1,isWritable:!0},{pubkey:w,isSigner:!1,isWritable:!0},{pubkey:B,isSigner:!1,isWritable:!0},{pubkey:Se,isSigner:!1,isWritable:!1},{pubkey:_t.programId,isSigner:!1,isWritable:!1},{pubkey:we,isSigner:!1,isWritable:!1},{pubkey:lt,isSigner:!1,isWritable:!1},{pubkey:Ke,isSigner:!1,isWritable:!1}],S=m([t("lpAmount"),ue("withMetadata")]),N=Buffer.alloc(S.span);S.encode({lpAmount:g,withMetadata:P},N);let M=Buffer.from([...ye.lockCpLiquidity,...N]);return new fe({keys:h,programId:o,data:M})}function Va({programId:o,nftOwner:e,auth:n,nftAccount:i,lockPda:a,poolId:c,mintLp:l,userVaultA:p,userVaultB:b,poolVaultA:y,poolVaultB:f,mintA:k,mintB:T,lockLpVault:w,lpFeeAmount:B,cpmmProgram:g,cpmmAuthProgram:P}){let h=[{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:e,isSigner:!0,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:g!=null?g:St,isSigner:!1,isWritable:!1},{pubkey:P!=null?P:ao,isSigner:!1,isWritable:!1},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:l,isSigner:!1,isWritable:!0},{pubkey:p,isSigner:!1,isWritable:!0},{pubkey:b,isSigner:!1,isWritable:!0},{pubkey:y,isSigner:!1,isWritable:!0},{pubkey:f,isSigner:!1,isWritable:!0},{pubkey:k,isSigner:!1,isWritable:!1},{pubkey:T,isSigner:!1,isWritable:!1},{pubkey:w,isSigner:!1,isWritable:!0},{pubkey:we,isSigner:!1,isWritable:!1},{pubkey:Tn,isSigner:!1,isWritable:!1},{pubkey:$e,isSigner:!1,isWritable:!1}],S=m([t("lpFeeAmount")]),N=Buffer.alloc(S.span);S.encode({lpFeeAmount:B},N);let M=Buffer.from([...ye.collectCpFee,...N]);return new fe({keys:h,programId:o,data:M})}function Ea(o,e,n,i,a,c,l,p,b,y,f,k,T){let w=Pn(o,e,a).publicKey,B=[{pubkey:e,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:l,isSigner:!1,isWritable:!0},{pubkey:p,isSigner:!1,isWritable:!1},{pubkey:b,isSigner:!1,isWritable:!1},{pubkey:y,isSigner:!1,isWritable:!0},{pubkey:f,isSigner:!1,isWritable:!0},{pubkey:k,isSigner:!1,isWritable:!1},{pubkey:T,isSigner:!1,isWritable:!1},{pubkey:lt,isSigner:!1,isWritable:!1},{pubkey:_t.programId,isSigner:!1,isWritable:!1},{pubkey:w,isSigner:!1,isWritable:!1}];return new fe({keys:B,programId:o,data:ye.collectCreatorFee})}function Da(o,e,n,i,a,c,l,p,b,y,f,k,T,w){let B=Pn(o,n,c).publicKey,g=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:l,isSigner:!1,isWritable:!0},{pubkey:p,isSigner:!1,isWritable:!0},{pubkey:b,isSigner:!1,isWritable:!1},{pubkey:y,isSigner:!1,isWritable:!1},{pubkey:f,isSigner:!1,isWritable:!0},{pubkey:k,isSigner:!1,isWritable:!0},{pubkey:T,isSigner:!1,isWritable:!1},{pubkey:w,isSigner:!1,isWritable:!1},{pubkey:lt,isSigner:!1,isWritable:!1},{pubkey:_t.programId,isSigner:!1,isWritable:!1},{pubkey:c,isSigner:!1,isWritable:!1},{pubkey:B,isSigner:!1,isWritable:!1}];return new fe({keys:g,programId:o,data:ye.collectCreatorFeePermissionless})}function Wa(o,e,n,i,a,c,l,p,b,y,f,k,T,w,B,g,P,h,S,N,M,I,x,K){let C=m([t("amountA"),t("amountB"),t("openTime"),d("feeOn")]),L=[{pubkey:e,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:l,isSigner:!1,isWritable:!1},{pubkey:p,isSigner:!1,isWritable:!1},{pubkey:b,isSigner:!1,isWritable:!0},{pubkey:y,isSigner:!1,isWritable:!0},{pubkey:f,isSigner:!1,isWritable:!0},{pubkey:k,isSigner:!1,isWritable:!0},{pubkey:T,isSigner:!1,isWritable:!0},{pubkey:w,isSigner:!1,isWritable:!0},{pubkey:B,isSigner:!1,isWritable:!0},{pubkey:h,isSigner:!1,isWritable:!0},{pubkey:S,isSigner:!1,isWritable:!0},{pubkey:we,isSigner:!1,isWritable:!1},{pubkey:g,isSigner:!1,isWritable:!1},{pubkey:P,isSigner:!1,isWritable:!1},{pubkey:lt,isSigner:!1,isWritable:!1},{pubkey:_t.programId,isSigner:!1,isWritable:!1},...(K!=null?K:[]).map(ne=>({pubkey:ne,isSigner:!1,isWritable:!1}))],_=Buffer.alloc(C.span);return C.encode({amountA:N,amountB:M,openTime:I,feeOn:x},_),new fe({keys:L,programId:o,data:Buffer.from([...ye.initializeWithPermission,..._])})}export{ut as ConstantProductCurve,$o as CpmmConfigInfoLayout,su as CpmmCreatorFeeShareLayout,se as CpmmFee,au as CpmmPermission,Fn as CpmmPoolInfoLayout,pn as CurveCalculator,vn as FeeOn,Ra as LOCK_LIQUIDITY_SEED,Bo as RoundDirection,ba as TradeDirection,ga as TradeDirectionOpposite,Va as collectCpFeeInstruction,Da as collectCreatorFeePermissionlessInInstruction,ds as cpmmLockPositionInstruction,gn as getCpLockPda,mT as getCpmmPdaAmmConfigId,yn as getCpmmPdaPoolId,Ca as getCreatePoolKeys,Pn as getCreatorFeeSharePda,Ka as getPdaLpMint,Oa as getPdaMintExAccountCp,bn as getPdaObservationId,La as getPdaPermissionId,fn as getPdaPoolAuthority,Ko as getPdaVault,Wa as initializeWithPermission,Ea as makeCollectCreatorFeeInstruction,_a as makeCpmmLockInstruction,Na as makeCreateCpmmPoolInInstruction,Ma as makeDepositCpmmInInstruction,An as makeSwapCpmmBaseInInstruction,va as makeSwapCpmmBaseOutInstruction,Fa as makeWithdrawCpmmInInstruction};
//# sourceMappingURL=index.mjs.map