UNPKG

cryo-groupx-sdk

Version:

SDK for group-x.xyz Public API

1 lines 2.37 kB
var __awaiter=this&&this.__awaiter||function(e,i,n,l){return new(n=n||Promise)(function(o,r){function s(e){try{t(l.next(e))}catch(e){r(e)}}function a(e){try{t(l.throw(e))}catch(e){r(e)}}function t(e){var r;e.done?o(e.value):((r=e.value)instanceof n?r:new n(function(e){e(r)})).then(s,a)}t((l=l.apply(e,i||[])).next())})};import axios from"axios";import{ethers}from"ethers";import packageJson from"../package.json";import{prepareBodyWithSign}from"./auth";import{ApiError}from"./types";const testWallet=ethers.Wallet.fromMnemonic("silk find quick permit focus flip noise sound need female renew intact"),globals={apiBaseUrl:"https://api.group-x.xyz/v1",headers:{"User-Agent":"groupXyz-sdk:"+(null==packageJson?void 0:packageJson.version),"Project-Name":"cryo-groupx-sdk","Content-Type":"application/json","Session-Id":"","IKnow-Agent":""},sessionId:"",iknowAgent:"",account:""},sign=e=>Promise.resolve(String(e).slice(0,129)),setSessionInfo=(e,r,o)=>{globals.headers["Session-Id"]=o,globals.headers["IKnow-Agent"]=r,globals.sessionId=o,globals.iknowAgent=r,globals.account=e},setApiBaseUrl=e=>{globals.apiBaseUrl=e},setProjectName=e=>{globals.headers["Project-Name"]=e},makeUrl=e=>{let r=null==e?void 0:e.toLowerCase();var o=r.startsWith("http")||r.startsWith("https");return r=o?r:globals.apiBaseUrl+e},delReq=(e,s)=>__awaiter(void 0,void 0,void 0,function*(){try{var r=yield prepareBodyWithSign(testWallet.address,sign,s),o=yield axios({url:makeUrl(e),data:r,method:"delete",headers:globals.headers});return null==o?void 0:o.data}catch(e){throw axios.isAxiosError(e)&&null!=(o=null==(r=e.response)?void 0:r.data)&&o.errors?new ApiError(e.response.data.errors):e}}),postReq=(e,s)=>__awaiter(void 0,void 0,void 0,function*(){try{var r=yield prepareBodyWithSign(testWallet.address,sign,s),o=yield axios.post(makeUrl(e),r,{headers:globals.headers});return null==o?void 0:o.data}catch(e){throw axios.isAxiosError(e)&&null!=(o=null==(r=e.response)?void 0:r.data)&&o.errors?new ApiError(e.response.data.errors):e}}),getReq=e=>__awaiter(void 0,void 0,void 0,function*(){try{var r=yield axios.get(makeUrl(e),{headers:globals.headers});return null==r?void 0:r.data}catch(e){throw axios.isAxiosError(e)&&null!=(r=null==(r=e.response)?void 0:r.data)&&r.errors?new ApiError(e.response.data.errors):e}});export{globals,postReq,getReq,delReq,setApiBaseUrl,setProjectName,setSessionInfo};