UNPKG

@funded-labs/plug-controller

Version:

Internet Computer Plug wallet's controller

29 lines (28 loc) 1.11 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.verify = exports.sign = void 0; const text_encoding_shim_1 = require("text-encoding-shim"); const secp256k1_1 = __importDefault(require("secp256k1")); const encoder = new text_encoding_shim_1.TextEncoder('utf-8'); const sign = (message, secretKey) => { const encoded = encoder.encode(message); const buffer = Buffer.from([ ...Buffer.alloc(32 - encoded.length).fill(0), ...encoded, ]); const { signature } = secp256k1_1.default.ecdsaSign(buffer, new Uint8Array(secretKey)); return signature; }; exports.sign = sign; const verify = (message, signature, publicKey) => { const encoded = encoder.encode(message); const buffer = Buffer.from([ ...Buffer.alloc(32 - encoded.length).fill(0), ...encoded, ]); return secp256k1_1.default.ecdsaVerify(signature, buffer, new Uint8Array(publicKey.toRaw())); }; exports.verify = verify;