UNPKG

@sega-so/sega-sdk

Version:

An SDK for building applications on top of SEGA.

2 lines 10.5 kB
var se=Object.defineProperty,ae=Object.defineProperties;var ce=Object.getOwnPropertyDescriptors;var K=Object.getOwnPropertySymbols;var ue=Object.prototype.hasOwnProperty,le=Object.prototype.propertyIsEnumerable;var v=(t,e,n)=>e in t?se(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,T=(t,e)=>{for(var n in e||(e={}))ue.call(e,n)&&v(t,n,e[n]);if(K)for(var n of K(e))le.call(e,n)&&v(t,n,e[n]);return t},y=(t,e)=>ae(t,ce(e));var g=(t,e,n)=>new Promise((i,a)=>{var s=o=>{try{u(n.next(o))}catch(x){a(x)}},m=o=>{try{u(n.throw(o))}catch(x){a(x)}},u=o=>o.done?i(o.value):Promise.resolve(o.value).then(s,m);u((n=n.apply(t,e)).next())});import{PublicKey as Ee,AddressLookupTableAccount as te}from"@solana/web3.js";import{PublicKey as Oe}from"@solana/web3.js";import f from"bn.js";import Dn from"decimal.js";import xe from"big.js";import tt from"bn.js";import{get as q,set as me}from"lodash";var D=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(i=>typeof i=="object"?JSON.stringify(i):i).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}},U={},pe={};function c(t){let e=q(U,t);if(!e){let n=q(pe,t);e=new D({name:t,logLevel:n}),me(U,t,e)}return e}import de from"toformat";var fe=de,P=fe;import I from"big.js";import he from"bn.js";import Te from"decimal.js-light";import S from"bn.js";var G=9007199254740991;function p(t){let e=c("Sega_parseBigNumberish");if(t instanceof S)return t;if(typeof t=="string"){if(t.match(/^-?[0-9]+$/))return new S(t);e.logWithError(`invalid BigNumberish string: ${t}`)}return typeof t=="number"?(t%1&&e.logWithError(`BigNumberish number underflow: ${t}`),(t>=G||t<=-G)&&e.logWithError(`BigNumberish number overflow: ${t}`),new S(String(t))):typeof t=="bigint"?new S(t.toString()):(e.error(`invalid BigNumberish value: ${t}`),new S(0))}var B=c("module/fraction"),L=P(I),A=P(Te),be={0:A.ROUND_DOWN,1:A.ROUND_HALF_UP,2:A.ROUND_UP},ye={0:I.roundDown,1:I.roundHalfUp,2:I.roundUp},d=class t{constructor(e,n=new he(1)){this.numerator=p(e),this.denominator=p(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(p(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(p(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(p(e));return new t(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(e){let n=e instanceof t?e:new t(p(e));return new t(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(e,n={groupSeparator:""},i=1){Number.isInteger(e)||B.logWithError(`${e} is not an integer.`),e<=0&&B.logWithError(`${e} is not positive.`),A.set({precision:e+1,rounding:be[i]});let a=new A(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return a.toFormat(a.decimalPlaces(),n)}toFixed(e,n={groupSeparator:""},i=1){return Number.isInteger(e)||B.logWithError(`${e} is not an integer.`),e<0&&B.logWithError(`${e} is negative.`),L.DP=e,L.RM=ye[i]||1,new L(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,n)}isZero(){return this.numerator.isZero()}};var lt=c("Sega_amount"),mt=P(xe);import{PublicKey as Pe}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as j}from"@solana/spl-token";var H={chainId:101,address:Pe.default.toBase58(),programId:j.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"sega",extensions:{coingeckoId:"solana"}},b={chainId:101,address:"So11111111111111111111111111111111111111112",programId:j.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 F}from"@solana/web3.js";import{PublicKey as r,SystemProgram as Y,SYSVAR_RENT_PUBKEY as Se}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ae}from"@solana/spl-token";function O({pubkey:t,isSigner:e=!1,isWritable:n=!0}){return{pubkey:t,isWritable:n,isSigner:e}}var yt=[O({pubkey:Ae,isWritable:!1}),O({pubkey:Y.programId,isWritable:!1}),O({pubkey:Se,isWritable:!1})];function z({publicKey:t,transformSol:e}){let n=Z(t.toString());if(n instanceof r)return e&&n.equals(k)?E:n;if(e&&n.toString()===k.toBase58())return E;if(typeof n=="string"){if(n===r.default.toBase58())return r.default;try{return new r(n)}catch(i){throw new Error("invalid public key")}}throw new Error("invalid public key")}function Z(t){try{return new r(t)}catch(e){return t}}var xt=new r("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),wt=new r("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Pt=new r("SysvarRent111111111111111111111111111111111"),St=new r("SysvarC1ock11111111111111111111111111111111"),ke=new r("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),At=new r("Sysvar1nstructions1111111111111111111111111"),kt=Y.programId,Ct=new r("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Bt=new r("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),It=new r("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Rt=new r("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Mt=new r("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Nt=new r("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Dt=new r("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Lt=new r("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Ot=new r("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Et=new r("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Ft=new r("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),E=new r("So11111111111111111111111111111111111111112"),k=r.default;var R=class R{constructor({mint:e,decimals:n,symbol:i,name:a,skipMint:s=!1,isToken2022:m=!1}){if(e===k.toBase58()||e instanceof F&&k.equals(e)){this.decimals=b.decimals,this.symbol=b.symbol,this.name=b.name,this.mint=new F(b.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=i||e.toString().substring(0,6),this.name=a||e.toString().substring(0,6),this.mint=s?F.default:z({publicKey:e}),this.isToken2022=m}equals(e){return this===e?!0:this.mint.equals(e.mint)}};R.WSOL=new R(y(T({},b),{mint:b.address}));var C=R;var M=class M{constructor({decimals:e,symbol:n="UNKNOWN",name:i="UNKNOWN"}){this.decimals=e,this.symbol=n,this.name=i}equals(e){return this===e}};M.SOL=new M(H);var _=M;import Ce from"bn.js";var Zt=new d(new Ce(100));var tn=c("Sega_price");import{PublicKey as yn}from"@solana/web3.js";import wn from"bn.js";var Be=new f(0),qn=new f(1),Un=new f(2),Gn=new f(3),jn=new f(5),we=new f(10),Hn=new f(100),Yn=new f(1e3),zn=new f(1e4);function V(t,e=1,n=[]){let i=[...t];if(e<=0)return n;for(;i.length;)n.push(i.splice(0,e));return n}import{PublicKey as Pr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ar}from"@solana/spl-token";import{ComputeBudgetProgram as rr,Keypair as sr,PublicKey as ar,Transaction as ur,TransactionMessage as mr,VersionedTransaction as pr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as hr}from"@solana/spl-token";var Tr=c("Sega_txUtil");import{PublicKey as l}from"@solana/web3.js";var Rr=new l("SegazTQwbYWknDZkJ6j2Kgvm5gw3MrHGKtWstZdoNKZ"),Mr=new l("Ajk8d9bERSaFdeoT1d8JUVfaDayrYLnAdgeB47TFMUaG"),Nr=new l("2HbjxVVKJ7Ct72Rcd8WK4VTqmwTXL5aAggkH1CHGFGmh"),Re=new l("TegaRdjn9Qeh9DfUU28X19aPPpJtj9gs8ntSYrR5H4K "),Me=new l("GzqQwxPSmUZnTyCfX9YWqi32MJg43ujP786ZoacL559Y"),Ne=new l("GzqQwxPSmUZnTyCfX9YWqi32MJg43ujP786ZoacL559Y"),Dr=new l("SegaXNnoXYTZiqUt9Xn2XqGcL56b25yzXLuJSpadcMu"),Lr=new l("2t1hV2YqnDCPuJZqr7Fy8oAygGwZE5Q9uaQzpLC1QryJ"),Or=new l("BLxynZeHE123MmQgNJZiV1pwW4VYh46oZYyC66xwmtTY");var De={SERUM_MARKET:l.default,UTIL1216:l.default,CREATE_CPMM_POOL_PROGRAM:Re,CREATE_CPMM_POOL_AUTH:Me,CREATE_CPMM_POOL_FEE_ACC:Ne};import _r from"bn.js";import{PublicKey as Xr,sendAndConfirmTransaction as $r,SystemProgram as ti,Transaction as ni,TransactionMessage as ii,VersionedTransaction as oi}from"@solana/web3.js";import ai from"axios";import{Connection as Ti}from"@solana/web3.js";import{MINT_SIZE as zi,TOKEN_PROGRAM_ID as Zi,getTransferFeeConfig as Ji,unpackMint as Xi}from"@solana/spl-token";var W=c("Sega_accountInfo_util");function ee(t,e,n){return g(this,null,function*(){let{batchRequest:i,commitment:a="confirmed",chunkCount:s=100}=T({batchRequest:!1},n),m=V(e,s),u=new Array(m.length).fill([]);if(i){let o=m.map(h=>({methodName:"getMultipleAccounts",args:t._buildArgs([h.map(w=>w.toBase58())],a,"base64")})),x=V(o,10);u=(yield(yield Promise.all(x.map(h=>g(this,null,function*(){return yield t._rpcBatchRequest(h)})))).flat()).map(h=>(h.error&&W.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${h.error.message}`),h.result.value.map(N=>{if(N){let{data:w,executable:ne,lamports:re,owner:ie,rentEpoch:oe}=N;return w.length!==2&&w[1]!=="base64"&&W.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(w[0],"base64"),executable:ne,lamports:re,owner:new Oe(ie),rentEpoch:oe}}return null})))}else try{u=yield Promise.all(m.map(o=>t.getMultipleAccountsInfo(o,a)))}catch(o){o instanceof Error&&W.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${o.message}`)}return u.flat()})}function Le(n){return g(this,arguments,function*({connection:t,address:e}){let i=yield ee(t,[...new Set(e.map(s=>s.toString()))].map(s=>new Ee(s))),a={};for(let s=0;s<e.length;s++){let m=i[s],u=e[s];if(!m)continue;let o=new te({key:u,state:te.deserialize(m.data)});a[u.toString()]=o,Q[u.toString()]=o}return a})}var Q={};export{Q as LOOKUP_TABLE_CACHE,Le as getMultipleLookupTableInfo}; //# sourceMappingURL=lookupTable.mjs.map