@sega-so/sega-sdk
Version:
An SDK for building applications on top of SEGA.
2 lines • 42.5 kB
JavaScript
"use strict";var Ot=Object.create;var ce=Object.defineProperty,Nt=Object.defineProperties,Rt=Object.getOwnPropertyDescriptor,Dt=Object.getOwnPropertyDescriptors,Et=Object.getOwnPropertyNames,we=Object.getOwnPropertySymbols,Mt=Object.getPrototypeOf,Fe=Object.prototype.hasOwnProperty,nt=Object.prototype.propertyIsEnumerable;var tt=(n,e,t)=>e in n?ce(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,K=(n,e)=>{for(var t in e||(e={}))Fe.call(e,t)&&tt(n,t,e[t]);if(we)for(var t of we(e))nt.call(e,t)&&tt(n,t,e[t]);return n},J=(n,e)=>Nt(n,Dt(e));var Se=(n,e)=>{var t={};for(var r in n)Fe.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&we)for(var r of we(n))e.indexOf(r)<0&&nt.call(n,r)&&(t[r]=n[r]);return t};var _t=(n,e)=>{for(var t in e)ce(n,t,{get:e[t],enumerable:!0})},rt=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let c of Et(e))!Fe.call(n,c)&&c!==t&&ce(n,c,{get:()=>e[c],enumerable:!(r=Rt(e,c))||r.enumerable});return n};var V=(n,e,t)=>(t=n!=null?Ot(Mt(n)):{},rt(e||!n||!n.__esModule?ce(t,"default",{value:n,enumerable:!0}):t,n)),Ft=n=>rt(ce({},"__esModule",{value:!0}),n);var w=(n,e,t)=>new Promise((r,c)=>{var i=y=>{try{o(t.next(y))}catch(b){c(b)}},s=y=>{try{o(t.throw(y))}catch(b){c(b)}},o=y=>y.done?r(y.value):Promise.resolve(y.value).then(i,s);o((t=t.apply(n,e)).next())});var an={};_t(an,{default:()=>_e});module.exports=Ft(an);var X=require("@solana/web3.js"),It=require("@solana/spl-token"),$e=V(require("bn.js"));var it=require("@solana/web3.js");var le=require("lodash");var Ke=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 t=e.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(t)}warning(...e){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...e),this):this}info(...e){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...e),this):this}debug(...e){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...e),this):this}},ot={},Kt={};function W(n){let e=(0,le.get)(ot,n);if(!e){let t=(0,le.get)(Kt,n);e=new Ke({name:n,logLevel:t}),(0,le.set)(ot,n,e)}return e}var Ae=require("@solana/spl-token");var Ve=W("Sega_accountInfo_util");function Be(n,e,t){return w(this,null,function*(){let{batchRequest:r,commitment:c="confirmed",chunkCount:i=100}=K({batchRequest:!1},t),s=We(e,i),o=new Array(s.length).fill([]);if(r){let y=s.map(u=>({methodName:"getMultipleAccounts",args:n._buildArgs([u.map(T=>T.toBase58())],c,"base64")})),b=We(y,10);o=(yield(yield Promise.all(b.map(u=>w(this,null,function*(){return yield n._rpcBatchRequest(u)})))).flat()).map(u=>(u.error&&Ve.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${u.error.message}`),u.result.value.map(A=>{if(A){let{data:T,executable:g,lamports:x,owner:a,rentEpoch:C}=A;return T.length!==2&&T[1]!=="base64"&&Ve.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(T[0],"base64"),executable:g,lamports:x,owner:new it.PublicKey(a),rentEpoch:C}}return null})))}else try{o=yield Promise.all(s.map(y=>n.getMultipleAccountsInfo(y,c)))}catch(y){y instanceof Error&&Ve.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${y.message}`)}return o.flat()})}var G=V(require("bn.js")),Jt=V(require("decimal.js"));var lt=V(require("big.js")),qt=V(require("bn.js"));var st=V(require("toformat")),Vt=st.default,me=Vt;var pe=V(require("big.js")),ut=V(require("bn.js")),ct=V(require("decimal.js-light"));var re=V(require("bn.js"));var at=9007199254740991;function Y(n){let e=W("Sega_parseBigNumberish");if(n instanceof re.default)return n;if(typeof n=="string"){if(n.match(/^-?[0-9]+$/))return new re.default(n);e.logWithError(`invalid BigNumberish string: ${n}`)}return typeof n=="number"?(n%1&&e.logWithError(`BigNumberish number underflow: ${n}`),(n>=at||n<=-at)&&e.logWithError(`BigNumberish number overflow: ${n}`),new re.default(String(n))):typeof n=="bigint"?new re.default(n.toString()):(e.error(`invalid BigNumberish value: ${n}`),new re.default(0))}var ke=W("module/fraction"),Ue=me(pe.default),de=me(ct.default),vt={0:de.ROUND_DOWN,1:de.ROUND_HALF_UP,2:de.ROUND_UP},Ut={0:pe.default.roundDown,1:pe.default.roundHalfUp,2:pe.default.roundUp},z=class n{constructor(e,t=new ut.default(1)){this.numerator=Y(e),this.denominator=Y(t)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new n(this.denominator,this.numerator)}add(e){let t=e instanceof n?e:new n(Y(e));return this.denominator.eq(t.denominator)?new n(this.numerator.add(t.numerator),this.denominator):new n(this.numerator.mul(t.denominator).add(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}sub(e){let t=e instanceof n?e:new n(Y(e));return this.denominator.eq(t.denominator)?new n(this.numerator.sub(t.numerator),this.denominator):new n(this.numerator.mul(t.denominator).sub(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}mul(e){let t=e instanceof n?e:new n(Y(e));return new n(this.numerator.mul(t.numerator),this.denominator.mul(t.denominator))}div(e){let t=e instanceof n?e:new n(Y(e));return new n(this.numerator.mul(t.denominator),this.denominator.mul(t.numerator))}toSignificant(e,t={groupSeparator:""},r=1){Number.isInteger(e)||ke.logWithError(`${e} is not an integer.`),e<=0&&ke.logWithError(`${e} is not positive.`),de.set({precision:e+1,rounding:vt[r]});let c=new de(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return c.toFormat(c.decimalPlaces(),t)}toFixed(e,t={groupSeparator:""},r=1){return Number.isInteger(e)||ke.logWithError(`${e} is not an integer.`),e<0&&ke.logWithError(`${e} is negative.`),Ue.DP=e,Ue.RM=Ut[r]||1,new Ue(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,t)}isZero(){return this.numerator.isZero()}};var En=W("Sega_amount"),Mn=me(lt.default);var mt=require("@solana/web3.js"),qe=require("@solana/spl-token"),pt={chainId:101,address:mt.PublicKey.default.toBase58(),programId:qe.TOKEN_PROGRAM_ID.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"sega",extensions:{coingeckoId:"solana"}},$={chainId:101,address:"So11111111111111111111111111111111111111112",programId:qe.TOKEN_PROGRAM_ID.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"sega",extensions:{coingeckoId:"solana"}};var Ce=require("@solana/web3.js");var N=require("@solana/web3.js"),dt=require("@solana/spl-token");function Ge({pubkey:n,isSigner:e=!1,isWritable:t=!0}){return{pubkey:n,isWritable:t,isSigner:e}}var Vn=[Ge({pubkey:dt.TOKEN_PROGRAM_ID,isWritable:!1}),Ge({pubkey:N.SystemProgram.programId,isWritable:!1}),Ge({pubkey:N.SYSVAR_RENT_PUBKEY,isWritable:!1})];function ft({publicKey:n,transformSol:e}){let t=gt(n.toString());if(t instanceof N.PublicKey)return e&&t.equals(fe)?ve:t;if(e&&t.toString()===fe.toBase58())return ve;if(typeof t=="string"){if(t===N.PublicKey.default.toBase58())return N.PublicKey.default;try{return new N.PublicKey(t)}catch(r){throw new Error("invalid public key")}}throw new Error("invalid public key")}function gt(n){try{return new N.PublicKey(n)}catch(e){return n}}var Wn=new N.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),vn=new N.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Un=new N.PublicKey("SysvarRent111111111111111111111111111111111"),qn=new N.PublicKey("SysvarC1ock11111111111111111111111111111111"),jt=new N.PublicKey("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Gn=new N.PublicKey("Sysvar1nstructions1111111111111111111111111"),jn=N.SystemProgram.programId,Hn=new N.PublicKey("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Yn=new N.PublicKey("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),zn=new N.PublicKey("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Jn=new N.PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Xn=new N.PublicKey("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Zn=new N.PublicKey("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Qn=new N.PublicKey("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),$n=new N.PublicKey("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),er=new N.PublicKey("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),tr=new N.PublicKey("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),nr=new N.PublicKey("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),ve=new N.PublicKey("So11111111111111111111111111111111111111112"),fe=N.PublicKey.default;var Ie=class Ie{constructor({mint:e,decimals:t,symbol:r,name:c,skipMint:i=!1,isToken2022:s=!1}){if(e===fe.toBase58()||e instanceof Ce.PublicKey&&fe.equals(e)){this.decimals=$.decimals,this.symbol=$.symbol,this.name=$.name,this.mint=new Ce.PublicKey($.address),this.isToken2022=!1;return}this.decimals=t,this.symbol=r||e.toString().substring(0,6),this.name=c||e.toString().substring(0,6),this.mint=i?Ce.PublicKey.default:ft({publicKey:e}),this.isToken2022=s}equals(e){return this===e?!0:this.mint.equals(e.mint)}};Ie.WSOL=new Ie(J(K({},$),{mint:$.address}));var U=Ie;var Le=class Le{constructor({decimals:e,symbol:t="UNKNOWN",name:r="UNKNOWN"}){this.decimals=e,this.symbol=t,this.name=r}equals(e){return this===e}};Le.SOL=new Le(pt);var je=Le;var ht=V(require("bn.js"));var dr=new z(new ht.default(100));var Tr=W("Sega_price");var Yt=require("@solana/web3.js"),zt=V(require("bn.js"));var Ht=new G.default(0),Qr=new G.default(1),$r=new G.default(2),eo=new G.default(3),to=new G.default(5),Gt=new G.default(10),no=new G.default(100),ro=new G.default(1e3),oo=new G.default(1e4);function We(n,e=1,t=[]){let r=[...n];if(e<=0)return t;for(;r.length;)t.push(r.splice(0,e));return t}var Qt=require("@solana/web3.js"),$t=require("@solana/spl-token");var F=require("@solana/web3.js");var ge={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"};var Pt=require("@solana/spl-token");var xt=W("Sega_txUtil"),wt=1644;function Oe(n){let e=[],t=[];return n.microLamports&&(e.push(F.ComputeBudgetProgram.setComputeUnitPrice({microLamports:n.microLamports})),t.push(ge.SetComputeUnitPrice)),n.units&&(e.push(F.ComputeBudgetProgram.setComputeUnitLimit({units:n.units})),t.push(ge.SetComputeUnitLimit)),{instructions:e,instructionTypes:t}}function oe(n,e){return w(this,null,function*(){var r,c;let t=e!=null?e:"confirmed";return(c=yield(r=n.getLatestBlockhash)==null?void 0:r.call(n,{commitment:t}))==null?void 0:c.blockhash})}function Ne(n,e){return w(this,null,function*(){return n.getSignatureStatuses([e]),new Promise((t,r)=>{let c=setTimeout(r,6e4);n.onSignature(e,i=>{if(clearTimeout(c),!i.err){t("");return}r(Object.assign(i.err,{txId:e}))},"confirmed")})})}function He(n,e){n.length<1&&xt.logWithError(`no instructions provided: ${n.toString()}`),e.length<1&&xt.logWithError(`no signers provided:, ${e.toString()}`);let t=new F.Transaction;t.recentBlockhash="11111111111111111111111111111111",t.feePayer=e[0],t.add(...n);try{return Buffer.from(t.serialize({verifySignatures:!1})).toString("base64").length<wt}catch(r){return!1}}function Re(n,e){let[t,r]=F.PublicKey.findProgramAddressSync(n,e);return{publicKey:t,nonce:r}}function he({instructions:n,payer:e,signers:t}){return He(n,[e,...t])}function ye({instructions:n,payer:e,lookupTableAddressAccount:t,recentBlockhash:r=F.Keypair.generate().publicKey.toString()}){let i=new F.TransactionMessage({payerKey:e,recentBlockhash:r,instructions:n}).compileToV0Message(Object.values(t!=null?t:{}));try{return Buffer.from(new F.VersionedTransaction(i).serialize()).toString("base64").length<wt}catch(s){return!1}}var Xt=n=>Buffer.isBuffer(n)?n:n instanceof Uint8Array?Buffer.from(n.buffer,n.byteOffset,n.byteLength):Buffer.from(n),Zt=n=>{let e=n.serialize({requireAllSignatures:!1,verifySignatures:!1});n instanceof F.VersionedTransaction&&(e=Xt(e));try{return e instanceof Buffer?e.toString("base64"):Buffer.from(e).toString("base64")}catch(t){return e.toString("base64")}};function ee(n){let e=[];return n.forEach(t=>{t instanceof F.Transaction&&(t.recentBlockhash||(t.recentBlockhash=Pt.TOKEN_PROGRAM_ID.toBase58()),t.feePayer||(t.feePayer=F.Keypair.generate().publicKey)),e.push(Zt(t))}),console.log("simulate tx string:",e),e}var q=require("@solana/web3.js"),Ao=new q.PublicKey("SegazTQwbYWknDZkJ6j2Kgvm5gw3MrHGKtWstZdoNKZ"),Bo=new q.PublicKey("Ajk8d9bERSaFdeoT1d8JUVfaDayrYLnAdgeB47TFMUaG"),ko=new q.PublicKey("2HbjxVVKJ7Ct72Rcd8WK4VTqmwTXL5aAggkH1CHGFGmh"),en=new q.PublicKey("TegaRdjn9Qeh9DfUU28X19aPPpJtj9gs8ntSYrR5H4K "),tn=new q.PublicKey("GzqQwxPSmUZnTyCfX9YWqi32MJg43ujP786ZoacL559Y"),nn=new q.PublicKey("GzqQwxPSmUZnTyCfX9YWqi32MJg43ujP786ZoacL559Y"),Co=new q.PublicKey("SegaXNnoXYTZiqUt9Xn2XqGcL56b25yzXLuJSpadcMu"),Io=new q.PublicKey("2t1hV2YqnDCPuJZqr7Fy8oAygGwZE5Q9uaQzpLC1QryJ"),Lo=new q.PublicKey("BLxynZeHE123MmQgNJZiV1pwW4VYh46oZYyC66xwmtTY");var rn={SERUM_MARKET:q.PublicKey.default,UTIL1216:q.PublicKey.default,CREATE_CPMM_POOL_PROGRAM:en,CREATE_CPMM_POOL_AUTH:tn,CREATE_CPMM_POOL_FEE_ACC:nn};var on=V(require("bn.js"));var be=require("@solana/web3.js");function Ye(t){return w(this,arguments,function*({connection:n,address:e}){let r=yield Be(n,[...new Set(e.map(i=>i.toString()))].map(i=>new be.PublicKey(i))),c={};for(let i=0;i<e.length;i++){let s=r[i],o=e[i];if(!s)continue;let y=new be.AddressLookupTableAccount({key:o,state:be.AddressLookupTableAccount.deserialize(s.data)});c[o.toString()]=y,De[o.toString()]=y}return c})}var De={};var I=require("@solana/web3.js"),St=V(require("axios"));var Ee=2e3,Me=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]}getComputeBudgetConfig(){return w(this,null,function*(){var r;let e=(yield St.default.get("https://solanacompass.com/api/fees?cacheFreshTime=300000")).data,{avg:t}=(r=e==null?void 0:e[15])!=null?r:{};if(t)return{units:6e5,microLamports:Math.min(Math.ceil(t*1e6/6e5),25e3)}})}addCustomComputeBudget(e){if(e){let{instructions:t,instructionTypes:r}=Oe(e);return this.instructions.unshift(...t),this.instructionTypes.unshift(...r),!0}return!1}addTipInstruction(e){var t;return e?(this.endInstructions.push(I.SystemProgram.transfer({fromPubkey:(t=e.feePayer)!=null?t:this.feePayer,toPubkey:new I.PublicKey(e.address),lamports:BigInt(e.amount.toString())})),this.endInstructionTypes.push(ge.TransferTip),!0):!1}calComputeBudget(r){return w(this,arguments,function*({config:e,defaultIns:t}){try{let c=e||(yield this.getComputeBudgetConfig());if(this.addCustomComputeBudget(c))return;t&&this.instructions.unshift(...t)}catch(c){t&&this.instructions.unshift(...t)}})}addInstruction({instructions:e=[],endInstructions:t=[],signers:r=[],instructionTypes:c=[],endInstructionTypes:i=[],lookupTableAddress:s=[]}){return this.instructions.push(...e),this.endInstructions.push(...t),this.signers.push(...r),this.instructionTypes.push(...c),this.endInstructionTypes.push(...i),this.lookupTableAddress.push(...s.filter(o=>o!==I.PublicKey.default.toString())),this}versionBuild(r){return w(this,arguments,function*({txVersion:e,extInfo:t}){return e===0?yield this.buildV0(K({},t||{})):this.build(t)})}build(e){var r;let t=new I.Transaction;return this.allInstructions.length&&t.add(...this.allInstructions),t.feePayer=this.feePayer,(r=this.owner)!=null&&r.signer&&!this.signers.some(c=>c.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer),{builder:this,transaction:t,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:c=>w(this,null,function*(){var b;let{recentBlockHash:i,skipPreflight:s=!0,sendAndConfirm:o}=c||{},y=i!=null?i:yield oe(this.connection,this.blockhashCommitment);if(t.recentBlockhash=y,this.signers.length&&t.sign(...this.signers),ee([t]),(b=this.owner)!=null&&b.isKeyPair)return{txId:o?yield(0,I.sendAndConfirmTransaction)(this.connection,t,this.signers.find(u=>u.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:s}):yield this.connection.sendRawTransaction(t.serialize(),{skipPreflight:s}),signedTx:t};if(this.signAllTransactions){let d=yield this.signAllTransactions([t]);if(this.signers.length)for(let u of d)try{u.sign(...this.signers)}catch(A){}return{txId:yield this.connection.sendRawTransaction(d[0].serialize(),{skipPreflight:s}),signedTx:d[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")}),extInfo:e||{}}}buildMultiTx(e){var b;let{extraPreBuildData:t=[],extInfo:r}=e,{transaction:c}=this.build(r),i=t.filter(d=>d.transaction.instructions.length>0),s=[c,...i.map(d=>d.transaction)],o=[this.signers,...i.map(d=>d.signers)],y=[...this.instructionTypes,...i.map(d=>d.instructionTypes).flat()];return(b=this.owner)!=null&&b.signer&&o.forEach(d=>{d.some(u=>u.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:s,signers:o,instructionTypes:y,execute:d=>w(this,null,function*(){var C;let{sequentially:u,onTxUpdate:A,skipTxCount:T=0,recentBlockHash:g,skipPreflight:x=!0}=d||{},a=g!=null?g:yield oe(this.connection,this.blockhashCommitment);if((C=this.owner)!=null&&C.isKeyPair){if(u){let h=[],k=0;for(let p of s){if(++k,k<=T)continue;let m=yield(0,I.sendAndConfirmTransaction)(this.connection,p,this.signers.find(l=>l.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:x});h.push(m)}return{txIds:h,signedTxs:s}}return{txIds:yield yield Promise.all(s.map(h=>w(this,null,function*(){return h.recentBlockhash=a,yield this.connection.sendRawTransaction(h.serialize(),{skipPreflight:x})}))),signedTxs:s}}if(this.signAllTransactions){let h=s.map((p,m)=>(p.recentBlockhash=a,o[m].length&&p.sign(...o[m]),p));ee(h);let k=yield this.signAllTransactions(h);if(u){let p=0,m=[],l=()=>w(this,null,function*(){if(!k[p])return;let S=yield this.connection.sendRawTransaction(k[p].serialize(),{skipPreflight:x});m.push({txId:S,status:"sent",signedTx:k[p]}),A==null||A([...m]),p++;let P=!1,B=null,L=null,E=O=>{B!==null&&clearInterval(B),L!==null&&this.connection.removeSignatureListener(L);let R=m.findIndex(M=>M.txId===S);if(R>-1){if(m[R].status==="error"||m[R].status==="success")return;m[R].status=O.err?"error":"success"}A==null||A([...m]),O.err||l()};this.loopMultiTxStatus&&(B=setInterval(()=>w(this,null,function*(){var O;if(P){clearInterval(B);return}try{let R=yield this.connection.getTransaction(S,{commitment:"confirmed",maxSupportedTransactionVersion:0});R&&(P=!0,clearInterval(B),E({err:((O=R.meta)==null?void 0:O.err)||null}),console.log("tx status from getTransaction:",S))}catch(R){P=!0,clearInterval(B),console.error("getTransaction timeout:",R,S)}}),Ee)),L=this.connection.onSignature(S,O=>{if(P){this.connection.removeSignatureListener(L);return}P=!0,E(O)},"confirmed"),this.connection.getSignatureStatus(S)});return yield l(),{txIds:m.map(S=>S.txId),signedTxs:k}}else{let p=[];for(let m=0;m<k.length;m+=1){let l=yield this.connection.sendRawTransaction(k[m].serialize(),{skipPreflight:x});p.push(l)}return{txIds:p,signedTxs:k}}}throw new Error("please provide owner in keypair format or signAllTransactions function")}),extInfo:r||{}}}versionMultiBuild(c){return w(this,arguments,function*({extraPreBuildData:e,txVersion:t,extInfo:r}){return t===0?yield this.buildV0MultiTx({extraPreBuildData:e,buildProps:r||{}}):this.buildMultiTx({extraPreBuildData:e,extInfo:r})})}buildV0(e){return w(this,null,function*(){var x;let g=e||{},{lookupTableCache:t={},lookupTableAddress:r=[],forerunCreate:c,recentBlockhash:i}=g,s=Se(g,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),o=K(K({},this.cluster==="devnet"?{}:De),t),y=Array.from(new Set([...r,...this.lookupTableAddress])),b=[];for(let a of y)o[a]===void 0&&b.push(new I.PublicKey(a));let d=yield Ye({connection:this.connection,address:b});for(let[a,C]of Object.entries(d))o[a]=C;let u=c?I.PublicKey.default.toBase58():i!=null?i:yield oe(this.connection,this.blockhashCommitment),A=new I.TransactionMessage({payerKey:this.feePayer,recentBlockhash:u,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(o));(x=this.owner)!=null&&x.signer&&!this.signers.some(a=>a.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let T=new I.VersionedTransaction(A);return T.sign(this.signers),{builder:this,transaction:T,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:a=>w(this,null,function*(){var k;let{skipPreflight:C=!0,sendAndConfirm:h}=a||{};if(ee([T]),(k=this.owner)!=null&&k.isKeyPair){let p=yield this.connection.sendTransaction(T,{skipPreflight:C});return h&&(yield Ne(this.connection,p)),{txId:p,signedTx:T}}if(this.signAllTransactions){let p=yield this.signAllTransactions([T]);if(this.signers.length)for(let m of p)try{m.sign(this.signers)}catch(l){}return{txId:yield this.connection.sendTransaction(p[0],{skipPreflight:C}),signedTx:p[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")}),extInfo:s||{}}})}buildV0MultiTx(e){return w(this,null,function*(){var b;let{extraPreBuildData:t=[],buildProps:r}=e,{transaction:c}=yield this.buildV0(r),i=t.filter(d=>d.builder.instructions.length>0),s=[c,...i.map(d=>d.transaction)],o=[this.signers,...i.map(d=>d.signers)],y=[...this.instructionTypes,...i.map(d=>d.instructionTypes).flat()];return(b=this.owner)!=null&&b.signer&&o.forEach(d=>{d.some(u=>u.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),s.forEach((d,u)=>w(this,null,function*(){d.sign(o[u])})),{builder:this,transactions:s,signers:o,instructionTypes:y,buildProps:r,execute:d=>w(this,null,function*(){var x;let{sequentially:u,onTxUpdate:A,recentBlockHash:T,skipPreflight:g=!0}=d||{};if(T&&s.forEach(a=>a.message.recentBlockhash=T),ee(s),(x=this.owner)!=null&&x.isKeyPair){if(u){let a=[];for(let C of s){let h=yield this.connection.sendTransaction(C,{skipPreflight:g});yield Ne(this.connection,h),a.push(h)}return{txIds:a,signedTxs:s}}return{txIds:yield Promise.all(s.map(a=>w(this,null,function*(){return yield this.connection.sendTransaction(a,{skipPreflight:g})}))),signedTxs:s}}if(this.signAllTransactions){let a=yield this.signAllTransactions(s);if(u){let C=0,h=[],k=()=>w(this,null,function*(){if(!a[C])return;let p=yield this.connection.sendTransaction(a[C],{skipPreflight:g});h.push({txId:p,status:"sent",signedTx:a[C]}),A==null||A([...h]),C++;let m=!1,l=null,S=null,P=B=>{l!==null&&clearInterval(l),S!==null&&this.connection.removeSignatureListener(S);let L=h.findIndex(E=>E.txId===p);if(L>-1){if(h[L].status==="error"||h[L].status==="success")return;h[L].status=B.err?"error":"success"}A==null||A([...h]),B.err||k()};this.loopMultiTxStatus&&(l=setInterval(()=>w(this,null,function*(){var B;if(m){clearInterval(l);return}try{let L=yield this.connection.getTransaction(p,{commitment:"confirmed",maxSupportedTransactionVersion:0});L&&(m=!0,clearInterval(l),P({err:((B=L.meta)==null?void 0:B.err)||null}),console.log("tx status from getTransaction:",p))}catch(L){m=!0,clearInterval(l),console.error("getTransaction timeout:",L,p)}}),Ee)),S=this.connection.onSignature(p,B=>{if(m){this.connection.removeSignatureListener(S);return}m=!0,P(B)},"confirmed"),this.connection.getSignatureStatus(p)});return k(),{txIds:[],signedTxs:a}}else{let C=[];for(let h=0;h<a.length;h+=1){let k=yield this.connection.sendTransaction(a[h],{skipPreflight:g});C.push(k)}return{txIds:C,signedTxs:a}}}throw new Error("please provide owner in keypair format or signAllTransactions function")}),extInfo:r||{}}})}sizeCheckBuild(e){return w(this,null,function*(){var A;let u=e||{},{splitIns:t=[],computeBudgetConfig:r}=u,c=Se(u,["splitIns","computeBudgetConfig"]),i=r?Oe(r):{instructions:[],instructionTypes:[]},s=this.signers.reduce((T,g)=>J(K({},T),{[g.publicKey.toBase58()]:g}),{}),o=[],y=[],b=[],d=0;if(this.allInstructions.forEach(T=>{let g=[...b,T],x=r?[...i.instructions,...g]:g,C=[...new Set(g.map(h=>h.keys.filter(k=>k.isSigner).map(k=>k.pubkey.toString())).flat()).values()].map(h=>new I.PublicKey(h));if(T!==t[d]&&b.length<12&&(he({instructions:x,payer:this.feePayer,signers:C})||he({instructions:g,payer:this.feePayer,signers:C})))b.push(T);else{if(b.length===0)throw Error("item ins too big");d+=T===t[d]?1:0,he({instructions:r?[...i.instructions,...b]:[...b],payer:this.feePayer,signers:C})?o.push(new I.Transaction().add(...i.instructions,...b)):o.push(new I.Transaction().add(...b)),y.push(Array.from(new Set(b.map(h=>h.keys.filter(k=>k.isSigner).map(k=>k.pubkey.toString())).flat())).map(h=>s[h]).filter(h=>h!==void 0)),b=[T]}}),b.length>0){let g=[...new Set(b.map(x=>x.keys.filter(a=>a.isSigner).map(a=>a.pubkey.toString())).flat()).values()].map(x=>s[x]).filter(x=>x!==void 0);he({instructions:r?[...i.instructions,...b]:[...b],payer:this.feePayer,signers:g.map(x=>x.publicKey)})?o.push(new I.Transaction().add(...i.instructions,...b)):o.push(new I.Transaction().add(...b)),y.push(g)}return o.forEach(T=>T.feePayer=this.feePayer),(A=this.owner)!=null&&A.signer&&y.forEach(T=>{T.some(g=>g.publicKey.equals(this.owner.publicKey))||T.push(this.owner.signer)}),{builder:this,transactions:o,signers:y,instructionTypes:this.instructionTypes,execute:T=>w(this,null,function*(){var p;let{sequentially:g,onTxUpdate:x,skipTxCount:a=0,recentBlockHash:C,skipPreflight:h=!0}=T||{},k=C!=null?C:yield oe(this.connection,this.blockhashCommitment);if(o.forEach((m,l)=>w(this,null,function*(){m.recentBlockhash=k,y[l].length&&m.sign(...y[l])})),ee(o),(p=this.owner)!=null&&p.isKeyPair){if(g){let m=0,l=[];for(let S of o){if(++m,m<=a){l.push("tx skipped");continue}let P=yield(0,I.sendAndConfirmTransaction)(this.connection,S,this.signers.find(B=>B.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:h});l.push(P)}return{txIds:l,signedTxs:o}}return{txIds:yield Promise.all(o.map(m=>w(this,null,function*(){return yield this.connection.sendRawTransaction(m.serialize(),{skipPreflight:h})}))),signedTxs:o}}if(this.signAllTransactions){let m=yield this.signAllTransactions(o.slice(a,o.length)),l=[...o.slice(0,a),...m];if(g){let S=0,P=[],B=()=>w(this,null,function*(){if(!l[S])return;S<a&&(P.push({txId:"",status:"success",signedTx:l[S]}),x==null||x([...P]),S++,B());let L=yield this.connection.sendRawTransaction(l[S].serialize(),{skipPreflight:h});P.push({txId:L,status:"sent",signedTx:l[S]}),x==null||x([...P]),S++;let E=!1,O=null,R=null,M=v=>{O!==null&&clearInterval(O),R!==null&&this.connection.removeSignatureListener(R);let _=P.findIndex(Z=>Z.txId===L);if(_>-1){if(P[_].status==="error"||P[_].status==="success")return;P[_].status=v.err?"error":"success"}x==null||x([...P]),v.err||B()};this.loopMultiTxStatus&&(O=setInterval(()=>w(this,null,function*(){var v;if(E){clearInterval(O);return}try{let _=yield this.connection.getTransaction(L,{commitment:"confirmed",maxSupportedTransactionVersion:0});_&&(E=!0,clearInterval(O),M({err:((v=_.meta)==null?void 0:v.err)||null}),console.log("tx status from getTransaction:",L))}catch(_){E=!0,clearInterval(O),console.error("getTransaction timeout:",_,L)}}),Ee)),R=this.connection.onSignature(L,v=>{if(E){this.connection.removeSignatureListener(R);return}E=!0,M(v)},"confirmed"),this.connection.getSignatureStatus(L)});return yield B(),{txIds:P.map(L=>L.txId),signedTxs:l}}else{let S=[];for(let P=0;P<l.length;P+=1){let B=yield this.connection.sendRawTransaction(l[P].serialize(),{skipPreflight:h});S.push(B)}return{txIds:S,signedTxs:l}}}throw new Error("please provide owner in keypair format or signAllTransactions function")}),extInfo:c||{}}})}sizeCheckBuildV0(e){return w(this,null,function*(){var k;let h=e||{},{computeBudgetConfig:t,splitIns:r=[],lookupTableCache:c={},lookupTableAddress:i=[]}=h,s=Se(h,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress"]),o=K(K({},this.cluster==="devnet"?{}:De),c),y=Array.from(new Set([...this.lookupTableAddress,...i])),b=[];for(let p of y)o[p]===void 0&&b.push(new I.PublicKey(p));let d=yield Ye({connection:this.connection,address:b});for(let[p,m]of Object.entries(d))o[p]=m;let u=t?Oe(t):{instructions:[],instructionTypes:[]},A=yield oe(this.connection,this.blockhashCommitment),T=this.signers.reduce((p,m)=>J(K({},p),{[m.publicKey.toBase58()]:m}),{}),g=[],x=[],a=[],C=0;if(this.allInstructions.forEach(p=>{let m=[...a,p],l=t?[...u.instructions,...m]:m;if(p!==r[C]&&a.length<12&&(ye({instructions:l,payer:this.feePayer,lookupTableAddressAccount:o})||ye({instructions:m,payer:this.feePayer,lookupTableAddressAccount:o})))a.push(p);else{if(a.length===0)throw Error("item ins too big");C+=p===r[C]?1:0;let S={};for(let P of[...new Set(y)])o[P]!==void 0&&(S[P]=o[P]);if(t&&ye({instructions:[...u.instructions,...a],payer:this.feePayer,lookupTableAddressAccount:o,recentBlockhash:A})){let P=new I.TransactionMessage({payerKey:this.feePayer,recentBlockhash:A,instructions:[...u.instructions,...a]}).compileToV0Message(Object.values(o));g.push(new I.VersionedTransaction(P))}else{let P=new I.TransactionMessage({payerKey:this.feePayer,recentBlockhash:A,instructions:[...a]}).compileToV0Message(Object.values(o));g.push(new I.VersionedTransaction(P))}x.push(Array.from(new Set(a.map(P=>P.keys.filter(B=>B.isSigner).map(B=>B.pubkey.toString())).flat())).map(P=>T[P]).filter(P=>P!==void 0)),a=[p]}}),a.length>0){let m=[...new Set(a.map(l=>l.keys.filter(S=>S.isSigner).map(S=>S.pubkey.toString())).flat()).values()].map(l=>T[l]).filter(l=>l!==void 0);if(t&&ye({instructions:[...u.instructions,...a],payer:this.feePayer,lookupTableAddressAccount:o,recentBlockhash:A})){let l=new I.TransactionMessage({payerKey:this.feePayer,recentBlockhash:A,instructions:[...u.instructions,...a]}).compileToV0Message(Object.values(o));g.push(new I.VersionedTransaction(l))}else{let l=new I.TransactionMessage({payerKey:this.feePayer,recentBlockhash:A,instructions:[...a]}).compileToV0Message(Object.values(o));g.push(new I.VersionedTransaction(l))}x.push(m)}return(k=this.owner)!=null&&k.signer&&x.forEach(p=>{p.some(m=>m.publicKey.equals(this.owner.publicKey))||p.push(this.owner.signer)}),{builder:this,transactions:g,buildProps:e,signers:x,instructionTypes:this.instructionTypes,execute:p=>w(this,null,function*(){var L;let{sequentially:m,onTxUpdate:l,skipTxCount:S=0,recentBlockHash:P,skipPreflight:B=!0}=p||{};if(g.map((E,O)=>w(this,null,function*(){x[O].length&&E.sign(x[O]),P&&(E.message.recentBlockhash=P)})),ee(g),(L=this.owner)!=null&&L.isKeyPair){if(m){let E=0,O=[];for(let R of g){if(++E,E<=S){console.log("skip tx: ",E),O.push("tx skipped");continue}let M=yield this.connection.sendTransaction(R,{skipPreflight:B});yield Ne(this.connection,M),O.push(M)}return{txIds:O,signedTxs:g}}return{txIds:yield Promise.all(g.map(E=>w(this,null,function*(){return yield this.connection.sendTransaction(E,{skipPreflight:B})}))),signedTxs:g}}if(this.signAllTransactions){let E=yield this.signAllTransactions(g.slice(S,g.length)),O=[...g.slice(0,S),...E];if(m){let R=0,M=[],v=()=>w(this,null,function*(){if(!O[R])return;if(R<S){M.push({txId:"",status:"success",signedTx:O[R]}),l==null||l([...M]),R++,v();return}let _=yield this.connection.sendTransaction(O[R],{skipPreflight:B});M.push({txId:_,status:"sent",signedTx:O[R]}),l==null||l([...M]),R++;let Z=!1,ne=null,Pe=null,et=Q=>{ne!==null&&clearInterval(ne),Pe!==null&&this.connection.removeSignatureListener(Pe);let H=M.findIndex(Lt=>Lt.txId===_);if(H>-1){if(M[H].status==="error"||M[H].status==="success")return;M[H].status=Q.err?"error":"success"}l==null||l([...M]),Q.err||v()};this.loopMultiTxStatus&&(ne=setInterval(()=>w(this,null,function*(){var Q;if(Z){clearInterval(ne);return}try{let H=yield this.connection.getTransaction(_,{commitment:"confirmed",maxSupportedTransactionVersion:0});H&&(Z=!0,clearInterval(ne),et({err:((Q=H.meta)==null?void 0:Q.err)||null}),console.log("tx status from getTransaction:",_))}catch(H){Z=!0,clearInterval(ne),console.error("getTransaction timeout:",H,_)}}),Ee)),Pe=this.connection.onSignature(_,Q=>{if(Z){this.connection.removeSignatureListener(Pe);return}Z=!0,et(Q)},"confirmed"),this.connection.getSignatureStatus(_)});return v(),{txIds:[],signedTxs:O}}else{let R=[];for(let M=0;M<O.length;M+=1){let v=yield this.connection.sendTransaction(O[M],{skipPreflight:B});R.push(v)}return{txIds:R,signedTxs:O}}}throw new Error("please provide owner in keypair format or signAllTransactions function")}),extInfo:s||{}}})}};var sn=require("@solana/web3.js");var Ct=require("@solana/web3.js"),se=V(require("bn.js"));var f=require("@solana/buffer-layout"),ze=f.Layout,At=f.Structure;var Bt=f.UInt;var kt=f.seq;var ie=f.blob;var Je=class extends ze{constructor(e,t,r){super(e,r),this.blob=ie(e),this.signed=t}decode(e,t=0){let r=new se.default(this.blob.decode(e,t),10,"le");return this.signed?r.fromTwos(this.span*8).clone():r}encode(e,t,r=0){return typeof e=="number"&&(e=new se.default(e)),this.signed&&(e=e.toTwos(this.span*8)),this.blob.encode(e.toArrayLike(Buffer,"le",this.span),t,r)}};function ae(n){return new Bt(1,n)}function j(n){return new Je(8,!1,n)}var Xe=class extends ze{constructor(e,t,r,c){super(e.span,c),this.layout=e,this.decoder=t,this.encoder=r}decode(e,t){return this.decoder(this.layout.decode(e,t))}encode(e,t,r){return this.layout.encode(this.encoder(e),t,r)}getSpan(e,t){return this.layout.getSpan(e,t)}};function te(n){return new Xe(ie(32),e=>new Ct.PublicKey(e),e=>e.toBuffer(),n)}var Ze=class extends At{decode(e,t){return super.decode(e,t)}};function ue(n,e,t){return new Ze(n,e,t)}function Te(n,e,t){let r,c=typeof e=="number"?e:(0,se.isBN)(e)?e.toNumber():new Proxy(e,{get(i,s){if(!r){let o=Reflect.get(i,"count");r=(0,se.isBN)(o)?o.toNumber():o,Reflect.set(i,"count",r)}return Reflect.get(i,s)},set(i,s,o){return s==="count"&&(r=o),Reflect.set(i,s,o)}});return kt(n,c,t)}var Qe=(...n)=>n.map(e=>{try{return typeof e=="object"?JSON.stringify(e):e}catch(t){return e}}).join(", "),xe=class{constructor({scope:e,moduleName:t}){this.disabled=!1;this.scope=e,this.logger=W(t)}createTxBuilder(e){return this.scope.checkOwner(),new Me({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(Qe(e))}logInfo(...e){this.logger.info(Qe(e))}logAndCreateError(...e){let t=Qe(e);throw new Error(t)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};var D=class D extends xe{static getPdaPoolId(e,t){return Re([D.SEED_CONFIG.pool.id,t.toBuffer()],e)}static getPdaOwnerId(e,t,r,c){return Re([D.SEED_CONFIG.owner.id,t.toBuffer(),r.toBuffer(),Buffer.from(new $e.default(c).toArray())],e)}static getAllInfo(s){return w(this,arguments,function*({connection:e,programId:t,poolIds:r,wallet:c,chainTime:i}){if(r.length===0)return[];let o=r.map(u=>D.getPdaPoolId(t,u).publicKey),y=[];for(let u=0;u<D.VERSION_PROJECT.length;u++)y.push(...o.map(A=>D.getPdaOwnerId(t,A,c,u).publicKey));let b=yield Be(e,[...o,...y]),d=[];for(let u=0;u<b.length;u++){let A=Math.floor(u/r.length),T=u%r.length,g=o[T],x=y[u],a=b[T],C=b[r.length+u];if(!(a&&C)||a.data.length!==D.POOL_LAYOUT.span||C.data.length!==D.OWNER_LAYOUT.span)continue;let h=D.POOL_LAYOUT.decode(a.data),k=D.OWNER_LAYOUT.decode(C.data),p=h.openTime.toNumber(),m=h.endTime.toNumber(),l=k.tokenInfo.map(B=>B.debtAmount.gt(new $e.default(0))).filter(B=>!B).length!==3,S=i>p&&i<m&&h.status===1,P=l&&S;d.push({programId:t,poolId:g,ammId:h.ammId,ownerAccountId:x,snapshotLpAmount:k.lpAmount,project:D.VERSION_PROJECT[A],openTime:p,endTime:m,canClaim:P,canClaimErrorType:l?S?void 0:"outOfOperationalTime":"alreadyClaimIt",tokenInfo:h.tokenInfo.map((B,L)=>({mintAddress:B.mintAddress,mintVault:B.mintVault,mintDecimals:B.mintDecimals,perLpLoss:B.perLpLoss,debtAmount:k.tokenInfo[L].debtAmount.add(k.tokenInfo[L].claimedAmount)}))})}return d})}makeClaimTransaction(c){return w(this,arguments,function*({poolInfo:e,ownerInfo:t,feePayer:r}){t.wallet||this.scope.checkOwner();let i=this.createTxBuilder(r),s=t.wallet||this.scope.ownerPubKey,o=[];for(let d of e.tokenInfo){let{account:u,instructionParams:A}=yield this.scope.account.getOrCreateTokenAccount({mint:d.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:d.mintAddress.equals(U.WSOL.mint),createInfo:{payer:s,amount:0},skipCloseAccount:!d.mintAddress.equals(U.WSOL.mint),associatedOnly:d.mintAddress.equals(U.WSOL.mint)?!1:t.associatedOnly});A&&i.addInstruction(A),o.push(u)}i.addInstruction({instructions:[D.makeClaimInstruction({programId:e.programId,poolInfo:e,ownerInfo:{wallet:s,ownerPda:e.ownerAccountId,claimAddress:o}})]});let{transaction:y,signers:b}=i.build();return[{transaction:y,signer:b}]})}makeClaimAllTransaction(c){return w(this,arguments,function*({poolInfos:e,ownerInfo:t,feePayer:r}){let i=this.createTxBuilder(r),s=t.wallet||this.scope.ownerPubKey,o={};for(let u of e){let A=[];for(let T of u.tokenInfo){let{account:g,instructionParams:x}=yield this.scope.account.getOrCreateTokenAccount({mint:T.mintAddress,owner:this.scope.ownerPubKey,notUseTokenAccount:T.mintAddress.equals(U.WSOL.mint),createInfo:{payer:s,amount:0},skipCloseAccount:!T.mintAddress.equals(U.WSOL.mint),associatedOnly:T.mintAddress.equals(U.WSOL.mint)?!1:t.associatedOnly});x&&i.addInstruction(x),g&&(o[T.mintAddress.toString()]=g,A.push(g))}i.addInstruction({instructions:[D.makeClaimInstruction({programId:u.programId,poolInfo:u,ownerInfo:{wallet:s,ownerPda:u.ownerAccountId,claimAddress:A}})]})}let{transaction:y,signers:b}=i.build(),d=i.allInstructions;return He(d,[s,...b.map(u=>u.publicKey)])?[{transaction:y,signer:b}]:[{transaction:new X.Transaction().add(...d.slice(0,i.AllTxData.instructions.length-1)),signer:b},{transaction:new X.Transaction().add(...d.slice(i.AllTxData.instructions.length-1)),signer:[]},{transaction:new X.Transaction().add(...i.AllTxData.endInstructions),signer:[]}]})}static makeClaimInstruction({programId:e,poolInfo:t,ownerInfo:r}){let c=ue([]),i=[{pubkey:r.wallet,isSigner:!0,isWritable:!0},{pubkey:t.poolId,isSigner:!1,isWritable:!0},{pubkey:r.ownerPda,isSigner:!1,isWritable:!0},...r.claimAddress.map(y=>({pubkey:y,isSigner:!1,isWritable:!0})),...t.tokenInfo.map(({mintVault:y})=>({pubkey:y,isSigner:!1,isWritable:!0})),{pubkey:It.TOKEN_PROGRAM_ID,isSigner:!1,isWritable:!1}],s=Buffer.alloc(c.span);c.encode({},s);let o=Buffer.from([10,66,208,184,161,6,191,98,...s]);return new X.TransactionInstruction({keys:i,programId:e,data:o})}};D.CLAIMED_NUM=3,D.POOL_LAYOUT=ue([ie(8),ae("bump"),ae("status"),j("openTime"),j("endTime"),te("ammId"),Te(ue([ae("mintDecimals"),te("mintAddress"),te("mintVault"),j("perLpLoss"),j("totalClaimedAmount")]),D.CLAIMED_NUM,"tokenInfo"),Te(j(),10,"padding")]),D.OWNER_LAYOUT=ue([ie(8),ae("bump"),ae("version"),te("poolId"),te("owner"),j("lpAmount"),Te(ue([te("mintAddress"),j("debtAmount"),j("claimedAmount")]),D.CLAIMED_NUM,"tokenInfo"),Te(j(),4,"padding")]),D.DEFAULT_POOL_ID=["58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2","6UmmUiYoBjSrhakAobJw8BvkmJtDVxaeBtbt7rxWo1mg","AVs9TA4nWDzfPJE9gGVNJMVhcQy3V9PGazuz33BfG2RA","DVa7Qmb5ct9RCpaU7UTpSaf3GVMYz17vNVU67XpdCRut","7XawhbbxtsRcQA8KTkHT9f9nc6d69UwqCDh6U5EEbEmX","6a1CsrpeZubDjEJE9s1CMVheB6HWM5d7m1cj2jkhyXhj","EoNrn8iUhwgJySD1pHu8Qxm5gSQqLK3za4m8xzD2RuEb","AceAyRTWt4PyB2pHqf2qhDgNZDtKVNaxgL8Ru3V4aN1P","6tmFJbMk5yVHFcFy7X2K8RwHjKLr6KVFLYXpgpBNeAxB"].map(e=>new X.PublicKey(e)),D.SEED_CONFIG={pool:{id:Buffer.from("pool_seed","utf8")},owner:{id:Buffer.from("user_claim_seed","utf8")}},D.VERSION_PROJECT=[void 0,"Francium","Tulip","Larix"];var _e=D;
//# sourceMappingURL=utils1216.js.map