UNPKG

@sega-so/sega-sdk

Version:

An SDK for building applications on top of SEGA.

1 lines 55.5 kB
"use strict";var bn=Object.create;var be=Object.defineProperty,yn=Object.defineProperties,xn=Object.getOwnPropertyDescriptor,wn=Object.getOwnPropertyDescriptors,Pn=Object.getOwnPropertyNames,Ie=Object.getOwnPropertySymbols,Sn=Object.getPrototypeOf,$e=Object.prototype.hasOwnProperty,kt=Object.prototype.propertyIsEnumerable;var Ct=Math.pow,At=(t,e,n)=>e in t?be(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,W=(t,e)=>{for(var n in e||(e={}))$e.call(e,n)&&At(t,n,e[n]);if(Ie)for(var n of Ie(e))kt.call(e,n)&&At(t,n,e[n]);return t},j=(t,e)=>yn(t,wn(e));var Re=(t,e)=>{var n={};for(var r in t)$e.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&Ie)for(var r of Ie(t))e.indexOf(r)<0&&kt.call(t,r)&&(n[r]=t[r]);return n};var An=(t,e)=>{for(var n in e)be(t,n,{get:e[n],enumerable:!0})},Bt=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Pn(e))!$e.call(t,i)&&i!==n&&be(t,i,{get:()=>e[i],enumerable:!(r=xn(e,i))||r.enumerable});return t};var G=(t,e,n)=>(n=t!=null?bn(Sn(t)):{},Bt(e||!t||!t.__esModule?be(n,"default",{value:t,enumerable:!0}):n,t)),kn=t=>Bt(be({},"__esModule",{value:!0}),t);var g=(t,e,n)=>new Promise((r,i)=>{var s=u=>{try{o(n.next(u))}catch(a){i(a)}},c=u=>{try{o(n.throw(u))}catch(a){i(a)}},o=u=>u.done?r(u.value):Promise.resolve(u.value).then(s,c);o((n=n.apply(t,e)).next())});var Wr={};An(Wr,{ACCOUNT_TYPE_SIZE:()=>Bn,ALL_PROGRAM_ID:()=>Lr,ANAMint:()=>Zn,AccountType:()=>Nt,BNDivCeil:()=>me,BN_100:()=>dr,BN_1000:()=>fr,BN_10000:()=>gr,BN_FIVE:()=>pr,BN_ONE:()=>ur,BN_TEN:()=>ne,BN_THREE:()=>mr,BN_TWO:()=>lr,BN_ZERO:()=>Q,CLOCK_PROGRAM_ID:()=>_n,CREATE_CPMM_POOL_AUTH:()=>Tt,CREATE_CPMM_POOL_FEE_ACC:()=>bt,CREATE_CPMM_POOL_PROGRAM:()=>ht,DEVNET_PROGRAM_ID:()=>wt,DEV_CREATE_CPMM_POOL_AUTH:()=>sn,DEV_CREATE_CPMM_POOL_FEE_ACC:()=>an,DEV_CREATE_CPMM_POOL_PROGRAM:()=>on,ETHMint:()=>Jn,INSTRUCTION_PROGRAM_ID:()=>Vn,InstructionType:()=>ge,LOOKUP_TABLE_CACHE:()=>Ce,LogLevel:()=>It,Logger:()=>Me,MAX_BASE64_SIZE:()=>dt,MEMO_PROGRAM_ID:()=>On,MEMO_PROGRAM_ID2:()=>En,METADATA_PROGRAM_ID:()=>Ke,NRVMint:()=>zn,Network:()=>dn,Owner:()=>mt,PAIMint:()=>vn,RAYMint:()=>Kn,RENT_PROGRAM_ID:()=>Fn,Rounding:()=>Le,SOLANA_CPMM_POOL_AUTH:()=>un,SOLANA_CPMM_POOL_FEE_ACC:()=>ln,SOLANA_CPMM_POOL_PROGRAM:()=>cn,SOLANA_PROGRAM_ID:()=>xt,SOLMint:()=>fe,SONIC_PROGRAM_ID:()=>yt,SRMMint:()=>qn,SYSTEM_PROGRAM_ID:()=>Wn,TxBuilder:()=>Pt,TxVersion:()=>pt,USDCMint:()=>Un,USDHMint:()=>Yn,USDTMint:()=>Gn,WSOLMint:()=>ye,accountMeta:()=>_e,add:()=>sr,addComputeBudget:()=>Se,archiveRpcs:()=>gn,checkLegacyTxSize:()=>he,checkV0TxSize:()=>Te,chunkArray:()=>Ne,commonSystemAccountMeta:()=>Ln,confirmTransaction:()=>Ae,createLogger:()=>q,decimalToFraction:()=>Jt,div:()=>nr,divCeil:()=>hr,eq:()=>Gt,fetchMultipleMintInfos:()=>In,findProgramAddress:()=>Ze,forecastTransactionSize:()=>ft,getATAAddress:()=>Nr,getConnection:()=>_r,getDate:()=>lt,getEpochInfo:()=>Rr,getMax:()=>or,getMultipleAccountsInfo:()=>De,getMultipleAccountsInfoWithCustomFlags:()=>Mt,getMultipleLookupTableInfo:()=>Je,getPdaMetadataKey:()=>Dr,getProgramId:()=>Vr,getRecentBlockHash:()=>le,getTime:()=>$t,getTimestamp:()=>cr,getTransferAmountFee:()=>Or,getTransferAmountFeeV2:()=>Er,gt:()=>Ut,gte:()=>tr,intersection:()=>Sr,isDateAfter:()=>wr,isDateBefore:()=>xr,isDecimal:()=>Xt,isMeaningfulNumber:()=>ir,isNumber:()=>ut,jsonInfo2PoolKeys:()=>ot,lt:()=>Qn,lte:()=>er,mSOLMint:()=>jn,minExpirationTime:()=>Fr,mul:()=>He,notInnerObject:()=>Ye,offsetDateTime:()=>Pr,parseBigNumberish:()=>v,parseNumberInfo:()=>ie,parseSimulateLogToJson:()=>Br,parseSimulateValue:()=>Ir,printSimulate:()=>oe,programIds:()=>hn,recursivelyDecimalToFraction:()=>at,rpcs:()=>fn,setLoggerLevel:()=>Cn,shakeFractionDecimal:()=>zt,simulateMultipleInstruction:()=>Cr,simulateTransaction:()=>en,sleep:()=>ar,solToWSol:()=>nt,stSOLMint:()=>Hn,sub:()=>rr,tenExponential:()=>je,toBN:()=>Zt,toBuffer:()=>gt,toFraction:()=>ct,toFractionWithDecimals:()=>$n,toPercent:()=>Tr,toTokenPrice:()=>br,toTotalPrice:()=>yr,toUsdCurrency:()=>st,transformTxToBase64:()=>Mr,tryParsePublicKey:()=>We,txToBase64:()=>tn,uniq:()=>kr,validateAndParsePublicKey:()=>Ve,xor:()=>Ar});module.exports=kn(Wr);var tt=require("@solana/web3.js");var ce=require("lodash"),It=(i=>(i[i.Error=0]="Error",i[i.Warning=1]="Warning",i[i.Info=2]="Info",i[i.Debug=3]="Debug",i))(It||{}),Me=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(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(n)}warning(...e){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...e),this):this}info(...e){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...e),this):this}debug(...e){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...e),this):this}},Qe={},Rt={};function q(t){let e=(0,ce.get)(Qe,t);if(!e){let n=(0,ce.get)(Rt,t);e=new Me({name:t,logLevel:n}),(0,ce.set)(Qe,t,e)}return e}function Cn(t,e){(0,ce.set)(Rt,t,e);let n=(0,ce.get)(Qe,t);n&&(n.level=e)}var te=require("@solana/spl-token");var et=q("Sega_accountInfo_util");function De(t,e,n){return g(this,null,function*(){let{batchRequest:r,commitment:i="confirmed",chunkCount:s=100}=W({batchRequest:!1},n),c=Ne(e,s),o=new Array(c.length).fill([]);if(r){let u=c.map(h=>({methodName:"getMultipleAccounts",args:t._buildArgs([h.map(w=>w.toBase58())],i,"base64")})),a=Ne(u,10);o=(yield(yield Promise.all(a.map(h=>g(this,null,function*(){return yield t._rpcBatchRequest(h)})))).flat()).map(h=>(h.error&&et.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${h.error.message}`),h.result.value.map(S=>{if(S){let{data:w,executable:T,lamports:x,owner:m,rentEpoch:A}=S;return w.length!==2&&w[1]!=="base64"&&et.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(w[0],"base64"),executable:T,lamports:x,owner:new tt.PublicKey(m),rentEpoch:A}}return null})))}else try{o=yield Promise.all(c.map(u=>t.getMultipleAccountsInfo(u,i)))}catch(u){u instanceof Error&&et.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${u.message}`)}return o.flat()})}function Mt(t,e,n){return g(this,null,function*(){let r=yield De(t,e.map(i=>i.pubkey),n);return e.map((i,s)=>j(W({},i),{accountInfo:r[s]}))})}var Nt=(r=>(r[r.Uninitialized=0]="Uninitialized",r[r.Mint=1]="Mint",r[r.Account=2]="Account",r))(Nt||{}),Bn=1;function In(r){return g(this,arguments,function*({connection:t,mints:e,config:n}){var c,o,u;if(e.length===0)return{};let i=yield Mt(t,e.map(a=>({pubkey:nt(a)})),n),s={};for(let a of i){if(!a.accountInfo||a.accountInfo.data.length<te.MINT_SIZE){console.log("invalid mint account",a.pubkey.toBase58());continue}let l=(0,te.unpackMint)(a.pubkey,a.accountInfo,(c=a.accountInfo)==null?void 0:c.owner);s[a.pubkey.toString()]=j(W({},l),{programId:((o=a.accountInfo)==null?void 0:o.owner)||te.TOKEN_PROGRAM_ID,feeConfig:(u=(0,te.getTransferFeeConfig)(l))!=null?u:void 0})}return s[tt.PublicKey.default.toBase58()]=s[ye.toBase58()],s})}var L=G(require("bn.js")),Yt=G(require("decimal.js"));var Ft=G(require("big.js")),X=G(require("bn.js"));var Dt=G(require("toformat")),Rn=Dt.default,xe=Rn;var we=G(require("big.js")),Ot=G(require("bn.js")),Et=G(require("decimal.js-light"));var de=G(require("bn.js"));var Le=(r=>(r[r.ROUND_DOWN=0]="ROUND_DOWN",r[r.ROUND_HALF_UP=1]="ROUND_HALF_UP",r[r.ROUND_UP=2]="ROUND_UP",r))(Le||{}),Lt=9007199254740991;function v(t){let e=q("Sega_parseBigNumberish");if(t instanceof de.default)return t;if(typeof t=="string"){if(t.match(/^-?[0-9]+$/))return new de.default(t);e.logWithError(`invalid BigNumberish string: ${t}`)}return typeof t=="number"?(t%1&&e.logWithError(`BigNumberish number underflow: ${t}`),(t>=Lt||t<=-Lt)&&e.logWithError(`BigNumberish number overflow: ${t}`),new de.default(String(t))):typeof t=="bigint"?new de.default(t.toString()):(e.error(`invalid BigNumberish value: ${t}`),new de.default(0))}var Oe=q("module/fraction"),rt=xe(we.default),Pe=xe(Et.default),Mn={0:Pe.ROUND_DOWN,1:Pe.ROUND_HALF_UP,2:Pe.ROUND_UP},Nn={0:we.default.roundDown,1:we.default.roundHalfUp,2:we.default.roundUp},M=class t{constructor(e,n=new Ot.default(1)){this.numerator=v(e),this.denominator=v(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new t(this.denominator,this.numerator)}add(e){let n=e instanceof t?e:new t(v(e));return this.denominator.eq(n.denominator)?new t(this.numerator.add(n.numerator),this.denominator):new t(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(e){let n=e instanceof t?e:new t(v(e));return this.denominator.eq(n.denominator)?new t(this.numerator.sub(n.numerator),this.denominator):new t(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(e){let n=e instanceof t?e:new t(v(e));return new t(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(e){let n=e instanceof t?e:new t(v(e));return new t(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(e,n={groupSeparator:""},r=1){Number.isInteger(e)||Oe.logWithError(`${e} is not an integer.`),e<=0&&Oe.logWithError(`${e} is not positive.`),Pe.set({precision:e+1,rounding:Mn[r]});let i=new Pe(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return i.toFormat(i.decimalPlaces(),n)}toFixed(e,n={groupSeparator:""},r=1){return Number.isInteger(e)||Oe.logWithError(`${e} is not an integer.`),e<0&&Oe.logWithError(`${e} is negative.`),rt.DP=e,rt.RM=Nn[r]||1,new rt(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,n)}isZero(){return this.numerator.isZero()}};var Dn=q("Sega_amount"),Ee=xe(Ft.default);function _t(t,e){let n="0",r="0";if(t.includes(".")){let i=t.split(".");i.length===2?([n,r]=i,r=r.padEnd(e,"0")):Dn.logWithError(`invalid number string, num: ${t}`)}else n=t;return[n,r.slice(0,e)||r]}var $=class t extends M{constructor(e,n,r=!0,i){let s=new X.default(0),c=ne.pow(new X.default(e.decimals));if(r)s=v(n);else{let o=new X.default(0),u=new X.default(0);if(typeof n=="string"||typeof n=="number"||typeof n=="bigint"){let[a,l]=_t(n.toString(),e.decimals);o=v(a),u=v(l)}o=o.mul(c),s=o.add(u)}super(s,c),this.logger=q(i||"TokenAmount"),this.token=e}get raw(){return this.numerator}isZero(){return this.raw.isZero()}gt(e){return this.token.equals(e.token)||this.logger.logWithError("gt token not equals"),this.raw.gt(e.raw)}lt(e){return this.token.equals(e.token)||this.logger.logWithError("lt token not equals"),this.raw.lt(e.raw)}add(e){return this.token.equals(e.token)||this.logger.logWithError("add token not equals"),new t(this.token,this.raw.add(e.raw))}subtract(e){return this.token.equals(e.token)||this.logger.logWithError("sub token not equals"),new t(this.token,this.raw.sub(e.raw))}toSignificant(e=this.token.decimals,n,r=0){return super.toSignificant(e,n,r)}toFixed(e=this.token.decimals,n,r=0){return e>this.token.decimals&&this.logger.logWithError("decimals overflow"),super.toFixed(e,n,r)}toExact(e={groupSeparator:""}){return Ee.DP=this.token.decimals,new Ee(this.numerator.toString()).div(this.denominator.toString()).toFormat(e)}},Fe=class t extends M{constructor(e,n,r=!0,i){let s=new X.default(0),c=ne.pow(new X.default(e.decimals));if(r)s=v(n);else{let o=new X.default(0),u=new X.default(0);if(typeof n=="string"||typeof n=="number"||typeof n=="bigint"){let[a,l]=_t(n.toString(),e.decimals);o=v(a),u=v(l)}o=o.mul(c),s=o.add(u)}super(s,c),this.logger=q(i||"TokenAmount"),this.currency=e}get raw(){return this.numerator}isZero(){return this.raw.isZero()}gt(e){return this.currency.equals(e.currency)||this.logger.logWithError("gt currency not equals"),this.raw.gt(e.raw)}lt(e){return this.currency.equals(e.currency)||this.logger.logWithError("lt currency not equals"),this.raw.lt(e.raw)}add(e){return this.currency.equals(e.currency)||this.logger.logWithError("add currency not equals"),new t(this.currency,this.raw.add(e.raw))}sub(e){return this.currency.equals(e.currency)||this.logger.logWithError("sub currency not equals"),new t(this.currency,this.raw.sub(e.raw))}toSignificant(e=this.currency.decimals,n,r=0){return super.toSignificant(e,n,r)}toFixed(e=this.currency.decimals,n,r=0){return e>this.currency.decimals&&this.logger.logWithError("decimals overflow"),super.toFixed(e,n,r)}toExact(e={groupSeparator:""}){return Ee.DP=this.currency.decimals,new Ee(this.numerator.toString()).div(this.denominator.toString()).toFormat(e)}};var Vt=require("@solana/web3.js"),it=require("@solana/spl-token"),Wt={chainId:101,address:Vt.PublicKey.default.toBase58(),programId:it.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"}},ue={chainId:101,address:"So11111111111111111111111111111111111111112",programId:it.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 ve=require("@solana/web3.js");var R=require("@solana/web3.js"),Kt=require("@solana/spl-token");function _e({pubkey:t,isSigner:e=!1,isWritable:n=!0}){return{pubkey:t,isWritable:n,isSigner:e}}var Ln=[_e({pubkey:Kt.TOKEN_PROGRAM_ID,isWritable:!1}),_e({pubkey:R.SystemProgram.programId,isWritable:!1}),_e({pubkey:R.SYSVAR_RENT_PUBKEY,isWritable:!1})];function Ve({publicKey:t,transformSol:e}){let n=We(t.toString());if(n instanceof R.PublicKey)return e&&n.equals(fe)?ye:n;if(e&&n.toString()===fe.toBase58())return ye;if(typeof n=="string"){if(n===R.PublicKey.default.toBase58())return R.PublicKey.default;try{return new R.PublicKey(n)}catch(r){throw new Error("invalid public key")}}throw new Error("invalid public key")}function We(t){try{return new R.PublicKey(t)}catch(e){return t}}var On=new R.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),En=new R.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Fn=new R.PublicKey("SysvarRent111111111111111111111111111111111"),_n=new R.PublicKey("SysvarC1ock11111111111111111111111111111111"),Ke=new R.PublicKey("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Vn=new R.PublicKey("Sysvar1nstructions1111111111111111111111111"),Wn=R.SystemProgram.programId,Kn=new R.PublicKey("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),vn=new R.PublicKey("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),qn=new R.PublicKey("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Un=new R.PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Gn=new R.PublicKey("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),jn=new R.PublicKey("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Hn=new R.PublicKey("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Yn=new R.PublicKey("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),zn=new R.PublicKey("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Zn=new R.PublicKey("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Jn=new R.PublicKey("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),ye=new R.PublicKey("So11111111111111111111111111111111111111112"),fe=R.PublicKey.default;function nt(t){return Ve({publicKey:t,transformSol:!0})}var qe=class qe{constructor({mint:e,decimals:n,symbol:r,name:i,skipMint:s=!1,isToken2022:c=!1}){if(e===fe.toBase58()||e instanceof ve.PublicKey&&fe.equals(e)){this.decimals=ue.decimals,this.symbol=ue.symbol,this.name=ue.name,this.mint=new ve.PublicKey(ue.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=r||e.toString().substring(0,6),this.name=i||e.toString().substring(0,6),this.mint=s?ve.PublicKey.default:Ve({publicKey:e}),this.isToken2022=c}equals(e){return this===e?!0:this.mint.equals(e.mint)}};qe.WSOL=new qe(j(W({},ue),{mint:ue.address}));var re=qe;var Ge=class Ge{constructor({decimals:e,symbol:n="UNKNOWN",name:r="UNKNOWN"}){this.decimals=e,this.symbol=n,this.name=r}equals(e){return this===e}};Ge.SOL=new Ge(Wt);var Ue=Ge;var qt=G(require("bn.js"));var vt=new M(new qt.default(100)),Y=class extends M{toSignificant(e=5,n,r){return this.mul(vt).toSignificant(e,n,r)}toFixed(e=2,n,r){return this.mul(vt).toFixed(e,n,r)}};var Xn=q("Sega_price"),z=class t extends M{constructor(e){let{baseToken:n,quoteToken:r,numerator:i,denominator:s}=e;super(i,s),this.baseToken=n,this.quoteToken=r,this.scalar=new M(je(n.decimals),je(r.decimals))}get raw(){return new M(this.numerator,this.denominator)}get adjusted(){return super.mul(this.scalar)}invert(){return new t({baseToken:this.quoteToken,quoteToken:this.baseToken,denominator:this.numerator,numerator:this.denominator})}mul(e){this.quoteToken!==e.baseToken&&Xn.logWithError("mul token not equals");let n=super.mul(e);return new t({baseToken:this.baseToken,quoteToken:e.quoteToken,denominator:n.denominator,numerator:n.numerator})}toSignificant(e=this.quoteToken.decimals,n,r){return this.adjusted.toSignificant(e,n,r)}toFixed(e=this.quoteToken.decimals,n,r){return this.adjusted.toFixed(e,n,r)}};function F(t){if(t instanceof Y)return new M(t.numerator,t.denominator);if(t instanceof z)return t.adjusted;if(t instanceof $)try{return F(t.toExact())}catch(r){return new M(Q)}if(t instanceof M)return t;let e=String(t),n=ie(e);return new M(n.numerator,n.denominator)}function $n(t){var r;if(t instanceof Y)return{fr:new M(t.numerator,t.denominator)};if(t instanceof z)return{fr:t.adjusted};if(t instanceof $)return{fr:F(t.toExact()),decimals:t.token.decimals};if(t instanceof M)return{fr:t};let e=String(t),n=ie(e);return{fr:new M(n.numerator,n.denominator),decimals:(r=n.dec)==null?void 0:r.length}}function Qn(t,e){if(t==null||e==null)return!1;let n=F(t),r=F(e);return n.sub(r).numerator,n.sub(r).numerator.lt(Q)}function Ut(t,e){if(t==null||e==null)return!1;let n=F(t),r=F(e);return n.sub(r).numerator.gt(Q)}function er(t,e){if(t==null||e==null)return!1;let n=F(t),r=F(e);return n.sub(r).numerator.lte(Q)}function tr(t,e){if(t==null||e==null)return!1;let n=F(t),r=F(e);return n.sub(r).numerator.gte(Q)}function Gt(t,e){if(t==null||e==null)return!1;let n=F(t),r=F(e);return n.sub(r).numerator.eq(Q)}function nr(t,e){if(t==null||e==null)return;let n=F(t),r=F(e);try{return n.div(r)}catch(i){return n}}function rr(t,e){if(t==null||e==null)return;let n=F(t),r=F(e);return n.sub(r)}function ir(t){return t==null?!1:!Gt(t,0)}function or(t,e){return Ut(e,t)?e:t}function He(t,e){if(t==null||e==null)return;let n=F(t),r=F(e);return n.mul(r)}function sr(t,e){if(t==null||e==null)return;let n=F(t),r=F(e);return n.add(r)}var jt=require("@solana/web3.js"),Ht=G(require("bn.js"));function ar(t){return g(this,null,function*(){new Promise(e=>setTimeout(e,t))})}function cr(){return new Date().getTime()}function Ye(t){return typeof t=="object"&&t!==null&&![re,$,jt.PublicKey,M,Ht.default,z,Y].some(e=>typeof e=="object"&&t instanceof e)}function ot(t){return typeof t=="string"?We(t):Array.isArray(t)?t.map(e=>ot(e)):Ye(t)?Object.fromEntries(Object.entries(t).map(([e,n])=>[e,ot(n)])):t}var Q=new L.default(0),ur=new L.default(1),lr=new L.default(2),mr=new L.default(3),pr=new L.default(5),ne=new L.default(10),dr=new L.default(100),fr=new L.default(1e3),gr=new L.default(1e4);function je(t){return ne.pow(v(t))}function ie(t){var o;if(t===void 0)return{denominator:"1",numerator:"0"};if(t instanceof L.default)return{numerator:t.toString(),denominator:"1"};if(t instanceof M)return{denominator:t.denominator.toString(),numerator:t.numerator.toString()};let e=String(t),[,n="",r="",i=""]=(o=e.replace(",","").match(/(-?)(\d*)\.?(\d*)/))!=null?o:[],s="1"+"0".repeat(i.length),c=n+(r==="0"?"":r)+i||"0";return{denominator:s,numerator:c,sign:n,int:r,dec:i}}function hr(t,e){let n=t.divmod(e);return n.mod.isZero()?n.div:n.div.isNeg()?n.div.isubn(1):n.div.iaddn(1)}function zt(t){var r;let[,e="",n=""]=(r=t.toFixed(2).match(/(-?)(\d*)\.?(\d*)/))!=null?r:[];return`${e}${n}`}function Zt(t,e=0){return t instanceof L.default?t:new L.default(zt(ct(t).mul(ne.pow(new L.default(String(e))))))}function ct(t){if(t instanceof Y)return new M(t.numerator,t.denominator);if(t instanceof z)return t.adjusted;if(t instanceof $)try{return ct(t.toExact())}catch(r){return new M(Q)}if(t instanceof M)return t;let e=String(t),n=ie(e);return new M(n.numerator,n.denominator)}function Tr(t,e){let{numerator:n,denominator:r}=ie(t);return new Y(new L.default(n),new L.default(r).mul(e!=null&&e.alreadyDecimaled?new L.default(100):new L.default(1)))}function br(t){let{token:e,numberPrice:n,decimalDone:r}=t,i=new re({mint:"",decimals:6,symbol:"usd",name:"usd",skipMint:!0}),{numerator:s,denominator:c}=ie(n),o=r?new L.default(s).mul(ne.pow(new L.default(e.decimals))):s,u=new L.default(c).mul(ne.pow(new L.default(i.decimals)));return new z({baseToken:i,denominator:u.toString(),quoteToken:new re(j(W({},e),{skipMint:!0,mint:""})),numerator:o.toString()})}function st(t){let e=new Ue({decimals:6,symbol:"usd",name:"usd"}),n=Zt(He(t,Ct(10,e.decimals)));return new Fe(e,n)}function yr(t,e){return st(!e||!t?0:He(t,e))}function Jt(t){if(t==null)return;let{numerator:e,denominator:n}=ie(t.toString());return new M(e,n)}function Xt(t){return t instanceof Yt.default}function at(t){return Xt(t)?Jt(t):Array.isArray(t)?t.map(e=>at(e)):Ye(t)?Object.fromEntries(Object.entries(t).map(([e,n])=>[e,at(n)])):t}var ut=t=>typeof t=="number",lt=t=>t?new Date(t):new Date,$t=t=>lt(t).getTime();function xr(t,e,n){let r=ut(e)?e*((n==null?void 0:n.unit)==="s"?1e3:1):e;return new Date(t).getTime()<=+r}function wr(t,e,n){let r=ut(e)?e*((n==null?void 0:n.unit)==="s"?1e3:1):e;return new Date(t).getTime()>+r}function Pr(t,e){let r=$t(t)+(e.days?e.days*24*60*60*1e3:0)+(e.hours?e.hours*60*60*1e3:0)+(e.minutes?e.minutes*60*1e3:0)+(e.seconds?e.seconds*1e3:0)+(e.milliseconds?e.milliseconds:0);return lt(r)}function Ne(t,e=1,n=[]){let r=[...t];if(e<=0)return n;for(;r.length;)n.push(r.splice(0,e));return n}function Sr(t,...e){return t.filter(n=>e.every(r=>r.includes(n)))}function Ar(t,...e){return t.filter(n=>e.every(r=>!r.includes(n)))}function kr(t){return[...new Set(t)]}var mt=class t{constructor(e){this._owner=e}get publicKey(){return t.isKeyPair(this._owner)?this._owner.publicKey:this._owner}get signer(){return t.isKeyPair(this._owner)?this._owner:void 0}get isKeyPair(){return t.isKeyPair(this._owner)}get isPublicKey(){return t.isPublicKey(this._owner)}static isKeyPair(e){return e.secretKey!==void 0}static isPublicKey(e){return!t.isKeyPair(e)}};var nn=require("@solana/web3.js"),rn=require("@solana/spl-token");var V=require("@solana/web3.js");var pt=(n=>(n[n.V0=0]="V0",n[n.LEGACY=1]="LEGACY",n))(pt||{}),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 Qt=require("@solana/spl-token");var ee=q("Sega_txUtil"),dt=1644;function Se(t){let e=[],n=[];return t.microLamports&&(e.push(V.ComputeBudgetProgram.setComputeUnitPrice({microLamports:t.microLamports})),n.push(ge.SetComputeUnitPrice)),t.units&&(e.push(V.ComputeBudgetProgram.setComputeUnitLimit({units:t.units})),n.push(ge.SetComputeUnitLimit)),{instructions:e,instructionTypes:n}}function le(t,e){return g(this,null,function*(){var r,i;let n=e!=null?e:"confirmed";return(i=yield(r=t.getLatestBlockhash)==null?void 0:r.call(t,{commitment:n}))==null?void 0:i.blockhash})}function Ae(t,e){return g(this,null,function*(){return t.getSignatureStatuses([e]),new Promise((n,r)=>{let i=setTimeout(r,6e4);t.onSignature(e,s=>{if(clearTimeout(i),!s.err){n("");return}r(Object.assign(s.err,{txId:e}))},"confirmed")})})}function ft(t,e){t.length<1&&ee.logWithError(`no instructions provided: ${t.toString()}`),e.length<1&&ee.logWithError(`no signers provided:, ${e.toString()}`);let n=new V.Transaction;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=e[0],n.add(...t);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<dt}catch(r){return!1}}function Cr(t,e,n,r=!0){return g(this,null,function*(){let i=new V.PublicKey("SegaSimuLateTransaction11111111111111111"),s=[],c=new V.Transaction;c.feePayer=i;for(let a of e)ft([...c.instructions,a],[i])||(s.push(c),c=new V.Transaction,c.feePayer=i),c.add(a);c.instructions.length>0&&s.push(c);let o=[];try{if(o=yield en(t,s,r),o.find(a=>a.err!==null))throw Error("rpc simulateTransaction error")}catch(a){a instanceof Error&&ee.logWithError("failed to simulate for instructions","RPC_ERROR",{message:a.message})}let u=[];for(let a of o)if(ee.debug("simulate result:",a),a.logs){let l=a.logs.filter(h=>h&&h.includes(n));ee.debug("filteredLog:",u),l.length||ee.logWithError("simulate log not match keyword","keyword",n),u.push(...l)}return u})}function Br(t,e){let n=t.match(/{["\w:,]+}/g);return!n||n.length!==1?ee.logWithError(`simulate log fail to match json, keyword: ${e}`):n[0]}function Ir(t,e){let r=new RegExp(`"${e}":(\\d+)`,"g").exec(t);return!r||r.length!==2?ee.logWithError(`simulate log fail to match key", key: ${e}`):r[1]}function Ze(t,e){let[n,r]=V.PublicKey.findProgramAddressSync(t,e);return{publicKey:n,nonce:r}}function en(t,e,n){return g(this,null,function*(){let r=[];if(n){let i=yield t.getLatestBlockhash(),s=[];for(let a of e){a.recentBlockhash=i.blockhash,a.lastValidBlockHeight=i.lastValidBlockHeight;let h=a._compile().serialize(),w=a._serialize(h).toString("base64");s.push(w)}let c=s.map(a=>({methodName:"simulateTransaction",args:t._buildArgs([a],void 0,"base64")})),o=[],u=20;for(let a=0;a<Math.ceil(c.length/u);a++)o.push(c.slice(a*u,(a+1)*u));r=yield(yield Promise.all(o.map(a=>g(this,null,function*(){return(yield t._rpcBatchRequest(a)).map(l=>l.result.value)})))).flat()}else try{r=yield Promise.all(e.map(i=>g(this,null,function*(){return yield(yield t.simulateTransaction(i)).value})))}catch(i){i instanceof Error&&ee.logWithError("failed to get info for multiple accounts","RPC_ERROR",{message:i.message})}return r})}function he({instructions:t,payer:e,signers:n}){return ft(t,[e,...n])}function Te({instructions:t,payer:e,lookupTableAddressAccount:n,recentBlockhash:r=V.Keypair.generate().publicKey.toString()}){let s=new V.TransactionMessage({payerKey:e,recentBlockhash:r,instructions:t}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new V.VersionedTransaction(s).serialize()).toString("base64").length<dt}catch(c){return!1}}var ze={time:0,data:void 0};function Rr(t){return g(this,null,function*(){if(!ze.data||(Date.now()-ze.time)/1e3>30){let e=yield t.getEpochInfo();return ze={time:Date.now(),data:e},e}else return ze.data})}var gt=t=>Buffer.isBuffer(t)?t:t instanceof Uint8Array?Buffer.from(t.buffer,t.byteOffset,t.byteLength):Buffer.from(t),tn=t=>{let e=t.serialize({requireAllSignatures:!1,verifySignatures:!1});t instanceof V.VersionedTransaction&&(e=gt(e));try{return e instanceof Buffer?e.toString("base64"):Buffer.from(e).toString("base64")}catch(n){return e.toString("base64")}};function oe(t){let e=[];return t.forEach(n=>{n instanceof V.Transaction&&(n.recentBlockhash||(n.recentBlockhash=Qt.TOKEN_PROGRAM_ID.toBase58()),n.feePayer||(n.feePayer=V.Keypair.generate().publicKey)),e.push(tn(n))}),console.log("simulate tx string:",e),e}function Mr(t){let e=t.serialize({requireAllSignatures:!1,verifySignatures:!1});return t instanceof V.VersionedTransaction&&(e=gt(e)),e.toString("base64")}function Nr(t,e,n){return Ze([t.toBuffer(),(n!=null?n:rn.TOKEN_PROGRAM_ID).toBuffer(),e.toBuffer()],new nn.PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"))}function Dr(t){return Ze([Buffer.from("metadata","utf8"),Ke.toBuffer(),t.toBuffer()],Ke)}var H=require("@solana/web3.js"),ht=new H.PublicKey("SegazTQwbYWknDZkJ6j2Kgvm5gw3MrHGKtWstZdoNKZ"),Tt=new H.PublicKey("Ajk8d9bERSaFdeoT1d8JUVfaDayrYLnAdgeB47TFMUaG"),bt=new H.PublicKey("2HbjxVVKJ7Ct72Rcd8WK4VTqmwTXL5aAggkH1CHGFGmh"),on=new H.PublicKey("TegaRdjn9Qeh9DfUU28X19aPPpJtj9gs8ntSYrR5H4K "),sn=new H.PublicKey("GzqQwxPSmUZnTyCfX9YWqi32MJg43ujP786ZoacL559Y"),an=new H.PublicKey("GzqQwxPSmUZnTyCfX9YWqi32MJg43ujP786ZoacL559Y"),cn=new H.PublicKey("SegaXNnoXYTZiqUt9Xn2XqGcL56b25yzXLuJSpadcMu"),un=new H.PublicKey("2t1hV2YqnDCPuJZqr7Fy8oAygGwZE5Q9uaQzpLC1QryJ"),ln=new H.PublicKey("BLxynZeHE123MmQgNJZiV1pwW4VYh46oZYyC66xwmtTY"),Lr={CREATE_CPMM_POOL_PROGRAM:ht,CREATE_CPMM_POOL_AUTH:Tt,CREATE_CPMM_POOL_FEE_ACC:bt},yt={CREATE_CPMM_POOL_PROGRAM:ht,CREATE_CPMM_POOL_AUTH:Tt,CREATE_CPMM_POOL_FEE_ACC:bt},xt={CREATE_CPMM_POOL_PROGRAM:cn,CREATE_CPMM_POOL_AUTH:un,CREATE_CPMM_POOL_FEE_ACC:ln},wt={SERUM_MARKET:H.PublicKey.default,UTIL1216:H.PublicKey.default,CREATE_CPMM_POOL_PROGRAM:on,CREATE_CPMM_POOL_AUTH:sn,CREATE_CPMM_POOL_FEE_ACC:an};var _=G(require("bn.js"));var Z=1e4;function Or(t,e,n,r){if(e===void 0)return{amount:t,fee:void 0,expirationTime:void 0};let i=n.epoch<e.newerTransferFee.epoch?e.olderTransferFee:e.newerTransferFee,s=new _.default(i.maximumFee.toString()),c=n.epoch<e.newerTransferFee.epoch?(Number(e.newerTransferFee.epoch)*n.slotsInEpoch-n.absoluteSlot)*400/1e3:void 0;if(r)if(i.transferFeeBasisPoints===Z){let o=new _.default(i.maximumFee.toString());return{amount:t.add(o),fee:o,expirationTime:c}}else{let o=me(t.mul(new _.default(Z)),new _.default(Z-i.transferFeeBasisPoints)),u=new _.default(i.maximumFee.toString()),a=o.sub(t).gt(u)?t.add(u):o,l=me(a.mul(new _.default(i.transferFeeBasisPoints)),new _.default(Z)),h=l.gt(s)?s:l;return{amount:a,fee:h,expirationTime:c}}else{let o=me(t.mul(new _.default(i.transferFeeBasisPoints)),new _.default(Z)),u=o.gt(s)?s:o;return{amount:t,fee:u,expirationTime:c}}}function Er(t,e,n,r){if(e===void 0)return{amount:t,fee:void 0,expirationTime:void 0};let i=j(W({},e),{olderTransferFee:{epoch:BigInt(e.olderTransferFee.epoch),maximumFee:BigInt(e.olderTransferFee.maximumFee),transferFeeBasisPoints:e.olderTransferFee.transferFeeBasisPoints},newerTransferFee:{epoch:BigInt(e.newerTransferFee.epoch),maximumFee:BigInt(e.newerTransferFee.maximumFee),transferFeeBasisPoints:e.newerTransferFee.transferFeeBasisPoints}}),s=n.epoch<i.newerTransferFee.epoch?i.olderTransferFee:i.newerTransferFee,c=new _.default(s.maximumFee.toString()),o=n.epoch<i.newerTransferFee.epoch?(Number(i.newerTransferFee.epoch)*n.slotsInEpoch-n.absoluteSlot)*400/1e3:void 0;if(r)if(s.transferFeeBasisPoints===Z){let u=new _.default(s.maximumFee.toString());return{amount:t.add(u),fee:u,expirationTime:o}}else{let u=me(t.mul(new _.default(Z)),new _.default(Z-s.transferFeeBasisPoints)),a=new _.default(s.maximumFee.toString()),l=u.sub(t).gt(a)?t.add(a):u,h=me(l.mul(new _.default(s.transferFeeBasisPoints)),new _.default(Z)),S=h.gt(c)?c:h;return{amount:l,fee:S,expirationTime:o}}else{let u=me(t.mul(new _.default(s.transferFeeBasisPoints)),new _.default(Z)),a=u.gt(c)?c:u;return{amount:t,fee:a,expirationTime:o}}}function Fr(t,e){return t===void 0?e:e===void 0?t:Math.min(t,e)}function me(t,e){let{div:n,mod:r}=t.divmod(e);return r.gt(new _.default(0))?n.add(new _.default(1)):n}var ke=require("@solana/web3.js");function Je(n){return g(this,arguments,function*({connection:t,address:e}){let r=yield De(t,[...new Set(e.map(s=>s.toString()))].map(s=>new ke.PublicKey(s))),i={};for(let s=0;s<e.length;s++){let c=r[s],o=e[s];if(!c)continue;let u=new ke.AddressLookupTableAccount({key:o,state:ke.AddressLookupTableAccount.deserialize(c.data)});i[o.toString()]=u,Ce[o.toString()]=u}return i})}var Ce={};var B=require("@solana/web3.js"),mn=G(require("axios"));var Xe=2e3,Pt=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 g(this,null,function*(){var r;let e=(yield mn.default.get("https://solanacompass.com/api/fees?cacheFreshTime=300000")).data,{avg:n}=(r=e==null?void 0:e[15])!=null?r:{};if(n)return{units:6e5,microLamports:Math.min(Math.ceil(n*1e6/6e5),25e3)}})}addCustomComputeBudget(e){if(e){let{instructions:n,instructionTypes:r}=Se(e);return this.instructions.unshift(...n),this.instructionTypes.unshift(...r),!0}return!1}addTipInstruction(e){var n;return e?(this.endInstructions.push(B.SystemProgram.transfer({fromPubkey:(n=e.feePayer)!=null?n:this.feePayer,toPubkey:new B.PublicKey(e.address),lamports:BigInt(e.amount.toString())})),this.endInstructionTypes.push(ge.TransferTip),!0):!1}calComputeBudget(r){return g(this,arguments,function*({config:e,defaultIns:n}){try{let i=e||(yield this.getComputeBudgetConfig());if(this.addCustomComputeBudget(i))return;n&&this.instructions.unshift(...n)}catch(i){n&&this.instructions.unshift(...n)}})}addInstruction({instructions:e=[],endInstructions:n=[],signers:r=[],instructionTypes:i=[],endInstructionTypes:s=[],lookupTableAddress:c=[]}){return this.instructions.push(...e),this.endInstructions.push(...n),this.signers.push(...r),this.instructionTypes.push(...i),this.endInstructionTypes.push(...s),this.lookupTableAddress.push(...c.filter(o=>o!==B.PublicKey.default.toString())),this}versionBuild(r){return g(this,arguments,function*({txVersion:e,extInfo:n}){return e===0?yield this.buildV0(W({},n||{})):this.build(n)})}build(e){var r;let n=new B.Transaction;return this.allInstructions.length&&n.add(...this.allInstructions),n.feePayer=this.feePayer,(r=this.owner)!=null&&r.signer&&!this.signers.some(i=>i.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer),{builder:this,transaction:n,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:i=>g(this,null,function*(){var a;let{recentBlockHash:s,skipPreflight:c=!0,sendAndConfirm:o}=i||{},u=s!=null?s:yield le(this.connection,this.blockhashCommitment);if(n.recentBlockhash=u,this.signers.length&&n.sign(...this.signers),oe([n]),(a=this.owner)!=null&&a.isKeyPair)return{txId:o?yield(0,B.sendAndConfirmTransaction)(this.connection,n,this.signers.find(h=>h.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:c}):yield this.connection.sendRawTransaction(n.serialize(),{skipPreflight:c}),signedTx:n};if(this.signAllTransactions){let l=yield this.signAllTransactions([n]);if(this.signers.length)for(let h of l)try{h.sign(...this.signers)}catch(S){}return{txId:yield this.connection.sendRawTransaction(l[0].serialize(),{skipPreflight:c}),signedTx:l[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")}),extInfo:e||{}}}buildMultiTx(e){var a;let{extraPreBuildData:n=[],extInfo:r}=e,{transaction:i}=this.build(r),s=n.filter(l=>l.transaction.instructions.length>0),c=[i,...s.map(l=>l.transaction)],o=[this.signers,...s.map(l=>l.signers)],u=[...this.instructionTypes,...s.map(l=>l.instructionTypes).flat()];return(a=this.owner)!=null&&a.signer&&o.forEach(l=>{l.some(h=>h.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:c,signers:o,instructionTypes:u,execute:l=>g(this,null,function*(){var A;let{sequentially:h,onTxUpdate:S,skipTxCount:w=0,recentBlockHash:T,skipPreflight:x=!0}=l||{},m=T!=null?T:yield le(this.connection,this.blockhashCommitment);if((A=this.owner)!=null&&A.isKeyPair){if(h){let b=[],k=0;for(let f of c){if(++k,k<=w)continue;let d=yield(0,B.sendAndConfirmTransaction)(this.connection,f,this.signers.find(p=>p.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:x});b.push(d)}return{txIds:b,signedTxs:c}}return{txIds:yield yield Promise.all(c.map(b=>g(this,null,function*(){return b.recentBlockhash=m,yield this.connection.sendRawTransaction(b.serialize(),{skipPreflight:x})}))),signedTxs:c}}if(this.signAllTransactions){let b=c.map((f,d)=>(f.recentBlockhash=m,o[d].length&&f.sign(...o[d]),f));oe(b);let k=yield this.signAllTransactions(b);if(h){let f=0,d=[],p=()=>g(this,null,function*(){if(!k[f])return;let P=yield this.connection.sendRawTransaction(k[f].serialize(),{skipPreflight:x});d.push({txId:P,status:"sent",signedTx:k[f]}),S==null||S([...d]),f++;let y=!1,C=null,N=null,O=I=>{C!==null&&clearInterval(C),N!==null&&this.connection.removeSignatureListener(N);let D=d.findIndex(E=>E.txId===P);if(D>-1){if(d[D].status==="error"||d[D].status==="success")return;d[D].status=I.err?"error":"success"}S==null||S([...d]),I.err||p()};this.loopMultiTxStatus&&(C=setInterval(()=>g(this,null,function*(){var I;if(y){clearInterval(C);return}try{let D=yield this.connection.getTransaction(P,{commitment:"confirmed",maxSupportedTransactionVersion:0});D&&(y=!0,clearInterval(C),O({err:((I=D.meta)==null?void 0:I.err)||null}),console.log("tx status from getTransaction:",P))}catch(D){y=!0,clearInterval(C),console.error("getTransaction timeout:",D,P)}}),Xe)),N=this.connection.onSignature(P,I=>{if(y){this.connection.removeSignatureListener(N);return}y=!0,O(I)},"confirmed"),this.connection.getSignatureStatus(P)});return yield p(),{txIds:d.map(P=>P.txId),signedTxs:k}}else{let f=[];for(let d=0;d<k.length;d+=1){let p=yield this.connection.sendRawTransaction(k[d].serialize(),{skipPreflight:x});f.push(p)}return{txIds:f,signedTxs:k}}}throw new Error("please provide owner in keypair format or signAllTransactions function")}),extInfo:r||{}}}versionMultiBuild(i){return g(this,arguments,function*({extraPreBuildData:e,txVersion:n,extInfo:r}){return n===0?yield this.buildV0MultiTx({extraPreBuildData:e,buildProps:r||{}}):this.buildMultiTx({extraPreBuildData:e,extInfo:r})})}buildV0(e){return g(this,null,function*(){var x;let T=e||{},{lookupTableCache:n={},lookupTableAddress:r=[],forerunCreate:i,recentBlockhash:s}=T,c=Re(T,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),o=W(W({},this.cluster==="devnet"?{}:Ce),n),u=Array.from(new Set([...r,...this.lookupTableAddress])),a=[];for(let m of u)o[m]===void 0&&a.push(new B.PublicKey(m));let l=yield Je({connection:this.connection,address:a});for(let[m,A]of Object.entries(l))o[m]=A;let h=i?B.PublicKey.default.toBase58():s!=null?s:yield le(this.connection,this.blockhashCommitment),S=new B.TransactionMessage({payerKey:this.feePayer,recentBlockhash:h,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(o));(x=this.owner)!=null&&x.signer&&!this.signers.some(m=>m.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let w=new B.VersionedTransaction(S);return w.sign(this.signers),{builder:this,transaction:w,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:m=>g(this,null,function*(){var k;let{skipPreflight:A=!0,sendAndConfirm:b}=m||{};if(oe([w]),(k=this.owner)!=null&&k.isKeyPair){let f=yield this.connection.sendTransaction(w,{skipPreflight:A});return b&&(yield Ae(this.connection,f)),{txId:f,signedTx:w}}if(this.signAllTransactions){let f=yield this.signAllTransactions([w]);if(this.signers.length)for(let d of f)try{d.sign(this.signers)}catch(p){}return{txId:yield this.connection.sendTransaction(f[0],{skipPreflight:A}),signedTx:f[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")}),extInfo:c||{}}})}buildV0MultiTx(e){return g(this,null,function*(){var a;let{extraPreBuildData:n=[],buildProps:r}=e,{transaction:i}=yield this.buildV0(r),s=n.filter(l=>l.builder.instructions.length>0),c=[i,...s.map(l=>l.transaction)],o=[this.signers,...s.map(l=>l.signers)],u=[...this.instructionTypes,...s.map(l=>l.instructionTypes).flat()];return(a=this.owner)!=null&&a.signer&&o.forEach(l=>{l.some(h=>h.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),c.forEach((l,h)=>g(this,null,function*(){l.sign(o[h])})),{builder:this,transactions:c,signers:o,instructionTypes:u,buildProps:r,execute:l=>g(this,null,function*(){var x;let{sequentially:h,onTxUpdate:S,recentBlockHash:w,skipPreflight:T=!0}=l||{};if(w&&c.forEach(m=>m.message.recentBlockhash=w),oe(c),(x=this.owner)!=null&&x.isKeyPair){if(h){let m=[];for(let A of c){let b=yield this.connection.sendTransaction(A,{skipPreflight:T});yield Ae(this.connection,b),m.push(b)}return{txIds:m,signedTxs:c}}return{txIds:yield Promise.all(c.map(m=>g(this,null,function*(){return yield this.connection.sendTransaction(m,{skipPreflight:T})}))),signedTxs:c}}if(this.signAllTransactions){let m=yield this.signAllTransactions(c);if(h){let A=0,b=[],k=()=>g(this,null,function*(){if(!m[A])return;let f=yield this.connection.sendTransaction(m[A],{skipPreflight:T});b.push({txId:f,status:"sent",signedTx:m[A]}),S==null||S([...b]),A++;let d=!1,p=null,P=null,y=C=>{p!==null&&clearInterval(p),P!==null&&this.connection.removeSignatureListener(P);let N=b.findIndex(O=>O.txId===f);if(N>-1){if(b[N].status==="error"||b[N].status==="success")return;b[N].status=C.err?"error":"success"}S==null||S([...b]),C.err||k()};this.loopMultiTxStatus&&(p=setInterval(()=>g(this,null,function*(){var C;if(d){clearInterval(p);return}try{let N=yield this.connection.getTransaction(f,{commitment:"confirmed",maxSupportedTransactionVersion:0});N&&(d=!0,clearInterval(p),y({err:((C=N.meta)==null?void 0:C.err)||null}),console.log("tx status from getTransaction:",f))}catch(N){d=!0,clearInterval(p),console.error("getTransaction timeout:",N,f)}}),Xe)),P=this.connection.onSignature(f,C=>{if(d){this.connection.removeSignatureListener(P);return}d=!0,y(C)},"confirmed"),this.connection.getSignatureStatus(f)});return k(),{txIds:[],signedTxs:m}}else{let A=[];for(let b=0;b<m.length;b+=1){let k=yield this.connection.sendTransaction(m[b],{skipPreflight:T});A.push(k)}return{txIds:A,signedTxs:m}}}throw new Error("please provide owner in keypair format or signAllTransactions function")}),extInfo:r||{}}})}sizeCheckBuild(e){return g(this,null,function*(){var S;let h=e||{},{splitIns:n=[],computeBudgetConfig:r}=h,i=Re(h,["splitIns","computeBudgetConfig"]),s=r?Se(r):{instructions:[],instructionTypes:[]},c=this.signers.reduce((w,T)=>j(W({},w),{[T.publicKey.toBase58()]:T}),{}),o=[],u=[],a=[],l=0;if(this.allInstructions.forEach(w=>{let T=[...a,w],x=r?[...s.instructions,...T]:T,A=[...new Set(T.map(b=>b.keys.filter(k=>k.isSigner).map(k=>k.pubkey.toString())).flat()).values()].map(b=>new B.PublicKey(b));if(w!==n[l]&&a.length<12&&(he({instructions:x,payer:this.feePayer,signers:A})||he({instructions:T,payer:this.feePayer,signers:A})))a.push(w);else{if(a.length===0)throw Error("item ins too big");l+=w===n[l]?1:0,he({instructions:r?[...s.instructions,...a]:[...a],payer:this.feePayer,signers:A})?o.push(new B.Transaction().add(...s.instructions,...a)):o.push(new B.Transaction().add(...a)),u.push(Array.from(new Set(a.map(b=>b.keys.filter(k=>k.isSigner).map(k=>k.pubkey.toString())).flat())).map(b=>c[b]).filter(b=>b!==void 0)),a=[w]}}),a.length>0){let T=[...new Set(a.map(x=>x.keys.filter(m=>m.isSigner).map(m=>m.pubkey.toString())).flat()).values()].map(x=>c[x]).filter(x=>x!==void 0);he({instructions:r?[...s.instructions,...a]:[...a],payer:this.feePayer,signers:T.map(x=>x.publicKey)})?o.push(new B.Transaction().add(...s.instructions,...a)):o.push(new B.Transaction().add(...a)),u.push(T)}return o.forEach(w=>w.feePayer=this.feePayer),(S=this.owner)!=null&&S.signer&&u.forEach(w=>{w.some(T=>T.publicKey.equals(this.owner.publicKey))||w.push(this.owner.signer)}),{builder:this,transactions:o,signers:u,instructionTypes:this.instructionTypes,execute:w=>g(this,null,function*(){var f;let{sequentially:T,onTxUpdate:x,skipTxCount:m=0,recentBlockHash:A,skipPreflight:b=!0}=w||{},k=A!=null?A:yield le(this.connection,this.blockhashCommitment);if(o.forEach((d,p)=>g(this,null,function*(){d.recentBlockhash=k,u[p].length&&d.sign(...u[p])})),oe(o),(f=this.owner)!=null&&f.isKeyPair){if(T){let d=0,p=[];for(let P of o){if(++d,d<=m){p.push("tx skipped");continue}let y=yield(0,B.sendAndConfirmTransaction)(this.connection,P,this.signers.find(C=>C.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:b});p.push(y)}return{txIds:p,signedTxs:o}}return{txIds:yield Promise.all(o.map(d=>g(this,null,function*(){return yield this.connection.sendRawTransaction(d.serialize(),{skipPreflight:b})}))),signedTxs:o}}if(this.signAllTransactions){let d=yield this.signAllTransactions(o.slice(m,o.length)),p=[...o.slice(0,m),...d];if(T){let P=0,y=[],C=()=>g(this,null,function*(){if(!p[P])return;P<m&&(y.push({txId:"",status:"success",signedTx:p[P]}),x==null||x([...y]),P++,C());let N=yield this.connection.sendRawTransaction(p[P].serialize(),{skipPreflight:b});y.push({txId:N,status:"sent",signedTx:p[P]}),x==null||x([...y]),P++;let O=!1,I=null,D=null,E=U=>{I!==null&&clearInterval(I),D!==null&&this.connection.removeSignatureListener(D);let K=y.findIndex(se=>se.txId===N);if(K>-1){if(y[K].status==="error"||y[K].status==="success")return;y[K].status=U.err?"error":"success"}x==null||x([...y]),U.err||C()};this.loopMultiTxStatus&&(I=setInterval(()=>g(this,null,function*(){var U;if(O){clearInterval(I);return}try{let K=yield this.connection.getTransaction(N,{commitment:"confirmed",maxSupportedTransactionVersion:0});K&&(O=!0,clearInterval(I),E({err:((U=K.meta)==null?void 0:U.err)||null}),console.log("tx status from getTransaction:",N))}catch(K){O=!0,clearInterval(I),console.error("getTransaction timeout:",K,N)}}),Xe)),D=this.connection.onSignature(N,U=>{if(O){this.connection.removeSignatureListener(D);return}O=!0,E(U)},"confirmed"),this.connection.getSignatureStatus(N)});return yield C(),{txIds:y.map(N=>N.txId),signedTxs:p}}else{let P=[];for(let y=0;y<p.length;y+=1){let C=yield this.connection.sendRawTransaction(p[y].serialize(),{skipPreflight:b});P.push(C)}return{txIds:P,signedTxs:p}}}throw new Error("please provide owner in keypair format or signAllTransactions function")}),extInfo:i||{}}})}sizeCheckBuildV0(e){return g(this,null,function*(){var k;let b=e||{},{computeBudgetConfig:n,splitIns:r=[],lookupTableCache:i={},lookupTableAddress:s=[]}=b,c=Re(b,["computeBudgetConfig","splitIns","lookupTableCache","lookupTableAddress"]),o=W(W({},this.cluster==="devnet"?{}:Ce),i),u=Array.from(new Set([...this.lookupTableAddress,...s])),a=[];for(let f of u)o[f]===void 0&&a.push(new B.PublicKey(f));let l=yield Je({connection:this.connection,address:a});for(let[f,d]of Object.entries(l))o[f]=d;let h=n?Se(n):{instructions:[],instructionTypes:[]},S=yield le(this.connection,this.blockhashCommitment),w=this.signers.reduce((f,d)=>j(W({},f),{[d.publicKey.toBase58()]:d}),{}),T=[],x=[],m=[],A=0;if(this.allInstructions.forEach(f=>{let d=[...m,f],p=n?[...h.instructions,...d]:d;if(f!==r[A]&&m.length<12&&(Te({instructions:p,payer:this.feePayer,lookupTableAddressAccount:o})||Te({instructions:d,payer:this.feePayer,lookupTableAddressAccount:o})))m.push(f);else{if(m.length===0)throw Error("item ins too big");A+=f===r[A]?1:0;let P={};for(let y of[...new Set(u)])o[y]!==void 0&&(P[y]=o[y]);if(n&&Te({instructions:[...h.instructions,...m],payer:this.feePayer,lookupTableAddressAccount:o,recentBlockhash:S})){let y=new B.TransactionMessage({payerKey:this.feePayer,recentBlockhash:S,instructions:[...h.instructions,...m]}).compileToV0Message(Object.values(o));T.push(new B.VersionedTransaction(y))}else{let y=new B.TransactionMessage({payerKey:this.feePayer,recentBlockhash:S,instructions:[...m]}).compileToV0Message(Object.values(o));T.push(new B.VersionedTransaction(y))}x.push(Array.from(new Set(m.map(y=>y.keys.filter(C=>C.isSigner).map(C=>C.pubkey.toString())).flat())).map(y=>w[y]).filter(y=>y!==void 0)),m=[f]}}),m.length>0){let d=[...new Set(m.map(p=>p.keys.filter(P=>P.isSigner).map(P=>P.pubkey.toString())).flat()).values()].map(p=