UNPKG

@sega-so/sega-sdk

Version:

An SDK for building applications on top of SEGA.

2 lines 14.7 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 c=l=>{try{P(t.next(l))}catch(m){i(m)}},h=l=>{try{P(t.throw(l))}catch(m){i(m)}},P=l=>l.done?r(l.value):Promise.resolve(l.value).then(c,h);P((t=t.apply(n,e)).next())});import{PublicKey as ze,SystemProgram as Ye}from"@solana/web3.js";import Je from"bn.js";import{PublicKey as ut}from"@solana/web3.js";import{get as J,set as ye}from"lodash";var E=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 E({name:n,logLevel:t}),ye(Z,n,e)}return e}import{MINT_SIZE as pt,TOKEN_PROGRAM_ID as dt,getTransferFeeConfig as ft,unpackMint as gt}from"@solana/spl-token";var yt=s("Sega_accountInfo_util");import f from"bn.js";import dr from"decimal.js";import Be from"big.js";import Ot 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 I=s("module/fraction"),F=w(L),A=w(we),Se={0:A.ROUND_DOWN,1:A.ROUND_HALF_UP,2:A.ROUND_UP},Ae={0:L.roundDown,1:L.roundHalfUp,2:L.roundUp},p=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)||I.logWithError(`${e} is not an integer.`),e<=0&&I.logWithError(`${e} is not positive.`),A.set({precision:e+1,rounding:Se[r]});let i=new A(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)||I.logWithError(`${e} is not an integer.`),e<0&&I.logWithError(`${e} is negative.`),F.DP=e,F.RM=Ae[r]||1,new F(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,t)}isZero(){return this.numerator.isZero()}};var jt=s("Sega_amount"),Ht=w(Be);import{PublicKey as Ce}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as $}from"@solana/spl-token";var Q={chainId:101,address:Ce.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"}},d={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 Ie}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Le}from"@solana/spl-token";function K({pubkey:n,isSigner:e=!1,isWritable:t=!0}){return{pubkey:n,isWritable:t,isSigner:e}}var en=[K({pubkey:Le,isWritable:!1}),K({pubkey:ee.programId,isWritable:!1}),K({pubkey:Ie,isWritable:!1})];function te({publicKey:n,transformSol:e}){let t=ne(n.toString());if(t instanceof o)return e&&t.equals(B)?O:t;if(e&&t.toString()===B.toBase58())return O;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 tn=new o("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),nn=new o("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),rn=new o("SysvarRent111111111111111111111111111111111"),on=new o("SysvarC1ock11111111111111111111111111111111"),Ne=new o("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),sn=new o("Sysvar1nstructions1111111111111111111111111"),an=ee.programId,un=new o("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),cn=new o("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),ln=new o("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),mn=new o("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),pn=new o("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),dn=new o("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),fn=new o("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),gn=new o("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),yn=new o("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),hn=new o("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),bn=new o("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),O=new o("So11111111111111111111111111111111111111112"),B=o.default;var N=class N{constructor({mint:e,decimals:t,symbol:r,name:i,skipMint:c=!1,isToken2022:h=!1}){if(e===B.toBase58()||e instanceof V&&B.equals(e)){this.decimals=d.decimals,this.symbol=d.symbol,this.name=d.name,this.mint=new V(d.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=c?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({},d),{mint:d.address}));var k=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 Rn=new p(new Re(100));var Fn=s("Sega_price");import{PublicKey as er}from"@solana/web3.js";import nr from"bn.js";var _e=new f(0),Sr=new f(1),Ar=new f(2),Br=new f(3),kr=new f(5),ke=new f(10),Cr=new f(100),Ir=new f(1e3),Lr=new f(1e4);import{PublicKey as ro}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as io}from"@solana/spl-token";import{ComputeBudgetProgram as Kr,Keypair as vr,PublicKey as Ur,Transaction as Gr,TransactionMessage as Hr,VersionedTransaction as zr}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 Xr}from"@solana/spl-token";var $r=s("Sega_txUtil");import{PublicKey as u}from"@solana/web3.js";var lo=new u("SegazTQwbYWknDZkJ6j2Kgvm5gw3MrHGKtWstZdoNKZ"),mo=new u("Ajk8d9bERSaFdeoT1d8JUVfaDayrYLnAdgeB47TFMUaG"),po=new u("2HbjxVVKJ7Ct72Rcd8WK4VTqmwTXL5aAggkH1CHGFGmh"),Me=new u("auetiVUVJkRxvNPLYEvVnz8UJSqQ1VgoA83PcicHVD1"),De=new u("GzqQwxPSmUZnTyCfX9YWqi32MJg43ujP786ZoacL559Y"),Ee=new u("GzqQwxPSmUZnTyCfX9YWqi32MJg43ujP786ZoacL559Y"),fo=new u("SegaXNnoXYTZiqUt9Xn2XqGcL56b25yzXLuJSpadcMu"),go=new u("2t1hV2YqnDCPuJZqr7Fy8oAygGwZE5Q9uaQzpLC1QryJ"),yo=new u("BLxynZeHE123MmQgNJZiV1pwW4VYh46oZYyC66xwmtTY");var Oe={SERUM_MARKET:u.default,UTIL1216:u.default,CREATE_CPMM_POOL_PROGRAM:Me,CREATE_CPMM_POOL_AUTH:De,CREATE_CPMM_POOL_FEE_ACC:Ee};import To from"bn.js";import{PublicKey as Bo,AddressLookupTableAccount as ko}from"@solana/web3.js";import{PublicKey as qo,sendAndConfirmTransaction as Go,SystemProgram as zo,Transaction as Yo,TransactionMessage as Zo,VersionedTransaction as Xo}from"@solana/web3.js";import Qo from"axios";import{Connection as ci}from"@solana/web3.js";import{createCloseAccountInstruction as Ze,createInitializeAccountInstruction as Xe,createTransferInstruction as $e,TOKEN_PROGRAM_ID as x}from"@solana/spl-token";import{Keypair as Ue,PublicKey as qe}from"@solana/web3.js";import js from"bn.js";import{TOKEN_PROGRAM_ID as Ge}from"@solana/spl-token";import{sha256 as je}from"@noble/hashes/sha256";import{PublicKey as ve}from"@solana/web3.js";import ae,{isBN as _s}from"bn.js";import{bits as Mi,BitStructure as Di,blob as Fe,Blob as Ei,cstr as Oi,f32 as Fi,f32be as Ki,f64 as Vi,f64be as Wi,greedy as vi,Layout as Ke,ns64 as Ui,ns64be as qi,nu64 as Gi,nu64be as ji,offset as Hi,s16 as zi,s16be as Yi,s24 as Ji,s24be as Zi,s32 as Xi,s32be as $i,s40 as Qi,s40be as es,s48 as ts,s48be as ns,s8 as rs,seq as os,struct as is,Structure as Ve,u16 as ss,u16be as as,u24 as us,u24be as cs,u32 as ls,u32be as ms,u40 as ps,u40be as ds,u48 as fs,u48be as gs,u8 as ys,UInt as We,union as hs,Union as bs,unionLayoutDiscriminator as Ts,utf8 as xs}from"@solana/buffer-layout";var v=Ke,se=Ve;var U=We;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 _(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 C(n){return new j(q(32),e=>new ve(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 D=ce([C("mint"),C("owner"),M("amount"),_("delegateOption"),C("delegate"),ue("state"),_("isNativeOption"),M("isNative"),M("delegatedAmount"),_("closeAuthorityOption"),C("closeAuthority")]);var Zs=s("Sega_Util");function le({fromPublicKey:n,programId:e=Ge,assignSeed:t}){let r=t?btoa(t).slice(0,32):Ue.generate().publicKey.toBase58().slice(0,32);return{publicKey:He(n,r,e),seed:r}}function He(n,e,t){let r=Buffer.concat([n.toBuffer(),Buffer.from(e),t.toBuffer()]),i=je(r);return new qe(i)}function Qe(n){let{mint:e,tokenAccount:t,owner:r,programId:i=x}=n;return Xe(t,e,r,i)}function et(n){let{tokenAccount:e,payer:t,multiSigners:r=[],owner:i,programId:c=x}=n;return Ze(e,t,i,r,c)}function ma(n){return y(this,null,function*(){let{connection:e,amount:t,commitment:r,payer:i,owner:c,skipCloseAccount:h}=n,P=yield e.getMinimumBalanceForRentExemption(D.span,r),l=a(t).add(new Je(P)),m=le({fromPublicKey:i,programId:x});return{addresses:{newAccount:m.publicKey},signers:[],instructions:[Ye.createAccountWithSeed({fromPubkey:i,basePubkey:i,seed:m.seed,newAccountPubkey:m.publicKey,lamports:l.toNumber(),space:D.span,programId:x}),Qe({mint:new ze(d.address),tokenAccount:m.publicKey,owner:c,programId:x})],instructionTypes:[T.CreateAccount,T.InitAccount],endInstructionTypes:h?[]:[T.CloseAccount],endInstructions:h?[]:[et({tokenAccount:m.publicKey,payer:i,owner:c})]}})}function pa({source:n,destination:e,owner:t,amount:r,multiSigners:i=[],tokenProgram:c=x}){return $e(n,e,t,BigInt(String(r)),i,c)}export{et as closeAccountInstruction,ma as createWSolAccountInstructions,Qe as initTokenAccountInstruction,pa as makeTransferInstruction}; //# sourceMappingURL=instruction.mjs.map