@sega-so/sega-sdk
Version:
An SDK for building applications on top of SEGA.
2 lines • 11.8 kB
JavaScript
var me=Object.defineProperty,pe=Object.defineProperties;var de=Object.getOwnPropertyDescriptors;var q=Object.getOwnPropertySymbols;var fe=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable;var G=(n,e,t)=>e in n?me(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,m=(n,e)=>{for(var t in e||(e={}))fe.call(e,t)&&G(n,t,e[t]);if(q)for(var t of q(e))ge.call(e,t)&&G(n,t,e[t]);return n},f=(n,e)=>pe(n,de(e));import{Keypair as He,PublicKey as ce}from"@solana/web3.js";import ze from"bn.js";import{PublicKey as ot}from"@solana/web3.js";import{get as j,set as he}from"lodash";var I=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}},H={},ye={};function i(n){let e=j(H,n);if(!e){let t=j(ye,n);e=new I({name:n,logLevel:t}),he(H,n,e)}return e}import{MINT_SIZE as ut,TOKEN_PROGRAM_ID as ct,getTransferFeeConfig as lt,unpackMint as mt}from"@solana/spl-token";var pt=i("Sega_accountInfo_util");import l from"bn.js";import cr from"decimal.js";import Ae from"big.js";import _t from"bn.js";import be from"toformat";var Te=be,h=Te;import B from"big.js";import Pe from"bn.js";import we from"decimal.js-light";import y from"bn.js";var z=9007199254740991;function u(n){let e=i("Sega_parseBigNumberish");if(n instanceof y)return n;if(typeof n=="string"){if(n.match(/^-?[0-9]+$/))return new y(n);e.logWithError(`invalid BigNumberish string: ${n}`)}return typeof n=="number"?(n%1&&e.logWithError(`BigNumberish number underflow: ${n}`),(n>=z||n<=-z)&&e.logWithError(`BigNumberish number overflow: ${n}`),new y(String(n))):typeof n=="bigint"?new y(n.toString()):(e.error(`invalid BigNumberish value: ${n}`),new y(0))}var S=i("module/fraction"),N=h(B),b=h(we),Se={0:b.ROUND_DOWN,1:b.ROUND_HALF_UP,2:b.ROUND_UP},Be={0:B.roundDown,1:B.roundHalfUp,2:B.roundUp},c=class n{constructor(e,t=new Pe(1)){this.numerator=u(e),this.denominator=u(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(u(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(u(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(u(e));return new n(this.numerator.mul(t.numerator),this.denominator.mul(t.denominator))}div(e){let t=e instanceof n?e:new n(u(e));return new n(this.numerator.mul(t.denominator),this.denominator.mul(t.numerator))}toSignificant(e,t={groupSeparator:""},r=1){Number.isInteger(e)||S.logWithError(`${e} is not an integer.`),e<=0&&S.logWithError(`${e} is not positive.`),b.set({precision:e+1,rounding:Se[r]});let s=new b(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return s.toFormat(s.decimalPlaces(),t)}toFixed(e,t={groupSeparator:""},r=1){return Number.isInteger(e)||S.logWithError(`${e} is not an integer.`),e<0&&S.logWithError(`${e} is negative.`),N.DP=e,N.RM=Be[r]||1,new N(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,t)}isZero(){return this.numerator.isZero()}};var vt=i("Sega_amount"),Ut=h(Ae);import{PublicKey as Le}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Y}from"@solana/spl-token";var Z={chainId:101,address:Le.default.toBase58(),programId:Y.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"sega",extensions:{coingeckoId:"solana"}},p={chainId:101,address:"So11111111111111111111111111111111111111112",programId:Y.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 M}from"@solana/web3.js";import{PublicKey as o,SystemProgram as J,SYSVAR_RENT_PUBKEY as Ce}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ie}from"@solana/spl-token";function _({pubkey:n,isSigner:e=!1,isWritable:t=!0}){return{pubkey:n,isWritable:t,isSigner:e}}var Jt=[_({pubkey:Ie,isWritable:!1}),_({pubkey:J.programId,isWritable:!1}),_({pubkey:Ce,isWritable:!1})];function X({publicKey:n,transformSol:e}){let t=$(n.toString());if(t instanceof o)return e&&t.equals(T)?R:t;if(e&&t.toString()===T.toBase58())return R;if(typeof t=="string"){if(t===o.default.toBase58())return o.default;try{return new o(t)}catch(r){throw new Error("invalid public key")}}throw new Error("invalid public key")}function $(n){try{return new o(n)}catch(e){return n}}var Xt=new o("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),$t=new o("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Qt=new o("SysvarRent111111111111111111111111111111111"),en=new o("SysvarC1ock11111111111111111111111111111111"),Re=new o("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),tn=new o("Sysvar1nstructions1111111111111111111111111"),nn=J.programId,rn=new o("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),on=new o("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),sn=new o("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),an=new o("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),un=new o("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),cn=new o("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),ln=new o("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),mn=new o("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),pn=new o("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),dn=new o("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),fn=new o("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),R=new o("So11111111111111111111111111111111111111112"),T=o.default;var A=class A{constructor({mint:e,decimals:t,symbol:r,name:s,skipMint:g=!1,isToken2022:d=!1}){if(e===T.toBase58()||e instanceof M&&T.equals(e)){this.decimals=p.decimals,this.symbol=p.symbol,this.name=p.name,this.mint=new M(p.address),this.isToken2022=!1;return}this.decimals=t,this.symbol=r||e.toString().substring(0,6),this.name=s||e.toString().substring(0,6),this.mint=g?M.default:X({publicKey:e}),this.isToken2022=d}equals(e){return this===e?!0:this.mint.equals(e.mint)}};A.WSOL=new A(f(m({},p),{mint:p.address}));var x=A;var k=class k{constructor({decimals:e,symbol:t="UNKNOWN",name:r="UNKNOWN"}){this.decimals=e,this.symbol=t,this.name=r}equals(e){return this===e}};k.SOL=new k(Z);var D=k;import Ne from"bn.js";var Ln=new c(new Ne(100));var Mn=i("Sega_price");import{PublicKey as Jn}from"@solana/web3.js";import $n from"bn.js";var _e=new l(0),Tr=new l(1),xr=new l(2),Pr=new l(3),wr=new l(5),ke=new l(10),Sr=new l(100),Br=new l(1e3),Ar=new l(1e4);import{PublicKey as Ee}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Oe}from"@solana/spl-token";import{ComputeBudgetProgram as Dr,Keypair as Fr,PublicKey as De,Transaction as Vr,TransactionMessage as vr,VersionedTransaction as Ur}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Hr}from"@solana/spl-token";var zr=i("Sega_txUtil");function ne(n,e){let[t,r]=De.findProgramAddressSync(n,e);return{publicKey:t,nonce:r}}function re(n,e,t){return ne([n.toBuffer(),(t!=null?t:Oe).toBuffer(),e.toBuffer()],new Ee("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"))}import{PublicKey as a}from"@solana/web3.js";var no=new a("SegazTQwbYWknDZkJ6j2Kgvm5gw3MrHGKtWstZdoNKZ"),ro=new a("Ajk8d9bERSaFdeoT1d8JUVfaDayrYLnAdgeB47TFMUaG"),oo=new a("2HbjxVVKJ7Ct72Rcd8WK4VTqmwTXL5aAggkH1CHGFGmh"),Fe=new a("TegaRdjn9Qeh9DfUU28X19aPPpJtj9gs8ntSYrR5H4K "),Ke=new a("GzqQwxPSmUZnTyCfX9YWqi32MJg43ujP786ZoacL559Y"),Ve=new a("GzqQwxPSmUZnTyCfX9YWqi32MJg43ujP786ZoacL559Y"),io=new a("SegaXNnoXYTZiqUt9Xn2XqGcL56b25yzXLuJSpadcMu"),so=new a("2t1hV2YqnDCPuJZqr7Fy8oAygGwZE5Q9uaQzpLC1QryJ"),ao=new a("BLxynZeHE123MmQgNJZiV1pwW4VYh46oZYyC66xwmtTY");var We={SERUM_MARKET:a.default,UTIL1216:a.default,CREATE_CPMM_POOL_PROGRAM:Fe,CREATE_CPMM_POOL_AUTH:Ke,CREATE_CPMM_POOL_FEE_ACC:Ve};import lo from"bn.js";import{PublicKey as yo,AddressLookupTableAccount as bo}from"@solana/web3.js";import{PublicKey as Eo,sendAndConfirmTransaction as Oo,SystemProgram as Vo,Transaction as Wo,TransactionMessage as Uo,VersionedTransaction as qo}from"@solana/web3.js";import jo from"axios";import{Connection as ti}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ye}from"@solana/spl-token";import{sha256 as Ze}from"@noble/hashes/sha256";import{PublicKey as je}from"@solana/web3.js";import ie,{isBN as Bs}from"bn.js";import{bits as Ai,BitStructure as ki,blob as ve,Blob as Li,cstr as Ci,f32 as Ii,f32be as Ri,f64 as Ni,f64be as _i,greedy as Mi,Layout as Ue,ns64 as Di,ns64be as Ei,nu64 as Oi,nu64be as Fi,offset as Ki,s16 as Vi,s16be as Wi,s24 as vi,s24be as Ui,s32 as qi,s32be as Gi,s40 as ji,s40be as Hi,s48 as zi,s48be as Yi,s8 as Zi,seq as Ji,struct as Xi,Structure as qe,u16 as $i,u16be as Qi,u24 as es,u24be as ts,u32 as ns,u32be as rs,u40 as os,u40be as is,u48 as ss,u48be as as,u8 as us,UInt as Ge,union as cs,Union as ls,unionLayoutDiscriminator as ms,utf8 as ps}from"@solana/buffer-layout";var E=Ue,oe=qe;var O=Ge;var F=ve;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 ie(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 ie(e)),this.signed&&(e=e.toTwos(this.span*8)),this.blob.encode(e.toArrayLike(Buffer,"le",this.span),t,r)}};function se(n){return new O(1,n)}function L(n){return new O(4,n)}function C(n){return new K(8,!1,n)}var V=class extends E{constructor(e,t,r,s){super(e.span,s),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 P(n){return new V(F(32),e=>new je(e),e=>e.toBuffer(),n)}var W=class extends oe{decode(e,t){return super.decode(e,t)}};function ae(n,e,t){return new W(n,e,t)}var ue=ae([P("mint"),P("owner"),C("amount"),L("delegateOption"),P("delegate"),se("state"),L("isNativeOption"),C("isNative"),C("delegatedAmount"),L("closeAuthorityOption"),P("closeAuthority")]);var Ws=i("Sega_Util");function vs({owner:n,solAccountResp:e,tokenAccountResp:t}){let r=[],s=[];for(let{pubkey:g,account:d}of t.value){let v=ue.decode(d.data),{mint:U,amount:le}=v;r.push({publicKey:g,mint:U,amount:le,isAssociated:re(n,U,d.owner).publicKey.equals(g),isNative:!1,programId:d.owner}),s.push({pubkey:g,accountInfo:v,programId:d.owner})}return e&&r.push({mint:ce.default,amount:new ze(String(e.lamports)),isNative:!0,programId:e.owner}),{tokenAccounts:r,tokenAccountRawInfos:s}}function Us({fromPublicKey:n,programId:e=Ye,assignSeed:t}){let r=t?btoa(t).slice(0,32):He.generate().publicKey.toBase58().slice(0,32);return{publicKey:Je(n,r,e),seed:r}}function Je(n,e,t){let r=Buffer.concat([n.toBuffer(),Buffer.from(e),t.toBuffer()]),s=Ze(r);return new ce(s)}export{Us as generatePubKey,vs as parseTokenAccountResp};
//# sourceMappingURL=util.mjs.map