UNPKG

@govtechsg/open-attestation

Version:
25 lines (24 loc) 982 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sign = exports.name = void 0; var sign_1 = require("../../../@types/sign"); var bytes_1 = require("@ethersproject/bytes"); var wallet_1 = require("@ethersproject/wallet"); exports.name = "Secp256k1VerificationKey2018"; var sign = function (message, keyOrSigner, options) { if (options === void 0) { options = {}; } var signer; if (sign_1.SigningKey.guard(keyOrSigner)) { var wallet = new wallet_1.Wallet(keyOrSigner.private); if (!keyOrSigner.public.toLowerCase().includes(wallet.address.toLowerCase())) { throw new Error("Private key is wrong for ".concat(keyOrSigner.public)); } signer = wallet; } else { signer = keyOrSigner; } // see https://docs.ethers.org/v6/migrating/ under hex-conversion return signer.signMessage(options.signAsString ? message : (0, bytes_1.arrayify)(message)); }; exports.sign = sign;