UNPKG

@samudai_xyz/web3-sdk

Version:

## All in one web3 integrations for Samudai

56 lines (55 loc) 1.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Siwe = void 0; const siwe_1 = require("siwe"); class Siwe { constructor(provider) { this.createMessage = async (address, statement, domain) => { try { const nonce = (0, siwe_1.generateNonce)(); const validFor = 24 * 60 * 60 * 1000; const expirationDate = new Date(Date.now() + validFor).toISOString(); const message = new siwe_1.SiweMessage({ domain: domain, address: address, uri: origin, version: '1.0.0', chainId: 1, statement: statement, nonce: nonce, expirationTime: expirationDate, }); return message.prepareMessage(); } catch (err) { console.log(err); return `Error: ${err}`; } }; this.walletSignIn = async (domain) => { try { const signer = this.provider.getSigner(); const address = await signer.getAddress(); const message = await this.createMessage(address, 'Samudai DAO Dashboard Sign In Request', domain); const signature = await signer.signMessage(message); return { message: message, signature: signature, error: null, }; } catch (err) { return { message: '', signature: '', error: { message: 'Error while signing message', error: `Error: ${err}`, }, }; } }; this.provider = provider; } } exports.Siwe = Siwe;