UNPKG

@sega-so/sega-sdk

Version:

An SDK for building applications on top of SEGA.

2 lines 21.3 kB
var Ee=Object.defineProperty,Oe=Object.defineProperties;var Fe=Object.getOwnPropertyDescriptors;var le=Object.getOwnPropertySymbols;var Ve=Object.prototype.hasOwnProperty,ve=Object.prototype.propertyIsEnumerable;var me=(t,e,n)=>e in t?Ee(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,C=(t,e)=>{for(var n in e||(e={}))Ve.call(e,n)&&me(t,n,e[n]);if(le)for(var n of le(e))ve.call(e,n)&&me(t,n,e[n]);return t},D=(t,e)=>Oe(t,Fe(e));var K=(t,e,n)=>new Promise((r,i)=>{var u=o=>{try{m(n.next(o))}catch(s){i(s)}},c=o=>{try{m(n.throw(o))}catch(s){i(s)}},m=o=>o.done?r(o.value):Promise.resolve(o.value).then(u,c);m((n=n.apply(t,e)).next())});import{PublicKey as q,TransactionInstruction as M,Keypair as ht,SystemProgram as Pt}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as _e,TOKEN_2022_PROGRAM_ID as ue,TOKEN_PROGRAM_ID as I}from"@solana/spl-token";import{PublicKey as Ct}from"@solana/web3.js";import{get as pe,set as Ue}from"lodash";var Z=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}},fe={},qe={};function T(t){let e=pe(fe,t);if(!e){let n=pe(qe,t);e=new Z({name:t,logLevel:n}),Ue(fe,t,e)}return e}import{MINT_SIZE as Nt,TOKEN_PROGRAM_ID as _t,getTransferFeeConfig as Dt,unpackMint as Rt}from"@solana/spl-token";var Et=T("Sega_accountInfo_util");import k from"bn.js";import Wr from"decimal.js";import Xe from"big.js";import rn from"bn.js";import Ge from"toformat";var je=Ge,E=je;import j from"big.js";import ze from"bn.js";import Ye from"decimal.js-light";import O from"bn.js";var de=9007199254740991;function w(t){let e=T("Sega_parseBigNumberish");if(t instanceof O)return t;if(typeof t=="string"){if(t.match(/^-?[0-9]+$/))return new O(t);e.logWithError(`invalid BigNumberish string: ${t}`)}return typeof t=="number"?(t%1&&e.logWithError(`BigNumberish number underflow: ${t}`),(t>=de||t<=-de)&&e.logWithError(`BigNumberish number overflow: ${t}`),new O(String(t))):typeof t=="bigint"?new O(t.toString()):(e.error(`invalid BigNumberish value: ${t}`),new O(0))}var G=T("module/fraction"),$=E(j),F=E(Ye),Je={0:F.ROUND_DOWN,1:F.ROUND_HALF_UP,2:F.ROUND_UP},Ze={0:j.roundDown,1:j.roundHalfUp,2:j.roundUp},S=class t{constructor(e,n=new ze(1)){this.numerator=w(e),this.denominator=w(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(w(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(w(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(w(e));return new t(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(e){let n=e instanceof t?e:new t(w(e));return new t(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(e,n={groupSeparator:""},r=1){Number.isInteger(e)||G.logWithError(`${e} is not an integer.`),e<=0&&G.logWithError(`${e} is not positive.`),F.set({precision:e+1,rounding:Je[r]});let i=new F(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)||G.logWithError(`${e} is not an integer.`),e<0&&G.logWithError(`${e} is negative.`),$.DP=e,$.RM=Ze[r]||1,new $(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,n)}isZero(){return this.numerator.isZero()}};var fn=T("Sega_amount"),dn=E(Xe);import{PublicKey as Qe}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ge}from"@solana/spl-token";var be={chainId:101,address:Qe.default.toBase58(),programId:ge.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"sega",extensions:{coingeckoId:"solana"}},W={chainId:101,address:"So11111111111111111111111111111111111111112",programId:ge.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"}};import{PublicKey as ne}from"@solana/web3.js";import{PublicKey as a,SystemProgram as ye,SYSVAR_RENT_PUBKEY as et}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as tt}from"@solana/spl-token";function Q({pubkey:t,isSigner:e=!1,isWritable:n=!0}){return{pubkey:t,isWritable:n,isSigner:e}}var wn=[Q({pubkey:tt,isWritable:!1}),Q({pubkey:ye.programId,isWritable:!1}),Q({pubkey:et,isWritable:!1})];function he({publicKey:t,transformSol:e}){let n=Pe(t.toString());if(n instanceof a)return e&&n.equals(V)?X:n;if(e&&n.toString()===V.toBase58())return X;if(typeof n=="string"){if(n===a.default.toBase58())return a.default;try{return new a(n)}catch(r){throw new Error("invalid public key")}}throw new Error("invalid public key")}function Pe(t){try{return new a(t)}catch(e){return t}}var Sn=new a("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),ee=new a("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),te=new a("SysvarRent111111111111111111111111111111111"),kn=new a("SysvarC1ock11111111111111111111111111111111"),v=new a("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Bn=new a("Sysvar1nstructions1111111111111111111111111"),Te=ye.programId,An=new a("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),In=new a("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Ln=new a("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Cn=new a("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Kn=new a("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Wn=new a("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Mn=new a("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Nn=new a("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),_n=new a("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Dn=new a("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Rn=new a("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),X=new a("So11111111111111111111111111111111111111112"),V=a.default;var H=class H{constructor({mint:e,decimals:n,symbol:r,name:i,skipMint:u=!1,isToken2022:c=!1}){if(e===V.toBase58()||e instanceof ne&&V.equals(e)){this.decimals=W.decimals,this.symbol=W.symbol,this.name=W.name,this.mint=new ne(W.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=u?ne.default:he({publicKey:e}),this.isToken2022=c}equals(e){return this===e?!0:this.mint.equals(e.mint)}};H.WSOL=new H(D(C({},W),{mint:W.address}));var U=H;var z=class z{constructor({decimals:e,symbol:n="UNKNOWN",name:r="UNKNOWN"}){this.decimals=e,this.symbol=n,this.name=r}equals(e){return this===e}};z.SOL=new z(be);var re=z;import nt from"bn.js";var Jn=new S(new nt(100));var tr=T("Sega_price");import{PublicKey as hr}from"@solana/web3.js";import Tr from"bn.js";var rt=new k(0),vr=new k(1),Ur=new k(2),qr=new k(3),Gr=new k(5),$e=new k(10),jr=new k(100),Hr=new k(1e3),zr=new k(1e4);import{PublicKey as ot}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as st}from"@solana/spl-token";import{ComputeBudgetProgram as ni,Keypair as oi,PublicKey as it,Transaction as ai,TransactionMessage as ci,VersionedTransaction as li}from"@solana/web3.js";var Y={CreateAccount:"CreateAccount",InitAccount:"InitAccount",CreateATA:"CreateATA",CloseAccount:"CloseAccount",TransferAmount:"TransferAmount",InitMint:"InitMint",MintTo:"MintTo",InitMarket:"InitMarket",Util1216OwnerClaim:"Util1216OwnerClaim",SetComputeUnitPrice:"SetComputeUnitPrice",SetComputeUnitLimit:"SetComputeUnitLimit",ClmmCreatePool:"ClmmCreatePool",ClmmOpenPosition:"ClmmOpenPosition",ClmmIncreasePosition:"ClmmIncreasePosition",ClmmDecreasePosition:"ClmmDecreasePosition",ClmmClosePosition:"ClmmClosePosition",ClmmSwapBaseIn:"ClmmSwapBaseIn",ClmmSwapBaseOut:"ClmmSwapBaseOut",ClmmInitReward:"ClmmInitReward",ClmmSetReward:"ClmmSetReward",ClmmCollectReward:"ClmmCollectReward",ClmmLockPosition:"ClmmLockPosition",ClmmHarvestLockPosition:"ClmmHarvestLockPosition",AmmV4Swap:"AmmV4Swap",AmmV4AddLiquidity:"AmmV4AddLiquidity",AmmV4RemoveLiquidity:"AmmV4RemoveLiquidity",AmmV4SimulatePoolInfo:"AmmV4SimulatePoolInfo",AmmV4SwapBaseIn:"AmmV4SwapBaseIn",AmmV4SwapBaseOut:"AmmV4SwapBaseOut",AmmV4CreatePool:"AmmV4CreatePool",AmmV4InitPool:"AmmV4InitPool",AmmV5AddLiquidity:"AmmV5AddLiquidity",AmmV5RemoveLiquidity:"AmmV5RemoveLiquidity",AmmV5SimulatePoolInfo:"AmmV5SimulatePoolInfo",AmmV5SwapBaseIn:"AmmV5SwapBaseIn",AmmV5SwapBaseOut:"AmmV5SwapBaseOut",RouteSwap:"RouteSwap",RouteSwap1:"RouteSwap1",RouteSwap2:"RouteSwap2",FarmV3Deposit:"FarmV3Deposit",FarmV3Withdraw:"FarmV3Withdraw",FarmV3CreateLedger:"FarmV3CreateLedger",FarmV4Withdraw:"FarmV4Withdraw",FarmV5Deposit:"FarmV5Deposit",FarmV5Withdraw:"FarmV5Withdraw",FarmV5CreateLedger:"FarmV5CreateLedger",FarmV6Deposit:"FarmV6Deposit",FarmV6Withdraw:"FarmV6Withdraw",FarmV6Create:"FarmV6Create",FarmV6Restart:"FarmV6Restart",FarmV6CreatorAddReward:"FarmV6CreatorAddReward",FarmV6CreatorWithdraw:"FarmV6CreatorWithdraw",CpmmCreatePool:"CpmmCreatePool",CpmmAddLiquidity:"CpmmAddLiquidity",CpmmWithdrawLiquidity:"CpmmWithdrawLiquidity",CpmmSwapBaseIn:"CpmmSwapBaseIn",CpmmSwapBaseOut:"CpmmSwapBaseOut",CpmmLockLp:"CpmmLockLp",CpmmCollectLockFee:"CpmmCollectLockFee",TransferTip:"TransferTip"};import{TOKEN_PROGRAM_ID as di}from"@solana/spl-token";var gi=T("Sega_txUtil");function R(t,e){let[n,r]=it.findProgramAddressSync(t,e);return{publicKey:n,nonce:r}}function J(t,e,n){return R([t.toBuffer(),(n!=null?n:st).toBuffer(),e.toBuffer()],new ot("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"))}function ke(t){return R([Buffer.from("metadata","utf8"),v.toBuffer(),t.toBuffer()],v)}import{PublicKey as B}from"@solana/web3.js";var Be=new B("SegazTQwbYWknDZkJ6j2Kgvm5gw3MrHGKtWstZdoNKZ"),Ae=new B("Ajk8d9bERSaFdeoT1d8JUVfaDayrYLnAdgeB47TFMUaG"),ki=new B("2HbjxVVKJ7Ct72Rcd8WK4VTqmwTXL5aAggkH1CHGFGmh"),at=new B("auetiVUVJkRxvNPLYEvVnz8UJSqQ1VgoA83PcicHVD1"),ut=new B("GzqQwxPSmUZnTyCfX9YWqi32MJg43ujP786ZoacL559Y"),ct=new B("GzqQwxPSmUZnTyCfX9YWqi32MJg43ujP786ZoacL559Y");var Bi={SERUM_MARKET:B.default,UTIL1216:B.default,CREATE_CPMM_POOL_PROGRAM:at,CREATE_CPMM_POOL_AUTH:ut,CREATE_CPMM_POOL_FEE_ACC:ct};import Li from"bn.js";import{PublicKey as _i,AddressLookupTableAccount as Di}from"@solana/web3.js";import{PublicKey as $i,sendAndConfirmTransaction as Qi,SystemProgram as no,Transaction as ro,TransactionMessage as oo,VersionedTransaction as so}from"@solana/web3.js";import uo from"axios";import{Connection as yo}from"@solana/web3.js";var Fo=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),Vo=Buffer.from("amm_config","utf8"),lt=Buffer.from("pool","utf8"),vo=Buffer.from("pool_lp_mint","utf8"),Uo=Buffer.from("pool_vault","utf8"),qo=Buffer.from("observation","utf8");function Ie(t,e,n,r){return R([lt,e.toBuffer(),n.toBuffer(),r.toBuffer()],t)}var mt=Buffer.from("locked_liquidity","utf8");function Le(t,e){return R([mt,e.toBuffer()],t)}import{PublicKey as Gs}from"@solana/web3.js";import Me,{isBN as Hs}from"bn.js";import{bits as Ho,BitStructure as zo,blob as pt,Blob as Yo,cstr as Jo,f32 as Zo,f32be as Xo,f64 as $o,f64be as Qo,greedy as es,Layout as ft,ns64 as ts,ns64be as ns,nu64 as rs,nu64be as is,offset as os,s16 as ss,s16be as as,s24 as us,s24be as cs,s32 as ls,s32be as ms,s40 as ps,s40be as fs,s48 as ds,s48be as gs,s8 as bs,seq as ys,struct as hs,Structure as dt,u16 as Ps,u16be as Ts,u24 as xs,u24be as ws,u32 as Ss,u32be as ks,u40 as Bs,u40be as As,u48 as Is,u48be as Ls,u8 as gt,UInt as Cs,union as Ks,Union as Ws,unionLayoutDiscriminator as Ms,utf8 as Ns}from"@solana/buffer-layout";var ie=ft,Ce=dt;var Ke=gt;var We=pt;var oe=class extends ie{constructor(e,n,r){super(e,r),this.blob=We(e),this.signed=n}decode(e,n=0){let r=new Me(this.blob.decode(e,n),10,"le");return this.signed?r.fromTwos(this.span*8).clone():r}encode(e,n,r=0){return typeof e=="number"&&(e=new Me(e)),this.signed&&(e=e.toTwos(this.span*8)),this.blob.encode(e.toArrayLike(Buffer,"le",this.span),n,r)}};function P(t){return new oe(8,!1,t)}var se=class extends ie{constructor(e,n,r,i){super(e.span,i),this.layout=e,this.decoder=n,this.encoder=r}decode(e,n){return this.decoder(this.layout.decode(e,n))}encode(e,n,r){return this.layout.encode(this.encoder(e),n,r)}getSpan(e,n){return this.layout.getSpan(e,n)}};function Ne(t){return new se(Ke(),bt,yt,t)}function bt(t){if(t===0)return!1;if(t===1)return!0;throw new Error("Invalid bool: "+t)}function yt(t){return t?1:0}var ae=class extends Ce{decode(e,n){return super.decode(e,n)}};function A(t,e,n){return new ae(t,e,n)}var Tt=T("Sega_cpmm"),N={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]};function oa(t,e,n,r,i,u,c,m,o,s,y,h,d,g,b,p,l,f,x,L){let _=A([P("amountMaxA"),P("amountMaxB"),P("openTime")]),De=Ie(t,n,u,c).publicKey,Re=[{pubkey:e,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!i.equals(De),isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!1},{pubkey:c,isSigner:!1,isWritable:!1},{pubkey:m,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:y,isSigner:!1,isWritable:!0},{pubkey:h,isSigner:!1,isWritable:!0},{pubkey:d,isSigner:!1,isWritable:!0},{pubkey:g,isSigner:!1,isWritable:!0},{pubkey:l,isSigner:!1,isWritable:!0},{pubkey:I,isSigner:!1,isWritable:!1},{pubkey:b,isSigner:!1,isWritable:!1},{pubkey:p,isSigner:!1,isWritable:!1},{pubkey:_e,isSigner:!1,isWritable:!1},{pubkey:Te,isSigner:!1,isWritable:!1},{pubkey:te,isSigner:!1,isWritable:!1}],ce=Buffer.alloc(_.span);return _.encode({amountMaxA:f,amountMaxB:x,openTime:L},ce),new M({keys:Re,programId:t,data:Buffer.from([...N.initialize,...ce])})}function sa(t,e,n,r,i,u,c,m,o,s,y,h,d,g,b){let p=A([P("lpAmount"),P("amountMaxA"),P("amountMaxB")]),l=[{pubkey:e,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:m,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:I,isSigner:!1,isWritable:!1},{pubkey:ue,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:y,isSigner:!1,isWritable:!1},{pubkey:h,isSigner:!1,isWritable:!0}],f=Buffer.alloc(p.span);return Tt.debug("cpmm deposit data",{lpAmount:d.toString(),amountMaxA:g.toString(),amountMaxB:b.toString()}),p.encode({lpAmount:d,amountMaxA:g,amountMaxB:b},f),new M({keys:l,programId:t,data:Buffer.from([...N.deposit,...f])})}function aa(t,e,n,r,i,u,c,m,o,s,y,h,d,g,b){let p=A([P("lpAmount"),P("amountMinA"),P("amountMinB")]),l=[{pubkey:e,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:m,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:I,isSigner:!1,isWritable:!1},{pubkey:ue,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:y,isSigner:!1,isWritable:!1},{pubkey:h,isSigner:!1,isWritable:!0},{pubkey:ee,isSigner:!1,isWritable:!1}],f=Buffer.alloc(p.span);return p.encode({lpAmount:d,amountMinA:g,amountMinB:b},f),new M({keys:l,programId:t,data:Buffer.from([...N.withdraw,...f])})}function ua(t,e,n,r,i,u,c,m,o,s,y,h,d,g,b,p){let l=A([P("amountIn"),P("amounOutMin")]),f=[{pubkey:e,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:m,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:y,isSigner:!1,isWritable:!1},{pubkey:h,isSigner:!1,isWritable:!1},{pubkey:d,isSigner:!1,isWritable:!1},{pubkey:g,isSigner:!1,isWritable:!0}],x=Buffer.alloc(l.span);return l.encode({amountIn:b,amounOutMin:p},x),new M({keys:f,programId:t,data:Buffer.from([...N.swapBaseInput,...x])})}function ca(t,e,n,r,i,u,c,m,o,s,y,h,d,g,b,p){let l=A([P("amountInMax"),P("amountOut")]),f=[{pubkey:e,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:m,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:y,isSigner:!1,isWritable:!1},{pubkey:h,isSigner:!1,isWritable:!1},{pubkey:d,isSigner:!1,isWritable:!1},{pubkey:g,isSigner:!1,isWritable:!0}],x=Buffer.alloc(l.span);return l.encode({amountInMax:b,amountOut:p},x),new M({keys:f,programId:t,data:Buffer.from([...N.swapBaseOutput,...x])})}function la(t){return K(this,null,function*(){var l;let{ownerInfo:e,poolInfo:n,poolKeys:r,feeNftOwner:i,getEphemeralSigners:u}=t,c=[],[m,o]=[new q(n.id),new q(n.lpMint.address)],s;if(u)s=new q((yield u(1))[0]);else{let f=ht.generate();c.push(f),s=f.publicKey}let{publicKey:y}=J(i,s,I),{publicKey:h}=ke(s),{publicKey:d}=Le(t.lockProgram,s),{publicKey:g}=J(e.wallet,o,I),{publicKey:b}=J(t.lockAuthProgram,o,I),p=xt({programId:t.lockProgram,auth:t.lockAuthProgram,payer:e.feePayer,liquidityOwner:e.wallet,nftOwner:i,nftMint:s,nftAccount:y,poolId:m,lockPda:d,mintLp:o,userLpVault:g,lockLpVault:b,poolVaultA:new q(r.vault.A),poolVaultB:new q(r.vault.B),metadataAccount:h,lpAmount:t.lpAmount,withMetadata:(l=t.withMetadata)!=null?l:!0});return{address:{nftMint:s,nftAccount:y,metadataAccount:h,lockPda:d,userLpVault:g,lockLpVault:b},instructions:[p],signers:c,instructionTypes:[Y.CpmmLockLp],lookupTableAddress:[]}})}function xt({programId:t,auth:e,payer:n,liquidityOwner:r,nftOwner:i,nftMint:u,nftAccount:c,poolId:m,lockPda:o,mintLp:s,userLpVault:y,lockLpVault:h,poolVaultA:d,poolVaultB:g,metadataAccount:b,lpAmount:p,withMetadata:l}){let f=[{pubkey:e,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:u,isSigner:!0,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:m,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:y,isSigner:!1,isWritable:!0},{pubkey:h,isSigner:!1,isWritable:!0},{pubkey:d,isSigner:!1,isWritable:!0},{pubkey:g,isSigner:!1,isWritable:!0},{pubkey:b,isSigner:!1,isWritable:!0},{pubkey:te,isSigner:!1,isWritable:!1},{pubkey:Pt.programId,isSigner:!1,isWritable:!1},{pubkey:I,isSigner:!1,isWritable:!1},{pubkey:_e,isSigner:!1,isWritable:!1},{pubkey:v,isSigner:!1,isWritable:!1}],x=A([P("lpAmount"),Ne("withMetadata")]),L=Buffer.alloc(x.span);x.encode({lpAmount:p,withMetadata:l},L);let _=Buffer.from([...N.lockCpLiquidity,...L]);return new M({keys:f,programId:t,data:_})}function ma({programId:t,nftOwner:e,auth:n,nftAccount:r,lockPda:i,poolId:u,mintLp:c,userVaultA:m,userVaultB:o,poolVaultA:s,poolVaultB:y,mintA:h,mintB:d,lockLpVault:g,lpFeeAmount:b,cpmmProgram:p,cpmmAuthProgram:l}){let f=[{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:e,isSigner:!0,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:p!=null?p:Be,isSigner:!1,isWritable:!1},{pubkey:l!=null?l:Ae,isSigner:!1,isWritable:!1},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:m,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:y,isSigner:!1,isWritable:!0},{pubkey:h,isSigner:!1,isWritable:!1},{pubkey:d,isSigner:!1,isWritable:!1},{pubkey:g,isSigner:!1,isWritable:!0},{pubkey:I,isSigner:!1,isWritable:!1},{pubkey:ue,isSigner:!1,isWritable:!1},{pubkey:ee,isSigner:!1,isWritable:!1}],x=A([P("lpFeeAmount")]),L=Buffer.alloc(x.span);x.encode({lpFeeAmount:b},L);let _=Buffer.from([...N.collectCpFee,...L]);return new M({keys:f,programId:t,data:_})}export{ma as collectCpFeeInstruction,xt as cpmmLockPositionInstruction,la as makeCpmmLockInstruction,oa as makeCreateCpmmPoolInInstruction,sa as makeDepositCpmmInInstruction,ua as makeSwapCpmmBaseInInstruction,ca as makeSwapCpmmBaseOutInstruction,aa as makeWithdrawCpmmInInstruction}; //# sourceMappingURL=instruction.mjs.map