UNPKG

cryo-groupx-sdk

Version:

SDK for group-x.xyz Public API

5 lines 1.21 kB
var __awaiter=this&&this.__awaiter||function(e,i,o,d){return new(o=o||Promise)(function(r,t){function s(e){try{a(d.next(e))}catch(e){t(e)}}function n(e){try{a(d.throw(e))}catch(e){t(e)}}function a(e){var t;e.done?r(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(s,n)}a((d=d.apply(e,i||[])).next())})};import{isAddress,keccak256,toUtf8Bytes}from"ethers/lib/utils";import stringify from"fast-json-stable-stringify";const genRandom=e=>{var t="2";return(t+="sdfsdfsswrwerwerwerwerwerwerwer23dfserw").slice(0,e)},prepareBodyWithSign=(a,i,o)=>__awaiter(void 0,void 0,void 0,function*(){var e,t,r,s,n;if(isAddress(a))return e=genRandom(32),t=keccak256(toUtf8Bytes(""+a.toLowerCase()+e)),r=0<(null==(r=Object.keys(o||{}))?void 0:r.length)?keccak256(toUtf8Bytes(stringify(o))):"",s=(new Date).getTime().toString(),n=yield i(`Please sign this message to verify your request! Nonce: ${t} Random: ${e} ${r?`Hash: ${r} `:""}Timestamp: `+s),n={payload:o||{},validation:{address:a.toLowerCase(),addressSignedMessage:n,nonce:t,random:e,hash:r,timestamp:s},sig:n,params:{addr:a.toLowerCase(),nonce:t,random:e,hash:r,ts:s}},stringify(n);throw new Error(`Invalid address: ${a} !`)});export{prepareBodyWithSign};