UNPKG

@govtechsg/open-attestation

Version:
21 lines (20 loc) 833 B
import { SigningKey } from "../../../@types/sign"; import { arrayify } from "@ethersproject/bytes"; import { Wallet } from "@ethersproject/wallet"; export var name = "Secp256k1VerificationKey2018"; export var sign = function (message, keyOrSigner, options) { if (options === void 0) { options = {}; } var signer; if (SigningKey.guard(keyOrSigner)) { var wallet = new 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 : arrayify(message)); };