@ledgerhq/live-common
Version:
Common ground for the Ledger Live apps
26 lines • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const errors_1 = require("@ledgerhq/errors");
/**
* Attempt to fetch a hash of the custom image loaded on the device.
* We will not consider the 0x662e status code an error since it just
* means empty custom image and an empty string will fit better.
*/
exports.default = async (transport) => {
const res = await transport.send(0xe0, 0x66, 0x00, 0x00, Buffer.from([]), [
errors_1.StatusCodes.OK,
errors_1.StatusCodes.CUSTOM_IMAGE_EMPTY,
errors_1.StatusCodes.DEVICE_IN_RECOVERY_MODE,
]);
const status = res.readUInt16BE(res.length - 2);
switch (status) {
case errors_1.StatusCodes.OK:
return res.slice(0, res.length - 2).toString("hex");
case errors_1.StatusCodes.CUSTOM_IMAGE_EMPTY:
return "";
case errors_1.StatusCodes.DEVICE_IN_RECOVERY_MODE:
throw new errors_1.UnexpectedBootloader();
}
throw new errors_1.TransportStatusError(status);
};
//# sourceMappingURL=customLockScreenFetchHash.js.map