UNPKG

@unstoppabledomains/resolution

Version:
26 lines (25 loc) 1.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isValidTwitterSignature = void 0; var index_1 = require("./index"); var js_sha3_1 = require("js-sha3"); var recoverSignature_1 = require("./recoverSignature"); var namehash_1 = require("./namehash"); var TwitterVerificationAddress = '0x12cfb13522F13a78b650a8bCbFCf50b7CB899d82'; var isValidTwitterSignature = function (_a) { var tokenId = _a.tokenId, owner = _a.owner, twitterHandle = _a.twitterHandle, validationSignature = _a.validationSignature; var tokenIdInDecimals = (0, namehash_1.fromHexStringToDecimals)(tokenId); var message = [ tokenIdInDecimals, owner, 'social.twitter.username', twitterHandle, ] .map(function (value) { return '0x' + (0, js_sha3_1.keccak256)(value.startsWith('0x') ? (0, index_1.hexToBytes)(value) : value); }) .reduce(function (message, hashedValue) { return message + hashedValue; }, ''); var signerAddress = (0, recoverSignature_1.recover)(message, validationSignature); return signerAddress === TwitterVerificationAddress; }; exports.isValidTwitterSignature = isValidTwitterSignature;