@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
3 lines • 80.1 kB
JavaScript
var So=Object.defineProperty,Ko=Object.defineProperties;var Co=Object.getOwnPropertyDescriptors;var st=Object.getOwnPropertySymbols;var bn=Object.prototype.hasOwnProperty,gn=Object.prototype.propertyIsEnumerable;var yn=(o,e,n)=>e in o?So(o,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[e]=n,L=(o,e)=>{for(var n in e||(e={}))bn.call(e,n)&&yn(o,n,e[n]);if(st)for(var n of st(e))gn.call(e,n)&&yn(o,n,e[n]);return o},V=(o,e)=>Ko(o,Co(e));var de=(o,e)=>{var n={};for(var i in o)bn.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&&gn.call(o,i)&&(n[i]=o[i]);return n};import{PublicKey as Wo}from"@solana/web3.js";import Tn,{isBN as hn}from"bn.js";import{bits as Ro,BitStructure as Ja,blob as Lo,Blob as es,cstr as ts,f32 as ns,f32be as os,f64 as is,f64be as rs,greedy as as,Layout as Oo,ns64 as ss,ns64be as us,nu64 as cs,nu64be as ls,offset as No,s16 as ms,s16be as ds,s24 as ps,s24be as fs,s32 as Mo,s32be as ys,s40 as bs,s40be as gs,s48 as Ps,s48be as As,s8 as ws,seq as Fo,struct as ks,Structure as vo,u16 as _o,u16be as Ts,u24 as hs,u24be as Bs,u32 as Vo,u32be as Is,u40 as xs,u40be as Ss,u48 as Ks,u48be as Cs,u8 as Eo,UInt as Do,union as Rs,Union as Ls,unionLayoutDiscriminator as Os,utf8 as Ns}from"@solana/buffer-layout";var ut=Oo,Pn=vo;var Rt=Do;var An=Eo,H=_o;var ct=Vo;var se=Mo;var wn=Fo;var M=Lo;var Lt=Ro,kn=No;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 Tn(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 Tn(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 m(o){return new Rt(1,o)}function z(o){return new Rt(4,o)}function t(o){return new ke(8,!1,o)}function R(o){return new ke(16,!1,o)}function Bn(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 Wo(e),e=>e.toBuffer(),o)}function re(o){return new ze(An(),qo,Uo,o)}function qo(o){if(o===0)return!1;if(o===1)return!0;throw new Error("Invalid bool: "+o)}function Uo(o){return o?1:0}function Nt(o,e){let n=ct("length"),i=p([n,f(o,kn(n,-n.span),"values")]);return new ze(i,({values:a})=>a,a=>({values:a}),e)}var Ot=class extends Pn{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:hn(e)?e.toNumber():new Proxy(e,{get(c,l){if(!i){let d=Reflect.get(c,"count");i=hn(d)?d.toNumber():d,Reflect.set(c,"count",i)}return Reflect.get(c,l)},set(c,l,d){return l==="count"&&(i=d),Reflect.set(c,l,d)}});return wn(o,a,n)}var Te=p([r("mint"),r("owner"),t("amount"),z("delegateOption"),r("delegate"),m("state"),z("isNativeOption"),t("isNative"),t("delegatedAmount"),z("closeAuthorityOption"),r("closeAuthority")]);import{Keypair as Ya,PublicKey as Io}from"@solana/web3.js";import Ha from"bn.js";import{PublicKey as Xo}from"@solana/web3.js";import{get as xn,set as Go}from"lodash";var Mt=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={},zo={};function E(o){let e=xn(Sn,o);if(!e){let n=xn(zo,o);e=new Mt({name:o,logLevel:n}),Go(Sn,o,e)}return e}import{MINT_SIZE as eu,TOKEN_PROGRAM_ID as tu,getTransferFeeConfig as nu,unpackMint as ou}from"@solana/spl-token";var Ft=E("Raydium_accountInfo_util");async function ye(o,e,n){let{batchRequest:i,commitment:a="confirmed",chunkCount:c=100}=L({batchRequest:!1},n),l=vt(e,c),d=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}}),A=vt(y,10);d=(await(await Promise.all(A.map(async g=>await o._rpcBatchRequest(g)))).flat()).map(g=>(g.error&&Ft.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:I,rentEpoch:K}=S;return k.length!==2&&k[1]!=="base64"&&Ft.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(k[0],"base64"),executable:N,lamports:w,owner:new Xo(I),rentEpoch:K}}return null})))}else try{d=await Promise.all(l.map(y=>o.getMultipleAccountsInfo(y,a)))}catch(y){y instanceof Error&&Ft.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${y.message}`)}return d.flat()}import xe from"bn.js";import IR from"decimal.js";import ei from"big.js";import wu from"bn.js";import Yo from"toformat";var Ho=Yo,Ye=Ho;import dt from"big.js";import Zo from"bn.js";import $o from"decimal.js-light";import He from"bn.js";var Kn=9007199254740991;function J(o){let e=E("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=E("module/fraction"),_t=Ye(dt),Qe=Ye($o),jo={[0]:Qe.ROUND_DOWN,[1]:Qe.ROUND_HALF_UP,[2]:Qe.ROUND_UP},Jo={[0]:dt.roundDown,[1]:dt.roundHalfUp,[2]:dt.roundUp},U=class{constructor(e,n=new Zo(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.`),_t.DP=e,_t.RM=Jo[i]||1,new _t(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,n)}isZero(){return this.numerator.isZero()}};var Cu=E("Raydium_amount"),Ru=Ye(ei);import{PublicKey as ni}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Cn}from"@solana/spl-token";var pt={chainId:101,address:ni.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 Et}from"@solana/web3.js";import{PublicKey as X,SystemProgram as Rn,SYSVAR_RENT_PUBKEY as oi}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ii}from"@solana/spl-token";function Ce({pubkey:o,isSigner:e=!1,isWritable:n=!0}){return{pubkey:o,isWritable:n,isSigner:e}}var ri=[Ce({pubkey:ii,isWritable:!1}),Ce({pubkey:Rn.programId,isWritable:!1}),Ce({pubkey:oi,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 Vt=new X("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Ze=new X("SysvarRent111111111111111111111111111111111"),Vu=new X("SysvarC1ock11111111111111111111111111111111"),ft=new X("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),ai=new X("Sysvar1nstructions1111111111111111111111111"),si=Rn.programId,Eu=new X("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Du=new X("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Wu=new X("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),qu=new X("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Uu=new X("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Gu=new X("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),zu=new X("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Xu=new X("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Yu=new X("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Hu=new X("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Qu=new X("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),be=new X("So11111111111111111111111111111111111111112"),he=X.default;var Dt=class{constructor({mint:e,decimals:n,symbol:i,name:a,skipMint:c=!1,isToken2022:l=!1}){if(e===he.toBase58()||e instanceof Et&&he.equals(e)){this.decimals=ue.decimals,this.symbol=ue.symbol,this.name=ue.name,this.mint=new Et(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?Et.default:Ln({publicKey:e}),this.isToken2022=l}equals(e){return this===e?!0:this.mint.equals(e.mint)}},ee=Dt;ee.WSOL=new Dt(V(L({},ue),{mint:ue.address}));var Wt=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=Wt;yt.SOL=new Wt(pt);import ui from"bn.js";var sc=new U(new ui(100));var pc=E("Raydium_price");import{merge as SC}from"lodash";import Tc 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"},ci=V(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 zc=E("Raydium_Api");import{PublicKey as Hl,SystemProgram as Ql}from"@solana/web3.js";import{AccountLayout as em,createAssociatedTokenAccountIdempotentInstruction as tm,TOKEN_PROGRAM_ID as nm,TOKEN_2022_PROGRAM_ID as om}from"@solana/spl-token";import{PublicKey as Me,sendAndConfirmTransaction as Yt,SystemProgram as yi,Transaction as Je,TransactionMessage as et,VersionedTransaction as tt}from"@solana/web3.js";import bi from"axios";import{PublicKey as qt,AddressLookupTableAccount as Oe}from"@solana/web3.js";async function Ut({connection:o,address:e,cluster:n="mainnet"}){let i=await ye(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],d=e[c];if(!l)continue;let y=new Oe({key:d,state:Oe.deserialize(l.data)});a[d.toString()]=y,n==="devnet"?Le[d.toString()]=y:Re[d.toString()]=y}return a}var Re={},Gt=async o=>{let e="AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU";if(Re[e])return Re;let n=new qt(e),i=await o.getAccountInfo(n);return i&&(Re[e]=new Oe({key:n,state:Oe.deserialize(i.data)})),Re},Le={},zt=async o=>{let e="EFhMuDw1PKEuckuFRW9PavNfTH4LKP5uKHgyXDmWpFCq";if(Le[e])return Le;let n=new qt(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 li,Transaction as _n,TransactionMessage as mi,VersionedTransaction as Vn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as di}from"@solana/spl-token";var Fn=E("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 Xt(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]=li.findProgramAddressSync(o,e);return{publicKey:n,nonce:i}}function $e({instructions:o,payer:e,signers:n}){return Xt(o,[e,...n])}function je({instructions:o,payer:e,lookupTableAddressAccount:n,recentBlockhash:i=vn.generate().publicKey.toString()}){let c=new mi({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 pi=o=>Buffer.isBuffer(o)?o:o instanceof Uint8Array?Buffer.from(o.buffer,o.byteOffset,o.byteLength):Buffer.from(o),fi=o=>{let e=o.serialize({requireAllSignatures:!1,verifySignatures:!1});o instanceof Vn&&(e=pi(e));try{return e instanceof Buffer?e.toString("base64"):Buffer.from(e).toString("base64")}catch{return e.toString("base64")}};function Be(o){let e=[];return o.forEach(n=>{n instanceof _n&&(n.recentBlockhash||(n.recentBlockhash=di.toBase58()),n.feePayer||(n.feePayer=vn.generate().publicKey)),e.push(fi(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 bi.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(yi.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(d=>d!==Me.default.toString())),this}async versionBuild({txVersion:e,extInfo:n,lookupTableAddress:i}){return e===0?await this.buildV0(V(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:d,notSendToRpc:y}=a||{},A=c!=null?c:await Ne(this.connection,this.blockhashCommitment);if(n.recentBlockhash=A,this.signers.length&&n.sign(...this.signers),Be([n]),(b=this.owner)!=null&&b.isKeyPair)return{txId:d?await Yt(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 A;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)],d=[this.signers,...c.map(b=>b.signers)],y=[...this.instructionTypes,...c.map(b=>b.instructionTypes).flat()];return(A=this.owner)!=null&&A.signer&&d.forEach(b=>{b.some(g=>g.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:l,signers:d,instructionTypes:y,execute:async b=>{var K;let{sequentially:g,onTxUpdate:S,skipTxCount:k=0,recentBlockHash:N,skipPreflight:w=!0}=b||{},I=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 P=await Yt(this.connection,v,this.signers.find(T=>T.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:w});x.push(P)}return{txIds:x,signedTxs:l}}return{txIds:await await Promise.all(l.map(async x=>(x.recentBlockhash=I,await this.connection.sendRawTransaction(x.serialize(),{skipPreflight:w})))),signedTxs:l}}if(this.signAllTransactions){let x=l.map((v,P)=>(v.recentBlockhash=I,d[P].length&&v.sign(...d[P]),v));Be(x);let F=await this.signAllTransactions(x);if(g){let v=0,P=[],T=async()=>{if(!F[v])return;let h=await this.connection.sendRawTransaction(F[v].serialize(),{skipPreflight:w});P.push({txId:h,status:"sent",signedTx:F[v]}),S==null||S([...P]),v++;let C=!1,O=null,_=null,ie=q=>{O!==null&&clearInterval(O),_!==null&&this.connection.removeSignatureListener(_);let W=P.findIndex(j=>j.txId===h);if(W>-1){if(P[W].status==="error"||P[W].status==="success")return;P[W].status=q.err?"error":"success"}S==null||S([...P]),q.err||T()};this.loopMultiTxStatus&&(O=setInterval(async()=>{var q;if(C){clearInterval(O);return}try{let W=await this.connection.getTransaction(h,{commitment:"confirmed",maxSupportedTransactionVersion:1});W&&(C=!0,clearInterval(O),ie({err:((q=W.meta)==null?void 0:q.err)||null}),console.log("tx status from getTransaction:",h))}catch(W){C=!0,clearInterval(O),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:P.map(h=>h.txId),signedTxs:F}}else{let v=[];for(let P=0;P<F.length;P+=1){let T=await this.connection.sendRawTransaction(F[P].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"]),d=L(L({},this.cluster==="devnet"?await zt(this.connection):await Gt(this.connection)),n),y=Array.from(new Set([...i,...this.lookupTableAddress])),A=[];for(let I of y)d[I]===void 0&&A.push(new Me(I));let b=await Ut({connection:this.connection,address:A});for(let[I,K]of Object.entries(b))d[I]=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(d));((w=this.owner)==null?void 0:w.signer)&&!this.signers.some(I=>I.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 I=>{var v;let{skipPreflight:K=!0,sendAndConfirm:x,notSendToRpc:F}=I||{};if(Be([k]),(v=this.owner)!=null&&v.isKeyPair){let P=await this.connection.sendTransaction(k,{skipPreflight:K});return x&&await gt(this.connection,P),{txId:P,signedTx:k}}if(this.signAllTransactions){let P=await this.signAllTransactions([k]);if(this.signers.length)for(let T of P)try{T.sign(this.signers)}catch{}return{txId:F?"":await this.connection.sendTransaction(P[0],{skipPreflight:K}),signedTx:P[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:l||{}}}async buildV0MultiTx(e){var A;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)],d=[this.signers,...c.map(b=>b.signers)],y=[...this.instructionTypes,...c.map(b=>b.instructionTypes).flat()];return(A=this.owner)!=null&&A.signer&&d.forEach(b=>{b.some(g=>g.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),l.forEach(async(b,g)=>{b.sign(d[g])}),{builder:this,transactions:l,signers:d,instructionTypes:y,buildProps:i,execute:async b=>{var w;let{sequentially:g,onTxUpdate:S,recentBlockHash:k,skipPreflight:N=!0}=b||{};if(k&&l.forEach(I=>I.message.recentBlockhash=k),Be(l),(w=this.owner)!=null&&w.isKeyPair){if(g){let I=[];for(let K of l){let x=await this.connection.sendTransaction(K,{skipPreflight:N});await gt(this.connection,x),I.push(x)}return{txIds:I,signedTxs:l}}return{txIds:await Promise.all(l.map(async I=>await this.connection.sendTransaction(I,{skipPreflight:N}))),signedTxs:l}}if(this.signAllTransactions){let I=await this.signAllTransactions(l);if(g){let K=0,x=[],F=async()=>{if(!I[K])return;let v=await this.connection.sendTransaction(I[K],{skipPreflight:N});x.push({txId:v,status:"sent",signedTx:I[K]}),S==null||S([...x]),K++;let P=!1,T=null,h=null,C=O=>{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=O.err?"error":"success"}S==null||S([...x]),O.err||F()};this.loopMultiTxStatus&&(T=setInterval(async()=>{var O;if(P){clearInterval(T);return}try{let _=await this.connection.getTransaction(v,{commitment:"confirmed",maxSupportedTransactionVersion:1});_&&(P=!0,clearInterval(T),C({err:((O=_.meta)==null?void 0:O.err)||null}),console.log("tx status from getTransaction:",v))}catch(_){P=!0,clearInterval(T),console.error("getTransaction timeout:",_,v)}},Pt)),h=this.connection.onSignature(v,O=>{if(P){this.connection.removeSignatureListener(h);return}P=!0,C(O)},"confirmed"),this.connection.getSignatureStatus(v)};return F(),{txIds:[],signedTxs:I}}else{let K=[];for(let x=0;x<I.length;x+=1){let F=await this.connection.sendTransaction(I[x],{skipPreflight:N});K.push(F)}return{txIds:K,signedTxs:I}}}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)=>V(L({},k),{[N.publicKey.toBase58()]:N}),{}),d=[],y=[],A=[],b=0;if(this.allInstructions.forEach(k=>{let N=[...A,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]&&A.length<12&&($e({instructions:w,payer:this.feePayer,signers:K})||$e({instructions:N,payer:this.feePayer,signers:K})))A.push(k);else{if(A.length===0)throw Error("item ins too big");b+=k===n[b]?1:0,$e({instructions:i?[...c.instructions,...A]:[...A],payer:this.feePayer,signers:K})?d.push(new Je().add(...c.instructions,...A)):d.push(new Je().add(...A)),y.push(Array.from(new Set(A.map(x=>x.keys.filter(F=>F.isSigner).map(F=>F.pubkey.toString())).flat())).map(x=>l[x]).filter(x=>x!==void 0)),A=[k]}}),A.length>0){let N=[...new Set(A.map(w=>w.keys.filter(I=>I.isSigner).map(I=>I.pubkey.toString())).flat()).values()].map(w=>l[w]).filter(w=>w!==void 0);$e({instructions:i?[...c.instructions,...A]:[...A],payer:this.feePayer,signers:N.map(w=>w.publicKey)})?d.push(new Je().add(...c.instructions,...A)):d.push(new Je().add(...A)),y.push(N)}return d.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:d,signers:y,instructionTypes:this.instructionTypes,execute:async k=>{var v;let{sequentially:N,onTxUpdate:w,skipTxCount:I=0,recentBlockHash:K,skipPreflight:x=!0}=k||{},F=K!=null?K:await Ne(this.connection,this.blockhashCommitment);if(d.forEach(async(P,T)=>{P.recentBlockhash=F,y[T].length&&P.sign(...y[T])}),Be(d),(v=this.owner)!=null&&v.isKeyPair){if(N){let P=0,T=[];for(let h of d){if(++P,P<=I){T.push("tx skipped");continue}let C=await Yt(this.connection,h,this.signers.find(O=>O.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:x});T.push(C)}return{txIds:T,signedTxs:d}}return{txIds:await Promise.all(d.map(async P=>await this.connection.sendRawTransaction(P.serialize(),{skipPreflight:x}))),signedTxs:d}}if(this.signAllTransactions){let P=await this.signAllTransactions(d.slice(I,d.length)),T=[...d.slice(0,I),...P];if(N){let h=0,C=[],O=async()=>{if(!T[h])return;h<I&&(C.push({txId:"",status:"success",signedTx:T[h]}),w==null||w([...C]),h++,O());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,j=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||O()};this.loopMultiTxStatus&&(q=setInterval(async()=>{var G;if(ie){clearInterval(q);return}try{let ne=await this.connection.getTransaction(_,{commitment:"confirmed",maxSupportedTransactionVersion:1});ne&&(ie=!0,clearInterval(q),j({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,j(G)},"confirmed"),this.connection.getSignatureStatus(_)};return await O(),{txIds:C.map(_=>_.txId),signedTxs:T}}else{let h=[];for(let C=0;C<T.length;C+=1){let O=await this.connection.sendRawTransaction(T[C].serialize(),{skipPreflight:x});h.push(O)}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,d=de(F,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress","insCountLimit"]),y=L(L({},this.cluster==="devnet"?await zt(this.connection):await Gt(this.connection)),a),A=Array.from(new Set([...this.lookupTableAddress,...c])),b=[];for(let P of A)y[P]===void 0&&b.push(new Me(P));let g=await Ut({connection:this.connection,address:b});for(let[P,T]of Object.entries(g))y[P]=T;let S=n?bt(n):{instructions:[],instructionTypes:[]},k=await Ne(this.connection,this.blockhashCommitment),N=this.signers.reduce((P,T)=>V(L({},P),{[T.publicKey.toBase58()]:T}),{}),w=[],I=[],K=[],x=0;if(this.allInstructions.forEach(P=>{let T=[...K,P],h=n?[...S.instructions,...T]:T;if(P!==i[x]&&K.length<l&&(je({instructions:h,payer:this.feePayer,lookupTableAddressAccount:y})||je({instructions:T,payer:this.feePayer,lookupTableAddressAccount:y})))K.push(P);else{if(K.length===0)throw Error("item ins too big");x+=P===i[x]?1:0;let C={};for(let O of[...new Set(A)])y[O]!==void 0&&(C[O]=y[O]);if(n&&je({instructions:[...S.instructions,...K],payer:this.feePayer,lookupTableAddressAccount:y,recentBlockhash:k})){let O=new et({payerKey:this.feePayer,recentBlockhash:k,instructions:[...S.instructions,...K]}).compileToV0Message(Object.values(y));w.push(new tt(O))}else{let O=new et({payerKey:this.feePayer,recentBlockhash:k,instructions:[...K]}).compileToV0Message(Object.values(y));w.push(new tt(O))}I.push(Array.from(new Set(K.map(O=>O.keys.filter(_=>_.isSigner).map(_=>_.pubkey.toString())).flat())).map(O=>N[O]).filter(O=>O!==void 0)),K=[P]}}),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&&je({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))}I.push(T)}return(v=this.owner)!=null&&v.signer&&I.forEach(P=>{P.some(T=>T.publicKey.equals(this.owner.publicKey))||P.push(this.owner.signer)}),w.forEach((P,T)=>{P.sign(I[T])}),{builder:this,transactions:w,buildProps:e,signers:I,instructionTypes:this.instructionTypes,execute:async P=>{var ie;let{sequentially:T,onTxUpdate:h,skipTxCount:C=0,recentBlockHash:O,skipPreflight:_=!0}=P||{};if(w.map(async(q,W)=>{I[W].length&&q.sign(I[W]),O&&(q.message.recentBlockhash=O)}),Be(w),(ie=this.owner)!=null&&ie.isKeyPair){if(T){let q=0,W=[];for(let j of w){if(++q,q<=C){console.log("skip tx: ",q),W.push("tx skipped");continue}let G=await this.connection.sendTransaction(j,{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 j=0,G=[],ne=async()=>{if(!W[j])return;if(j<C){G.push({txId:"",status:"success",signedTx:W[j]}),h==null||h([...G]),j++,ne();return}let pe=await this.connection.sendTransaction(W[j],{skipPreflight:_});G.push({txId:pe,status:"sent",signedTx:W[j]}),h==null||h([...G]),j++;let Ge=!1,Se=null,at=null,fn=we=>{Se!==null&&clearInterval(Se),at!==null&&this.connection.removeSignatureListener(at);let fe=G.findIndex(xo=>xo.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:1});fe&&(Ge=!0,clearInterval(Se),fn({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,fn(we)},"confirmed"),this.connection.getSignatureStatus(pe)};return ne(),{txIds:[],signedTxs:W}}else{let j=[];for(let G=0;G<W.length;G+=1){let ne=await this.connection.sendTransaction(W[G],{skipPreflight:_});j.push(ne)}return{txIds:j,signedTxs:W}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:d||{}}}};var Ht=(...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=E(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(Ht(e))}logInfo(...e){this.logger.info(Ht(e))}logAndCreateError(...e){let n=Ht(e);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{PublicKey as gi,SystemProgram as Pi}from"@solana/web3.js";import Ai from"bn.js";import{createCloseAccountInstruction as wi,createInitializeAccountInstruction as ki,createTransferInstruction as Ti,TOKEN_PROGRAM_ID as Fe}from"@solana/spl-token";function Dn(o){let{mint:e,tokenAccount:n,owner:i,programId:a=Fe}=o;return ki(n,e,i,a)}function Qt(o){let{tokenAccount:e,destination:n,multiSigners:i=[],owner:a,programId:c=Fe}=o;return wi(e,n,a,i,c)}async function Zt(o){let{connection:e,amount:n,commitment:i,closeDestination:a,payer:c,owner:l,skipCloseAccount:d}=o,y=await e.getMinimumBalanceForRentExemption(Te.span,i),A=J(n).add(new Ai(y)),b=ve({fromPublicKey:c,programId:Fe});return{addresses:{newAccount:b.publicKey},signers:[],instructions:[Pi.createAccountWithSeed({fromPubkey:c,basePubkey:c,seed:b.seed,newAccountPubkey:b.publicKey,lamports:A.toNumber(),space:Te.span,programId:Fe}),Dn({mint:new gi(ue.address),tokenAccount:b.publicKey,owner:l,programId:Fe})],instructionTypes:[Y.CreateAccount,Y.InitAccount],endInstructionTypes:d?[]:[Y.CloseAccount],endInstructions:d?[]:[Qt({tokenAccount:b.publicKey,destination:a!=null?a:l,owner:l})]}}function hi({source:o,destination:e,owner:n,amount:i,multiSigners:a=[],tokenProgram:c=Fe}){return Ti(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 Ii}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as xi}from"@solana/spl-token";function ae(o,e,n){return ce([o.toBuffer(),(n!=null?n:xi).toBuffer(),e.toBuffer()],new Ii("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"))}import{PublicKey as B}from"@solana/web3.js";var Wn=new B("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),qn=new B("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Un=new B("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),$t=new B("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),fm=new B("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Si=new B("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Gn=new B("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),zn=new B("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),ym=new B("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Ki=new B("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Xn=new B("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Ci=new B("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Ri=new B("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Yn=new B("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),bm=new B("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Li=new B("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),jt=new B("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Oi=new B("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),gm=new B("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),Ni=new B("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Mi=new B("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Fi=new B("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Pm=new B("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Am=new B("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),wm=new B("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),km=new B("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Tm=new B("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var ge={OPEN_BOOK_PROGRAM:new B("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new B("Ray1111111111111111111111111111111111111111"),AMM_V4:new B("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new B("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new B("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new B("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new B("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new B("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new B("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new B("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new B("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new B("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:B.default,Router:new B("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new B("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new B("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new B("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new B("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new B("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new B("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new B("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new B("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new B("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new B("Ray1111111111111111111111111111111111111111")};import eP from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as Ty,TOKEN_2022_PROGRAM_ID as hy,TOKEN_PROGRAM_ID as By}from"@solana/spl-token";import{PublicKey as xy}from"@solana/web3.js";import Ky from"bn.js";import Ry from"decimal.js";import{TOKEN_PROGRAM_ID as vm}from"@solana/spl-token";import{PublicKey as Dm}from"@solana/web3.js";var vi=p([z("mintAuthorityOption"),r("mintAuthority"),t("supply"),m("decimals"),m("isInitialized"),z("freezeAuthorityOption"),r("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as Uf,TOKEN_2022_PROGRAM_ID as Gf,TOKEN_PROGRAM_ID as zf}from"@solana/spl-token";import{Keypair as Hf,PublicKey as Qf,SystemProgram as $f,TransactionInstruction as jf}from"@solana/web3.js";import ey from"bn.js";import D from"bn.js";var Ve=new D(1).shln(64);var _i=new D(1).shln(128),Jt=new D(1).shln(64).subn(1),Vi=new D(1).shln(128).subn(1);var Ee=new D("4295048016"),De=new D("79226673521066979257578248091"),Ei=new D("59543866431248"),Di=new D("184467440737095516"),Wi=new D("15793534762490258745");var en=60,Ym=new D("18446743708227953217"),qi=[{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 nt=3,Hn=100;var Qn=10,Zn=100,wt=14;var Z=new D(0),We=new D(1),Hm=new D(-1);var Qm=new D("18446744073700000000");var Ui=p([M(8),m("bump"),H("index"),r("owner"),z("protocolFeeRate"),z("tradeFeeRate"),H("tickSpacing"),z("fundFeeRate"),f(z(),1),r("fundOwner"),f(t(),3)]),Gi=p([z("blockTimestamp"),Ke("tickCumulative"),f(t(),4)]),$n=p([M(8),re("initialized"),t("recentEpoch"),H("observationIndex"),r("poolId"),f(Gi,Hn,"observations"),f(t(),4)]),zi=p([H("filterPeriod"),H("decayPeriod"),H("reductionFactor"),z("dynamicFeeControl"),z("maxVolatilityAccumulator"),se("tickSpacingIndexReference"),z("volatilityReference"),z("volatilityAccumulator"),t("lastUpdateTimestamp"),f(m(),46)]),Xi=p([m("state"),t("openTime"),t("endTime"),t("lastUpdateTime"),R("emissionsPerSecondX64"),t("totalEmissioned"),t("claimed"),r("mint"),r("vault"),r("creator"),R("growthGlobalX64")]),tn=p([M(8),m("bump"),r("configId"),r("creator"),r("mintA"),r("mintB"),r("vaultA"),r("vaultB"),r("observationId"),m("mintDecimalsA"),m("mintDecimalsB"),H("tickSpacing"),R("liquidity"),R("sqrtPriceX64"),se("tickCurrent"),z(),R("feeGrowthGlobalX64A"),R("feeGrowthGlobalX64B"),t("protocolFeesTokenA"),t("protocolFeesTokenB"),f(R(),4),m("status"),m("feeOn"),M(6),f(Xi,nt,"rewardInfos"),M(8*16,"tickArrayBitmap"),f(t(),4),t("fundFeesTokenA"),t("fundFeesTokenB"),t("startTime"),t("recentEpoch"),zi.replicate("dynamicFeeInfo"),f(t(),46)]),Yi=p([R("growthInsideLastX64"),t("rewardAmountOwed")]),Hi=p([M(8),m("bump"),r("nftMint"),r("poolId"),se("tickLower"),se("tickUpper"),R("liquidity"),R("feeGrowthInsideLastX64A"),R("feeGrowthInsideLastX64B"),t("tokenFeesOwedA"),t("tokenFeesOwedB"),f(Yi,nt,"rewardInfos"),t("recentEpoch"),f(t(),7)]),Jm=p([M(8),m("bump"),r("poolId"),se("tickLower"),se("tickUpper"),R("liquidity"),R("feeGrowthInsideLastX64A"),R("feeGrowthInsideLastX64B"),t("tokenFeesOwedA"),t("tokenFeesOwedB"),f(R(),nt,"rewardGrowthInside"),t("recentEpoch"),f(t(),7)]),Qi=p([se("tick"),In("liquidityNet"),R("liquidityGross"),R("feeGrowthOutsideX64A"),R("feeGrowthOutsideX64B"),f(R(),nt,"rewardGrowthsOutsideX64"),t("orderPhase"),t("ordersAmount"),t("partFilledOrdersRemaining"),R("unfilledRatioX64"),f(z(),3)]),jn=p([M(8),r("poolId"),se("startTickIndex"),f(Qi,en,"ticks"),m("initializedTickCount"),t("recentEpoch"),f(m(),107)]),Zi=p([M(8),m("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"),R("unfilledRatioX64"),f(t(),4)]),Jn=p([M(8),r("poolId"),M(8*8*wt,"positiveTickArrayBitmap"),M(8*8*wt,"negativeTickArrayBitmap")]),ed=p([M(8),H("index"),H("filterPeriod"),H("decayPeriod"),H("reductionFactor"),z("dynamicFeeControl"),z("maxVolatilityAccumulator"),f(t(),8)]),ji=p([M(8),r("wallet"),m("nonceIndex"),t("orderNonce"),f(t(),4)]),td=p([t(),m("bump"),r("owner"),r("poolId"),r("positionId"),r("nftAccount"),f(t(),8)]),Ji=p([M(8),m("bump"),r("lockOwner"),r("poolId"),r("positionId"),r("nftAccount"),r("lockNftMint"),t("recentEpoch"),f(t(),8)]);import id from"bn.js";var yd=Buffer.from("amm_config","utf8"),tr=Buffer.from("pool","utf8"),nr=Buffer.from("pool_vault","utf8"),bd=Buffer.from("pool_reward_vault","utf8"),gd=Buffer.from("position","utf8"),Pd=Buffer.from("tick_array","utf8"),Ad=Buffer.from("operation","utf8"),wd=Buffer.from("pool_tick_array_bitmap_extension","utf8"),kd=Buffer.from("observation","utf8"),Td=Buffer.from("support_mint","utf8"),hd=Buffer.from("dynamic_fee_config","utf8"),Bd=Buffer.from("permission","utf8");var Id=Buffer.from("locked_position","utf8");import{sha256 as gr}from"js-sha256";import or from"bn.js";import Cd from"decimal.js";var Ld=new or(1).shln(256).subn(1);import Qd from"bn.js";import Vd from"bn.js";import Dd from"decimal.js";import ep from"bn.js";import np from"decimal.js";import{PublicKey as qp}from"@solana/web3.js";import Gp from"bn.js";import{TOKEN_2022_PROGRAM_ID as jp,TOKEN_PROGRAM_ID as Jp}from"@solana/spl-token";import of from"decimal.js";import Lp from"bn.js";import Pp from"bn.js";import yf from"bn.js";function $(o){let e=`global:${o}`;return Buffer.from(gr.digest(e)).slice(0,8)}$n.span;var cy=E("Raydium_Clmm"),ly={createPool:$("create_pool"),createCustomizablePool:$("create_customizable_pool"),createPermissionedPool:$("create_permissioned_pool"),openPositionV2:$("open_position_v2"),openPositionWithToken22Nft:$("open_position_with_token22_nft"),closePosition:$("close_position"),increaseLiquidityV2:$("increase_liquidity_v2"),decreaseLiquidityV2:$("decrease_liquidity_v2"),initializeReward:$("initialize_reward"),setRewardParams:$("set_reward_params"),updateRewardInfos:$("update_reward_infos"),collectRemainingRewards:$("collect_remaining_rewards"),swapV2:$("swap_v2"),openLimitOrder:$("open_limit_order"),increaseLimitOrder:$("increase_limit_order"),decreaseLimitOrder:$("decrease_limit_order"),settleLimitOrder:$("settle_limit_order"),closeLimitOrder:$("close_limit_order")};import{PublicKey as an}from"@solana/web3.js";var kr=p([m("instruction")]),Tr=p([m("instruction")]),hr=p([t("rewardState"),t("rewardOpenTime"),t("rewardEndTime"),t("rewardLastUpdateTime"),t("totalReward"),t("totalRewardEmissioned"),t("rewardClaimed"),t("rewardPerSecond"),R("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"),R("perShareReward"),t("lastSlot"),t("perSlotReward")]),Ir=p([t("state"),t("nonce"),r("lpVault"),r("rewardVaultA"),t("totalRewardA"),R("perShareRewardA"),t("perSlotRewardA"),m("option"),r("rewardVaultB"),M(7),t("totalRewardB"),R("perShareRewardB"),t("perSlotRewardB"),t("lastSlot"),r()]),xr=p([t(),t("state"),t("nonce"),t("validRewardTokenNum"),R("rewardMultiplier"),t("rewardPeriodMax"),t("rewardPeriodMin"),t("rewardPeriodExtend"),r("lpMint"),r("lpVault"),f(hr,5,"rewardInfos"),r("creator"),r(),f(t(),32,"padding")]),Sr=new Proxy(Br,{get(o,e,n){return e==="decode"?(...i)=>{let a=o.decode(...i);return V(L({},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(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(xr,{get(o,e,n){return e==="decode"?(...i)=>{let a=o.decode(...i);return V(L({},a),{version:6,rewardInfos:a.rewardInfos.map(c=>{var l;return V(L({},c),{rewardType:((l=Object.entries(rt).find(d=>String(d[1])===c.rewardType.toString()))!=null?l:["Standard SPL"])[0]})})})}:Reflect.get(o,e,n)}}),Cr=p([t("isSet"),t("rewardPerSecond"),t("rewardOpenTime"),t("rewardEndTime"),t("rewardType")]),Rr=p([m("instruction"),t("nonce"),f(Cr,5,"rewardTimeInfo")]),Lr=p([m("instruction"),t("rewardReopenTime"),t("rewardEndTime"),t("rewardPerSecond")]),Or=p([m("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(R(),1,"rewardDebts"),t(""),t("voteLockedBalance"),f(t(),15)]),ab=p([t("state"),r("id"),r("owner"),t("deposited"),f(t(),2,"rewardDebts")]),Nr=p([t("state"),r("id"),r("owner"),t("deposited"),f(R(),2,"rewardDebts"),f(t(),17)]),Mr=p([t(),t("state"),r("id"),r("owner"),t("deposited"),f(R(),5,"rewardDebts"),f(t(),16)]),Fr=p([m("instruction"),t("amount")]),vr=p([r("mint"),r("grantAuthority"),t("baselineVoteWeightScaledFactor"),t("maxExtraLockupVoteWeightScaledFactor"),t("lockupSaturationSecs"),Bn("digitShift"),f(m(),7,"reserved1"),f(t(),7,"reserved2")]),_r=p([M(8),r("governanceProgramId"),r("realm"),r("realmGoverningTokenMint"),r("realmAuthority"),f(m(),32,"reserved1"),f(vr,4,"votingMints"),Ke("timeOffset"),m("bump"),f(m(),7,"reserved2"),f(t(),11,"reserved3")]),Vr=p([Ke("startTime"),Ke("endTime"),m("kind"),f(m(),15,"reserved")]),Er=p([f(Vr,1,"lockup"),t("amountDeposited_native"),t("amountInitiallyLockedNative"),re("isUsed"),re("allowClawback"),m("votingMintConfigIdx"),f(m(),29,"reserved")]),Dr=p([M(8),r("voterAuthority"),r("registrar"),f(Er,32,"deposits"),m("voterBump"),m("voterWweightRecordBump"),f(m(),94,"reserved")]);import{NATIVE_MINT as yb}from"@solana/spl-token";var bb=E("Raydium_farm_config"),Wr=new an("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),qr=new an("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var gb=new an("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var rt={"Standard SPL":0,"Option tokens":1},uo={[Wn.toString()]:3,[qn.toString()]:4,[Un.toString()]:5,[$t.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 Ib from"bn.js";var zb=E("Raydium.farm.util");var hg=E("Raydium_farm_instruction"),Bg={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 Bw,TOKEN_PROGRAM_ID as xw}from"@solana/spl-token";import fP from"bn.js";import lo from"bn.js";var Zr=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([m("instruction"),t("amountIn"),t("minAmountOut")]),Jr=p([m("instruction"),t("maxAmountIn"),t("amountOut")]),OP=p([m("instruction"),m("nonce")]),ea=p([m("instruction"),m("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"),R("swapBaseInAmount"),R("swapQuoteOutAmount"),t("swapBase2QuoteFee"),R("swapQuoteInAmount"),R("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"),R("swapBaseInAmount"),R("swapQuoteOutAmount"),R("swapQuoteInAmount"),R("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")]),ta=p([m("instruction"),t("baseAmountIn"),t("quoteAmountIn"),t("fixedSide"),t("otherAmountMin")]),na=p([m("instruction"),t("lpAmount"),t("baseAmountMin"),t("quoteAmountMin")]);var oa=p([t("fee")]);var JP=E("Raydium_liquidity_instruction");var ia=5e4,ra=p([t("x"),t("y"),t("price")]),oA=p([t("accountType"),t("status"),t("multiplier"),t("validDataCount"),f(ra,ia,"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=E("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 aa(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 sa=p([M(5),aa("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 TT}from"@solana/web3.js";import{AccountLayout as BT,NATIVE_MINT as IT,TOKEN_2022_PROGRAM_ID as xT,TOKEN_PROGRAM_ID as ST,createAssociatedTokenAccountIdempotentInstruction as KT}from"@solana/spl-token";import Pk from"bn.js";import fa from"bn.js";var ik=new fa(0);import lk from"bn.js";import ya from"bn.js";var ht=new ya(1e6);import vT from"bn.js";import VT from"decimal.js";import{PublicKey as Vk,TransactionInstruction as Ek,Keypair as Wk,SystemProgram as qk}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Gk,TOKEN_2022_PROGRAM_ID as zk,TOKEN_PROGRAM_ID as Xk}from"@solana/spl-token";var hk=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),Bk=Buffer.from("amm_config","utf8"),Ik=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"),Lk=Buffer.from("creator_fee_share","utf8");var Ok=Buffer.from("locked_liquidity","utf8");var Jk=E("Raydium_cpmm"),eT={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 Pa=p([M(8),m("bump"),re("disableCreatePool"),H("index"),t("tradeFeeRate"),t("protocolFeeRate"),t("fundFeeRate"),t("createPoolFee"),r("protocolOwner"),r("fundOwner"),t("creatorFeeRate"),t("creatorFeeShareRate"),f(t(),14)]),po=p([M(8),r("configId"),r("poolCreator"),r("vaultA"),r("vaultB"),r("mintLp"),r("mintA"),r("mintB"),r("mintProgramA"),r("mintProgramB"),r("observationId"),m("bump"),m("status"),m("lpDecimals"),m("mintDecimalA"),m("mintDecimalB"),t("lpAmount"),t("protocolFeesMintA"),t("protocolFeesMintB"),t("fundFeesMintA"),t("fundFeesMintB"),t("openTime"),t("epoch"),m("feeOn"),re("enableCreatorFee"),f(m(),6),t("creatorFeesMintA"),t("creatorFeesMintB"),f(t(),28)]),oT=p([M(8),r("configId"),f(t(),30)]),iT=p([M(8),m("bump"),r("creator"),r("ammConfig"),t("shareRate"),f(t(),8)]);import{PublicKey as ZS,SystemProgram as $S}from"@solana/web3.js";import{createTransferInstruction as JS,TOKEN_PROGRAM_ID as eK,TOKEN_2022_PROGRAM_ID as tK,createAssociatedTokenAccountIdempotentInstruction as nK,createSyncNativeInstruction as iK,createTransferCheckedInstruction as rK}from"@solana/spl-token";import Ea from"bn.js";import uK from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Xh,TOKEN_2022_PROGRAM_ID as Yh,TOKEN_PROGRAM_ID as Hh}from"@solana/spl-token";import{SystemProgram as jh,TransactionInstruction as Jh}from"@solana/web3.js";import ka from"bn.js";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"),Eh=Buffer.from("platform_curve_rule","utf8");var nB={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 oB=new ka("18446744073709551615");var Ta=p([t(),t("epoch"),m("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")]),Ba=p([t(),t("epoch"),m("bump"),m("status"),m("mintDecimalsA"),m("mintDecimalsB"),m("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"),m("mintProgramFlag"),m("cpmmCreatorFeeOn"),t("platformVestingShare"),f(m(),54)]),sB=p([t(),t("epoch"),r("poolId"),r("beneficiary"),t("claimedAmount"),t("tokenShareAmount"),f(t(),8)]),Ia=p([m("migrateType"),m("migrateCpmmFeeOn"),t("supply"),t("totalSellA"),t("totalFundRaisingB"),t("totalLockedAmount"),t("cliffPeriod"),t("unlockPeriod")]),uB=p([t("epoch"),m("index"),r("configId"),Ia.replicate("bondingCurveParam"),f(t(),50)]),yo=p([t(),t("epoch"),r("platformClaimFeeWallet"),r("platformLockNftWallet"),t("platformScale"),t("creatorScale"),t("burnScale"),t("feeRate"),f(m(),64,"name"),f(m(),256,"web"),f(m(),256,"img"),r("cpConfigId"),t("creatorFeeRate"),r("transferFeeExtensionAuth"),r("platformVestingWallet"),t("platformVestingScale"),r("platformCpCreator"),m("restrictGlobalConfig"),m("restrictCurveParam"),r("curveRuleManager"),f(m(),78)]),xa=p([m("field"),m("op"),R("value")]),Sa=p([H("groupId"),t("epoch"),Nt(xa,"constraints")]),Ka=p([t(),m("bump"),m("version"),r("platformId"),r("configId"),t("epoch"),f(t(),8),Nt(Sa,"groups")]);import{TOKEN_2022_PROGRAM_ID as mB,TOKEN_PROGRAM_ID as dB}from"@solana/spl-token";import Ca from"bn.js";var BB=new Ca(1e6);import KB from"bn.js";import RB from"decimal.js";import uI from"bn.js";import lI from"decimal.js";import vB from"bn.js";import VB from"decimal.js";import HB from"bn.js";import ZB from"decimal.js";import Po from"bn.js";import un from"decimal.js";var xt=class{static _multipler(e){return new un(10).pow(e)}static getPrice({priceX64:e,decimalA:n,decimalB:i}){return new un(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 Po(a.mul(this._Q64).toFixed(0))}};xt._Q64=new un(new Po(1).shln(64).toString());import{NATIVE_MINT as Ix,TOKEN_2022_PROGRAM_ID as xx,TOKEN_PROGRAM_ID as Sx,createAssociatedTokenAccountIdempotentInstruction as Cx,createSyncNativeInstruction as Rx,getTransferFeeConfig as Lx,unpackMint as Ox}from"@solana/spl-token";import Q from"bn.js";import{PublicKey as va,SystemProgram as Fx}from"@solana/web3.js";import qx from"decimal.js";var Ux={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 va("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),vestingSchedule:{totalLockedAmount:new Q(0),cliffPeriod:new Q(0),unlockPeriod:new Q(0),startTime:new Q(0),totalAllocatedShare:new Q(0)}},Gx=new Q(1e4);var _a={[Gn.toBase58()]:3};var Va=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 fS}from"@solana/web3.js";var AS=E("Serum");import{ASSOCIATED_TOKEN_PROGRAM_ID as KS,TOKEN_2022_PROGRAM_ID as CS,TOKEN_PROGRAM_ID as RS}from"@solana/spl-token";import{PublicKey as OS,SystemProgram as NS,TransactionInstruction as MS}from"@solana/web3.js";import vS from"bn.js";var VK=new Ea(0);import{PublicKey as Da,Transaction as cn,TransactionInstruction as Wa}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as qa}from"@solana/spl-token";import Ao 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 Ao(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),d=[];for(let b=0;b<te.VERSION_PROJECT.length;b++)d.push(...l.map(g=>te.getPdaOwnerId(n,g,a,b).publicKey));let y=await ye(e,[...l,...d]),A=[];for(let b=0;b<y.length;b++){let g=Math.floor(b/i.length),S=b%i.length,k=l[S],N=d[b],w=y[S],I=y[i.length+b];if(!(w&&I)||w.data.length!==te.POOL_LAYOUT.span||I.data.length!==te.OWNER_LAYOUT.span)continue;let K=te.POOL_LAYOUT.decode(w.data),x=te.OWNER_LAYOUT.decode(I.data),F=K.openTime.toNumber(),v=K.endTime.toNumber(),P=x.tokenInfo.map(C=>C.debtAmount.gt(new Ao(0))).filter(C=>!C).length!==3,T=c>F&&c<v&&K.status===1,h=P&&T;A.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:P?T?void 0:"outOfOperationalTime":"alreadyClaimIt",tokenInfo:K.tokenInfo.map((C,O)=>({mintAddress:C.mintAddress,mintVault:C.mintVault,mintDecimals:C.mintDecimals,perLpLoss:C.perLpLoss,debtAmount:x.tokenInfo[O].debtAmount.add(x.tokenInfo[O].claimedAmount)}))})}return A}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 A of e.tokenInfo){let{account:b,instructionParams:g}=await this.scope.account.getOrCreateTokenAccount({mint:A.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:A.mintAddress.equals(ee.WSOL.mint),createInfo:{payer:c,amount:0},skipCloseAccount:!A.mintAddress.equals(ee.WSOL.mint),associatedOnly:A.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:d,signers:y}=a.build();return[{transaction:d,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:d,signers:y}=a.build(),A=a.allInstructions;return Xt(A,[c,...y.map(b=>b.publicKey)])?[{transaction:d,signer:y}]:[{transaction:new cn().add(...A.slice(0,a.AllTxData.instructions.length-1)),signer:y},{transaction:new cn().add(...A.slice(a.AllTxData.instructions.length-1)),signer:[]},{transaction:new cn().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:qa,isSigner:!1,isWritable:!1}],l=Buffer.alloc(a.span);a.encode({},l);let d=Buffer.from([10,66,208,184,161,6,191,98,...l]);return new Wa({keys:c,programId:e,data:d})}},le=te;le.CLAIMED_NUM=3,le.POOL_LAYOUT=p([M(8),m("bump"),m("status"),t("openTime"),t("endTime"),r("ammId"),f(p([m("mintDecimals"),r("mintAddress"),r("mintVault"),t("perLpLoss"),t("totalClaimedAmount")]),te.CLAIMED_NUM,"tokenInfo"),f(t(),10,"padding")]),le.OWNER_LAYOUT=p([M(8),m("bump"),m("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 Da(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 tC}from"@solana/web3.js";import{getTransferFeeConfig as oC,MintLayout as iC,TOKEN_2022_PROGRAM_ID as rC,TOKEN_PROGRAM_ID as aC,unpackMint as sC}from"@solana/spl-token";var FR=new xe(2),vR=new xe(3),_R=new xe(5),ti=new xe(10),VR=new xe(100),ER=new xe(1e3),DR=new xe(1e4);function vt(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 Qa}from"@solana/spl-token";function Ua(o){return o instanceof Uint8Array||o!=null&&typeof o=="object"&&o.constructor.name==="Uint8Array"}function ln(o,...e){if(!Ua(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 mn(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 wo(o,e){ln(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 lL=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Ga(o){if(typeof o!="string")throw new Error(`utf8ToBytes expected string, got ${typeof o}`);return new Uint8Array(new TextEncoder().encode(o))}function dn(o){return typeof o=="string"&&(o=Ga(o)),ln(o),o}var St=class{clone(){return this._cloneInto()}},mL={}.toString;function ko(o){let e=i=>o().update(dn(i)).digest(),n=o();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>o(),e}function za(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),d=Number(n&c),y=i?4:0,A=i?0:4;o.setUint32(e+y,l,i),o.setUint32(e+A,d,i)}var To=(o,e,n)=>o&e^~o&n,ho=(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){mn(this);let{view:n,buffer:i,blockLen:a}=this;e=dn(e);let c=e.length;for(let l=0;l<c;){let d=Math.min(a-this.pos,c-l);if(d===a){let y=Kt(e);for(;a<=c-l;l+=a)this.process(y,l);continue}i.set(e.subarray(l,l+d),this.pos),this.pos+=d,l+=d,this.pos===a&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){mn(this),wo(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;za(i,a-8,BigInt(this.length*8),c),this.process(i,0);let d=Kt(e),y=this.outputLen;if(y%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let A=y/4,b=this.get();if(A>b.length)throw new Error("_sha2: outputLen bigger than state");for(let g=0;g<A;g++)d.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:d}=this;return e.length=a,e.pos=d,e.finished=c,e.destroyed=l,a%n&&e.buffer.set(i),e}};var Xa=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),pn=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:d,H:y}=this;return[e,n,i,a,c,l,d,y]}set(e,n,i,a,c,l,d,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=d|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:d,F:y,G:A,H:b}=this;for(let g=0;g<64;g++){let S=me(d,6)^me(d,11)^me(d,25),k=b+S+To(d,y,A)+Xa[g]+Ae[g]|0,w=(me(i,2)^me(i,13)^me(i,22))+ho(i,a,c)|0;b=A,A=y,y=d,d=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,d=d+this.E|0,y=y+this.F|0,A=A+this.G|0,b=b+this.H|0,this.set(i,a,c,l,d,y,A,b)}roundClean(){Ae.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Bo=ko(()=>new pn);function Bi({owner:o,solAccountResp:e,tokenAccountResp:n}){let i=[],a=[];for(let{pubkey:c,account:l}of n.value){let d=Te.decode(l.data),{mint:y,amount:A}=d;i.push({publicKey:c,mint:y,amount:A,isAssociated:ae(o,y,l.owner).publicKey.equals(c),isNative:!1,programId:l.owner}),a.push({pubkey:c,accountInfo:d,programId:l.owner})}return e&&i.push({mint:Io.default,amount:new Ha(String(e.lamports)),isNative:!0,programId:e.owner}),{tokenAccounts:i,tokenAccountRawInfos:a}}function ve({fromPublicKey:o,programId:e=Qa,assignSeed:n}){let i=n?btoa(n).slice(0,32):Ya.generate().publicKey.toBase58().slice(0,32);return{publicKey:Za(o,i,e),seed:i}}function Za(o,e,n){let i=Buffer.concat([o.toBuffer(),Buffer.from(e),n.toBuffer()]),a=Bo(i);return new Io(a)}export{Qt as closeAccountInstruction,Zt as createWSolAccountInstructions,ve as generatePubKey,Dn as initTokenAccountInstruction,hi as makeTransferInstruction,Bi as parseTokenAccountResp,Te as splAccountLayout};
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
//# sourceMappingURL=index.mjs.map