UNPKG

@raydium-io/raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

3 lines 79.5 kB
var Ko=Object.defineProperty,Co=Object.defineProperties;var Ro=Object.getOwnPropertyDescriptors;var st=Object.getOwnPropertySymbols;var yn=Object.prototype.hasOwnProperty,bn=Object.prototype.propertyIsEnumerable;var fn=(o,e,n)=>e in o?Ko(o,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[e]=n,L=(o,e)=>{for(var n in e||(e={}))yn.call(e,n)&&fn(o,n,e[n]);if(st)for(var n of st(e))bn.call(e,n)&&fn(o,n,e[n]);return o},D=(o,e)=>Co(o,Ro(e));var de=(o,e)=>{var n={};for(var i in o)yn.call(o,i)&&e.indexOf(i)<0&&(n[i]=o[i]);if(o!=null&&st)for(var i of st(o))e.indexOf(i)<0&&bn.call(o,i)&&(n[i]=o[i]);return n};import{PublicKey as qo}from"@solana/web3.js";import kn,{isBN as Tn}from"bn.js";import{bits as Lo,BitStructure as Za,blob as Oo,Blob as ja,cstr as $a,f32 as Ja,f32be as es,f64 as ts,f64be as ns,greedy as os,Layout as No,ns64 as is,ns64be as rs,nu64 as as,nu64be as ss,offset as Mo,s16 as us,s16be as cs,s24 as ls,s24be as ms,s32 as Fo,s32be as ds,s40 as ps,s40be as fs,s48 as ys,s48be as bs,s8 as gs,seq as vo,struct as Ps,Structure as _o,u16 as Vo,u16be as As,u24 as ws,u24be as ks,u32 as Eo,u32be as Ts,u40 as hs,u40be as Is,u48 as Bs,u48be as xs,u8 as Do,UInt as Wo,union as Ss,Union as Ks,unionLayoutDiscriminator as Cs,utf8 as Rs}from"@solana/buffer-layout";var ut=No,gn=_o;var Rt=Wo;var Pn=Do,H=Vo;var ct=Eo;var se=Fo;var An=vo;var M=Oo;var Lt=Lo,wn=Mo;var ke=class extends ut{constructor(n,i,a){super(n,a);this.blob=M(n),this.signed=i}decode(n,i=0){let a=new kn(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 kn(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),i,a)}},lt=class extends ut{constructor(n){super(8,n);this._lower=Lt(ct(),!1),this._upper=Lt(ct(),!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 L(L({},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 Rt(1,o)}function z(o){return new Rt(4,o)}function t(o){return new ke(8,!1,o)}function O(o){return new ke(16,!1,o)}function hn(o){return new ke(1,!0,o)}function Ke(o){return new ke(8,!0,o)}function In(o){return new ke(16,!0,o)}var ze=class extends ut{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 ze(M(32),e=>new qo(e),e=>e.toBuffer(),o)}function re(o){return new ze(Pn(),Uo,Go,o)}function Uo(o){if(o===0)return!1;if(o===1)return!0;throw new Error("Invalid bool: "+o)}function Go(o){return o?1:0}function Bn(o,e){let n=ct("length"),i=p([n,f(o,wn(n,-n.span),"values")]);return new ze(i,({values:a})=>a,a=>({values:a}),e)}var Ot=class extends gn{decode(e,n){return super.decode(e,n)}};function p(o,e,n){return new Ot(o,e,n)}function f(o,e,n){let i,a=typeof e=="number"?e:Tn(e)?e.toNumber():new Proxy(e,{get(c,l){if(!i){let m=Reflect.get(c,"count");i=Tn(m)?m.toNumber():m,Reflect.set(c,"count",i)}return Reflect.get(c,l)},set(c,l,m){return l==="count"&&(i=m),Reflect.set(c,l,m)}});return An(o,a,n)}var Te=p([r("mint"),r("owner"),t("amount"),z("delegateOption"),r("delegate"),d("state"),z("isNativeOption"),t("isNative"),t("delegatedAmount"),z("closeAuthorityOption"),r("closeAuthority")]);import{Keypair as Ga,PublicKey as xo}from"@solana/web3.js";import za from"bn.js";import{PublicKey as Yo}from"@solana/web3.js";import{get as xn,set as zo}from"lodash";var Nt=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}},Sn={},Xo={};function V(o){let e=xn(Sn,o);if(!e){let n=xn(Xo,o);e=new Nt({name:o,logLevel:n}),zo(Sn,o,e)}return e}import{MINT_SIZE as js,TOKEN_PROGRAM_ID as $s,getTransferFeeConfig as Js,unpackMint as eu}from"@solana/spl-token";var Mt=V("Raydium_accountInfo_util");async function ye(o,e,n){let{batchRequest:i,commitment:a="confirmed",chunkCount:c=100}=L({batchRequest:!1},n),l=Ft(e,c),m=new Array(l.length).fill([]);if(i){let y=l.map(g=>{let S=o._buildArgs([g.map(k=>k.toBase58())],a,"base64");return{methodName:"getMultipleAccounts",args:S}}),P=Ft(y,10);m=(await(await Promise.all(P.map(async g=>await o._rpcBatchRequest(g)))).flat()).map(g=>(g.error&&Mt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${g.error.message}`),g.result.value.map(S=>{if(S){let{data:k,executable:N,lamports:w,owner:B,rentEpoch:K}=S;return k.length!==2&&k[1]!=="base64"&&Mt.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(k[0],"base64"),executable:N,lamports:w,owner:new Yo(B),rentEpoch:K}}return null})))}else try{m=await Promise.all(l.map(y=>o.getMultipleAccountsInfo(y,a)))}catch(y){y instanceof Error&&Mt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${y.message}`)}return m.flat()}import xe from"bn.js";import tR from"decimal.js";import ti from"big.js";import gu from"bn.js";import Ho from"toformat";var Qo=Ho,Ye=Qo;import dt from"big.js";import jo from"bn.js";import $o from"decimal.js-light";import He from"bn.js";var Kn=9007199254740991;function J(o){let e=V("Raydium_parseBigNumberish");if(o instanceof He)return o;if(typeof o=="string"){if(o.match(/^-?[0-9]+$/))return new He(o);e.logWithError(`invalid BigNumberish string: ${o}`)}return typeof o=="number"?(o%1&&e.logWithError(`BigNumberish number underflow: ${o}`),(o>=Kn||o<=-Kn)&&e.logWithError(`BigNumberish number overflow: ${o}`),new He(String(o))):typeof o=="bigint"?new He(o.toString()):(e.error(`invalid BigNumberish value: ${o}`),new He(0))}var mt=V("module/fraction"),vt=Ye(dt),Qe=Ye($o),Jo={[0]:Qe.ROUND_DOWN,[1]:Qe.ROUND_HALF_UP,[2]:Qe.ROUND_UP},ei={[0]:dt.roundDown,[1]:dt.roundHalfUp,[2]:dt.roundUp},U=class{constructor(e,n=new jo(1)){this.numerator=J(e),this.denominator=J(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(J(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(J(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(J(e));return new U(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(e){let n=e instanceof U?e:new U(J(e));return new U(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(e,n={groupSeparator:""},i=1){Number.isInteger(e)||mt.logWithError(`${e} is not an integer.`),e<=0&&mt.logWithError(`${e} is not positive.`),Qe.set({precision:e+1,rounding:Jo[i]});let a=new Qe(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)||mt.logWithError(`${e} is not an integer.`),e<0&&mt.logWithError(`${e} is negative.`),vt.DP=e,vt.RM=ei[i]||1,new vt(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,n)}isZero(){return this.numerator.isZero()}};var xu=V("Raydium_amount"),Su=Ye(ti);import{PublicKey as oi}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Cn}from"@solana/spl-token";var pt={chainId:101,address:oi.default.toBase58(),programId:Cn.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},ue={chainId:101,address:"So11111111111111111111111111111111111111112",programId:Cn.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 Vt}from"@solana/web3.js";import{PublicKey as X,SystemProgram as Rn,SYSVAR_RENT_PUBKEY as ii}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ri}from"@solana/spl-token";function Ce({pubkey:o,isSigner:e=!1,isWritable:n=!0}){return{pubkey:o,isWritable:n,isSigner:e}}var ai=[Ce({pubkey:ri,isWritable:!1}),Ce({pubkey:Rn.programId,isWritable:!1}),Ce({pubkey:ii,isWritable:!1})];function Ln({publicKey:o,transformSol:e}){let n=On(o.toString());if(n instanceof X)return e&&n.equals(he)?be:n;if(e&&n.toString()===he.toBase58())return be;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 On(o){try{return new X(o)}catch{return o}}var _t=new X("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Ze=new X("SysvarRent111111111111111111111111111111111"),Fu=new X("SysvarC1ock11111111111111111111111111111111"),ft=new X("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),si=new X("Sysvar1nstructions1111111111111111111111111"),ui=Rn.programId,vu=new X("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),_u=new X("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Vu=new X("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Eu=new X("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Du=new X("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Wu=new X("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),qu=new X("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Uu=new X("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Gu=new X("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),zu=new X("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Xu=new X("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),be=new X("So11111111111111111111111111111111111111112"),he=X.default;var Et=class{constructor({mint:e,decimals:n,symbol:i,name:a,skipMint:c=!1,isToken2022:l=!1}){if(e===he.toBase58()||e instanceof Vt&&he.equals(e)){this.decimals=ue.decimals,this.symbol=ue.symbol,this.name=ue.name,this.mint=new Vt(ue.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?Vt.default:Ln({publicKey:e}),this.isToken2022=l}equals(e){return this===e?!0:this.mint.equals(e.mint)}},ee=Et;ee.WSOL=new Et(D(L({},ue),{mint:ue.address}));var Dt=class{constructor({decimals:e,symbol:n="UNKNOWN",name:i="UNKNOWN"}){this.decimals=e,this.symbol=n,this.name=i}equals(e){return this===e}},yt=Dt;yt.SOL=new Dt(pt);import ci from"bn.js";var ic=new U(new ci(100));var lc=V("Raydium_price");import{merge as oC}from"lodash";import Ac from"axios";var Nn={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"},li=D(L({},Nn),{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 qc=V("Raydium_Api");import{PublicKey as zl,SystemProgram as Xl}from"@solana/web3.js";import{AccountLayout as jl,createAssociatedTokenAccountIdempotentInstruction as $l,TOKEN_PROGRAM_ID as Jl,TOKEN_2022_PROGRAM_ID as em}from"@solana/spl-token";import{PublicKey as Me,sendAndConfirmTransaction as Xt,SystemProgram as bi,Transaction as Je,TransactionMessage as et,VersionedTransaction as tt}from"@solana/web3.js";import gi from"axios";import{PublicKey as Wt,AddressLookupTableAccount as Oe}from"@solana/web3.js";async function qt({connection:o,address:e,cluster:n="mainnet"}){let i=await ye(o,[...new Set(e.map(c=>c.toString()))].map(c=>new Wt(c))),a={};for(let c=0;c<e.length;c++){let l=i[c],m=e[c];if(!l)continue;let y=new Oe({key:m,state:Oe.deserialize(l.data)});a[m.toString()]=y,n==="devnet"?Le[m.toString()]=y:Re[m.toString()]=y}return a}var Re={},Ut=async o=>{let e="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Re[e])return Re;let n=new Wt(e),i=await o.getAccountInfo(n);return i&&(Re[e]=new Oe({key:n,state:Oe.deserialize(i.data)})),Re},Le={},Gt=async o=>{let e="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Le[e])return Le;let n=new Wt(e),i=await o.getAccountInfo(n);return i&&(Le[e]=new Oe({key:n,state:Oe.deserialize(i.data)})),Le};var Y={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 Mn,Keypair as vn,PublicKey as mi,Transaction as _n,TransactionMessage as di,VersionedTransaction as Vn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as pi}from"@solana/spl-token";var Fn=V("Raydium_txUtil"),En=1644;function bt(o){let e=[],n=[];return o.microLamports&&(e.push(Mn.setComputeUnitPrice({microLamports:o.microLamports})),n.push(Y.SetComputeUnitPrice)),o.units&&(e.push(Mn.setComputeUnitLimit({units:o.units})),n.push(Y.SetComputeUnitLimit)),{instructions:e,instructionTypes:n}}async function Ne(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 gt(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 zt(o,e){o.length<1&&Fn.logWithError(`no instructions provided: ${o.toString()}`),e.length<1&&Fn.logWithError(`no signers provided:, ${e.toString()}`);let n=new _n;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=e[0],n.add(...o);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<En}catch{return!1}}function ce(o,e){let[n,i]=mi.findProgramAddressSync(o,e);return{publicKey:n,nonce:i}}function je({instructions:o,payer:e,signers:n}){return zt(o,[e,...n])}function $e({instructions:o,payer:e,lookupTableAddressAccount:n,recentBlockhash:i=vn.generate().publicKey.toString()}){let c=new di({payerKey:e,recentBlockhash:i,instructions:o}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new Vn(c).serialize()).toString("base64").length<En}catch{return!1}}var fi=o=>Buffer.isBuffer(o)?o:o instanceof Uint8Array?Buffer.from(o.buffer,o.byteOffset,o.byteLength):Buffer.from(o),yi=o=>{let e=o.serialize({requireAllSignatures:!1,verifySignatures:!1});o instanceof Vn&&(e=fi(e));try{return e instanceof Buffer?e.toString("base64"):Buffer.from(e).toString("base64")}catch{return e.toString("base64")}};function Ie(o){let e=[];return o.forEach(n=>{n instanceof _n&&(n.recentBlockhash||(n.recentBlockhash=pi.toBase58()),n.feePayer||(n.feePayer=vn.generate().publicKey)),e.push(yi(n))}),console.log("simulate tx string:",e),e}var Pt=2e3,At=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 gi.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}=bt(e);return this.instructions.unshift(...n),this.instructionTypes.unshift(...i),!0}return!1}addTipInstruction(e){var n;return e?(this.endInstructions.push(bi.transfer({fromPubkey:(n=e.feePayer)!=null?n:this.feePayer,toPubkey:new Me(e.address),lamports:BigInt(e.amount.toString())})),this.endInstructionTypes.push(Y.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(m=>m!==Me.default.toString())),this}async versionBuild({txVersion:e,extInfo:n,lookupTableAddress:i}){return e===0?await this.buildV0(D(L({},n||{}),{lookupTableAddress:i})):this.build(n)}build(e){var i;let n=new Je;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 b;let{recentBlockHash:c,skipPreflight:l=!0,sendAndConfirm:m,notSendToRpc:y}=a||{},P=c!=null?c:await Ne(this.connection,this.blockhashCommitment);if(n.recentBlockhash=P,this.signers.length&&n.sign(...this.signers),Ie([n]),(b=this.owner)!=null&&b.isKeyPair)return{txId:m?await Xt(this.connection,n,this.signers.find(S=>S.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 g=await this.signAllTransactions([n]);if(this.signers.length)for(let S of g)try{S.sign(...this.signers)}catch{}return{txId:y?"":await this.connection.sendRawTransaction(g[0].serialize(),{skipPreflight:l}),signedTx:g[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:e||{}}}buildMultiTx(e){var P;let{extraPreBuildData:n=[],extInfo:i}=e,{transaction:a}=this.build(i),c=n.filter(b=>b.transaction.instructions.length>0),l=[a,...c.map(b=>b.transaction)],m=[this.signers,...c.map(b=>b.signers)],y=[...this.instructionTypes,...c.map(b=>b.instructionTypes).flat()];return(P=this.owner)!=null&&P.signer&&m.forEach(b=>{b.some(g=>g.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:l,signers:m,instructionTypes:y,execute:async b=>{var K;let{sequentially:g,onTxUpdate:S,skipTxCount:k=0,recentBlockHash:N,skipPreflight:w=!0}=b||{},B=N!=null?N:await Ne(this.connection,this.blockhashCommitment);if((K=this.owner)!=null&&K.isKeyPair){if(g){let x=[],F=0;for(let v of l){if(++F,F<=k)continue;let A=await Xt(this.connection,v,this.signers.find(T=>T.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:w});x.push(A)}return{txIds:x,signedTxs:l}}return{txIds:await await Promise.all(l.map(async x=>(x.recentBlockhash=B,await this.connection.sendRawTransaction(x.serialize(),{skipPreflight:w})))),signedTxs:l}}if(this.signAllTransactions){let x=l.map((v,A)=>(v.recentBlockhash=B,m[A].length&&v.sign(...m[A]),v));Ie(x);let F=await this.signAllTransactions(x);if(g){let v=0,A=[],T=async()=>{if(!F[v])return;let h=await this.connection.sendRawTransaction(F[v].serialize(),{skipPreflight:w});A.push({txId:h,status:"sent",signedTx:F[v]}),S==null||S([...A]),v++;let C=!1,R=null,_=null,ie=q=>{R!==null&&clearInterval(R),_!==null&&this.connection.removeSignatureListener(_);let W=A.findIndex($=>$.txId===h);if(W>-1){if(A[W].status==="error"||A[W].status==="success")return;A[W].status=q.err?"error":"success"}S==null||S([...A]),q.err||T()};this.loopMultiTxStatus&&(R=setInterval(async()=>{var q;if(C){clearInterval(R);return}try{let W=await this.connection.getTransaction(h,{commitment:"confirmed",maxSupportedTransactionVersion:0});W&&(C=!0,clearInterval(R),ie({err:((q=W.meta)==null?void 0:q.err)||null}),console.log("tx status from getTransaction:",h))}catch(W){C=!0,clearInterval(R),console.error("getTransaction timeout:",W,h)}},Pt)),_=this.connection.onSignature(h,q=>{if(C){this.connection.removeSignatureListener(_);return}C=!0,ie(q)},"confirmed"),this.connection.getSignatureStatus(h)};return await T(),{txIds:A.map(h=>h.txId),signedTxs:F}}else{let v=[];for(let A=0;A<F.length;A+=1){let T=await this.connection.sendRawTransaction(F[A].serialize(),{skipPreflight:w});v.push(T)}return{txIds:v,signedTxs:F}}}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 w;let N=e||{},{lookupTableCache:n={},lookupTableAddress:i=[],forerunCreate:a,recentBlockhash:c}=N,l=de(N,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),m=L(L({},this.cluster==="devnet"?await Gt(this.connection):await Ut(this.connection)),n),y=Array.from(new Set([...i,...this.lookupTableAddress])),P=[];for(let B of y)m[B]===void 0&&P.push(new Me(B));let b=await qt({connection:this.connection,address:P});for(let[B,K]of Object.entries(b))m[B]=K;let g=a?Me.default.toBase58():c!=null?c:await Ne(this.connection,this.blockhashCommitment),S=new et({payerKey:this.feePayer,recentBlockhash:g,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(m));((w=this.owner)==null?void 0:w.signer)&&!this.signers.some(B=>B.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let k=new tt(S);return k.sign(this.signers),{builder:this,transaction:k,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async B=>{var v;let{skipPreflight:K=!0,sendAndConfirm:x,notSendToRpc:F}=B||{};if(Ie([k]),(v=this.owner)!=null&&v.isKeyPair){let A=await this.connection.sendTransaction(k,{skipPreflight:K});return x&&await gt(this.connection,A),{txId:A,signedTx:k}}if(this.signAllTransactions){let A=await this.signAllTransactions([k]);if(this.signers.length)for(let T of A)try{T.sign(this.signers)}catch{}return{txId:F?"":await this.connection.sendTransaction(A[0],{skipPreflight:K}),signedTx:A[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:l||{}}}async buildV0MultiTx(e){var P;let{extraPreBuildData:n=[],buildProps:i}=e,{transaction:a}=await this.buildV0(i),c=n.filter(b=>b.builder.instructions.length>0),l=[a,...c.map(b=>b.transaction)],m=[this.signers,...c.map(b=>b.signers)],y=[...this.instructionTypes,...c.map(b=>b.instructionTypes).flat()];return(P=this.owner)!=null&&P.signer&&m.forEach(b=>{b.some(g=>g.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),l.forEach(async(b,g)=>{b.sign(m[g])}),{builder:this,transactions:l,signers:m,instructionTypes:y,buildProps:i,execute:async b=>{var w;let{sequentially:g,onTxUpdate:S,recentBlockHash:k,skipPreflight:N=!0}=b||{};if(k&&l.forEach(B=>B.message.recentBlockhash=k),Ie(l),(w=this.owner)!=null&&w.isKeyPair){if(g){let B=[];for(let K of l){let x=await this.connection.sendTransaction(K,{skipPreflight:N});await gt(this.connection,x),B.push(x)}return{txIds:B,signedTxs:l}}return{txIds:await Promise.all(l.map(async B=>await this.connection.sendTransaction(B,{skipPreflight:N}))),signedTxs:l}}if(this.signAllTransactions){let B=await this.signAllTransactions(l);if(g){let K=0,x=[],F=async()=>{if(!B[K])return;let v=await this.connection.sendTransaction(B[K],{skipPreflight:N});x.push({txId:v,status:"sent",signedTx:B[K]}),S==null||S([...x]),K++;let A=!1,T=null,h=null,C=R=>{T!==null&&clearInterval(T),h!==null&&this.connection.removeSignatureListener(h);let _=x.findIndex(ie=>ie.txId===v);if(_>-1){if(x[_].status==="error"||x[_].status==="success")return;x[_].status=R.err?"error":"success"}S==null||S([...x]),R.err||F()};this.loopMultiTxStatus&&(T=setInterval(async()=>{var R;if(A){clearInterval(T);return}try{let _=await this.connection.getTransaction(v,{commitment:"confirmed",maxSupportedTransactionVersion:0});_&&(A=!0,clearInterval(T),C({err:((R=_.meta)==null?void 0:R.err)||null}),console.log("tx status from getTransaction:",v))}catch(_){A=!0,clearInterval(T),console.error("getTransaction timeout:",_,v)}},Pt)),h=this.connection.onSignature(v,R=>{if(A){this.connection.removeSignatureListener(h);return}A=!0,C(R)},"confirmed"),this.connection.getSignatureStatus(v)};return F(),{txIds:[],signedTxs:B}}else{let K=[];for(let x=0;x<B.length;x+=1){let F=await this.connection.sendTransaction(B[x],{skipPreflight:N});K.push(F)}return{txIds:K,signedTxs:B}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:i||{}}}async sizeCheckBuild(e){var S;let g=e||{},{splitIns:n=[],computeBudgetConfig:i}=g,a=de(g,["splitIns","computeBudgetConfig"]),c=i?bt(i):{instructions:[],instructionTypes:[]},l=this.signers.reduce((k,N)=>D(L({},k),{[N.publicKey.toBase58()]:N}),{}),m=[],y=[],P=[],b=0;if(this.allInstructions.forEach(k=>{let N=[...P,k],w=i?[...c.instructions,...N]:N,K=[...new Set(N.map(x=>x.keys.filter(F=>F.isSigner).map(F=>F.pubkey.toString())).flat()).values()].map(x=>new Me(x));if(k!==n[b]&&P.length<12&&(je({instructions:w,payer:this.feePayer,signers:K})||je({instructions:N,payer:this.feePayer,signers:K})))P.push(k);else{if(P.length===0)throw Error("item ins too big");b+=k===n[b]?1:0,je({instructions:i?[...c.instructions,...P]:[...P],payer:this.feePayer,signers:K})?m.push(new Je().add(...c.instructions,...P)):m.push(new Je().add(...P)),y.push(Array.from(new Set(P.map(x=>x.keys.filter(F=>F.isSigner).map(F=>F.pubkey.toString())).flat())).map(x=>l[x]).filter(x=>x!==void 0)),P=[k]}}),P.length>0){let N=[...new Set(P.map(w=>w.keys.filter(B=>B.isSigner).map(B=>B.pubkey.toString())).flat()).values()].map(w=>l[w]).filter(w=>w!==void 0);je({instructions:i?[...c.instructions,...P]:[...P],payer:this.feePayer,signers:N.map(w=>w.publicKey)})?m.push(new Je().add(...c.instructions,...P)):m.push(new Je().add(...P)),y.push(N)}return m.forEach(k=>k.feePayer=this.feePayer),(S=this.owner)!=null&&S.signer&&y.forEach(k=>{k.some(N=>N.publicKey.equals(this.owner.publicKey))||k.push(this.owner.signer)}),{builder:this,transactions:m,signers:y,instructionTypes:this.instructionTypes,execute:async k=>{var v;let{sequentially:N,onTxUpdate:w,skipTxCount:B=0,recentBlockHash:K,skipPreflight:x=!0}=k||{},F=K!=null?K:await Ne(this.connection,this.blockhashCommitment);if(m.forEach(async(A,T)=>{A.recentBlockhash=F,y[T].length&&A.sign(...y[T])}),Ie(m),(v=this.owner)!=null&&v.isKeyPair){if(N){let A=0,T=[];for(let h of m){if(++A,A<=B){T.push("tx skipped");continue}let C=await Xt(this.connection,h,this.signers.find(R=>R.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:x});T.push(C)}return{txIds:T,signedTxs:m}}return{txIds:await Promise.all(m.map(async A=>await this.connection.sendRawTransaction(A.serialize(),{skipPreflight:x}))),signedTxs:m}}if(this.signAllTransactions){let A=await this.signAllTransactions(m.slice(B,m.length)),T=[...m.slice(0,B),...A];if(N){let h=0,C=[],R=async()=>{if(!T[h])return;h<B&&(C.push({txId:"",status:"success",signedTx:T[h]}),w==null||w([...C]),h++,R());let _=await this.connection.sendRawTransaction(T[h].serialize(),{skipPreflight:x});C.push({txId:_,status:"sent",signedTx:T[h]}),w==null||w([...C]),h++;let ie=!1,q=null,W=null,$=G=>{q!==null&&clearInterval(q),W!==null&&this.connection.removeSignatureListener(W);let ne=C.findIndex(pe=>pe.txId===_);if(ne>-1){if(C[ne].status==="error"||C[ne].status==="success")return;C[ne].status=G.err?"error":"success"}w==null||w([...C]),G.err||R()};this.loopMultiTxStatus&&(q=setInterval(async()=>{var G;if(ie){clearInterval(q);return}try{let ne=await this.connection.getTransaction(_,{commitment:"confirmed",maxSupportedTransactionVersion:0});ne&&(ie=!0,clearInterval(q),$({err:((G=ne.meta)==null?void 0:G.err)||null}),console.log("tx status from getTransaction:",_))}catch(ne){ie=!0,clearInterval(q),console.error("getTransaction timeout:",ne,_)}},Pt)),W=this.connection.onSignature(_,G=>{if(ie){this.connection.removeSignatureListener(W);return}ie=!0,$(G)},"confirmed"),this.connection.getSignatureStatus(_)};return await R(),{txIds:C.map(_=>_.txId),signedTxs:T}}else{let h=[];for(let C=0;C<T.length;C+=1){let R=await this.connection.sendRawTransaction(T[C].serialize(),{skipPreflight:x});h.push(R)}return{txIds:h,signedTxs:T}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:a||{}}}async sizeCheckBuildV0(e){var v;let F=e||{},{computeBudgetConfig:n,splitIns:i=[],lookupTableCache:a={},lookupTableAddress:c=[],insCountLimit:l=12}=F,m=de(F,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),y=L(L({},this.cluster==="devnet"?await Gt(this.connection):await Ut(this.connection)),a),P=Array.from(new Set([...this.lookupTableAddress,...c])),b=[];for(let A of P)y[A]===void 0&&b.push(new Me(A));let g=await qt({connection:this.connection,address:b});for(let[A,T]of Object.entries(g))y[A]=T;let S=n?bt(n):{instructions:[],instructionTypes:[]},k=await Ne(this.connection,this.blockhashCommitment),N=this.signers.reduce((A,T)=>D(L({},A),{[T.publicKey.toBase58()]:T}),{}),w=[],B=[],K=[],x=0;if(this.allInstructions.forEach(A=>{let T=[...K,A],h=n?[...S.instructions,...T]:T;if(A!==i[x]&&K.length<l&&($e({instructions:h,payer:this.feePayer,lookupTableAddressAccount:y})||$e({instructions:T,payer:this.feePayer,lookupTableAddressAccount:y})))K.push(A);else{if(K.length===0)throw Error("item ins too big");x+=A===i[x]?1:0;let C={};for(let R of[...new Set(P)])y[R]!==void 0&&(C[R]=y[R]);if(n&&$e({instructions:[...S.instructions,...K],payer:this.feePayer,lookupTableAddressAccount:y,recentBlockhash:k})){let R=new et({payerKey:this.feePayer,recentBlockhash:k,instructions:[...S.instructions,...K]}).compileToV0Message(Object.values(y));w.push(new tt(R))}else{let R=new et({payerKey:this.feePayer,recentBlockhash:k,instructions:[...K]}).compileToV0Message(Object.values(y));w.push(new tt(R))}B.push(Array.from(new Set(K.map(R=>R.keys.filter(_=>_.isSigner).map(_=>_.pubkey.toString())).flat())).map(R=>N[R]).filter(R=>R!==void 0)),K=[A]}}),K.length>0){let T=[...new Set(K.map(h=>h.keys.filter(C=>C.isSigner).map(C=>C.pubkey.toString())).flat()).values()].map(h=>N[h]).filter(h=>h!==void 0);if(n&&$e({instructions:[...S.instructions,...K],payer:this.feePayer,lookupTableAddressAccount:y,recentBlockhash:k})){let h=new et({payerKey:this.feePayer,recentBlockhash:k,instructions:[...S.instructions,...K]}).compileToV0Message(Object.values(y));w.push(new tt(h))}else{let h=new et({payerKey:this.feePayer,recentBlockhash:k,instructions:[...K]}).compileToV0Message(Object.values(y));w.push(new tt(h))}B.push(T)}return(v=this.owner)!=null&&v.signer&&B.forEach(A=>{A.some(T=>T.publicKey.equals(this.owner.publicKey))||A.push(this.owner.signer)}),w.forEach((A,T)=>{A.sign(B[T])}),{builder:this,transactions:w,buildProps:e,signers:B,instructionTypes:this.instructionTypes,execute:async A=>{var ie;let{sequentially:T,onTxUpdate:h,skipTxCount:C=0,recentBlockHash:R,skipPreflight:_=!0}=A||{};if(w.map(async(q,W)=>{B[W].length&&q.sign(B[W]),R&&(q.message.recentBlockhash=R)}),Ie(w),(ie=this.owner)!=null&&ie.isKeyPair){if(T){let q=0,W=[];for(let $ of w){if(++q,q<=C){console.log("skip tx: ",q),W.push("tx skipped");continue}let G=await this.connection.sendTransaction($,{skipPreflight:_});await gt(this.connection,G),W.push(G)}return{txIds:W,signedTxs:w}}return{txIds:await Promise.all(w.map(async q=>await this.connection.sendTransaction(q,{skipPreflight:_}))),signedTxs:w}}if(this.signAllTransactions){let q=await this.signAllTransactions(w.slice(C,w.length)),W=[...w.slice(0,C),...q];if(T){let $=0,G=[],ne=async()=>{if(!W[$])return;if($<C){G.push({txId:"",status:"success",signedTx:W[$]}),h==null||h([...G]),$++,ne();return}let pe=await this.connection.sendTransaction(W[$],{skipPreflight:_});G.push({txId:pe,status:"sent",signedTx:W[$]}),h==null||h([...G]),$++;let Ge=!1,Se=null,at=null,pn=we=>{Se!==null&&clearInterval(Se),at!==null&&this.connection.removeSignatureListener(at);let fe=G.findIndex(So=>So.txId===pe);if(fe>-1){if(G[fe].status==="error"||G[fe].status==="success")return;G[fe].status=we.err?"error":"success"}h==null||h([...G]),we.err||ne()};this.loopMultiTxStatus&&(Se=setInterval(async()=>{var we;if(Ge){clearInterval(Se);return}try{let fe=await this.connection.getTransaction(pe,{commitment:"confirmed",maxSupportedTransactionVersion:0});fe&&(Ge=!0,clearInterval(Se),pn({err:((we=fe.meta)==null?void 0:we.err)||null}),console.log("tx status from getTransaction:",pe))}catch(fe){Ge=!0,clearInterval(Se),console.error("getTransaction timeout:",fe,pe)}},Pt)),at=this.connection.onSignature(pe,we=>{if(Ge){this.connection.removeSignatureListener(at);return}Ge=!0,pn(we)},"confirmed"),this.connection.getSignatureStatus(pe)};return ne(),{txIds:[],signedTxs:W}}else{let $=[];for(let G=0;G<W.length;G+=1){let ne=await this.connection.sendTransaction(W[G],{skipPreflight:_});$.push(ne)}return{txIds:$,signedTxs:W}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:m||{}}}};var Yt=(...o)=>o.map(e=>{try{return typeof e=="object"?JSON.stringify(e):e}catch{return e}}).join(", "),oe=class{constructor({scope:e,moduleName:n}){this.disabled=!1;this.scope=e,this.logger=V(n)}createTxBuilder(e){return this.scope.checkOwner(),new At({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(Yt(e))}logInfo(...e){this.logger.info(Yt(e))}logAndCreateError(...e){let n=Yt(e);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{PublicKey as Pi,SystemProgram as Ai}from"@solana/web3.js";import wi from"bn.js";import{createCloseAccountInstruction as ki,createInitializeAccountInstruction as Ti,createTransferInstruction as hi,TOKEN_PROGRAM_ID as Fe}from"@solana/spl-token";function Dn(o){let{mint:e,tokenAccount:n,owner:i,programId:a=Fe}=o;return Ti(n,e,i,a)}function Ht(o){let{tokenAccount:e,payer:n,multiSigners:i=[],owner:a,programId:c=Fe}=o;return ki(e,n,a,i,c)}async function Qt(o){let{connection:e,amount:n,commitment:i,payer:a,owner:c,skipCloseAccount:l}=o,m=await e.getMinimumBalanceForRentExemption(Te.span,i),y=J(n).add(new wi(m)),P=ve({fromPublicKey:a,programId:Fe});return{addresses:{newAccount:P.publicKey},signers:[],instructions:[Ai.createAccountWithSeed({fromPubkey:a,basePubkey:a,seed:P.seed,newAccountPubkey:P.publicKey,lamports:y.toNumber(),space:Te.span,programId:Fe}),Dn({mint:new Pi(ue.address),tokenAccount:P.publicKey,owner:c,programId:Fe})],instructionTypes:[Y.CreateAccount,Y.InitAccount],endInstructionTypes:l?[]:[Y.CloseAccount],endInstructions:l?[]:[Ht({tokenAccount:P.publicKey,payer:a,owner:c})]}}function Ii({source:o,destination:e,owner:n,amount:i,multiSigners:a=[],tokenProgram:c=Fe}){return hi(o,e,n,BigInt(String(i)),a,c)}import{PublicKey as Wg,SystemProgram as qg}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as Gg}from"@solana/spl-token";import{PublicKey as xi}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Si}from"@solana/spl-token";function ae(o,e,n){return ce([o.toBuffer(),(n!=null?n:Si).toBuffer(),e.toBuffer()],new xi("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"))}import{PublicKey as I}from"@solana/web3.js";var Wn=new I("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),qn=new I("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Un=new I("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Zt=new I("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),mm=new I("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Ki=new I("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Gn=new I("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),zn=new I("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),dm=new I("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Ci=new I("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Xn=new I("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Ri=new I("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Li=new I("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Yn=new I("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),pm=new I("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Oi=new I("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),jt=new I("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Ni=new I("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),fm=new I("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),Mi=new I("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Fi=new I("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),vi=new I("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),ym=new I("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),bm=new I("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),gm=new I("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),Pm=new I("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Am=new I("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var ge={OPEN_BOOK_PROGRAM:new I("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new I("Ray1111111111111111111111111111111111111111"),AMM_V4:new I("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new I("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new I("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new I("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new I("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new I("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new I("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new I("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new I("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new I("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:I.default,Router:new I("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new I("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new I("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new I("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new I("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new I("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new I("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new I("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new I("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new I("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new I("Ray1111111111111111111111111111111111111111")};import eP from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Py,TOKEN_2022_PROGRAM_ID as Ay,TOKEN_PROGRAM_ID as wy}from"@solana/spl-token";import{PublicKey as Ty}from"@solana/web3.js";import Iy from"bn.js";import xy from"decimal.js";import{TOKEN_PROGRAM_ID as Nm}from"@solana/spl-token";import{PublicKey as _m}from"@solana/web3.js";var _i=p([z("mintAuthorityOption"),r("mintAuthority"),t("supply"),d("decimals"),d("isInitialized"),z("freezeAuthorityOption"),r("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as Df,TOKEN_2022_PROGRAM_ID as Wf,TOKEN_PROGRAM_ID as qf}from"@solana/spl-token";import{Keypair as zf,PublicKey as Xf,SystemProgram as Hf,TransactionInstruction as Qf}from"@solana/web3.js";import jf from"bn.js";import E from"bn.js";var Ve=new E(1).shln(64);var Vi=new E(1).shln(128),$t=new E(1).shln(64).subn(1),Ei=new E(1).shln(128).subn(1);var Ee=new E("4295048016"),De=new E("79226673521066979257578248091"),Di=new E("59543866431248"),Wi=new E("184467440737095516"),qi=new E("15793534762490258745");var Jt=60,Gm=new E("18446743708227953217"),Ui=[{bit:0,factor:new E("fffcb933bd6fb800",16)},{bit:1,factor:new E("fff97272373d4000",16)},{bit:2,factor:new E("fff2e50f5f657000",16)},{bit:3,factor:new E("ffe5caca7e10f000",16)},{bit:4,factor:new E("ffcb9843d60f7000",16)},{bit:5,factor:new E("ff973b41fa98e800",16)},{bit:6,factor:new E("ff2ea16466c9b000",16)},{bit:7,factor:new E("fe5dee046a9a3800",16)},{bit:8,factor:new E("fcbe86c7900bb000",16)},{bit:9,factor:new E("f987a7253ac65800",16)},{bit:10,factor:new E("f3392b0822bb6000",16)},{bit:11,factor:new E("e7159475a2caf000",16)},{bit:12,factor:new E("d097f3bdfd2f2000",16)},{bit:13,factor:new E("a9f746462d9f8000",16)},{bit:14,factor:new E("70d869a156f31c00",16)},{bit:15,factor:new E("31be135f97ed3200",16)},{bit:16,factor:new E("9aa508b5b85a500",16)},{bit:17,factor:new E("5d6af8dedc582c",16)},{bit:18,factor:new E("2216e584f5fa",16)}];var nt=3,Hn=100;var Qn=10,Zn=100,wt=14;var Z=new E(0),We=new E(1),zm=new E(-1);var Xm=new E("18446744073700000000");var Gi=p([M(8),d("bump"),H("index"),r("owner"),z("protocolFeeRate"),z("tradeFeeRate"),H("tickSpacing"),z("fundFeeRate"),f(z(),1),r("fundOwner"),f(t(),3)]),zi=p([z("blockTimestamp"),Ke("tickCumulative"),f(t(),4)]),jn=p([M(8),re("initialized"),t("recentEpoch"),H("observationIndex"),r("poolId"),f(zi,Hn,"observations"),f(t(),4)]),Xi=p([H("filterPeriod"),H("decayPeriod"),H("reductionFactor"),z("dynamicFeeControl"),z("maxVolatilityAccumulator"),se("tickSpacingIndexReference"),z("volatilityReference"),z("volatilityAccumulator"),t("lastUpdateTimestamp"),f(d(),46)]),Yi=p([d("state"),t("openTime"),t("endTime"),t("lastUpdateTime"),O("emissionsPerSecondX64"),t("totalEmissioned"),t("claimed"),r("mint"),r("vault"),r("creator"),O("growthGlobalX64")]),en=p([M(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"),se("tickCurrent"),z(),O("feeGrowthGlobalX64A"),O("feeGrowthGlobalX64B"),t("protocolFeesTokenA"),t("protocolFeesTokenB"),f(O(),4),d("status"),d("feeOn"),M(6),f(Yi,nt,"rewardInfos"),M(8*16,"tickArrayBitmap"),f(t(),4),t("fundFeesTokenA"),t("fundFeesTokenB"),t("startTime"),t("recentEpoch"),Xi.replicate("dynamicFeeInfo"),f(t(),46)]),Hi=p([O("growthInsideLastX64"),t("rewardAmountOwed")]),Qi=p([M(8),d("bump"),r("nftMint"),r("poolId"),se("tickLower"),se("tickUpper"),O("liquidity"),O("feeGrowthInsideLastX64A"),O("feeGrowthInsideLastX64B"),t("tokenFeesOwedA"),t("tokenFeesOwedB"),f(Hi,nt,"rewardInfos"),t("recentEpoch"),f(t(),7)]),Zm=p([M(8),d("bump"),r("poolId"),se("tickLower"),se("tickUpper"),O("liquidity"),O("feeGrowthInsideLastX64A"),O("feeGrowthInsideLastX64B"),t("tokenFeesOwedA"),t("tokenFeesOwedB"),f(O(),nt,"rewardGrowthInside"),t("recentEpoch"),f(t(),7)]),Zi=p([se("tick"),In("liquidityNet"),O("liquidityGross"),O("feeGrowthOutsideX64A"),O("feeGrowthOutsideX64B"),f(O(),nt,"rewardGrowthsOutsideX64"),t("orderPhase"),t("ordersAmount"),t("partFilledOrdersRemaining"),O("unfilledRatioX64"),f(z(),3)]),$n=p([M(8),r("poolId"),se("startTickIndex"),f(Zi,Jt,"ticks"),d("initializedTickCount"),t("recentEpoch"),f(d(),107)]),ji=p([M(8),d("bump"),f(r(),Qn,"operationOwners"),f(r(),Zn,"whitelistMints")]),$i=p([M(8),r("poolId"),r("owner"),se("tick"),re("zeroForOne"),t("orderPhase"),t("totalAmount"),t("filledAmount"),t("settleBase"),t("settleOutput"),t("openTime"),O("unfilledRatioX64"),f(t(),4)]),Jn=p([M(8),r("poolId"),M(8*8*wt,"positiveTickArrayBitmap"),M(8*8*wt,"negativeTickArrayBitmap")]),jm=p([M(8),H("index"),H("filterPeriod"),H("decayPeriod"),H("reductionFactor"),z("dynamicFeeControl"),z("maxVolatilityAccumulator"),f(t(),8)]),Ji=p([M(8),r("wallet"),d("nonceIndex"),t("orderNonce"),f(t(),4)]),$m=p([t(),d("bump"),r("owner"),r("poolId"),r("positionId"),r("nftAccount"),f(t(),8)]),er=p([M(8),d("bump"),r("lockOwner"),r("poolId"),r("positionId"),r("nftAccount"),r("lockNftMint"),t("recentEpoch"),f(t(),8)]);import td from"bn.js";var dd=Buffer.from("amm_config","utf8"),nr=Buffer.from("pool","utf8"),or=Buffer.from("pool_vault","utf8"),pd=Buffer.from("pool_reward_vault","utf8"),fd=Buffer.from("position","utf8"),yd=Buffer.from("tick_array","utf8"),bd=Buffer.from("operation","utf8"),gd=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Pd=Buffer.from("observation","utf8"),Ad=Buffer.from("support_mint","utf8"),wd=Buffer.from("dynamic_fee_config","utf8"),kd=Buffer.from("permission","utf8");var Td=Buffer.from("locked_position","utf8");import{sha256 as Pr}from"js-sha256";import ir from"bn.js";import xd from"decimal.js";var Kd=new ir(1).shln(256).subn(1);import Xd from"bn.js";import Fd from"bn.js";import _d from"decimal.js";import jd from"bn.js";import Jd from"decimal.js";import{PublicKey as Ep}from"@solana/web3.js";import Wp from"bn.js";import{TOKEN_2022_PROGRAM_ID as Qp,TOKEN_PROGRAM_ID as Zp}from"@solana/spl-token";import ef from"decimal.js";import Kp from"bn.js";import yp from"bn.js";import df from"bn.js";function j(o){let e=`global:${o}`;return Buffer.from(Pr.digest(e)).slice(0,8)}jn.span;var ry=V("Raydium_Clmm"),ay={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 rn}from"@solana/web3.js";var Tr=p([d("instruction")]),hr=p([d("instruction")]),Ir=p([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"),f(t(),15,"padding")]),Br=p([t("state"),t("nonce"),r("lpVault"),r("rewardVault"),r(),r(),t(),t(),t("totalReward"),O("perShareReward"),t("lastSlot"),t("perSlotReward")]),xr=p([t("state"),t("nonce"),r("lpVault"),r("rewardVaultA"),t("totalRewardA"),O("perShareRewardA"),t("perSlotRewardA"),d("option"),r("rewardVaultB"),M(7),t("totalRewardB"),O("perShareRewardB"),t("perSlotRewardB"),t("lastSlot"),r()]),Sr=p([t(),t("state"),t("nonce"),t("validRewardTokenNum"),O("rewardMultiplier"),t("rewardPeriodMax"),t("rewardPeriodMin"),t("rewardPeriodExtend"),r("lpMint"),r("lpVault"),f(Ir,5,"rewardInfos"),r("creator"),r(),f(t(),32,"padding")]),Kr=new Proxy(Br,{get(o,e,n){return e==="decode"?(...i)=>{let a=o.decode(...i);return D(L({},a),{version:3,rewardInfos:[{rewardVault:a.rewardVault,totalReward:a.totalReward,perSlotReward:a.perSlotReward,perShareReward:a.perShareReward}]})}:Reflect.get(o,e,n)}}),Cr=new Proxy(xr,{get(o,e,n){return e==="decode"?(...i)=>{let a=o.decode(...i);return D(L({},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(Sr,{get(o,e,n){return e==="decode"?(...i)=>{let a=o.decode(...i);return D(L({},a),{version:6,rewardInfos:a.rewardInfos.map(c=>{var l;return D(L({},c),{rewardType:((l=Object.entries(rt).find(m=>String(m[1])===c.rewardType.toString()))!=null?l:["Standard SPL"])[0]})})})}:Reflect.get(o,e,n)}}),Rr=p([t("isSet"),t("rewardPerSecond"),t("rewardOpenTime"),t("rewardEndTime"),t("rewardType")]),Lr=p([d("instruction"),t("nonce"),f(Rr,5,"rewardTimeInfo")]),Or=p([d("instruction"),t("rewardReopenTime"),t("rewardEndTime"),t("rewardPerSecond")]),Nr=p([d("instruction"),t("isSet"),t("rewardPerSecond"),t("rewardOpenTime"),t("rewardEndTime"),t("rewardType")]),rb=p([t("state"),r("id"),r("owner"),t("deposited"),f(t(),1,"rewardDebts")]),so=p([t("state"),r("id"),r("owner"),t("deposited"),f(O(),1,"rewardDebts"),t(""),t("voteLockedBalance"),f(t(),15)]),ab=p([t("state"),r("id"),r("owner"),t("deposited"),f(t(),2,"rewardDebts")]),Mr=p([t("state"),r("id"),r("owner"),t("deposited"),f(O(),2,"rewardDebts"),f(t(),17)]),Fr=p([t(),t("state"),r("id"),r("owner"),t("deposited"),f(O(),5,"rewardDebts"),f(t(),16)]),vr=p([d("instruction"),t("amount")]),_r=p([r("mint"),r("grantAuthority"),t("baselineVoteWeightScaledFactor"),t("maxExtraLockupVoteWeightScaledFactor"),t("lockupSaturationSecs"),hn("digitShift"),f(d(),7,"reserved1"),f(t(),7,"reserved2")]),Vr=p([M(8),r("governanceProgramId"),r("realm"),r("realmGoverningTokenMint"),r("realmAuthority"),f(d(),32,"reserved1"),f(_r,4,"votingMints"),Ke("timeOffset"),d("bump"),f(d(),7,"reserved2"),f(t(),11,"reserved3")]),Er=p([Ke("startTime"),Ke("endTime"),d("kind"),f(d(),15,"reserved")]),Dr=p([f(Er,1,"lockup"),t("amountDeposited_native"),t("amountInitiallyLockedNative"),re("isUsed"),re("allowClawback"),d("votingMintConfigIdx"),f(d(),29,"reserved")]),Wr=p([M(8),r("voterAuthority"),r("registrar"),f(Dr,32,"deposits"),d("voterBump"),d("voterWweightRecordBump"),f(d(),94,"reserved")]);import{NATIVE_MINT as yb}from"@solana/spl-token";var bb=V("Raydium_farm_config"),qr=new rn("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Ur=new rn("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var gb=new rn("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var rt={"Standard SPL":0,"Option tokens":1},uo={[Wn.toString()]:3,[qn.toString()]:4,[Un.toString()]:5,[Zt.toString()]:6,[ge.FARM_PROGRAM_ID_V3.toString()]:3,[ge.FARM_PROGRAM_ID_V4.toString()]:4,[ge.FARM_PROGRAM_ID_V5.toString()]:5,[ge.FARM_PROGRAM_ID_V6.toString()]:6};import{PublicKey as ng,SystemProgram as og,SYSVAR_CLOCK_PUBKEY as ig,SYSVAR_RENT_PUBKEY as rg,TransactionInstruction as ag}from"@solana/web3.js";import ug from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as lg,createAssociatedTokenAccountIdempotentInstruction as mg,TOKEN_PROGRAM_ID as dg}from"@solana/spl-token";import Ob from"bn.js";import{PublicKey as hb}from"@solana/web3.js";import Bb from"bn.js";var zb=V("Raydium.farm.util");var hg=V("Raydium_farm_instruction"),Ig={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 mP from"bn.js";import{PublicKey as Aw}from"@solana/web3.js";import{AccountLayout as Tw,MintLayout as hw,NATIVE_MINT as Iw,TOKEN_PROGRAM_ID as xw}from"@solana/spl-token";import fP from"bn.js";import lo from"bn.js";var jr=new lo(25),$r=new lo(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as vP,TOKEN_PROGRAM_ID as _P}from"@solana/spl-token";import{PublicKey as EP,SystemProgram as DP,SYSVAR_RENT_PUBKEY as WP,TransactionInstruction as qP}from"@solana/web3.js";import ZP from"bn.js";var Jr=p([d("instruction"),t("amountIn"),t("minAmountOut")]),ea=p([d("instruction"),t("maxAmountIn"),t("amountOut")]),OP=p([d("instruction"),d("nonce")]),ta=p([d("instruction"),d("nonce"),t("startTime")]),mo=p([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"),f(t(),3,"padding")]),NP=p([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"),f(t(),64,"padding")]),na=p([d("instruction"),t("baseAmountIn"),t("quoteAmountIn"),t("fixedSide"),t("otherAmountMin")]),oa=p([d("instruction"),t("lpAmount"),t("baseAmountMin"),t("quoteAmountMin")]);var ia=p([t("fee")]);var JP=V("Raydium_liquidity_instruction");var ra=5e4,aa=p([t("x"),t("y"),t("price")]),oA=p([t("accountType"),t("status"),t("multiplier"),t("validDataCount"),f(aa,ra,"DataElement")]);import{PublicKey as yA}from"@solana/web3.js";import gA from"decimal.js";import{TOKEN_PROGRAM_ID as AA}from"@solana/spl-token";import{PublicKey as sA}from"@solana/web3.js";var lA=V("Raydium_liquidity_serum");import Xw from"bn.js";import Hw from"decimal.js";import{TOKEN_PROGRAM_ID as XA}from"@solana/spl-token";import{PublicKey as HA}from"@solana/web3.js";import ZA from"bn.js";import{SystemProgram as NA,SYSVAR_RENT_PUBKEY as MA,Transaction as FA,TransactionInstruction as vA}from"@solana/web3.js";import{createInitializeAccountInstruction as VA,TOKEN_PROGRAM_ID as EA}from"@solana/spl-token";function sa(o="accountFlags"){let e=new lt(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 ua=p([M(5),sa("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"),M(7)]);import{PublicKey as AT}from"@solana/web3.js";import{AccountLayout as kT,NATIVE_MINT as TT,TOKEN_2022_PROGRAM_ID as hT,TOKEN_PROGRAM_ID as IT,createAssociatedTokenAccountIdempotentInstruction as BT}from"@solana/spl-token";import Pk from"bn.js";import ya from"bn.js";var ik=new ya(0);import lk from"bn.js";import ba from"bn.js";var ht=new ba(1e6);import NT from"bn.js";import FT from"decimal.js";import{PublicKey as vk,TransactionInstruction as _k,Keypair as Ek,SystemProgram as Dk}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as qk,TOKEN_2022_PROGRAM_ID as Uk,TOKEN_PROGRAM_ID as Gk}from"@solana/spl-token";var hk=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),Ik=Buffer.from("amm_config","utf8"),Bk=Buffer.from("pool","utf8"),xk=Buffer.from("pool_lp_mint","utf8"),Sk=Buffer.from("pool_vault","utf8"),Kk=Buffer.from("observation","utf8"),Ck=Buffer.from("permission","utf8"),Rk=Buffer.from("support_mint","utf8");var Lk=Buffer.from("locked_liquidity","utf8");var jk=V("Raydium_cpmm"),$k={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])};var Aa=p([M(8),d("bump"),re("disableCreatePool"),H("index"),t("tradeFeeRate"),t("protocolFeeRate"),t("fundFeeRate"),t("createPoolFee"),r("protocolOwner"),r("fundOwner"),t("creatorFeeRate"),f(t(),15)]),po=p([M(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"),re("enableCreatorFee"),f(d(),6),t("creatorFeesMintA"),t("creatorFeesMintB"),f(t(),28)]),tT=p([M(8),r("configId"),f(t(),30)]);import{PublicKey as xS,SystemProgram as SS}from"@solana/web3.js";import{createTransferInstruction as CS,TOKEN_PROGRAM_ID as RS,TOKEN_2022_PROGRAM_ID as LS,createAssociatedTokenAccountIdempotentInstruction as OS,createSyncNativeInstruction as MS,createTransferCheckedInstruction as FS}from"@solana/spl-token";import va from"bn.js";import VS from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as zh,TOKEN_2022_PROGRAM_ID as Xh,TOKEN_PROGRAM_ID as Yh}from"@solana/spl-token";import{SystemProgram as jh,TransactionInstruction as $h}from"@solana/web3.js";import xa from"bn.js";var Ta=p([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"),f(t(),16)]),ha=p([t("totalLockedAmount"),t("cliffPeriod"),t("unlockPeriod"),t("startTime"),t("totalAllocatedShare")]),Ia=p([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"),ha.replicate("vestingSchedule"),r("configId"),r("platformId"),r("mintA"),r("mintB"),r("vaultA"),r("vaultB"),r("creator"),d("mintProgramFlag"),d("cpmmCreatorFeeOn"),t("platformVestingShare"),f(d(),54)]),xh=p([t(),t("epoch"),r("poolId"),r("beneficiary"),t("claimedAmount"),t("tokenShareAmount"),f(t(),8)]),yo=p([d("migrateType"),d("migrateCpmmFeeOn"),t("supply"),t("totalSellA"),t("totalFundRaisingB"),t("totalLockedAmount"),t("cliffPeriod"),t("unlockPeriod")]),Ba=p([t("epoch"),d("index"),r("configId"),yo.replicate("bondingCurveParam"),f(t(),50)]),bo=p([t(),t("epoch"),r("platformClaimFeeWallet"),r("platformLockNftWallet"),t("platformScale"),t("creatorScale"),t("burnScale"),t("feeRate"),f(d(),64,"name"),f(d(),256,"web"),f(d(),256,"img"),r("cpConfigId"),t("creatorFeeRate"),r("transferFeeExtensionAuth"),r("platformVestingWallet"),t("platformVestingScale"),r("platformCpCreator"),d("restrictGlobalConfig"),f(d(),107),Bn(Ba,"platformCurve")]);var Lh=Buffer.from("vault_auth_seed","utf8"),Oh=Buffer.from("global_config","utf8"),Nh=Buffer.from("pool_vesting","utf8"),Mh=Buffer.from("platform_config","utf8"),Fh=Buffer.from("platform_fee_vault_auth_seed","utf8"),vh=Buffer.from("creator_fee_vault_auth_seed","utf8"),_h=Buffer.from("platform_global_access","utf8"),Vh=Buffer.from("platform_allow_config","utf8");var nI={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]),updatePlatformCurveParam:Buffer.from([138,144,138,250,220,128,4,57]),removePlatformCurveParam:Buffer.from([27,30,62,169,93,224,24,145]),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])};var oI=new xa("18446744073709551615");import{TOKEN_2022_PROGRAM_ID as sI,TOKEN_PROGRAM_ID as uI}from"@solana/spl-token";import dI from"bn.js";import fI from"decimal.js";import XI from"bn.js";import HI from"decimal.js";import wI from"bn.js";import TI from"decimal.js";import OI from"bn.js";import MI from"decimal.js";import Ao from"bn.js";import sn from"decimal.js";var xt=class{static _multipler(e){return new sn(10).pow(e)}static getPrice({priceX64:e,decimalA:n,decimalB:i}){return new sn(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 Ao(a.mul(this._Q64).toFixed(0))}};xt._Q64=new sn(new Ao(1).shln(64).toString());import{NATIVE_MINT as nx,TOKEN_2022_PROGRAM_ID as ox,TOKEN_PROGRAM_ID as ix,createAssociatedTokenAccountIdempotentInstruction as ax,createSyncNativeInstruction as sx,getTransferFeeConfig as ux,unpackMint as cx}from"@solana/spl-token";import Q from"bn.js";import{PublicKey as Na,SystemProgram as dx}from"@solana/web3.js";import Ax from"decimal.js";var wx={initPriceX64:new Q("515752397214619"),supply:new Q(1e15),totalSellA:new Q(7931e11),totalFundRaisingB:new Q(85e9),totalFundRaisingBUSD:new Q(125e8),totalLockedAmount:new Q("0"),cliffPeriod:new Q("0"),unlockPeriod:new Q("0"),decimals:6,virtualA:new Q("1073471847374405"),virtualB:new Q("30050573465"),realA:new Q(0),realB:new Q(0),protocolFee:new Q(0),platformId:new Na("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new Q(0),cliffPeriod:new Q(0),unlockPeriod:new Q(0),startTime:new Q(0),totalAllocatedShare:new Q(0)}},kx=new Q(1e4);var Ma={[Gn.toBase58()]:3};var Fa=p([M(5),M(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"),M(7)]);import{PublicKey as Gx}from"@solana/web3.js";var Qx=V("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as iS,TOKEN_2022_PROGRAM_ID as rS,TOKEN_PROGRAM_ID as aS}from"@solana/spl-token";import{PublicKey as uS,SystemProgram as cS,TransactionInstruction as lS}from"@solana/web3.js";import dS from"bn.js";var fK=new va(0);import{PublicKey as _a,Transaction as un,TransactionInstruction as Va}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ea}from"@solana/spl-token";import wo from"bn.js";var te=class extends oe{static getPdaPoolId(e,n){return ce([te.SEED_CONFIG.pool.id,n.toBuffer()],e)}static getPdaOwnerId(e,n,i,a){return ce([te.SEED_CONFIG.owner.id,n.toBuffer(),i.toBuffer(),Buffer.from(new wo(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(b=>te.getPdaPoolId(n,b).publicKey),m=[];for(let b=0;b<te.VERSION_PROJECT.length;b++)m.push(...l.map(g=>te.getPdaOwnerId(n,g,a,b).publicKey));let y=await ye(e,[...l,...m]),P=[];for(let b=0;b<y.length;b++){let g=Math.floor(b/i.length),S=b%i.length,k=l[S],N=m[b],w=y[S],B=y[i.length+b];if(!(w&&B)||w.data.length!==te.POOL_LAYOUT.span||B.data.length!==te.OWNER_LAYOUT.span)continue;let K=te.POOL_LAYOUT.decode(w.data),x=te.OWNER_LAYOUT.decode(B.data),F=K.openTime.toNumber(),v=K.endTime.toNumber(),A=x.tokenInfo.map(C=>C.debtAmount.gt(new wo(0))).filter(C=>!C).length!==3,T=c>F&&c<v&&K.status===1,h=A&&T;P.push({programId:n,poolId:k,ammId:K.ammId,ownerAccountId:N,snapshotLpAmount:x.lpAmount,project:te.VERSION_PROJECT[g],openTime:F,endTime:v,canClaim:h,canClaimErrorType:A?T?void 0:"outOfOperationalTime":"alreadyClaimIt",tokenInfo:K.tokenInfo.map((C,R)=>({mintAddress:C.mintAddress,mintVault:C.mintVault,mintDecimals:C.mintDecimals,perLpLoss:C.perLpLoss,debtAmount:x.tokenInfo[R].debtAmount.add(x.tokenInfo[R].claimedAmount)}))})}return P}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 P of e.tokenInfo){let{account:b,instructionParams:g}=await this.scope.account.getOrCreateTokenAccount({mint:P.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:P.mintAddress.equals(ee.WSOL.mint),createInfo:{payer:c,amount:0},skipCloseAccount:!P.mintAddress.equals(ee.WSOL.mint),associatedOnly:P.mintAddress.equals(ee.WSOL.mint)?!1:n.associatedOnly});g&&a.addInstruction(g),l.push(b)}a.addInstruction({instructions:[te.makeClaimInstruction({programId:e.programId,poolInfo:e,ownerInfo:{wallet:c,ownerPda:e.ownerAccountId,claimAddress:l}})]});let{transaction:m,signers:y}=a.build();return[{transaction:m,signer:y}]}async makeClaimAllTransaction({poolInfos:e,ownerInfo:n,feePayer:i}){let a=this.createTxBuilder(i),c=n.wallet||this.scope.ownerPubKey,l={};for(let b of e){let g=[];for(let S of b.tokenInfo){let{account:k,instructionParams:N}=await this.scope.account.getOrCreateTokenAccount({mint:S.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:S.mintAddress.equals(ee.WSOL.mint),createInfo:{payer:c,amount:0},skipCloseAccount:!S.mintAddress.equals(ee.WSOL.mint),associatedOnly:S.mintAddress.equals(ee.WSOL.mint)?!1:n.associatedOnly});N&&a.addInstruction(N),k&&(l[S.mintAddress.toString()]=k,g.push(k))}a.addInstruction({instructions:[te.makeClaimInstruction({programId:b.programId,poolInfo:b,ownerInfo:{wallet:c,ownerPda:b.ownerAccountId,claimAddress:g}})]})}let{transaction:m,signers:y}=a.build(),P=a.allInstructions;return zt(P,[c,...y.map(b=>b.publicKey)])?[{transaction:m,signer:y}]:[{transaction:new un().add(...P.slice(0,a.AllTxData.instructions.length-1)),signer:y},{transaction:new un().add(...P.slice(a.AllTxData.instructions.length-1)),signer:[]},{transaction:new un().add(...a.AllTxData.endInstructions),signer:[]}]}static makeClaimInstruction({programId:e,poolInfo:n,ownerInfo:i}){let a=p([]),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(y=>({pubkey:y,isSigner:!1,isWritable:!0})),...n.tokenInfo.map(({mintVault:y})=>({pubkey:y,isSigner:!1,isWritable:!0})),{pubkey:Ea,isSigner:!1,isWritable:!1}],l=Buffer.alloc(a.span);a.encode({},l);let m=Buffer.from([10,66,208,184,161,6,191,98,...l]);return new Va({keys:c,programId:e,data:m})}},le=te;le.CLAIMED_NUM=3,le.POOL_LAYOUT=p([M(8),d("bump"),d("status"),t("openTime"),t("endTime"),r("ammId"),f(p([d("mintDecimals"),r("mintAddress"),r("mintVault"),t("perLpLoss"),t("totalClaimedAmount")]),te.CLAIMED_NUM,"tokenInfo"),f(t(),10,"padding")]),le.OWNER_LAYOUT=p([M(8),d("bump"),d("version"),r("poolId"),r("owner"),t("lpAmount"),f(p([r("mintAddress"),t("debtAmount"),t("claimedAmount")]),te.CLAIMED_NUM,"tokenInfo"),f(t(),4,"padding")]),le.DEFAULT_POOL_ID=["58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2","6UmmUiYoBjSrhakAobJw8BvkmJtDVxaeBtbt7rxWo1mg","AVs9TA4nWDzfPJE9gGVNJMVhcQy3V9PGazuz33BfG2RA","DVa7Qmb5ct9RCpaU7UTpSaf3GVMYz17vNVU67XpdCRut","7XawhbbxtsRcQA8KTkHT9f9nc6d69UwqCDh6U5EEbEmX","6a1CsrpeZubDjEJE9s1CMVheB6HWM5d7m1cj2jkhyXhj","EoNrn8iUhwgJySD1pHu8Qxm5gSQqLK3za4m8xzD2RuEb","AceAyRTWt4PyB2pHqf2qhDgNZDtKVNaxgL8Ru3V4aN1P","6tmFJbMk5yVHFcFy7X2K8RwHjKLr6KVFLYXpgpBNeAxB"].map(e=>new _a(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 LK}from"@solana/web3.js";import{getTransferFeeConfig as NK,MintLayout as MK,TOKEN_2022_PROGRAM_ID as FK,TOKEN_PROGRAM_ID as vK,unpackMint as _K}from"@solana/spl-token";var mR=new xe(2),dR=new xe(3),pR=new xe(5),ni=new xe(10),fR=new xe(100),yR=new xe(1e3),bR=new xe(1e4);function Ft(o,e=1,n=[]){let i=[...o];if(e<=0)return n;for(;i.length;)n.push(i.splice(0,e));return n}import{TOKEN_PROGRAM_ID as Xa}from"@solana/spl-token";function Da(o){return o instanceof Uint8Array||o!=null&&typeof o=="object"&&o.constructor.name==="Uint8Array"}function cn(o,...e){if(!Da(o))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(o.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${o.length}`)}function ln(o,e=!0){if(o.destroyed)throw new Error("Hash instance has been destroyed");if(e&&o.finished)throw new Error("Hash#digest() has already been called")}function ko(o,e){cn(o);let n=e.outputLen;if(o.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}var Kt=o=>new DataView(o.buffer,o.byteOffset,o.byteLength),me=(o,e)=>o<<32-e|o>>>e;var DR=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Wa(o){if(typeof o!="string")throw new Error(`utf8ToBytes expected string, got ${typeof o}`);return new Uint8Array(new TextEncoder().encode(o))}function mn(o){return typeof o=="string"&&(o=Wa(o)),cn(o),o}var St=class{clone(){return this._cloneInto()}},WR={}.toString;function To(o){let e=i=>o().update(mn(i)).digest(),n=o();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>o(),e}function qa(o,e,n,i){if(typeof o.setBigUint64=="function")return o.setBigUint64(e,n,i);let a=BigInt(32),c=BigInt(4294967295),l=Number(n>>a&c),m=Number(n&c),y=i?4:0,P=i?0:4;o.setUint32(e+y,l,i),o.setUint32(e+P,m,i)}var ho=(o,e,n)=>o&e^~o&n,Io=(o,e,n)=>o&e^o&n^e&n,Ct=class extends St{constructor(e,n,i,a){super(),this.blockLen=e,this.outputLen=n,this.padOffset=i,this.isLE=a,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Kt(this.buffer)}update(e){ln(this);let{view:n,buffer:i,blockLen:a}=this;e=mn(e);let c=e.length;for(let l=0;l<c;){let m=Math.min(a-this.pos,c-l);if(m===a){let y=Kt(e);for(;a<=c-l;l+=a)this.process(y,l);continue}i.set(e.subarray(l,l+m),this.pos),this.pos+=m,l+=m,this.pos===a&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){ln(this),ko(e,this),this.finished=!0;let{buffer:n,view:i,blockLen:a,isLE:c}=this,{pos:l}=this;n[l++]=128,this.buffer.subarray(l).fill(0),this.padOffset>a-l&&(this.process(i,0),l=0);for(let g=l;g<a;g++)n[g]=0;qa(i,a-8,BigInt(this.length*8),c),this.process(i,0);let m=Kt(e),y=this.outputLen;if(y%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let P=y/4,b=this.get();if(P>b.length)throw new Error("_sha2: outputLen bigger than state");for(let g=0;g<P;g++)m.setUint32(4*g,b[g],c)}digest(){let{buffer:e,outputLen:n}=this;this.digestInto(e);let i=e.slice(0,n);return this.destroy(),i}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:n,buffer:i,length:a,finished:c,destroyed:l,pos:m}=this;return e.length=a,e.pos=m,e.finished=c,e.destroyed=l,a%n&&e.buffer.set(i),e}};var Ua=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]),Pe=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ae=new Uint32Array(64),dn=class extends Ct{constructor(){super(64,32,8,!1),this.A=Pe[0]|0,this.B=Pe[1]|0,this.C=Pe[2]|0,this.D=Pe[3]|0,this.E=Pe[4]|0,this.F=Pe[5]|0,this.G=Pe[6]|0,this.H=Pe[7]|0}get(){let{A:e,B:n,C:i,D:a,E:c,F:l,G:m,H:y}=this;return[e,n,i,a,c,l,m,y]}set(e,n,i,a,c,l,m,y){this.A=e|0,this.B=n|0,this.C=i|0,this.D=a|0,this.E=c|0,this.F=l|0,this.G=m|0,this.H=y|0}process(e,n){for(let g=0;g<16;g++,n+=4)Ae[g]=e.getUint32(n,!1);for(let g=16;g<64;g++){let S=Ae[g-15],k=Ae[g-2],N=me(S,7)^me(S,18)^S>>>3,w=me(k,17)^me(k,19)^k>>>10;Ae[g]=w+Ae[g-7]+N+Ae[g-16]|0}let{A:i,B:a,C:c,D:l,E:m,F:y,G:P,H:b}=this;for(let g=0;g<64;g++){let S=me(m,6)^me(m,11)^me(m,25),k=b+S+ho(m,y,P)+Ua[g]+Ae[g]|0,w=(me(i,2)^me(i,13)^me(i,22))+Io(i,a,c)|0;b=P,P=y,y=m,m=l+k|0,l=c,c=a,a=i,i=k+w|0}i=i+this.A|0,a=a+this.B|0,c=c+this.C|0,l=l+this.D|0,m=m+this.E|0,y=y+this.F|0,P=P+this.G|0,b=b+this.H|0,this.set(i,a,c,l,m,y,P,b)}roundClean(){Ae.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Bo=To(()=>new dn);function Bi({owner:o,solAccountResp:e,tokenAccountResp:n}){let i=[],a=[];for(let{pubkey:c,account:l}of n.value){let m=Te.decode(l.data),{mint:y,amount:P}=m;i.push({publicKey:c,mint:y,amount:P,isAssociated:ae(o,y,l.owner).publicKey.equals(c),isNative:!1,programId:l.owner}),a.push({pubkey:c,accountInfo:m,programId:l.owner})}return e&&i.push({mint:xo.default,amount:new za(String(e.lamports)),isNative:!0,programId:e.owner}),{tokenAccounts:i,tokenAccountRawInfos:a}}function ve({fromPublicKey:o,programId:e=Xa,assignSeed:n}){let i=n?btoa(n).slice(0,32):Ga.generate().publicKey.toBase58().slice(0,32);return{publicKey:Ya(o,i,e),seed:i}}function Ya(o,e,n){let i=Buffer.concat([o.toBuffer(),Buffer.from(e),n.toBuffer()]),a=Bo(i);return new xo(a)}export{Ht as closeAccountInstruction,Qt as createWSolAccountInstructions,ve as generatePubKey,Dn as initTokenAccountInstruction,Ii as makeTransferInstruction,Bi as parseTokenAccountResp,Te as splAccountLayout};
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
//# sourceMappingURL=index.mjs.map