@sega-so/sega-sdk
Version:
An SDK for building applications on top of SEGA.
2 lines • 15.3 kB
JavaScript
var fe=Object.defineProperty,ge=Object.defineProperties;var ye=Object.getOwnPropertyDescriptors;var z=Object.getOwnPropertySymbols;var he=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable;var Y=(n,e,t)=>e in n?fe(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,h=(n,e)=>{for(var t in e||(e={}))he.call(e,t)&&Y(n,t,e[t]);if(z)for(var t of z(e))be.call(e,t)&&Y(n,t,e[t]);return n},T=(n,e)=>ge(n,ye(e));var b=(n,e,t)=>new Promise((r,o)=>{var s=u=>{try{g(t.next(u))}catch(l){o(l)}},c=u=>{try{g(t.throw(u))}catch(l){o(l)}},g=u=>u.done?r(u.value):Promise.resolve(u.value).then(s,c);g((t=t.apply(n,e)).next())});import{PublicKey as Se}from"@solana/web3.js";import Z,{isBN as un}from"bn.js";import{bits as ut,BitStructure as ct,blob as Te,Blob as lt,cstr as mt,f32 as pt,f32be as dt,f64 as ft,f64be as gt,greedy as yt,Layout as xe,ns64 as ht,ns64be as bt,nu64 as Tt,nu64be as xt,offset as Pt,s16 as wt,s16be as St,s24 as Bt,s24be as kt,s32 as At,s32be as It,s40 as Ct,s40be as Lt,s48 as Nt,s48be as Rt,s8 as Dt,seq as Mt,struct as Et,Structure as Pe,u16 as _t,u16be as Ft,u24 as Kt,u24be as Ot,u32 as Vt,u32be as Wt,u40 as vt,u40be as Ut,u48 as qt,u48be as Gt,u8 as jt,UInt as we,union as Ht,Union as zt,unionLayoutDiscriminator as Yt,utf8 as Jt}from"@solana/buffer-layout";var _=xe,J=Pe;var F=we;var K=Te;var O=class extends _{constructor(e,t,r){super(e,r),this.blob=K(e),this.signed=t}decode(e,t=0){let r=new Z(this.blob.decode(e,t),10,"le");return this.signed?r.fromTwos(this.span*8).clone():r}encode(e,t,r=0){return typeof e=="number"&&(e=new Z(e)),this.signed&&(e=e.toTwos(this.span*8)),this.blob.encode(e.toArrayLike(Buffer,"le",this.span),t,r)}};function X(n){return new F(1,n)}function L(n){return new F(4,n)}function N(n){return new O(8,!1,n)}var V=class extends _{constructor(e,t,r,o){super(e.span,o),this.layout=e,this.decoder=t,this.encoder=r}decode(e,t){return this.decoder(this.layout.decode(e,t))}encode(e,t,r){return this.layout.encode(this.encoder(e),t,r)}getSpan(e,t){return this.layout.getSpan(e,t)}};function w(n){return new V(K(32),e=>new Se(e),e=>e.toBuffer(),n)}var W=class extends J{decode(e,t){return super.decode(e,t)}};function $(n,e,t){return new W(n,e,t)}var S=$([w("mint"),w("owner"),N("amount"),L("delegateOption"),w("delegate"),X("state"),L("isNativeOption"),N("isNative"),N("delegatedAmount"),L("closeAuthorityOption"),w("closeAuthority")]);import{Keypair as ze,PublicKey as pe}from"@solana/web3.js";import Ye from"bn.js";import{PublicKey as Pn}from"@solana/web3.js";import{get as Q,set as Be}from"lodash";var v=class{constructor(e){this.logLevel=e.logLevel!==void 0?e.logLevel:0,this.name=e.name}set level(e){this.logLevel=e}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(e){return e<=this.logLevel}error(...e){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...e),this):this}logWithError(...e){let t=e.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(t)}warning(...e){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...e),this):this}info(...e){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...e),this):this}debug(...e){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...e),this):this}},ee={},ke={};function a(n){let e=Q(ee,n);if(!e){let t=Q(ke,n);e=new v({name:n,logLevel:t}),Be(ee,n,e)}return e}import{MINT_SIZE as kn,TOKEN_PROGRAM_ID as An,getTransferFeeConfig as In,unpackMint as Cn}from"@solana/spl-token";var Ln=a("Sega_accountInfo_util");import f from"bn.js";import Ao from"decimal.js";import Me from"big.js";import Jn from"bn.js";import Ae from"toformat";var Ie=Ae,B=Ie;import D from"big.js";import Le from"bn.js";import Ne from"decimal.js-light";import k from"bn.js";var te=9007199254740991;function m(n){let e=a("Sega_parseBigNumberish");if(n instanceof k)return n;if(typeof n=="string"){if(n.match(/^-?[0-9]+$/))return new k(n);e.logWithError(`invalid BigNumberish string: ${n}`)}return typeof n=="number"?(n%1&&e.logWithError(`BigNumberish number underflow: ${n}`),(n>=te||n<=-te)&&e.logWithError(`BigNumberish number overflow: ${n}`),new k(String(n))):typeof n=="bigint"?new k(n.toString()):(e.error(`invalid BigNumberish value: ${n}`),new k(0))}var R=a("module/fraction"),q=B(D),A=B(Ne),Re={0:A.ROUND_DOWN,1:A.ROUND_HALF_UP,2:A.ROUND_UP},De={0:D.roundDown,1:D.roundHalfUp,2:D.roundUp},p=class n{constructor(e,t=new Le(1)){this.numerator=m(e),this.denominator=m(t)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new n(this.denominator,this.numerator)}add(e){let t=e instanceof n?e:new n(m(e));return this.denominator.eq(t.denominator)?new n(this.numerator.add(t.numerator),this.denominator):new n(this.numerator.mul(t.denominator).add(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}sub(e){let t=e instanceof n?e:new n(m(e));return this.denominator.eq(t.denominator)?new n(this.numerator.sub(t.numerator),this.denominator):new n(this.numerator.mul(t.denominator).sub(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}mul(e){let t=e instanceof n?e:new n(m(e));return new n(this.numerator.mul(t.numerator),this.denominator.mul(t.denominator))}div(e){let t=e instanceof n?e:new n(m(e));return new n(this.numerator.mul(t.denominator),this.denominator.mul(t.numerator))}toSignificant(e,t={groupSeparator:""},r=1){Number.isInteger(e)||R.logWithError(`${e} is not an integer.`),e<=0&&R.logWithError(`${e} is not positive.`),A.set({precision:e+1,rounding:Re[r]});let o=new A(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return o.toFormat(o.decimalPlaces(),t)}toFixed(e,t={groupSeparator:""},r=1){return Number.isInteger(e)||R.logWithError(`${e} is not an integer.`),e<0&&R.logWithError(`${e} is negative.`),q.DP=e,q.RM=De[r]||1,new q(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,t)}isZero(){return this.numerator.isZero()}};var or=a("Sega_amount"),ir=B(Me);import{PublicKey as _e}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ne}from"@solana/spl-token";var re={chainId:101,address:_e.default.toBase58(),programId:ne.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"sega",extensions:{coingeckoId:"solana"}},d={chainId:101,address:"So11111111111111111111111111111111111111112",programId:ne.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 j}from"@solana/web3.js";import{PublicKey as i,SystemProgram as oe,SYSVAR_RENT_PUBKEY as Fe}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ke}from"@solana/spl-token";function G({pubkey:n,isSigner:e=!1,isWritable:t=!0}){return{pubkey:n,isWritable:t,isSigner:e}}var dr=[G({pubkey:Ke,isWritable:!1}),G({pubkey:oe.programId,isWritable:!1}),G({pubkey:Fe,isWritable:!1})];function ie({publicKey:n,transformSol:e}){let t=se(n.toString());if(t instanceof i)return e&&t.equals(I)?U:t;if(e&&t.toString()===I.toBase58())return U;if(typeof t=="string"){if(t===i.default.toBase58())return i.default;try{return new i(t)}catch(r){throw new Error("invalid public key")}}throw new Error("invalid public key")}function se(n){try{return new i(n)}catch(e){return n}}var fr=new i("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),gr=new i("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),yr=new i("SysvarRent111111111111111111111111111111111"),hr=new i("SysvarC1ock11111111111111111111111111111111"),Oe=new i("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),br=new i("Sysvar1nstructions1111111111111111111111111"),Tr=oe.programId,xr=new i("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Pr=new i("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),wr=new i("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Sr=new i("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Br=new i("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),kr=new i("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Ar=new i("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Ir=new i("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Cr=new i("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Lr=new i("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Nr=new i("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),U=new i("So11111111111111111111111111111111111111112"),I=i.default;var M=class M{constructor({mint:e,decimals:t,symbol:r,name:o,skipMint:s=!1,isToken2022:c=!1}){if(e===I.toBase58()||e instanceof j&&I.equals(e)){this.decimals=d.decimals,this.symbol=d.symbol,this.name=d.name,this.mint=new j(d.address),this.isToken2022=!1;return}this.decimals=t,this.symbol=r||e.toString().substring(0,6),this.name=o||e.toString().substring(0,6),this.mint=s?j.default:ie({publicKey:e}),this.isToken2022=c}equals(e){return this===e?!0:this.mint.equals(e.mint)}};M.WSOL=new M(T(h({},d),{mint:d.address}));var C=M;var E=class E{constructor({decimals:e,symbol:t="UNKNOWN",name:r="UNKNOWN"}){this.decimals=e,this.symbol=t,this.name=r}equals(e){return this===e}};E.SOL=new E(re);var H=E;import Ve from"bn.js";var qr=new p(new Ve(100));var Jr=a("Sega_price");import{PublicKey as po}from"@solana/web3.js";import go from"bn.js";var We=new f(0),Fo=new f(1),Ko=new f(2),Oo=new f(3),Vo=new f(5),Ee=new f(10),Wo=new f(100),vo=new f(1e3),Uo=new f(1e4);import{PublicKey as Ue}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as qe}from"@solana/spl-token";import{ComputeBudgetProgram as Xo,Keypair as ei,PublicKey as ve,Transaction as ni,TransactionMessage as oi,VersionedTransaction as ii}from"@solana/web3.js";var x={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 ci}from"@solana/spl-token";var li=a("Sega_txUtil");function le(n,e){let[t,r]=ve.findProgramAddressSync(n,e);return{publicKey:t,nonce:r}}function me(n,e,t){return le([n.toBuffer(),(t!=null?t:qe).toBuffer(),e.toBuffer()],new Ue("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"))}import{PublicKey as y}from"@solana/web3.js";var Ti=new y("SegazTQwbYWknDZkJ6j2Kgvm5gw3MrHGKtWstZdoNKZ"),xi=new y("Ajk8d9bERSaFdeoT1d8JUVfaDayrYLnAdgeB47TFMUaG"),Pi=new y("2HbjxVVKJ7Ct72Rcd8WK4VTqmwTXL5aAggkH1CHGFGmh"),Ge=new y("auetiVUVJkRxvNPLYEvVnz8UJSqQ1VgoA83PcicHVD1"),je=new y("GzqQwxPSmUZnTyCfX9YWqi32MJg43ujP786ZoacL559Y"),He=new y("GzqQwxPSmUZnTyCfX9YWqi32MJg43ujP786ZoacL559Y");var wi={SERUM_MARKET:y.default,UTIL1216:y.default,CREATE_CPMM_POOL_PROGRAM:Ge,CREATE_CPMM_POOL_AUTH:je,CREATE_CPMM_POOL_FEE_ACC:He};import ki from"bn.js";import{PublicKey as Ri,AddressLookupTableAccount as Di}from"@solana/web3.js";import{PublicKey as Ji,sendAndConfirmTransaction as Zi,SystemProgram as Qi,Transaction as es,TransactionMessage as ns,VersionedTransaction as rs}from"@solana/web3.js";import is from"axios";import{Connection as ds}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Je}from"@solana/spl-token";import{sha256 as Ze}from"@noble/hashes/sha256";var qs=a("Sega_Util");function Gs({owner:n,solAccountResp:e,tokenAccountResp:t}){let r=[],o=[];for(let{pubkey:s,account:c}of t.value){let g=S.decode(c.data),{mint:u,amount:l}=g;r.push({publicKey:s,mint:u,amount:l,isAssociated:me(n,u,c.owner).publicKey.equals(s),isNative:!1,programId:c.owner}),o.push({pubkey:s,accountInfo:g,programId:c.owner})}return e&&r.push({mint:pe.default,amount:new Ye(String(e.lamports)),isNative:!0,programId:e.owner}),{tokenAccounts:r,tokenAccountRawInfos:o}}function de({fromPublicKey:n,programId:e=Je,assignSeed:t}){let r=t?btoa(t).slice(0,32):ze.generate().publicKey.toBase58().slice(0,32);return{publicKey:Xe(n,r,e),seed:r}}function Xe(n,e,t){let r=Buffer.concat([n.toBuffer(),Buffer.from(e),t.toBuffer()]),o=Ze(r);return new pe(o)}import{PublicKey as $e,SystemProgram as Qe}from"@solana/web3.js";import et from"bn.js";import{createCloseAccountInstruction as tt,createInitializeAccountInstruction as nt,createTransferInstruction as rt,TOKEN_PROGRAM_ID as P}from"@solana/spl-token";function ot(n){let{mint:e,tokenAccount:t,owner:r,programId:o=P}=n;return nt(t,e,r,o)}function it(n){let{tokenAccount:e,payer:t,multiSigners:r=[],owner:o,programId:s=P}=n;return tt(e,t,o,r,s)}function ia(n){return b(this,null,function*(){let{connection:e,amount:t,commitment:r,payer:o,owner:s,skipCloseAccount:c}=n,g=yield e.getMinimumBalanceForRentExemption(S.span,r),u=m(t).add(new et(g)),l=de({fromPublicKey:o,programId:P});return{addresses:{newAccount:l.publicKey},signers:[],instructions:[Qe.createAccountWithSeed({fromPubkey:o,basePubkey:o,seed:l.seed,newAccountPubkey:l.publicKey,lamports:u.toNumber(),space:S.span,programId:P}),ot({mint:new $e(d.address),tokenAccount:l.publicKey,owner:s,programId:P})],instructionTypes:[x.CreateAccount,x.InitAccount],endInstructionTypes:c?[]:[x.CloseAccount],endInstructions:c?[]:[it({tokenAccount:l.publicKey,payer:o,owner:s})]}})}function sa({source:n,destination:e,owner:t,amount:r,multiSigners:o=[],tokenProgram:s=P}){return rt(n,e,t,BigInt(String(r)),o,s)}export{it as closeAccountInstruction,ia as createWSolAccountInstructions,de as generatePubKey,ot as initTokenAccountInstruction,sa as makeTransferInstruction,Gs as parseTokenAccountResp,S as splAccountLayout};
//# sourceMappingURL=index.mjs.map