UNPKG

@ledgerhq/coin-internet_computer

Version:
34 lines 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.signMessage = void 0; const logs_1 = require("@ledgerhq/logs"); const utils_1 = require("./common-logic/utils"); const consts_1 = require("./consts"); function bufferToArrayBuffer(buffer) { const sig = buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength); return Buffer.from(sig); } const signMessage = (signerContext) => async (deviceId, account, { message }) => { (0, logs_1.log)("debug", "start signMessage process"); if (!message) throw new Error("Message cannot be empty"); if (typeof message !== "string") throw new Error("Message must be a string"); const { r } = await signerContext(deviceId, async (signer) => { const r = await signer.sign(account.freshAddressPath, (0, utils_1.getBufferFromString)(message), consts_1.ICP_SEND_TXN_TYPE); return { r }; }); if (!r.signatureRS) { throw Error("Signing failed"); } return { rsv: { r: "", s: "", v: 0, }, signature: bufferToArrayBuffer(r.signatureRS).toString("hex"), }; }; exports.signMessage = signMessage; //# sourceMappingURL=hw-signMessage.js.map