UNPKG

@reown/appkit-siwx

Version:

The chain agnostic tool to enable authentication for AppKit applications.

26 lines 904 B
import bs58 from 'bs58'; import nacl from 'tweetnacl'; import { ConstantsUtil } from '@reown/appkit-common'; import { SIWXVerifier } from '../core/SIWXVerifier.js'; /** * Default verifier for Solana sessions. */ export class SolanaVerifier extends SIWXVerifier { constructor() { super(...arguments); this.chainNamespace = ConstantsUtil.CHAIN.SOLANA; } async verify(session) { try { const publicKey = bs58.decode(session.data.accountAddress); const signature = bs58.decode(session.signature); const message = new TextEncoder().encode(session.message.toString()); const isValid = nacl.sign.detached.verify(message, signature, publicKey); return Promise.resolve(isValid); } catch (error) { return Promise.resolve(false); } } } //# sourceMappingURL=SolanaVerifier.js.map