@sega-so/sega-sdk
Version:
An SDK for building applications on top of SEGA.
2 lines • 15.5 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{y(t.next(u))}catch(l){o(l)}},c=u=>{try{y(t.throw(u))}catch(l){o(l)}},y=u=>u.done?r(u.value):Promise.resolve(u.value).then(s,c);y((t=t.apply(n,e)).next())});import{PublicKey as Se}from"@solana/web3.js";import J,{isBN as cn}from"bn.js";import{bits as ct,BitStructure as lt,blob as Te,Blob as mt,cstr as pt,f32 as dt,f32be as ft,f64 as gt,f64be as yt,greedy as ht,Layout as xe,ns64 as bt,ns64be as Tt,nu64 as xt,nu64be as Pt,offset as wt,s16 as St,s16be as At,s24 as Bt,s24be as kt,s32 as Ct,s32be as It,s40 as Lt,s40be as Nt,s48 as Rt,s48be as _t,s8 as Mt,seq as Dt,struct as Et,Structure as Pe,u16 as Ot,u16be as Ft,u24 as Kt,u24be as Vt,u32 as Wt,u32be as vt,u40 as Ut,u40be as qt,u48 as Gt,u48be as jt,u8 as Ht,UInt as we,union as zt,Union as Yt,unionLayoutDiscriminator as Zt,utf8 as Jt}from"@solana/buffer-layout";var E=xe,Z=Pe;var O=we;var F=Te;var K=class extends E{constructor(e,t,r){super(e,r),this.blob=F(e),this.signed=t}decode(e,t=0){let r=new J(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 J(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 O(1,n)}function L(n){return new O(4,n)}function N(n){return new K(8,!1,n)}var V=class extends E{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(F(32),e=>new Se(e),e=>e.toBuffer(),n)}var W=class extends Z{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 Ye,PublicKey as pe}from"@solana/web3.js";import Ze from"bn.js";import{PublicKey as wn}from"@solana/web3.js";import{get as Q,set as Ae}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={},Be={};function a(n){let e=Q(ee,n);if(!e){let t=Q(Be,n);e=new v({name:n,logLevel:t}),Ae(ee,n,e)}return e}import{MINT_SIZE as kn,TOKEN_PROGRAM_ID as Cn,getTransferFeeConfig as In,unpackMint as Ln}from"@solana/spl-token";var Nn=a("Sega_accountInfo_util");import g from"bn.js";import Co from"decimal.js";import Me from"big.js";import Jn from"bn.js";import ke from"toformat";var Ce=ke,A=Ce;import _ from"big.js";import Le from"bn.js";import Ne from"decimal.js-light";import B from"bn.js";var te=9007199254740991;function m(n){let e=a("Sega_parseBigNumberish");if(n instanceof B)return n;if(typeof n=="string"){if(n.match(/^-?[0-9]+$/))return new B(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 B(String(n))):typeof n=="bigint"?new B(n.toString()):(e.error(`invalid BigNumberish value: ${n}`),new B(0))}var R=a("module/fraction"),q=A(_),k=A(Ne),Re={0:k.ROUND_DOWN,1:k.ROUND_HALF_UP,2:k.ROUND_UP},_e={0:_.roundDown,1:_.roundHalfUp,2:_.roundUp},d=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.`),k.set({precision:e+1,rounding:Re[r]});let o=new k(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=_e[r]||1,new q(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,t)}isZero(){return this.numerator.isZero()}};var ir=a("Sega_amount"),sr=A(Me);import{PublicKey as Ee}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ne}from"@solana/spl-token";var re={chainId:101,address:Ee.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"}},f={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 Oe}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Fe}from"@solana/spl-token";function G({pubkey:n,isSigner:e=!1,isWritable:t=!0}){return{pubkey:n,isWritable:t,isSigner:e}}var fr=[G({pubkey:Fe,isWritable:!1}),G({pubkey:oe.programId,isWritable:!1}),G({pubkey:Oe,isWritable:!1})];function ie({publicKey:n,transformSol:e}){let t=se(n.toString());if(t instanceof i)return e&&t.equals(C)?U:t;if(e&&t.toString()===C.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 gr=new i("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),yr=new i("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),hr=new i("SysvarRent111111111111111111111111111111111"),br=new i("SysvarC1ock11111111111111111111111111111111"),Ke=new i("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Tr=new i("Sysvar1nstructions1111111111111111111111111"),xr=oe.programId,Pr=new i("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),wr=new i("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Sr=new i("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Ar=new i("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Br=new i("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),kr=new i("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Cr=new i("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Ir=new i("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Lr=new i("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Nr=new i("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Rr=new i("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),U=new i("So11111111111111111111111111111111111111112"),C=i.default;var M=class M{constructor({mint:e,decimals:t,symbol:r,name:o,skipMint:s=!1,isToken2022:c=!1}){if(e===C.toBase58()||e instanceof j&&C.equals(e)){this.decimals=f.decimals,this.symbol=f.symbol,this.name=f.name,this.mint=new j(f.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({},f),{mint:f.address}));var I=M;var D=class D{constructor({decimals:e,symbol:t="UNKNOWN",name:r="UNKNOWN"}){this.decimals=e,this.symbol=t,this.name=r}equals(e){return this===e}};D.SOL=new D(re);var H=D;import Ve from"bn.js";var Gr=new d(new Ve(100));var Jr=a("Sega_price");import{PublicKey as fo}from"@solana/web3.js";import yo from"bn.js";var We=new g(0),Fo=new g(1),Ko=new g(2),Vo=new g(3),Wo=new g(5),De=new g(10),vo=new g(100),Uo=new g(1e3),qo=new g(1e4);import{PublicKey as Ue}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as qe}from"@solana/spl-token";import{ComputeBudgetProgram as $o,Keypair as ti,PublicKey as ve,Transaction as ri,TransactionMessage as ii,VersionedTransaction as si}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 li}from"@solana/spl-token";var mi=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 p}from"@solana/web3.js";var xi=new p("SegazTQwbYWknDZkJ6j2Kgvm5gw3MrHGKtWstZdoNKZ"),Pi=new p("Ajk8d9bERSaFdeoT1d8JUVfaDayrYLnAdgeB47TFMUaG"),wi=new p("2HbjxVVKJ7Ct72Rcd8WK4VTqmwTXL5aAggkH1CHGFGmh"),Ge=new p("TegaRdjn9Qeh9DfUU28X19aPPpJtj9gs8ntSYrR5H4K "),je=new p("GzqQwxPSmUZnTyCfX9YWqi32MJg43ujP786ZoacL559Y"),He=new p("GzqQwxPSmUZnTyCfX9YWqi32MJg43ujP786ZoacL559Y"),Si=new p("SegaXNnoXYTZiqUt9Xn2XqGcL56b25yzXLuJSpadcMu"),Ai=new p("2t1hV2YqnDCPuJZqr7Fy8oAygGwZE5Q9uaQzpLC1QryJ"),Bi=new p("BLxynZeHE123MmQgNJZiV1pwW4VYh46oZYyC66xwmtTY");var ze={SERUM_MARKET:p.default,UTIL1216:p.default,CREATE_CPMM_POOL_PROGRAM:Ge,CREATE_CPMM_POOL_AUTH:je,CREATE_CPMM_POOL_FEE_ACC:He};import Ii from"bn.js";import{PublicKey as Di,AddressLookupTableAccount as Ei}from"@solana/web3.js";import{PublicKey as $i,sendAndConfirmTransaction as Qi,SystemProgram as ns,Transaction as rs,TransactionMessage as is,VersionedTransaction as ss}from"@solana/web3.js";import us from"axios";import{Connection as bs}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Je}from"@solana/spl-token";import{sha256 as Xe}from"@noble/hashes/sha256";var Js=a("Sega_Util");function Xs({owner:n,solAccountResp:e,tokenAccountResp:t}){let r=[],o=[];for(let{pubkey:s,account:c}of t.value){let y=S.decode(c.data),{mint:u,amount:l}=y;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:y,programId:c.owner})}return e&&r.push({mint:pe.default,amount:new Ze(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):Ye.generate().publicKey.toBase58().slice(0,32);return{publicKey:$e(n,r,e),seed:r}}function $e(n,e,t){let r=Buffer.concat([n.toBuffer(),Buffer.from(e),t.toBuffer()]),o=Xe(r);return new pe(o)}import{PublicKey as Qe,SystemProgram as et}from"@solana/web3.js";import tt from"bn.js";import{createCloseAccountInstruction as nt,createInitializeAccountInstruction as rt,createTransferInstruction as ot,TOKEN_PROGRAM_ID as P}from"@solana/spl-token";function it(n){let{mint:e,tokenAccount:t,owner:r,programId:o=P}=n;return rt(t,e,r,o)}function st(n){let{tokenAccount:e,payer:t,multiSigners:r=[],owner:o,programId:s=P}=n;return nt(e,t,o,r,s)}function pa(n){return b(this,null,function*(){let{connection:e,amount:t,commitment:r,payer:o,owner:s,skipCloseAccount:c}=n,y=yield e.getMinimumBalanceForRentExemption(S.span,r),u=m(t).add(new tt(y)),l=de({fromPublicKey:o,programId:P});return{addresses:{newAccount:l.publicKey},signers:[],instructions:[et.createAccountWithSeed({fromPubkey:o,basePubkey:o,seed:l.seed,newAccountPubkey:l.publicKey,lamports:u.toNumber(),space:S.span,programId:P}),it({mint:new Qe(f.address),tokenAccount:l.publicKey,owner:s,programId:P})],instructionTypes:[x.CreateAccount,x.InitAccount],endInstructionTypes:c?[]:[x.CloseAccount],endInstructions:c?[]:[st({tokenAccount:l.publicKey,payer:o,owner:s})]}})}function da({source:n,destination:e,owner:t,amount:r,multiSigners:o=[],tokenProgram:s=P}){return ot(n,e,t,BigInt(String(r)),o,s)}export{st as closeAccountInstruction,pa as createWSolAccountInstructions,de as generatePubKey,it as initTokenAccountInstruction,da as makeTransferInstruction,Xs as parseTokenAccountResp,S as splAccountLayout};
//# sourceMappingURL=index.mjs.map