UNPKG

@sega-so/sega-sdk

Version:

An SDK for building applications on top of SEGA.

2 lines 14.5 kB
var me=Object.defineProperty,pe=Object.defineProperties;var de=Object.getOwnPropertyDescriptors;var z=Object.getOwnPropertySymbols;var fe=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable;var Y=(n,e,t)=>e in n?me(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,g=(n,e)=>{for(var t in e||(e={}))fe.call(e,t)&&Y(n,t,e[t]);if(z)for(var t of z(e))ge.call(e,t)&&Y(n,t,e[t]);return n},b=(n,e)=>pe(n,de(e));var y=(n,e,t)=>new Promise((r,i)=>{var u=c=>{try{P(t.next(c))}catch(l){i(l)}},h=c=>{try{P(t.throw(c))}catch(l){i(l)}},P=c=>c.done?r(c.value):Promise.resolve(c.value).then(u,h);P((t=t.apply(n,e)).next())});import{PublicKey as He,SystemProgram as ze}from"@solana/web3.js";import Ye from"bn.js";import{PublicKey as at}from"@solana/web3.js";import{get as J,set as ye}from"lodash";var _=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}},Z={},he={};function s(n){let e=J(Z,n);if(!e){let t=J(he,n);e=new _({name:n,logLevel:t}),ye(Z,n,e)}return e}import{MINT_SIZE as mt,TOKEN_PROGRAM_ID as pt,getTransferFeeConfig as dt,unpackMint as ft}from"@solana/spl-token";var gt=s("Sega_accountInfo_util");import d from"bn.js";import pr from"decimal.js";import ke from"big.js";import _t from"bn.js";import be from"toformat";var Te=be,w=Te;import L from"big.js";import Pe from"bn.js";import we from"decimal.js-light";import S from"bn.js";var X=9007199254740991;function a(n){let e=s("Sega_parseBigNumberish");if(n instanceof S)return n;if(typeof n=="string"){if(n.match(/^-?[0-9]+$/))return new S(n);e.logWithError(`invalid BigNumberish string: ${n}`)}return typeof n=="number"?(n%1&&e.logWithError(`BigNumberish number underflow: ${n}`),(n>=X||n<=-X)&&e.logWithError(`BigNumberish number overflow: ${n}`),new S(String(n))):typeof n=="bigint"?new S(n.toString()):(e.error(`invalid BigNumberish value: ${n}`),new S(0))}var C=s("module/fraction"),K=w(L),B=w(we),Se={0:B.ROUND_DOWN,1:B.ROUND_HALF_UP,2:B.ROUND_UP},Be={0:L.roundDown,1:L.roundHalfUp,2:L.roundUp},m=class n{constructor(e,t=new Pe(1)){this.numerator=a(e),this.denominator=a(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(a(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(a(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(a(e));return new n(this.numerator.mul(t.numerator),this.denominator.mul(t.denominator))}div(e){let t=e instanceof n?e:new n(a(e));return new n(this.numerator.mul(t.denominator),this.denominator.mul(t.numerator))}toSignificant(e,t={groupSeparator:""},r=1){Number.isInteger(e)||C.logWithError(`${e} is not an integer.`),e<=0&&C.logWithError(`${e} is not positive.`),B.set({precision:e+1,rounding:Se[r]});let i=new B(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return i.toFormat(i.decimalPlaces(),t)}toFixed(e,t={groupSeparator:""},r=1){return Number.isInteger(e)||C.logWithError(`${e} is not an integer.`),e<0&&C.logWithError(`${e} is negative.`),K.DP=e,K.RM=Be[r]||1,new K(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,t)}isZero(){return this.numerator.isZero()}};var Gt=s("Sega_amount"),jt=w(ke);import{PublicKey as Ie}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as $}from"@solana/spl-token";var Q={chainId:101,address:Ie.default.toBase58(),programId:$.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:$.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 V}from"@solana/web3.js";import{PublicKey as o,SystemProgram as ee,SYSVAR_RENT_PUBKEY as Ce}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Le}from"@solana/spl-token";function O({pubkey:n,isSigner:e=!1,isWritable:t=!0}){return{pubkey:n,isWritable:t,isSigner:e}}var Qt=[O({pubkey:Le,isWritable:!1}),O({pubkey:ee.programId,isWritable:!1}),O({pubkey:Ce,isWritable:!1})];function te({publicKey:n,transformSol:e}){let t=ne(n.toString());if(t instanceof o)return e&&t.equals(k)?F:t;if(e&&t.toString()===k.toBase58())return F;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 ne(n){try{return new o(n)}catch(e){return n}}var en=new o("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),tn=new o("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),nn=new o("SysvarRent111111111111111111111111111111111"),rn=new o("SysvarC1ock11111111111111111111111111111111"),Ne=new o("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),on=new o("Sysvar1nstructions1111111111111111111111111"),sn=ee.programId,an=new o("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),un=new o("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),cn=new o("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),ln=new o("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),mn=new o("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),pn=new o("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),dn=new o("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),fn=new o("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),gn=new o("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),yn=new o("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),hn=new o("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),F=new o("So11111111111111111111111111111111111111112"),k=o.default;var N=class N{constructor({mint:e,decimals:t,symbol:r,name:i,skipMint:u=!1,isToken2022:h=!1}){if(e===k.toBase58()||e instanceof V&&k.equals(e)){this.decimals=p.decimals,this.symbol=p.symbol,this.name=p.name,this.mint=new V(p.address),this.isToken2022=!1;return}this.decimals=t,this.symbol=r||e.toString().substring(0,6),this.name=i||e.toString().substring(0,6),this.mint=u?V.default:te({publicKey:e}),this.isToken2022=h}equals(e){return this===e?!0:this.mint.equals(e.mint)}};N.WSOL=new N(b(g({},p),{mint:p.address}));var A=N;var R=class R{constructor({decimals:e,symbol:t="UNKNOWN",name:r="UNKNOWN"}){this.decimals=e,this.symbol=t,this.name=r}equals(e){return this===e}};R.SOL=new R(Q);var W=R;import Re from"bn.js";var Nn=new m(new Re(100));var Fn=s("Sega_price");import{PublicKey as Qn}from"@solana/web3.js";import tr from"bn.js";var De=new d(0),wr=new d(1),Sr=new d(2),Br=new d(3),kr=new d(5),Ae=new d(10),Ar=new d(100),Ir=new d(1e3),Cr=new d(1e4);import{PublicKey as no}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as oo}from"@solana/spl-token";import{ComputeBudgetProgram as Kr,Keypair as Wr,PublicKey as vr,Transaction as qr,TransactionMessage as jr,VersionedTransaction as Hr}from"@solana/web3.js";var T={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 Zr}from"@solana/spl-token";var Xr=s("Sega_txUtil");import{PublicKey as f}from"@solana/web3.js";var co=new f("SegazTQwbYWknDZkJ6j2Kgvm5gw3MrHGKtWstZdoNKZ"),lo=new f("Ajk8d9bERSaFdeoT1d8JUVfaDayrYLnAdgeB47TFMUaG"),mo=new f("2HbjxVVKJ7Ct72Rcd8WK4VTqmwTXL5aAggkH1CHGFGmh"),Me=new f("auetiVUVJkRxvNPLYEvVnz8UJSqQ1VgoA83PcicHVD1"),Ee=new f("GzqQwxPSmUZnTyCfX9YWqi32MJg43ujP786ZoacL559Y"),_e=new f("GzqQwxPSmUZnTyCfX9YWqi32MJg43ujP786ZoacL559Y");var po={SERUM_MARKET:f.default,UTIL1216:f.default,CREATE_CPMM_POOL_PROGRAM:Me,CREATE_CPMM_POOL_AUTH:Ee,CREATE_CPMM_POOL_FEE_ACC:_e};import yo from"bn.js";import{PublicKey as wo,AddressLookupTableAccount as So}from"@solana/web3.js";import{PublicKey as Wo,sendAndConfirmTransaction as vo,SystemProgram as Go,Transaction as jo,TransactionMessage as zo,VersionedTransaction as Yo}from"@solana/web3.js";import Zo from"axios";import{Connection as oi}from"@solana/web3.js";import{createCloseAccountInstruction as Je,createInitializeAccountInstruction as Ze,createTransferInstruction as Xe,TOKEN_PROGRAM_ID as x}from"@solana/spl-token";import{Keypair as ve,PublicKey as Ue}from"@solana/web3.js";import Os from"bn.js";import{TOKEN_PROGRAM_ID as qe}from"@solana/spl-token";import{sha256 as Ge}from"@noble/hashes/sha256";import{PublicKey as We}from"@solana/web3.js";import ae,{isBN as ks}from"bn.js";import{bits as Ai,BitStructure as Ii,blob as Fe,Blob as Ci,cstr as Li,f32 as Ni,f32be as Ri,f64 as Di,f64be as Mi,greedy as Ei,Layout as Ke,ns64 as _i,ns64be as Fi,nu64 as Ki,nu64be as Oi,offset as Vi,s16 as Wi,s16be as vi,s24 as Ui,s24be as qi,s32 as Gi,s32be as ji,s40 as Hi,s40be as zi,s48 as Yi,s48be as Ji,s8 as Zi,seq as Xi,struct as $i,Structure as Oe,u16 as Qi,u16be as es,u24 as ts,u24be as ns,u32 as rs,u32be as os,u40 as is,u40be as ss,u48 as as,u48be as us,u8 as cs,UInt as Ve,union as ls,Union as ms,unionLayoutDiscriminator as ps,utf8 as ds}from"@solana/buffer-layout";var v=Ke,se=Oe;var U=Ve;var q=Fe;var G=class extends v{constructor(e,t,r){super(e,r),this.blob=q(e),this.signed=t}decode(e,t=0){let r=new ae(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 ae(e)),this.signed&&(e=e.toTwos(this.span*8)),this.blob.encode(e.toArrayLike(Buffer,"le",this.span),t,r)}};function ue(n){return new U(1,n)}function D(n){return new U(4,n)}function M(n){return new G(8,!1,n)}var j=class extends v{constructor(e,t,r,i){super(e.span,i),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 I(n){return new j(q(32),e=>new We(e),e=>e.toBuffer(),n)}var H=class extends se{decode(e,t){return super.decode(e,t)}};function ce(n,e,t){return new H(n,e,t)}var E=ce([I("mint"),I("owner"),M("amount"),D("delegateOption"),I("delegate"),ue("state"),D("isNativeOption"),M("isNative"),M("delegatedAmount"),D("closeAuthorityOption"),I("closeAuthority")]);var qs=s("Sega_Util");function le({fromPublicKey:n,programId:e=qe,assignSeed:t}){let r=t?btoa(t).slice(0,32):ve.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()]),i=Ge(r);return new Ue(i)}function $e(n){let{mint:e,tokenAccount:t,owner:r,programId:i=x}=n;return Ze(t,e,r,i)}function Qe(n){let{tokenAccount:e,payer:t,multiSigners:r=[],owner:i,programId:u=x}=n;return Je(e,t,i,r,u)}function oa(n){return y(this,null,function*(){let{connection:e,amount:t,commitment:r,payer:i,owner:u,skipCloseAccount:h}=n,P=yield e.getMinimumBalanceForRentExemption(E.span,r),c=a(t).add(new Ye(P)),l=le({fromPublicKey:i,programId:x});return{addresses:{newAccount:l.publicKey},signers:[],instructions:[ze.createAccountWithSeed({fromPubkey:i,basePubkey:i,seed:l.seed,newAccountPubkey:l.publicKey,lamports:c.toNumber(),space:E.span,programId:x}),$e({mint:new He(p.address),tokenAccount:l.publicKey,owner:u,programId:x})],instructionTypes:[T.CreateAccount,T.InitAccount],endInstructionTypes:h?[]:[T.CloseAccount],endInstructions:h?[]:[Qe({tokenAccount:l.publicKey,payer:i,owner:u})]}})}function ia({source:n,destination:e,owner:t,amount:r,multiSigners:i=[],tokenProgram:u=x}){return Xe(n,e,t,BigInt(String(r)),i,u)}export{Qe as closeAccountInstruction,oa as createWSolAccountInstructions,$e as initTokenAccountInstruction,ia as makeTransferInstruction}; //# sourceMappingURL=instruction.mjs.map