@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
1 lines • 130 kB
JavaScript
var $i=Object.defineProperty,Ji=Object.defineProperties;var er=Object.getOwnPropertyDescriptors;var Qt=Object.getOwnPropertySymbols;var Vo=Object.prototype.hasOwnProperty,_o=Object.prototype.propertyIsEnumerable;var vo=(a,e,t)=>e in a?$i(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,M=(a,e)=>{for(var t in e||(e={}))Vo.call(e,t)&&vo(a,t,e[t]);if(Qt)for(var t of Qt(e))_o.call(e,t)&&vo(a,t,e[t]);return a},D=(a,e)=>Ji(a,er(e));var Oe=(a,e)=>{var t={};for(var n in a)Vo.call(a,n)&&e.indexOf(n)<0&&(t[n]=a[n]);if(a!=null&&Qt)for(var n of Qt(a))e.indexOf(n)<0&&_o.call(a,n)&&(t[n]=a[n]);return t};import{get as Eo,set as tr}from"lodash";var Rn=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(n=>typeof n=="object"?JSON.stringify(n):n).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}},Do={},nr={};function Q(a){let e=Eo(Do,a);if(!e){let t=Eo(nr,a);e=new Rn({name:a,logLevel:t}),tr(Do,a,e)}return e}import{PublicKey as St,sendAndConfirmTransaction as ko,SystemProgram as ou,Transaction as Ut,TransactionMessage as Gt,VersionedTransaction as zt}from"@solana/web3.js";import iu from"axios";import{PublicKey as go,AddressLookupTableAccount as Bt}from"@solana/web3.js";import{PublicKey as nu}from"@solana/web3.js";import $e from"bn.js";import xC from"decimal.js";import lr from"big.js";import Su from"bn.js";import or from"toformat";var ir=or,xt=ir;import Ht from"big.js";import ar from"bn.js";import sr from"decimal.js-light";import Kt from"bn.js";var Wo=9007199254740991;function Ae(a){let e=Q("Raydium_parseBigNumberish");if(a instanceof Kt)return a;if(typeof a=="string"){if(a.match(/^-?[0-9]+$/))return new Kt(a);e.logWithError(`invalid BigNumberish string: ${a}`)}return typeof a=="number"?(a%1&&e.logWithError(`BigNumberish number underflow: ${a}`),(a>=Wo||a<=-Wo)&&e.logWithError(`BigNumberish number overflow: ${a}`),new Kt(String(a))):typeof a=="bigint"?new Kt(a.toString()):(e.error(`invalid BigNumberish value: ${a}`),new Kt(0))}var Zt=Q("module/fraction"),Ln=xt(Ht),Ct=xt(sr),ur={[0]:Ct.ROUND_DOWN,[1]:Ct.ROUND_HALF_UP,[2]:Ct.ROUND_UP},cr={[0]:Ht.roundDown,[1]:Ht.roundHalfUp,[2]:Ht.roundUp},te=class{constructor(e,t=new ar(1)){this.numerator=Ae(e),this.denominator=Ae(t)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new te(this.denominator,this.numerator)}add(e){let t=e instanceof te?e:new te(Ae(e));return this.denominator.eq(t.denominator)?new te(this.numerator.add(t.numerator),this.denominator):new te(this.numerator.mul(t.denominator).add(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}sub(e){let t=e instanceof te?e:new te(Ae(e));return this.denominator.eq(t.denominator)?new te(this.numerator.sub(t.numerator),this.denominator):new te(this.numerator.mul(t.denominator).sub(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}mul(e){let t=e instanceof te?e:new te(Ae(e));return new te(this.numerator.mul(t.numerator),this.denominator.mul(t.denominator))}div(e){let t=e instanceof te?e:new te(Ae(e));return new te(this.numerator.mul(t.denominator),this.denominator.mul(t.numerator))}toSignificant(e,t={groupSeparator:""},n=1){Number.isInteger(e)||Zt.logWithError(`${e} is not an integer.`),e<=0&&Zt.logWithError(`${e} is not positive.`),Ct.set({precision:e+1,rounding:ur[n]});let i=new Ct(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return i.toFormat(i.decimalPlaces(),t)}toFixed(e,t={groupSeparator:""},n=1){return Number.isInteger(e)||Zt.logWithError(`${e} is not an integer.`),e<0&&Zt.logWithError(`${e} is negative.`),Ln.DP=e,Ln.RM=cr[n]||1,new Ln(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,t)}isZero(){return this.numerator.isZero()}};var Fu=Q("Raydium_amount"),vu=xt(lr);import{PublicKey as dr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as qo}from"@solana/spl-token";var jt={chainId:101,address:dr.default.toBase58(),programId:qo.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},_e={chainId:101,address:"So11111111111111111111111111111111111111112",programId:qo.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};import{PublicKey as Nn}from"@solana/web3.js";import{PublicKey as oe,SystemProgram as Uo,SYSVAR_RENT_PUBKEY as pr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as fr}from"@solana/spl-token";function dt({pubkey:a,isSigner:e=!1,isWritable:t=!0}){return{pubkey:a,isWritable:t,isSigner:e}}var yr=[dt({pubkey:fr,isWritable:!1}),dt({pubkey:Uo.programId,isWritable:!1}),dt({pubkey:pr,isWritable:!1})];function Go({publicKey:a,transformSol:e}){let t=zo(a.toString());if(t instanceof oe)return e&&t.equals(et)?Ee:t;if(e&&t.toString()===et.toBase58())return Ee;if(typeof t=="string"){if(t===oe.default.toBase58())return oe.default;try{return new oe(t)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function zo(a){try{return new oe(a)}catch{return a}}var On=new oe("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),tt=new oe("SysvarRent111111111111111111111111111111111"),br=new oe("SysvarC1ock11111111111111111111111111111111"),nt=new oe("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),gr=new oe("Sysvar1nstructions1111111111111111111111111"),Xo=Uo.programId,Gu=new oe("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),zu=new oe("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Xu=new oe("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Yu=new oe("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Qu=new oe("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Zu=new oe("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Hu=new oe("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),ju=new oe("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),$u=new oe("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Ju=new oe("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),ec=new oe("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),Ee=new oe("So11111111111111111111111111111111111111112"),et=oe.default;var Mn=class{constructor({mint:e,decimals:t,symbol:n,name:i,skipMint:r=!1,isToken2022:s=!1}){if(e===et.toBase58()||e instanceof Nn&&et.equals(e)){this.decimals=_e.decimals,this.symbol=_e.symbol,this.name=_e.name,this.mint=new Nn(_e.address),this.isToken2022=!1;return}this.decimals=t,this.symbol=n||e.toString().substring(0,6),this.name=i||e.toString().substring(0,6),this.mint=r?Nn.default:Go({publicKey:e}),this.isToken2022=s}equals(e){return this===e?!0:this.mint.equals(e.mint)}},fe=Mn;fe.WSOL=new Mn(D(M({},_e),{mint:_e.address}));var Fn=class{constructor({decimals:e,symbol:t="UNKNOWN",name:n="UNKNOWN"}){this.decimals=e,this.symbol=t,this.name=n}equals(e){return this===e}},$t=Fn;$t.SOL=new Fn(jt);import Pr from"bn.js";var dc=new te(new Pr(100));var Pc=Q("Raydium_price");import{merge as xK}from"lodash";import xc from"axios";var Yo={BASE_HOST:"https://api-v3.raydium.io",OWNER_BASE_HOST:"https://owner-v1.raydium.io",SERVICE_BASE_HOST:"https://service.raydium.io",MONITOR_BASE_HOST:"https://monitor.raydium.io",SERVICE_1_BASE_HOST:"https://service-v1.raydium.io",TEMP_HOST:"https://temp-api-v1.raydium.io",SEND_TRANSACTION:"/send-transaction",FARM_ARP:"/main/farm/info",FARM_ARP_LINE:"/main/farm-apr-tv",CLMM_CONFIG:"/main/clmm-config",CPMM_CONFIG:"/main/cpmm-config",CLMM_DYNAMIC_CONFIG:"/main/clmm-dynamic-config",VERSION:"/main/version",CHECK_AVAILABILITY:"/v3/main/AvailabilityCheckAPI",RPCS:"/main/rpcs",INFO:"/main/info",STAKE_POOLS:"/main/stake-pools",CHAIN_TIME:"/main/chain-time",TOKEN_LIST:"/mint/list",MINT_INFO_ID:"/mint/ids",JUP_TOKEN_LIST:"https://lite-api.jup.ag/tokens/v2/tag?query=verified",POOL_LIST:"/pools/info/list-v2",POOL_SEARCH_BY_ID:"/pools/info/ids",POOL_SEARCH_MINT:"/pools/info/list-v2",POOL_SEARCH_LP:"/pools/info/lps",POOL_KEY_BY_ID:"/pools/key/ids",POOL_LIQUIDITY_LINE:"/pools/line/liquidity",POOL_POSITION_LINE:"/pools/line/position",FARM_INFO:"/farms/info/ids",FARM_LP_INFO:"/farms/info/lp",FARM_KEYS:"/farms/key/ids",OWNER_CREATED_FARM:"/create-pool/{owner}",OWNER_IDO:"/main/ido/{owner}",OWNER_STAKE_FARMS:"/position/stake/{owner}",OWNER_LOCK_POSITION:"/position/clmm-lock/{owner}",IDO_KEYS:"/ido/key/ids",SWAP_HOST:"https://transaction-v1.raydium.io",SWAP_COMPUTE:"/compute/",SWAP_TX:"/transaction/",MINT_PRICE:"/mint/price",MIGRATE_CONFIG:"/main/migrate-lp",PRIORITY_FEE:"/main/auto-fee",CPMM_LOCK:"https://dynamic-ipfs.raydium.io/lock/cpmm/position",LAUNCH_AUTH_HOST:"https://launch-auth-v1.raydium.io",LAUNCH_COMMENT_HOST:"hhttps://launch-forum-v1.raydium.io",LAUNCH_HISTORY_HOST:"https://launch-history-v1.raydium.io",LAUNCH_MINT_HOST:"https://launch-mint-v1.raydium.io"},Ar=D(M({},Yo),{BASE_HOST:"https://api-v3-devnet.raydium.io",OWNER_BASE_HOST:"https://owner-v1-devnet.raydium.io",SWAP_HOST:"https://transaction-v1-devnet.raydium.io",CPMM_LOCK:"https://dynamic-ipfs-devnet.raydium.io/lock/cpmm/position",TEMP_HOST:"https://temp-api-v1-devnet.raydium.io",LAUNCH_AUTH_HOST:"https://launch-auth-v1-devnet.raydium.io",LAUNCH_COMMENT_HOST:"https://launch-forum-v1-devnet.raydium.io",LAUNCH_HISTORY_HOST:"https://launch-history-v1-devnet.raydium.io",LAUNCH_MINT_HOST:"https://launch-mint-v1-devnet.raydium.io"});var Hc=Q("Raydium_Api");import{PublicKey as _m,SystemProgram as Em}from"@solana/web3.js";import{AccountLayout as Gm,createAssociatedTokenAccountIdempotentInstruction as zm,TOKEN_PROGRAM_ID as Xm,TOKEN_2022_PROGRAM_ID as Ym}from"@solana/spl-token";import{PublicKey as ym,SystemProgram as gm}from"@solana/web3.js";import wm from"bn.js";import{createCloseAccountInstruction as Im,createInitializeAccountInstruction as Bm,createTransferInstruction as Sm,TOKEN_PROGRAM_ID as xm}from"@solana/spl-token";var le={CreateAccount:"CreateAccount",InitAccount:"InitAccount",CreateATA:"CreateATA",CloseAccount:"CloseAccount",TransferAmount:"TransferAmount",InitMint:"InitMint",MintTo:"MintTo",InitMarket:"InitMarket",Util1216OwnerClaim:"Util1216OwnerClaim",SetComputeUnitPrice:"SetComputeUnitPrice",SetComputeUnitLimit:"SetComputeUnitLimit",ClmmCreatePool:"ClmmCreatePool",ClmmOpenPosition:"ClmmOpenPosition",ClmmIncreasePosition:"ClmmIncreasePosition",ClmmDecreasePosition:"ClmmDecreasePosition",ClmmClosePosition:"ClmmClosePosition",ClmmSwapBaseIn:"ClmmSwapBaseIn",ClmmSwapBaseOut:"ClmmSwapBaseOut",ClmmInitReward:"ClmmInitReward",ClmmSetReward:"ClmmSetReward",ClmmCollectReward:"ClmmCollectReward",ClmmLockPosition:"ClmmLockPosition",ClmmHarvestLockPosition:"ClmmHarvestLockPosition",AmmV4Swap:"AmmV4Swap",AmmV4AddLiquidity:"AmmV4AddLiquidity",AmmV4RemoveLiquidity:"AmmV4RemoveLiquidity",AmmV4SimulatePoolInfo:"AmmV4SimulatePoolInfo",AmmV4SwapBaseIn:"AmmV4SwapBaseIn",AmmV4SwapBaseOut:"AmmV4SwapBaseOut",AmmV4CreatePool:"AmmV4CreatePool",AmmV4InitPool:"AmmV4InitPool",AmmV5AddLiquidity:"AmmV5AddLiquidity",AmmV5RemoveLiquidity:"AmmV5RemoveLiquidity",AmmV5SimulatePoolInfo:"AmmV5SimulatePoolInfo",AmmV5SwapBaseIn:"AmmV5SwapBaseIn",AmmV5SwapBaseOut:"AmmV5SwapBaseOut",RouteSwap:"RouteSwap",RouteSwap1:"RouteSwap1",RouteSwap2:"RouteSwap2",FarmV3Deposit:"FarmV3Deposit",FarmV3Withdraw:"FarmV3Withdraw",FarmV3CreateLedger:"FarmV3CreateLedger",FarmV4Withdraw:"FarmV4Withdraw",FarmV5Deposit:"FarmV5Deposit",FarmV5Withdraw:"FarmV5Withdraw",FarmV5CreateLedger:"FarmV5CreateLedger",FarmV6Deposit:"FarmV6Deposit",FarmV6Withdraw:"FarmV6Withdraw",FarmV6Create:"FarmV6Create",FarmV6Restart:"FarmV6Restart",FarmV6CreatorAddReward:"FarmV6CreatorAddReward",FarmV6CreatorWithdraw:"FarmV6CreatorWithdraw",CpmmCreatePool:"CpmmCreatePool",CpmmAddLiquidity:"CpmmAddLiquidity",CpmmWithdrawLiquidity:"CpmmWithdrawLiquidity",CpmmSwapBaseIn:"CpmmSwapBaseIn",CpmmSwapBaseOut:"CpmmSwapBaseOut",CpmmLockLp:"CpmmLockLp",CpmmCollectLockFee:"CpmmCollectLockFee",TransferTip:"TransferTip"};import{Keypair as nm,PublicKey as om}from"@solana/web3.js";import am from"bn.js";import{TOKEN_PROGRAM_ID as cm}from"@solana/spl-token";import{PublicKey as Or}from"@solana/web3.js";import $o,{isBN as Jo}from"bn.js";import{bits as wr,BitStructure as ul,blob as kr,Blob as cl,cstr as ll,f32 as ml,f32be as dl,f64 as pl,f64be as fl,greedy as yl,Layout as Tr,ns64 as bl,ns64be as gl,nu64 as hr,nu64be as Pl,offset as Ir,s16 as Al,s16be as wl,s24 as kl,s24be as Tl,s32 as Br,s32be as hl,s40 as Il,s40be as Bl,s48 as Sl,s48be as xl,s8 as Kl,seq as Sr,struct as Cl,Structure as xr,u16 as Kr,u16be as Rl,u24 as Ll,u24be as Ol,u32 as Cr,u32be as Nl,u40 as Ml,u40be as Fl,u48 as vl,u48be as Vl,u8 as Rr,UInt as Lr,union as _l,Union as El,unionLayoutDiscriminator as Dl,utf8 as Wl}from"@solana/buffer-layout";var Jt=Tr,Qo=xr;var vn=Lr;var Zo=Rr,se=Kr;var Lt=Cr;var Ho=hr;var Ne=Br;var jo=Sr;var z=kr;var Vn=wr,_n=Ir;var ot=class extends Jt{constructor(t,n,i){super(t,i);this.blob=z(t),this.signed=n}decode(t,n=0){let i=new $o(this.blob.decode(t,n),10,"le");return this.signed?i.fromTwos(this.span*8).clone():i}encode(t,n,i=0){return typeof t=="number"&&(t=new $o(t)),this.signed&&(t=t.toTwos(this.span*8)),this.blob.encode(t.toArrayLike(Buffer,"le",this.span),n,i)}},en=class extends Jt{constructor(t){super(8,t);this._lower=Vn(Lt(),!1),this._upper=Vn(Lt(),!1)}addBoolean(t){this._lower.fields.length<32?this._lower.addBoolean(t):this._upper.addBoolean(t)}decode(t,n=0){let i=this._lower.decode(t,n),r=this._upper.decode(t,n+this._lower.span);return M(M({},i),r)}encode(t,n,i=0){return this._lower.encode(t,n,i)+this._upper.encode(t,n,i+this._lower.span)}};function h(a){return new vn(1,a)}function ie(a){return new vn(4,a)}function o(a){return new ot(8,!1,a)}function G(a){return new ot(16,!1,a)}function ei(a){return new ot(1,!0,a)}function pt(a){return new ot(8,!0,a)}function ti(a){return new ot(16,!0,a)}var it=class extends Jt{constructor(t,n,i,r){super(t.span,r);this.layout=t,this.decoder=n,this.encoder=i}decode(t,n){return this.decoder(this.layout.decode(t,n))}encode(t,n,i){return this.layout.encode(this.encoder(t),n,i)}getSpan(t,n){return this.layout.getSpan(t,n)}};function l(a){return new it(z(32),e=>new Or(e),e=>e.toBuffer(),a)}function Re(a){return new it(Zo(),Nr,Mr,a)}function Nr(a){if(a===0)return!1;if(a===1)return!0;throw new Error("Invalid bool: "+a)}function Mr(a){return a?1:0}function ni(a,e){let t=Lt("length"),n=w([t,L(a,_n(t,-t.span),"values")]);return new it(n,({values:i})=>i,i=>({values:i}),e)}function Fr(a){let e=Lt("length"),t=w([e,z(_n(e,-e.span),"data")]);return new it(t,({data:n})=>n,n=>({data:n}),a)}function ke(a){return new it(Fr(),e=>e.toString("utf-8"),e=>Buffer.from(e,"utf-8"),a)}var En=class extends Qo{decode(e,t){return super.decode(e,t)}};function w(a,e,t){return new En(a,e,t)}function L(a,e,t){let n,i=typeof e=="number"?e:Jo(e)?e.toNumber():new Proxy(e,{get(r,s){if(!n){let c=Reflect.get(r,"count");n=Jo(c)?c.toNumber():c,Reflect.set(r,"count",n)}return Reflect.get(r,s)},set(r,s,c){return s==="count"&&(n=c),Reflect.set(r,s,c)}});return jo(a,i,t)}var tn=w([l("mint"),l("owner"),o("amount"),ie("delegateOption"),l("delegate"),h("state"),ie("isNativeOption"),o("isNative"),o("delegatedAmount"),ie("closeAuthorityOption"),l("closeAuthority")]);import{PublicKey as UP,SystemProgram as GP}from"@solana/web3.js";import{createAssociatedTokenAccountIdempotentInstruction as XP}from"@solana/spl-token";import{PublicKey as qr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ur}from"@solana/spl-token";import{ComputeBudgetProgram as ii,Keypair as ai,PublicKey as Vr,Transaction as si,TransactionMessage as _r,VersionedTransaction as ui}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Er}from"@solana/spl-token";var ri=Q("Raydium_txUtil"),ci=1644;function on(a){let e=[],t=[];return a.microLamports&&(e.push(ii.setComputeUnitPrice({microLamports:a.microLamports})),t.push(le.SetComputeUnitPrice)),a.units&&(e.push(ii.setComputeUnitLimit({units:a.units})),t.push(le.SetComputeUnitLimit)),{instructions:e,instructionTypes:t}}async function ft(a,e){var n,i;let t=e!=null?e:"confirmed";return(i=await((n=a.getLatestBlockhash)==null?void 0:n.call(a,{commitment:t})))==null?void 0:i.blockhash}async function rn(a,e){return a.getSignatureStatuses([e]),new Promise((t,n)=>{let i=setTimeout(n,6e4);a.onSignature(e,r=>{if(clearTimeout(i),!r.err){t("");return}n(Object.assign(r.err,{txId:e}))},"confirmed")})}function Dn(a,e){a.length<1&&ri.logWithError(`no instructions provided: ${a.toString()}`),e.length<1&&ri.logWithError(`no signers provided:, ${e.toString()}`);let t=new si;t.recentBlockhash="11111111111111111111111111111111",t.feePayer=e[0],t.add(...a);try{return Buffer.from(t.serialize({verifySignatures:!1})).toString("base64").length<ci}catch{return!1}}function re(a,e){let[t,n]=Vr.findProgramAddressSync(a,e);return{publicKey:t,nonce:n}}function Ot({instructions:a,payer:e,signers:t}){return Dn(a,[e,...t])}function Nt({instructions:a,payer:e,lookupTableAddressAccount:t,recentBlockhash:n=ai.generate().publicKey.toString()}){let r=new _r({payerKey:e,recentBlockhash:n,instructions:a}).compileToV0Message(Object.values(t!=null?t:{}));try{return Buffer.from(new ui(r).serialize()).toString("base64").length<ci}catch{return!1}}var Dr=a=>Buffer.isBuffer(a)?a:a instanceof Uint8Array?Buffer.from(a.buffer,a.byteOffset,a.byteLength):Buffer.from(a),Wr=a=>{let e=a.serialize({requireAllSignatures:!1,verifySignatures:!1});a instanceof ui&&(e=Dr(e));try{return e instanceof Buffer?e.toString("base64"):Buffer.from(e).toString("base64")}catch{return e.toString("base64")}};function rt(a){let e=[];return a.forEach(t=>{t instanceof si&&(t.recentBlockhash||(t.recentBlockhash=Er.toBase58()),t.feePayer||(t.feePayer=ai.generate().publicKey)),e.push(Wr(t))}),console.log("simulate tx string:",e),e}function ue(a,e,t){return re([a.toBuffer(),(t!=null?t:Ur).toBuffer(),e.toBuffer()],new qr("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"))}import{PublicKey as E}from"@solana/web3.js";var li=new E("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),mi=new E("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),di=new E("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Wn=new E("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),fd=new E("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Gr=new E("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),pi=new E("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),fi=new E("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),yd=new E("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),zr=new E("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),yi=new E("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Xr=new E("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Yr=new E("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),bi=new E("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),bd=new E("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Qr=new E("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Zr=new E("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),Hr=new E("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),jr=new E("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),$r=new E("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),qn=new E("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Jr=new E("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),gd=new E("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),ea=new E("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ta=new E("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),ce=new E("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Pd=new E("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Ad=new E("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),wd=new E("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),kd=new E("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Td=new E("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX"),Mt={IDO_PROGRAM_ID_V1:Zr,IDO_PROGRAM_ID_V2:Hr,IDO_PROGRAM_ID_V3:jr,IDO_PROGRAM_ID_V4:$r};var Ye={OPEN_BOOK_PROGRAM:new E("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new E("Ray1111111111111111111111111111111111111111"),AMM_V4:new E("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new E("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new E("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new E("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new E("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new E("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new E("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new E("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new E("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new E("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:E.default,Router:new E("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new E("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new E("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new E("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new E("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new E("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new E("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new E("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new E("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new E("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new E("Ray1111111111111111111111111111111111111111")};import nA from"decimal.js";import{createAssociatedTokenAccountIdempotentInstruction as wb,TOKEN_2022_PROGRAM_ID as kb,TOKEN_PROGRAM_ID as Tb}from"@solana/spl-token";import{PublicKey as Ib}from"@solana/web3.js";import Sb from"bn.js";import Kb from"decimal.js";import{TOKEN_PROGRAM_ID as vd}from"@solana/spl-token";import{PublicKey as Dd}from"@solana/web3.js";var na=w([ie("mintAuthorityOption"),l("mintAuthority"),o("supply"),h("decimals"),h("isInitialized"),ie("freezeAuthorityOption"),l("freezeAuthority")]);import{ASSOCIATED_TOKEN_PROGRAM_ID as qy,TOKEN_2022_PROGRAM_ID as Uy,TOKEN_PROGRAM_ID as Gy}from"@solana/spl-token";import{Keypair as Yy,PublicKey as Qy,SystemProgram as Hy,TransactionInstruction as jy}from"@solana/web3.js";import Jy from"bn.js";import Z from"bn.js";var Me=new Z(1).shln(64);var oa=new Z(1).shln(128),an=new Z(1).shln(64).subn(1),ia=new Z(1).shln(128).subn(1);var bt=new Z("4295048016"),gt=new Z("79226673521066979257578248091"),ra=new Z("59543866431248"),aa=new Z("184467440737095516"),sa=new Z("15793534762490258745");var Un=60,$d=new Z("18446743708227953217"),ua=[{bit:0,factor:new Z("fffcb933bd6fb800",16)},{bit:1,factor:new Z("fff97272373d4000",16)},{bit:2,factor:new Z("fff2e50f5f657000",16)},{bit:3,factor:new Z("ffe5caca7e10f000",16)},{bit:4,factor:new Z("ffcb9843d60f7000",16)},{bit:5,factor:new Z("ff973b41fa98e800",16)},{bit:6,factor:new Z("ff2ea16466c9b000",16)},{bit:7,factor:new Z("fe5dee046a9a3800",16)},{bit:8,factor:new Z("fcbe86c7900bb000",16)},{bit:9,factor:new Z("f987a7253ac65800",16)},{bit:10,factor:new Z("f3392b0822bb6000",16)},{bit:11,factor:new Z("e7159475a2caf000",16)},{bit:12,factor:new Z("d097f3bdfd2f2000",16)},{bit:13,factor:new Z("a9f746462d9f8000",16)},{bit:14,factor:new Z("70d869a156f31c00",16)},{bit:15,factor:new Z("31be135f97ed3200",16)},{bit:16,factor:new Z("9aa508b5b85a500",16)},{bit:17,factor:new Z("5d6af8dedc582c",16)},{bit:18,factor:new Z("2216e584f5fa",16)}];var Ft=3,gi=100;var Pi=10,Ai=100,sn=14;var me=new Z(0),Pt=new Z(1),Jd=new Z(-1);var ep=new Z("18446744073700000000");var ca=w([z(8),h("bump"),se("index"),l("owner"),ie("protocolFeeRate"),ie("tradeFeeRate"),se("tickSpacing"),ie("fundFeeRate"),L(ie(),1),l("fundOwner"),L(o(),3)]),la=w([ie("blockTimestamp"),pt("tickCumulative"),L(o(),4)]),wi=w([z(8),Re("initialized"),o("recentEpoch"),se("observationIndex"),l("poolId"),L(la,gi,"observations"),L(o(),4)]),ma=w([se("filterPeriod"),se("decayPeriod"),se("reductionFactor"),ie("dynamicFeeControl"),ie("maxVolatilityAccumulator"),Ne("tickSpacingIndexReference"),ie("volatilityReference"),ie("volatilityAccumulator"),o("lastUpdateTimestamp"),L(h(),46)]),da=w([h("state"),o("openTime"),o("endTime"),o("lastUpdateTime"),G("emissionsPerSecondX64"),o("totalEmissioned"),o("claimed"),l("mint"),l("vault"),l("creator"),G("growthGlobalX64")]),Gn=w([z(8),h("bump"),l("configId"),l("creator"),l("mintA"),l("mintB"),l("vaultA"),l("vaultB"),l("observationId"),h("mintDecimalsA"),h("mintDecimalsB"),se("tickSpacing"),G("liquidity"),G("sqrtPriceX64"),Ne("tickCurrent"),ie(),G("feeGrowthGlobalX64A"),G("feeGrowthGlobalX64B"),o("protocolFeesTokenA"),o("protocolFeesTokenB"),L(G(),4),h("status"),h("feeOn"),z(6),L(da,Ft,"rewardInfos"),z(8*16,"tickArrayBitmap"),L(o(),4),o("fundFeesTokenA"),o("fundFeesTokenB"),o("startTime"),o("recentEpoch"),ma.replicate("dynamicFeeInfo"),L(o(),46)]),pa=w([G("growthInsideLastX64"),o("rewardAmountOwed")]),fa=w([z(8),h("bump"),l("nftMint"),l("poolId"),Ne("tickLower"),Ne("tickUpper"),G("liquidity"),G("feeGrowthInsideLastX64A"),G("feeGrowthInsideLastX64B"),o("tokenFeesOwedA"),o("tokenFeesOwedB"),L(pa,Ft,"rewardInfos"),o("recentEpoch"),L(o(),7)]),ip=w([z(8),h("bump"),l("poolId"),Ne("tickLower"),Ne("tickUpper"),G("liquidity"),G("feeGrowthInsideLastX64A"),G("feeGrowthInsideLastX64B"),o("tokenFeesOwedA"),o("tokenFeesOwedB"),L(G(),Ft,"rewardGrowthInside"),o("recentEpoch"),L(o(),7)]),ya=w([Ne("tick"),ti("liquidityNet"),G("liquidityGross"),G("feeGrowthOutsideX64A"),G("feeGrowthOutsideX64B"),L(G(),Ft,"rewardGrowthsOutsideX64"),o("orderPhase"),o("ordersAmount"),o("partFilledOrdersRemaining"),G("unfilledRatioX64"),L(ie(),3)]),ki=w([z(8),l("poolId"),Ne("startTickIndex"),L(ya,Un,"ticks"),h("initializedTickCount"),o("recentEpoch"),L(h(),107)]),ba=w([z(8),h("bump"),L(l(),Pi,"operationOwners"),L(l(),Ai,"whitelistMints")]),ga=w([z(8),l("poolId"),l("owner"),Ne("tick"),Re("zeroForOne"),o("orderPhase"),o("totalAmount"),o("filledAmount"),o("settleBase"),o("settleOutput"),o("openTime"),G("unfilledRatioX64"),L(o(),4)]),Ti=w([z(8),l("poolId"),z(8*8*sn,"positiveTickArrayBitmap"),z(8*8*sn,"negativeTickArrayBitmap")]),rp=w([z(8),se("index"),se("filterPeriod"),se("decayPeriod"),se("reductionFactor"),ie("dynamicFeeControl"),ie("maxVolatilityAccumulator"),L(o(),8)]),Pa=w([z(8),l("wallet"),h("nonceIndex"),o("orderNonce"),L(o(),4)]),ap=w([o(),h("bump"),l("owner"),l("poolId"),l("positionId"),l("nftAccount"),L(o(),8)]),Aa=w([z(8),h("bump"),l("lockOwner"),l("poolId"),l("positionId"),l("nftAccount"),l("lockNftMint"),o("recentEpoch"),L(o(),8)]);import cp from"bn.js";var wp=Buffer.from("amm_config","utf8"),hi=Buffer.from("pool","utf8"),Ii=Buffer.from("pool_vault","utf8"),kp=Buffer.from("pool_reward_vault","utf8"),Tp=Buffer.from("position","utf8"),hp=Buffer.from("tick_array","utf8"),Ip=Buffer.from("operation","utf8"),Bp=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Sp=Buffer.from("observation","utf8"),xp=Buffer.from("support_mint","utf8"),Kp=Buffer.from("dynamic_fee_config","utf8");function un(a){return re([Buffer.from("metadata","utf8"),nt.toBuffer(),a.toBuffer()],nt)}var Cp=Buffer.from("locked_position","utf8");import{sha256 as Ma}from"js-sha256";import wa from"bn.js";import Np from"decimal.js";var Fp=new wa(1).shln(256).subn(1);import Jp from"bn.js";import qp from"bn.js";import Gp from"decimal.js";import rf from"bn.js";import sf from"decimal.js";import{PublicKey as Yf}from"@solana/web3.js";import Zf from"bn.js";import{TOKEN_2022_PROGRAM_ID as oy}from"@solana/spl-token";import sy from"decimal.js";import vf from"bn.js";import hf from"bn.js";import by from"bn.js";function de(a){let e=`global:${a}`;return Buffer.from(Ma.digest(e)).slice(0,8)}wi.span;var sb=Q("Raydium_Clmm"),ub={createPool:de("create_pool"),createCustomizablePool:de("create_customizable_pool"),openPositionV2:de("open_position_v2"),openPositionWithToken22Nft:de("open_position_with_token22_nft"),closePosition:de("close_position"),increaseLiquidityV2:de("increase_liquidity_v2"),decreaseLiquidityV2:de("decrease_liquidity_v2"),initializeReward:de("initialize_reward"),setRewardParams:de("set_reward_params"),updateRewardInfos:de("update_reward_infos"),collectRemainingRewards:de("collect_remaining_rewards"),swapV2:de("swap_v2"),openLimitOrder:de("open_limit_order"),increaseLimitOrder:de("increase_limit_order"),decreaseLimitOrder:de("decrease_limit_order"),settleLimitOrder:de("settle_limit_order"),closeLimitOrder:de("close_limit_order")};import{PublicKey as Zn}from"@solana/web3.js";var Ea=w([h("instruction")]),Da=w([h("instruction")]),Wa=w([o("rewardState"),o("rewardOpenTime"),o("rewardEndTime"),o("rewardLastUpdateTime"),o("totalReward"),o("totalRewardEmissioned"),o("rewardClaimed"),o("rewardPerSecond"),G("accRewardPerShare"),l("rewardVault"),l("rewardMint"),l("rewardSender"),o("rewardType"),L(o(),15,"padding")]),qa=w([o("state"),o("nonce"),l("lpVault"),l("rewardVault"),l(),l(),o(),o(),o("totalReward"),G("perShareReward"),o("lastSlot"),o("perSlotReward")]),Ua=w([o("state"),o("nonce"),l("lpVault"),l("rewardVaultA"),o("totalRewardA"),G("perShareRewardA"),o("perSlotRewardA"),h("option"),l("rewardVaultB"),z(7),o("totalRewardB"),G("perShareRewardB"),o("perSlotRewardB"),o("lastSlot"),l()]),Ga=w([o(),o("state"),o("nonce"),o("validRewardTokenNum"),G("rewardMultiplier"),o("rewardPeriodMax"),o("rewardPeriodMin"),o("rewardPeriodExtend"),l("lpMint"),l("lpVault"),L(Wa,5,"rewardInfos"),l("creator"),l(),L(o(),32,"padding")]),za=new Proxy(qa,{get(a,e,t){return e==="decode"?(...n)=>{let i=a.decode(...n);return D(M({},i),{version:3,rewardInfos:[{rewardVault:i.rewardVault,totalReward:i.totalReward,perSlotReward:i.perSlotReward,perShareReward:i.perShareReward}]})}:Reflect.get(a,e,t)}}),Xa=new Proxy(Ua,{get(a,e,t){return e==="decode"?(...n)=>{let i=a.decode(...n);return D(M({},i),{version:5,rewardInfos:[{rewardVault:i.rewardVaultA,totalReward:i.totalRewardA,perSlotReward:i.perSlotRewardA,perShareReward:i.perShareRewardA},{rewardVault:i.rewardVaultB,totalReward:i.totalRewardB,perSlotReward:i.perSlotRewardB,perShareReward:i.perShareRewardB}]})}:Reflect.get(a,e,t)}}),Ci=new Proxy(Ga,{get(a,e,t){return e==="decode"?(...n)=>{let i=a.decode(...n);return D(M({},i),{version:6,rewardInfos:i.rewardInfos.map(r=>{var s;return D(M({},r),{rewardType:((s=Object.entries(_t).find(c=>String(c[1])===r.rewardType.toString()))!=null?s:["Standard SPL"])[0]})})})}:Reflect.get(a,e,t)}}),Ya=w([o("isSet"),o("rewardPerSecond"),o("rewardOpenTime"),o("rewardEndTime"),o("rewardType")]),Qa=w([h("instruction"),o("nonce"),L(Ya,5,"rewardTimeInfo")]),Za=w([h("instruction"),o("rewardReopenTime"),o("rewardEndTime"),o("rewardPerSecond")]),Ha=w([h("instruction"),o("isSet"),o("rewardPerSecond"),o("rewardOpenTime"),o("rewardEndTime"),o("rewardType")]),sg=w([o("state"),l("id"),l("owner"),o("deposited"),L(o(),1,"rewardDebts")]),Ri=w([o("state"),l("id"),l("owner"),o("deposited"),L(G(),1,"rewardDebts"),o(""),o("voteLockedBalance"),L(o(),15)]),ug=w([o("state"),l("id"),l("owner"),o("deposited"),L(o(),2,"rewardDebts")]),ja=w([o("state"),l("id"),l("owner"),o("deposited"),L(G(),2,"rewardDebts"),L(o(),17)]),$a=w([o(),o("state"),l("id"),l("owner"),o("deposited"),L(G(),5,"rewardDebts"),L(o(),16)]),Ja=w([h("instruction"),o("amount")]),es=w([l("mint"),l("grantAuthority"),o("baselineVoteWeightScaledFactor"),o("maxExtraLockupVoteWeightScaledFactor"),o("lockupSaturationSecs"),ei("digitShift"),L(h(),7,"reserved1"),L(o(),7,"reserved2")]),ts=w([z(8),l("governanceProgramId"),l("realm"),l("realmGoverningTokenMint"),l("realmAuthority"),L(h(),32,"reserved1"),L(es,4,"votingMints"),pt("timeOffset"),h("bump"),L(h(),7,"reserved2"),L(o(),11,"reserved3")]),ns=w([pt("startTime"),pt("endTime"),h("kind"),L(h(),15,"reserved")]),os=w([L(ns,1,"lockup"),o("amountDeposited_native"),o("amountInitiallyLockedNative"),Re("isUsed"),Re("allowClawback"),h("votingMintConfigIdx"),L(h(),29,"reserved")]),is=w([z(8),l("voterAuthority"),l("registrar"),L(os,32,"deposits"),h("voterBump"),h("voterWweightRecordBump"),L(h(),94,"reserved")]);import{NATIVE_MINT as gg}from"@solana/spl-token";var Pg=Q("Raydium_farm_config"),rs=new Zn("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),as=new Zn("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1");var Ag=new Zn("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX");var _t={"Standard SPL":0,"Option tokens":1},Li={[li.toString()]:3,[mi.toString()]:4,[di.toString()]:5,[Wn.toString()]:6,[Ye.FARM_PROGRAM_ID_V3.toString()]:3,[Ye.FARM_PROGRAM_ID_V4.toString()]:4,[Ye.FARM_PROGRAM_ID_V5.toString()]:5,[Ye.FARM_PROGRAM_ID_V6.toString()]:6};import{PublicKey as iP,SystemProgram as rP,SYSVAR_CLOCK_PUBKEY as aP,SYSVAR_RENT_PUBKEY as sP,TransactionInstruction as uP}from"@solana/web3.js";import lP from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as dP,createAssociatedTokenAccountIdempotentInstruction as pP,TOKEN_PROGRAM_ID as fP}from"@solana/spl-token";import Mg from"bn.js";import{PublicKey as Bg}from"@solana/web3.js";import xg from"bn.js";var Yg=Q("Raydium.farm.util");var BP=Q("Raydium_farm_instruction"),SP={voterStakeRegistryCreateVoter:Buffer.from([6,24,245,52,243,255,148,25]),voterStakeRegistryCreateDepositEntry:Buffer.from([185,131,167,186,159,125,19,67]),voterStakeRegistryDeposit:Buffer.from([242,35,198,137,82,225,242,182]),voterStakeRegistryWithdraw:Buffer.from([183,18,70,156,148,109,161,34]),voterStakeRegistryUpdateVoterWeightRecord:Buffer.from([45,185,3,36,109,190,115,169])};import pA from"bn.js";import{PublicKey as Ak}from"@solana/web3.js";import{AccountLayout as Tk,MintLayout as hk,NATIVE_MINT as Ik,TOKEN_PROGRAM_ID as Sk}from"@solana/spl-token";import be from"bn.js";var Et=1e4;function pn(a,e){let{div:t,mod:n}=a.divmod(e);return n.gt(new be(0))?t.add(new be(1)):t}function st(a,e){if(a.isZero())return new be(0);let t=a.div(e);return t.isZero()?new be(1):a.mod(e).gt(new be(0))?t.add(new be(1)):t}function Hn(a,e,t){if(e===void 0)return{amount:a,fee:void 0,expirationTime:void 0};let n=Math.floor(t/432e3),i=n<e.newerTransferFee.epoch?e.olderTransferFee:e.newerTransferFee,r=new be(i.maximumFee.toString()),s=n<e.newerTransferFee.epoch?(Number(e.newerTransferFee.epoch)*432e3-t)*400/1e3:void 0,c=pn(a.mul(new be(i.transferFeeBasisPoints)),new be(Et)),u=c.gt(r)?r:c;return{amount:a,fee:u,expirationTime:s}}function jn(a,e,t){if(e===void 0)return{amount:a,fee:void 0,expirationTime:void 0};let n=Math.floor(t/432e3),i=n<e.newerTransferFee.epoch?e.olderTransferFee:e.newerTransferFee,r=new be(i.maximumFee.toString()),s=n<e.newerTransferFee.epoch?(Number(e.newerTransferFee.epoch)*432e3-t)*400/1e3:void 0;if(i.transferFeeBasisPoints===Et){let c=new be(i.maximumFee.toString());return{amount:a.add(c),fee:c,expirationTime:s}}else{let c=pn(a.mul(new be(Et)),new be(Et-i.transferFeeBasisPoints)),u=new be(i.maximumFee.toString()),m=c.sub(a).gt(u)?a.add(u):c,d=pn(m.mul(new be(i.transferFeeBasisPoints)),new be(Et)),p=d.gt(r)?r:d;return{amount:m,fee:p,expirationTime:s}}}import Ni from"bn.js";var fs=new Ni(25),ys=new Ni(1e4);import{ASSOCIATED_TOKEN_PROGRAM_ID as VA,TOKEN_PROGRAM_ID as _A}from"@solana/spl-token";import{PublicKey as DA,SystemProgram as WA,SYSVAR_RENT_PUBKEY as qA,TransactionInstruction as UA}from"@solana/web3.js";import jA from"bn.js";var bs=w([h("instruction"),o("amountIn"),o("minAmountOut")]),gs=w([h("instruction"),o("maxAmountIn"),o("amountOut")]),NA=w([h("instruction"),h("nonce")]),Ps=w([h("instruction"),h("nonce"),o("startTime")]),Mi=w([o("status"),o("nonce"),o("maxOrder"),o("depth"),o("baseDecimal"),o("quoteDecimal"),o("state"),o("resetFlag"),o("minSize"),o("volMaxCutRatio"),o("amountWaveRatio"),o("baseLotSize"),o("quoteLotSize"),o("minPriceMultiplier"),o("maxPriceMultiplier"),o("systemDecimalValue"),o("minSeparateNumerator"),o("minSeparateDenominator"),o("tradeFeeNumerator"),o("tradeFeeDenominator"),o("pnlNumerator"),o("pnlDenominator"),o("swapFeeNumerator"),o("swapFeeDenominator"),o("baseNeedTakePnl"),o("quoteNeedTakePnl"),o("quoteTotalPnl"),o("baseTotalPnl"),o("poolOpenTime"),o("punishPcAmount"),o("punishCoinAmount"),o("orderbookToInitTime"),G("swapBaseInAmount"),G("swapQuoteOutAmount"),o("swapBase2QuoteFee"),G("swapQuoteInAmount"),G("swapBaseOutAmount"),o("swapQuote2BaseFee"),l("baseVault"),l("quoteVault"),l("baseMint"),l("quoteMint"),l("lpMint"),l("openOrders"),l("marketId"),l("marketProgramId"),l("targetOrders"),l("withdrawQueue"),l("lpVault"),l("owner"),o("lpReserve"),L(o(),3,"padding")]),MA=w([o("accountType"),o("status"),o("nonce"),o("maxOrder"),o("depth"),o("baseDecimal"),o("quoteDecimal"),o("state"),o("resetFlag"),o("minSize"),o("volMaxCutRatio"),o("amountWaveRatio"),o("baseLotSize"),o("quoteLotSize"),o("minPriceMultiplier"),o("maxPriceMultiplier"),o("systemDecimalsValue"),o("abortTradeFactor"),o("priceTickMultiplier"),o("priceTick"),o("minSeparateNumerator"),o("minSeparateDenominator"),o("tradeFeeNumerator"),o("tradeFeeDenominator"),o("pnlNumerator"),o("pnlDenominator"),o("swapFeeNumerator"),o("swapFeeDenominator"),o("baseNeedTakePnl"),o("quoteNeedTakePnl"),o("quoteTotalPnl"),o("baseTotalPnl"),o("poolOpenTime"),o("punishPcAmount"),o("punishCoinAmount"),o("orderbookToInitTime"),G("swapBaseInAmount"),G("swapQuoteOutAmount"),G("swapQuoteInAmount"),G("swapBaseOutAmount"),o("swapQuote2BaseFee"),o("swapBase2QuoteFee"),l("baseVault"),l("quoteVault"),l("baseMint"),l("quoteMint"),l("lpMint"),l("modelDataAccount"),l("openOrders"),l("marketId"),l("marketProgramId"),l("targetOrders"),l("owner"),L(o(),64,"padding")]),As=w([h("instruction"),o("baseAmountIn"),o("quoteAmountIn"),o("fixedSide"),o("otherAmountMin")]),ws=w([h("instruction"),o("lpAmount"),o("baseAmountMin"),o("quoteAmountMin")]);var ks=w([o("fee")]);var ew=Q("Raydium_liquidity_instruction");var Ts=5e4,hs=w([o("x"),o("y"),o("price")]),iw=w([o("accountType"),o("status"),o("multiplier"),o("validDataCount"),L(hs,Ts,"DataElement")]);import{PublicKey as bw}from"@solana/web3.js";import Pw from"decimal.js";import{TOKEN_PROGRAM_ID as ww}from"@solana/spl-token";import{PublicKey as uw}from"@solana/web3.js";var mw=Q("Raydium_liquidity_serum");import Xk from"bn.js";import Qk from"decimal.js";import{TOKEN_PROGRAM_ID as Yw}from"@solana/spl-token";import{PublicKey as Zw}from"@solana/web3.js";import jw from"bn.js";import{SystemProgram as Mw,SYSVAR_RENT_PUBKEY as Fw,Transaction as vw,TransactionInstruction as Vw}from"@solana/web3.js";import{createInitializeAccountInstruction as Ew,TOKEN_PROGRAM_ID as Dw}from"@solana/spl-token";function Is(a="accountFlags"){let e=new en(a);return e.addBoolean("initialized"),e.addBoolean("market"),e.addBoolean("openOrders"),e.addBoolean("requestQueue"),e.addBoolean("eventQueue"),e.addBoolean("bids"),e.addBoolean("asks"),e}var Bs=w([z(5),Is("accountFlags"),l("ownAddress"),o("vaultSignerNonce"),l("baseMint"),l("quoteMint"),l("baseVault"),o("baseDepositsTotal"),o("baseFeesAccrued"),l("quoteVault"),o("quoteDepositsTotal"),o("quoteFeesAccrued"),o("quoteDustThreshold"),l("requestQueue"),l("eventQueue"),l("bids"),l("asks"),o("baseLotSize"),o("quoteLotSize"),o("feeRateBps"),o("referrerRebatesAccrued"),z(7)]);import{PublicKey as Ph}from"@solana/web3.js";import{AccountLayout as wh,NATIVE_MINT as kh,TOKEN_2022_PROGRAM_ID as Th,TOKEN_PROGRAM_ID as hh,createAssociatedTokenAccountIdempotentInstruction as Ih}from"@solana/spl-token";import PT from"bn.js";import Os from"bn.js";var iT=new Os(0);import lT from"bn.js";import Ns from"bn.js";var De=new Ns(1e6);import Oh from"bn.js";import Mh from"decimal.js";import{PublicKey as vT,TransactionInstruction as VT,Keypair as ET,SystemProgram as DT}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as qT,TOKEN_2022_PROGRAM_ID as UT,TOKEN_PROGRAM_ID as GT}from"@solana/spl-token";var hT=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),IT=Buffer.from("amm_config","utf8"),BT=Buffer.from("pool","utf8"),ST=Buffer.from("pool_lp_mint","utf8"),xT=Buffer.from("pool_vault","utf8"),KT=Buffer.from("observation","utf8"),CT=Buffer.from("permission","utf8"),RT=Buffer.from("support_mint","utf8");var LT=Buffer.from("locked_liquidity","utf8");var jT=Q("Raydium_cpmm"),$T={initialize:[175,175,109,31,13,152,155,237],deposit:[242,35,198,137,82,225,242,182],withdraw:[183,18,70,156,148,109,161,34],swapBaseInput:[143,190,90,218,196,30,51,222],swapBaseOutput:[55,217,98,86,163,74,180,173],lockCpLiquidity:[216,157,29,78,38,51,31,26],collectCpFee:[8,30,51,199,209,184,247,133],createPermissionPda:Buffer.from([135,136,2,216,137,169,181,202]),closePermissionPda:Buffer.from([156,84,32,118,69,135,70,123]),initializeWithPermission:Buffer.from([63,55,254,65,49,178,89,121]),collectCreatorFee:Buffer.from([20,22,86,123,198,28,219,132])};var Fs=w([z(8),h("bump"),Re("disableCreatePool"),se("index"),o("tradeFeeRate"),o("protocolFeeRate"),o("fundFeeRate"),o("createPoolFee"),l("protocolOwner"),l("fundOwner"),o("creatorFeeRate"),L(o(),15)]),Fi=w([z(8),l("configId"),l("poolCreator"),l("vaultA"),l("vaultB"),l("mintLp"),l("mintA"),l("mintB"),l("mintProgramA"),l("mintProgramB"),l("observationId"),h("bump"),h("status"),h("lpDecimals"),h("mintDecimalA"),h("mintDecimalB"),o("lpAmount"),o("protocolFeesMintA"),o("protocolFeesMintB"),o("fundFeesMintA"),o("fundFeesMintB"),o("openTime"),o("epoch"),h("feeOn"),Re("enableCreatorFee"),L(h(),6),o("creatorFeesMintA"),o("creatorFeesMintB"),L(o(),28)]),th=w([z(8),l("configId"),L(o(),30)]);import{PublicKey as IS,SystemProgram as BS}from"@solana/web3.js";import{createTransferInstruction as xS,TOKEN_PROGRAM_ID as KS,TOKEN_2022_PROGRAM_ID as CS,createAssociatedTokenAccountIdempotentInstruction as RS,createSyncNativeInstruction as OS,createTransferCheckedInstruction as NS}from"@solana/spl-token";import Zs from"bn.js";import vS from"decimal.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as fn,TOKEN_2022_PROGRAM_ID as Xs,TOKEN_PROGRAM_ID as io}from"@solana/spl-token";import{SystemProgram as xe,TransactionInstruction as Te}from"@solana/web3.js";import Tt from"bn.js";var Qe=w([o(),o("epoch"),h("curveType"),se("index"),o("migrateFee"),o("tradeFeeRate"),o("maxShareFeeRate"),o("minSupplyA"),o("maxLockRate"),o("minSellRateA"),o("minMigrateRateA"),o("minFundRaisingB"),l("mintB"),l("protocolFeeOwner"),l("migrateFeeOwner"),l("migrateToAmmWallet"),l("migrateToCpmmWallet"),L(o(),16)]),_s=w([o("totalLockedAmount"),o("cliffPeriod"),o("unlockPeriod"),o("startTime"),o("totalAllocatedShare")]),Fe=w([o(),o("epoch"),h("bump"),h("status"),h("mintDecimalsA"),h("mintDecimalsB"),h("migrateType"),o("supply"),o("totalSellA"),o("virtualA"),o("virtualB"),o("realA"),o("realB"),o("totalFundRaisingB"),o("protocolFee"),o("platformFee"),o("migrateFee"),_s.replicate("vestingSchedule"),l("configId"),l("platformId"),l("mintA"),l("mintB"),l("vaultA"),l("vaultB"),l("creator"),h("mintProgramFlag"),h("cpmmCreatorFeeOn"),o("platformVestingShare"),L(h(),54)]),BI=w([o(),o("epoch"),l("poolId"),l("beneficiary"),o("claimedAmount"),o("tokenShareAmount"),L(o(),8)]),Vi=w([h("migrateType"),h("migrateCpmmFeeOn"),o("supply"),o("totalSellA"),o("totalFundRaisingB"),o("totalLockedAmount"),o("cliffPeriod"),o("unlockPeriod")]),Es=w([o("epoch"),h("index"),l("configId"),Vi.replicate("bondingCurveParam"),L(o(),50)]),ut=w([o(),o("epoch"),l("platformClaimFeeWallet"),l("platformLockNftWallet"),o("platformScale"),o("creatorScale"),o("burnScale"),o("feeRate"),L(h(),64,"name"),L(h(),256,"web"),L(h(),256,"img"),l("cpConfigId"),o("creatorFeeRate"),l("transferFeeExtensionAuth"),l("platformVestingWallet"),o("platformVestingScale"),l("platformCpCreator"),L(h(),108),ni(Es,"platformCurve")]);var Ds=Buffer.from("vault_auth_seed","utf8"),LI=Buffer.from("global_config","utf8"),Ws=Buffer.from("pool_vesting","utf8"),qs=Buffer.from("platform_config","utf8"),Us=Buffer.from("platform_fee_vault_auth_seed","utf8"),Gs=Buffer.from("creator_fee_vault_auth_seed","utf8"),zs=Buffer.from("platform_global_access","utf8");function ve(a){return re([Ds],a)}function wt(a,e,t){return re([hi,e.toBuffer(),t.toBuffer()],a)}function Jn(a,e,t){return re([Ii,e.toBuffer(),t.toBuffer()],a)}function ct(a){return re([Buffer.from("__event_authority","utf8")],a)}function eo(a,e){return re([qs,e.toBuffer()],a)}function kt(a,e,t){return re([Ws,e.toBuffer(),t.toBuffer()],a)}function Ze(a,e,t){return re([e.toBuffer(),t.toBuffer()],a)}function to(a){return re([Us],a)}function He(a,e,t){return re([e.toBuffer(),t.toBuffer()],a)}function no(a){return re([Gs],a)}function oo(a,e,t){return re([zs,e.toBuffer(),t.toBuffer()],a)}var he={initialize:Buffer.from([175,175,109,31,13,152,155,237]),initializeV2:Buffer.from([67,153,175,39,218,16,38,32]),buyExactIn:Buffer.from([250,234,13,123,213,156,19,236]),buyExactOut:Buffer.from([24,211,116,40,105,3,153,56]),sellExactIn:Buffer.from([149,39,222,155,211,124,152,26]),sellExactOut:Buffer.from([95,200,71,34,8,9,11,166]),createVestingAccount:Buffer.from([129,178,2,13,217,172,230,218]),claimVestedToken:Buffer.from([49,33,104,30,189,157,79,35]),createPlatformConfig:Buffer.from([176,90,196,175,253,113,220,20]),claimPlatformFee:Buffer.from([156,39,208,135,76,237,61,72]),updatePlaformConfig:Buffer.from([195,60,76,129,146,45,67,143]),initializeWithToken2022:Buffer.from([37,190,126,222,44,154,171,17]),claimPlatformFeeFromVault:Buffer.from([117,241,198,168,248,218,80,29]),claimCreatorFee:Buffer.from([26,97,138,203,132,171,141,252]),updatePlatformCurveParam:Buffer.from([138,144,138,250,220,128,4,57]),removePlatformCurveParam:Buffer.from([27,30,62,169,93,224,24,145]),createPlatformVestingAccount:Buffer.from([146,71,173,69,98,19,15,106])};function _i(a,e,t,n,i,r,s,c,u,m,d,p,T,g,P,f,k,B,I,R,O,A){let S=w([h("decimals"),ke("name"),ke("symbol"),ke("uri")]),C=w([o("totalLockedAmount"),o("cliffPeriod"),o("unlockPeriod"),h("cpmmCreatorFeeOn")]),x=w([h("index"),o("supply"),o("totalFundRaisingB"),h("migrateType")]),N=w([h("index"),o("supply"),o("totalSellA"),o("totalFundRaisingB"),h("migrateType")]),V=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!0,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!1},{pubkey:m,isSigner:!1,isWritable:!0},{pubkey:d,isSigner:!1,isWritable:!0},{pubkey:p,isSigner:!1,isWritable:!0},{pubkey:io,isSigner:!1,isWritable:!1},{pubkey:io,isSigner:!1,isWritable:!1},{pubkey:nt,isSigner:!1,isWritable:!1},{pubkey:xe.programId,isSigner:!1,isWritable:!1},{pubkey:tt,isSigner:!1,isWritable:!1},{pubkey:ct(a).publicKey,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!1}];A&&V.push({pubkey:A,isSigner:!1,isWritable:!1});let F=Buffer.alloc(Buffer.from(g,"utf-8").length+Buffer.from(P,"utf-8").length+Buffer.from(f,"utf-8").length+4*3+1),q=Buffer.alloc(C.span),v=Buffer.alloc(k.type==="ConstantCurve"?N.span:x.span);return S.encode({decimals:T,name:g,symbol:P,uri:f},F),k.type==="ConstantCurve"?N.encode(D(M({index:0},k),{migrateType:k.migrateType==="amm"?0:1}),v):k.type==="FixedCurve"?x.encode(D(M({index:1},k),{migrateType:k.migrateType==="amm"?0:1}),v):k.type==="LinearCurve"&&x.encode(D(M({index:2},k),{migrateType:k.migrateType==="amm"?0:1}),v),C.encode({totalLockedAmount:B,cliffPeriod:I,unlockPeriod:R,cpmmCreatorFeeOn:O},q),new Te({keys:V,programId:a,data:Buffer.from([...he.initializeV2,...F,...v,...q])})}function Ei(a,e,t,n,i,r,s,c,u,m,d,p,T,g,P,f,k,B,I,R,O,A){let S=w([h("decimals"),ke("name"),ke("symbol"),ke("uri")]),C=w([o("totalLockedAmount"),o("cliffPeriod"),o("unlockPeriod"),h("cpmmCreatorFeeOn"),h("transferFeeExtensionParamsOption"),w([se("transferFeeBasePoints"),o("maxinumFee")]).replicate("transferFeeExtensionParams")]),x=w([h("index"),o("supply"),o("totalFundRaisingB"),h("migrateType")]),N=w([h("index"),o("supply"),o("totalSellA"),o("totalFundRaisingB"),h("migrateType")]),V=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!0,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!1},{pubkey:m,isSigner:!1,isWritable:!0},{pubkey:d,isSigner:!1,isWritable:!0},{pubkey:Xs,isSigner:!1,isWritable:!1},{pubkey:io,isSigner:!1,isWritable:!1},{pubkey:xe.programId,isSigner:!1,isWritable:!1},{pubkey:ct(a).publicKey,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!1}];A&&V.push({pubkey:A,isSigner:!1,isWritable:!1});let F=Buffer.alloc(Buffer.from(T,"utf-8").length+Buffer.from(g,"utf-8").length+Buffer.from(P,"utf-8").length+4*3+1),q=Buffer.alloc(C.span),v=Buffer.alloc(f.type==="ConstantCurve"?N.span:x.span);return S.encode({decimals:p,name:T,symbol:g,uri:P},F),f.type==="ConstantCurve"?N.encode(D(M({index:0},f),{migrateType:f.migrateType==="amm"?0:1}),v):f.type==="FixedCurve"?x.encode(D(M({index:1},f),{migrateType:f.migrateType==="amm"?0:1}),v):f.type==="LinearCurve"&&x.encode(D(M({index:2},f),{migrateType:f.migrateType==="amm"?0:1}),v),C.encode({totalLockedAmount:k,cliffPeriod:B,unlockPeriod:I,cpmmCreatorFeeOn:R,transferFeeExtensionParamsOption:O?1:0,transferFeeExtensionParams:O!=null?O:{transferFeeBasePoints:0,maxinumFee:new Tt(0)}},q),new Te({keys:V,programId:a,data:Buffer.from([...he.initializeWithToken2022,...F,...v,...q])})}function ro(a,e,t,n,i,r,s,c,u,m,d,p,T,g,P,f,k,B,I,R){let O=w([o("amountB"),o("minAmountA"),o("shareFeeRate")]),A=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1