UNPKG

@ledgerhq/live-common

Version:
28 lines 1.37 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.usesEncodedAccountIdFormat = usesEncodedAccountIdFormat; exports.deriveAccountIdForManifest = deriveAccountIdForManifest; const constants_1 = require("../../wallet-api/constants"); const semver_1 = __importDefault(require("semver")); /** * Determines if a manifest uses (Ledger Live) account ID format or UUID (Wallet API) format. * @param manifest - The live app manifest to check * @returns true if the manifest uses encoded format (v3+ dapp), false otherwise */ function usesEncodedAccountIdFormat(manifest) { return ("dapp" in manifest && !!manifest.apiVersion && semver_1.default.satisfies(constants_1.WALLET_API_VERSION, manifest.apiVersion)); } /** The dapp connector "v3" uses the ledger live account ID to find the correct account. Live app and dapp browser manifests require wallet API ID. */ function deriveAccountIdForManifest(accountId, walletApiAccountId, manifest) { if (usesEncodedAccountIdFormat(manifest)) { return accountId; } /** Assume dapp browser <=v2 or live app, fallback to wallet ID. */ return walletApiAccountId; } //# sourceMappingURL=deriveAccountIdForManifest.js.map