@sega-so/sega-sdk
Version:
An SDK for building applications on top of SEGA.
2 lines • 10.3 kB
JavaScript
var se=Object.defineProperty,ae=Object.defineProperties;var ce=Object.getOwnPropertyDescriptors;var v=Object.getOwnPropertySymbols;var ue=Object.prototype.hasOwnProperty,le=Object.prototype.propertyIsEnumerable;var _=(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)&&_(t,n,e[n]);if(v)for(var n of v(e))le.call(e,n)&&_(t,n,e[n]);return t},y=(t,e)=>ae(t,ce(e));var f=(t,e,n)=>new Promise((i,a)=>{var s=o=>{try{u(n.next(o))}catch(x){a(x)}},l=o=>{try{u(n.throw(o))}catch(x){a(x)}},u=o=>o.done?i(o.value):Promise.resolve(o.value).then(s,l);u((n=n.apply(t,e)).next())});import{PublicKey as Le,AddressLookupTableAccount as te}from"@solana/web3.js";import{PublicKey as Fe}from"@solana/web3.js";import d from"bn.js";import Dn from"decimal.js";import xe from"big.js";import et from"bn.js";import{get as q,set as me}from"lodash";var M=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 M({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 m(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 C=c("module/fraction"),F=P(I),k=P(Te),be={0:k.ROUND_DOWN,1:k.ROUND_HALF_UP,2:k.ROUND_UP},ye={0:I.roundDown,1:I.roundHalfUp,2:I.roundUp},p=class t{constructor(e,n=new he(1)){this.numerator=m(e),this.denominator=m(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(m(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(m(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(m(e));return new t(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(e){let n=e instanceof t?e:new t(m(e));return new t(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(e,n={groupSeparator:""},i=1){Number.isInteger(e)||C.logWithError(`${e} is not an integer.`),e<=0&&C.logWithError(`${e} is not positive.`),k.set({precision:e+1,rounding:be[i]});let a=new k(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)||C.logWithError(`${e} is not an integer.`),e<0&&C.logWithError(`${e} is negative.`),F.DP=e,F.RM=ye[i]||1,new F(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,n)}isZero(){return this.numerator.isZero()}};var ut=c("Sega_amount"),lt=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 O}from"@solana/web3.js";import{PublicKey as r,SystemProgram as z,SYSVAR_RENT_PUBKEY as Se}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ke}from"@solana/spl-token";function L({pubkey:t,isSigner:e=!1,isWritable:n=!0}){return{pubkey:t,isWritable:n,isSigner:e}}var bt=[L({pubkey:ke,isWritable:!1}),L({pubkey:z.programId,isWritable:!1}),L({pubkey:Se,isWritable:!1})];function Y({publicKey:t,transformSol:e}){let n=J(t.toString());if(n instanceof r)return e&&n.equals(A)?E:n;if(e&&n.toString()===A.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 J(t){try{return new r(t)}catch(e){return t}}var yt=new r("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),xt=new r("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),wt=new r("SysvarRent111111111111111111111111111111111"),Pt=new r("SysvarC1ock11111111111111111111111111111111"),Ae=new r("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),St=new r("Sysvar1nstructions1111111111111111111111111"),kt=z.programId,At=new r("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Bt=new r("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Ct=new r("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),It=new r("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Nt=new r("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Rt=new r("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Dt=new r("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Mt=new r("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Ft=new r("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Lt=new r("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Et=new r("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),E=new r("So11111111111111111111111111111111111111112"),A=r.default;var N=class N{constructor({mint:e,decimals:n,symbol:i,name:a,skipMint:s=!1,isToken2022:l=!1}){if(e===A.toBase58()||e instanceof O&&A.equals(e)){this.decimals=b.decimals,this.symbol=b.symbol,this.name=b.name,this.mint=new O(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?O.default:Y({publicKey:e}),this.isToken2022=l}equals(e){return this===e?!0:this.mint.equals(e.mint)}};N.WSOL=new N(y(T({},b),{mint:b.address}));var B=N;var R=class R{constructor({decimals:e,symbol:n="UNKNOWN",name:i="UNKNOWN"}){this.decimals=e,this.symbol=n,this.name=i}equals(e){return this===e}};R.SOL=new R(H);var V=R;import Be from"bn.js";var Yt=new p(new Be(100));var en=c("Sega_price");import{PublicKey as bn}from"@solana/web3.js";import xn from"bn.js";var Ce=new d(0),_n=new d(1),qn=new d(2),Un=new d(3),Gn=new d(5),we=new d(10),jn=new d(100),Hn=new d(1e3),zn=new d(1e4);function W(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 wr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Sr}from"@solana/spl-token";import{ComputeBudgetProgram as nr,Keypair as or,PublicKey as sr,Transaction as cr,TransactionMessage as lr,VersionedTransaction as mr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as gr}from"@solana/spl-token";var hr=c("Sega_txUtil");import{PublicKey as g}from"@solana/web3.js";var Ir=new g("SegazTQwbYWknDZkJ6j2Kgvm5gw3MrHGKtWstZdoNKZ"),Nr=new g("Ajk8d9bERSaFdeoT1d8JUVfaDayrYLnAdgeB47TFMUaG"),Rr=new g("2HbjxVVKJ7Ct72Rcd8WK4VTqmwTXL5aAggkH1CHGFGmh"),Ne=new g("auetiVUVJkRxvNPLYEvVnz8UJSqQ1VgoA83PcicHVD1"),Re=new g("GzqQwxPSmUZnTyCfX9YWqi32MJg43ujP786ZoacL559Y"),De=new g("GzqQwxPSmUZnTyCfX9YWqi32MJg43ujP786ZoacL559Y");var Dr={SERUM_MARKET:g.default,UTIL1216:g.default,CREATE_CPMM_POOL_PROGRAM:Ne,CREATE_CPMM_POOL_AUTH:Re,CREATE_CPMM_POOL_FEE_ACC:De};import Lr from"bn.js";import{PublicKey as Yr,sendAndConfirmTransaction as Jr,SystemProgram as $r,Transaction as Qr,TransactionMessage as ti,VersionedTransaction as ni}from"@solana/web3.js";import ii from"axios";import{Connection as pi}from"@solana/web3.js";import{MINT_SIZE as _i,TOKEN_PROGRAM_ID as qi,getTransferFeeConfig as Ui,unpackMint as Gi}from"@solana/spl-token";var K=c("Sega_accountInfo_util");function ee(t,e,n){return f(this,null,function*(){let{batchRequest:i,commitment:a="confirmed",chunkCount:s=100}=T({batchRequest:!1},n),l=W(e,s),u=new Array(l.length).fill([]);if(i){let o=l.map(h=>({methodName:"getMultipleAccounts",args:t._buildArgs([h.map(w=>w.toBase58())],a,"base64")})),x=W(o,10);u=(yield(yield Promise.all(x.map(h=>f(this,null,function*(){return yield t._rpcBatchRequest(h)})))).flat()).map(h=>(h.error&&K.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${h.error.message}`),h.result.value.map(D=>{if(D){let{data:w,executable:ne,lamports:re,owner:ie,rentEpoch:oe}=D;return w.length!==2&&w[1]!=="base64"&&K.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(w[0],"base64"),executable:ne,lamports:re,owner:new Fe(ie),rentEpoch:oe}}return null})))}else try{u=yield Promise.all(l.map(o=>t.getMultipleAccountsInfo(o,a)))}catch(o){o instanceof Error&&K.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${o.message}`)}return u.flat()})}function Me(n){return f(this,arguments,function*({connection:t,address:e}){let i=yield ee(t,[...new Set(e.map(s=>s.toString()))].map(s=>new Le(s))),a={};for(let s=0;s<e.length;s++){let l=i[s],u=e[s];if(!l)continue;let o=new te({key:u,state:te.deserialize(l.data)});a[u.toString()]=o,Q[u.toString()]=o}return a})}var Q={};export{Q as LOOKUP_TABLE_CACHE,Me as getMultipleLookupTableInfo};
//# sourceMappingURL=lookupTable.mjs.map