@ledgerhq/live-common
Version:
Common ground for the Ledger Live apps
44 lines • 1.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FlowName = void 0;
exports.getCurrencyName = getCurrencyName;
exports.getFlowNameFromMapping = getFlowNameFromMapping;
exports.isDeviceNotOnboardedError = isDeviceNotOnboardedError;
const errors_1 = require("@ledgerhq/errors");
const errors_2 = require("../errors");
var FlowName;
(function (FlowName) {
FlowName["send"] = "send";
FlowName["receive"] = "receive";
FlowName["swap"] = "swap";
FlowName["staking"] = "staking";
FlowName["addAccount"] = "addAccount";
FlowName["unknown"] = "unknown";
})(FlowName || (exports.FlowName = FlowName = {}));
function getCurrencyName(request) {
if (request == null || typeof request !== "object")
return "";
const req = request;
const currencyName = req.tokenCurrency?.name ?? req.account?.currency?.name ?? "";
return currencyName;
}
function getFlowNameFromMapping(location, request, flowMapping) {
if (!location)
return FlowName.unknown;
const mapped = flowMapping[location] ?? FlowName.unknown;
if (mapped === FlowName.send) {
const req = request;
if (req?.transaction?.mode !== FlowName.send) {
return FlowName.staking;
}
}
return mapped;
}
// remap transport status 6d06/6d07 as DeviceNotOnboarded for UX handling consistency.
function isDeviceNotOnboardedError(e) {
const maybeMessage = e?.message;
return (e instanceof errors_2.DeviceNotOnboarded ||
(e instanceof errors_1.TransportStatusError &&
(maybeMessage?.includes("0x6d06") || maybeMessage?.includes("0x6d07"))));
}
//# sourceMappingURL=utils.js.map