{
  "version": 3,
  "sources": ["../../src/providers/strategies/LedgerProviderStrategy/helpers/authenticateLedgerAccount/helpers/getLedgerVersionOptions.ts"],
  "sourcesContent": ["import {\n  LEDGER_HASH_SIGN_MINIMUM_VERSION,\n  LEDGER_MULTI_ACCOUNT_MINIMUM_VERSION,\n  LEDGER_SIGN_AUTH_TOKEN_MINIMUM_VERSION,\n  LEDGER_WITH_WHITELISTED_TOKENS_MINIMUM_VERSION,\n  LEDGER_WITH_GUARDIANS_MINIMUM_VERSION,\n  LEDGER_WITH_USERNAMES_MINIMUM_VERSION\n} from 'constants/ledger.constants';\n\nfunction compareVersions(a: string, b: string) {\n  let i, diff;\n  const regExStrip0 = /(\\.0+)+$/;\n  const segmentsA = a.replace(regExStrip0, '').split('.');\n  const segmentsB = b.replace(regExStrip0, '').split('.');\n  const l = Math.min(segmentsA.length, segmentsB.length);\n\n  for (i = 0; i < l; i++) {\n    diff = parseInt(segmentsA[i], 10) - parseInt(segmentsB[i], 10);\n    if (diff) {\n      return diff;\n    }\n  }\n  return segmentsA.length - segmentsB.length;\n}\n\nexport function getLedgerVersionOptions(version: string) {\n  const sortedVersions = [\n    LEDGER_MULTI_ACCOUNT_MINIMUM_VERSION,\n    LEDGER_HASH_SIGN_MINIMUM_VERSION,\n    LEDGER_SIGN_AUTH_TOKEN_MINIMUM_VERSION,\n    LEDGER_WITH_WHITELISTED_TOKENS_MINIMUM_VERSION,\n    LEDGER_WITH_GUARDIANS_MINIMUM_VERSION,\n    LEDGER_WITH_USERNAMES_MINIMUM_VERSION,\n    version\n  ].sort((a, b) => compareVersions(a, b));\n\n  const indexOfMultiAccount = sortedVersions.indexOf(\n    LEDGER_MULTI_ACCOUNT_MINIMUM_VERSION\n  );\n  const indexOfHashSign = sortedVersions.indexOf(\n    LEDGER_HASH_SIGN_MINIMUM_VERSION\n  );\n  const indexOfSignAuthToken = sortedVersions.indexOf(\n    LEDGER_SIGN_AUTH_TOKEN_MINIMUM_VERSION\n  );\n  const indexOfWhitelistedTokens = sortedVersions.indexOf(\n    LEDGER_WITH_WHITELISTED_TOKENS_MINIMUM_VERSION\n  );\n  const indexOfGuardians = sortedVersions.indexOf(\n    LEDGER_WITH_GUARDIANS_MINIMUM_VERSION\n  );\n  const indexOfUsernames = sortedVersions.indexOf(\n    LEDGER_WITH_USERNAMES_MINIMUM_VERSION\n  );\n  const indexOfVersion = sortedVersions.indexOf(version);\n\n  return {\n    ledgerWithMultiAccount: indexOfVersion >= indexOfMultiAccount,\n    ledgerWithHashSign: indexOfVersion >= indexOfHashSign,\n    ledgerWithSignAuthToken: indexOfVersion >= indexOfSignAuthToken,\n    ledgerWithWhitelistedTokens: indexOfVersion >= indexOfWhitelistedTokens,\n    ledgerWithGuardians: indexOfVersion >= indexOfGuardians,\n    ledgerWithUsernames: indexOfVersion >= indexOfUsernames\n  };\n}\n\nexport default getLedgerVersionOptions;\n"],
  "mappings": "4EASA,SAASA,EAAgBC,EAAWC,EAAW,CAC7C,IAAIC,EAAGC,EACDC,EAAc,WACdC,EAAYL,EAAE,QAAQI,EAAa,EAAE,EAAE,MAAM,GAAG,EAChDE,EAAYL,EAAE,QAAQG,EAAa,EAAE,EAAE,MAAM,GAAG,EAChDG,EAAI,KAAK,IAAIF,EAAU,OAAQC,EAAU,MAAM,EAErD,IAAKJ,EAAI,EAAGA,EAAIK,EAAGL,IAEjB,GADAC,EAAO,SAASE,EAAUH,CAAC,EAAG,EAAE,EAAI,SAASI,EAAUJ,CAAC,EAAG,EAAE,EACzDC,EACF,OAAOA,EAGX,OAAOE,EAAU,OAASC,EAAU,MACtC,CAEO,SAASE,EAAwBC,EAAiB,CACvD,IAAMC,EAAiB,CACrBC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAP,CACF,EAAE,KAAK,CAACT,EAAGC,IAAMF,EAAgBC,EAAGC,CAAC,CAAC,EAEhCgB,EAAsBP,EAAe,QACzCC,CACF,EACMO,EAAkBR,EAAe,QACrCE,CACF,EACMO,EAAuBT,EAAe,QAC1CG,CACF,EACMO,EAA2BV,EAAe,QAC9CI,CACF,EACMO,EAAmBX,EAAe,QACtCK,CACF,EACMO,EAAmBZ,EAAe,QACtCM,CACF,EACMO,EAAiBb,EAAe,QAAQD,CAAO,EAErD,MAAO,CACL,uBAAwBc,GAAkBN,EAC1C,mBAAoBM,GAAkBL,EACtC,wBAAyBK,GAAkBJ,EAC3C,4BAA6BI,GAAkBH,EAC/C,oBAAqBG,GAAkBF,EACvC,oBAAqBE,GAAkBD,CACzC,CACF,CAEA,IAAOE,EAAQhB",
  "names": ["compareVersions", "a", "b", "i", "diff", "regExStrip0", "segmentsA", "segmentsB", "l", "getLedgerVersionOptions", "version", "sortedVersions", "LEDGER_MULTI_ACCOUNT_MINIMUM_VERSION", "LEDGER_HASH_SIGN_MINIMUM_VERSION", "LEDGER_SIGN_AUTH_TOKEN_MINIMUM_VERSION", "LEDGER_WITH_WHITELISTED_TOKENS_MINIMUM_VERSION", "LEDGER_WITH_GUARDIANS_MINIMUM_VERSION", "LEDGER_WITH_USERNAMES_MINIMUM_VERSION", "indexOfMultiAccount", "indexOfHashSign", "indexOfSignAuthToken", "indexOfWhitelistedTokens", "indexOfGuardians", "indexOfUsernames", "indexOfVersion", "getLedgerVersionOptions_default"]
}
