{
  "version": 3,
  "sources": ["../../../../../../src/providers/strategies/LedgerProviderStrategy/helpers/getLedgerProvider/getLedgerProvider.ts"],
  "sourcesContent": ["import { HWProvider } from '@multiversx/sdk-hw-provider';\nimport { getIsLoggedIn } from 'methods/account/getIsLoggedIn';\nimport { getAccountProvider } from 'providers/helpers/accountProvider';\nimport { ledgerAccountSelector } from 'store/selectors/accountSelectors';\nimport { ledgerLoginSelector } from 'store/selectors/loginInfoSelectors';\nimport { getState } from 'store/store';\nimport { getLedgerConfiguration } from './helpers/getLedgerConfiguration';\nimport { initHwProvider } from './helpers/initHwProvider';\nimport { LedgerConfigType } from '../../types/ledgerProvider.types';\n\nexport async function getLedgerProvider(props?: {\n  shouldInitProvider?: boolean; // provider will be initialized if not logged in\n}) {\n  const isLoggedIn = getIsLoggedIn();\n  const shouldInitProvider = props?.shouldInitProvider || !isLoggedIn;\n  const ledgerLogin = ledgerLoginSelector(getState());\n  const ledgerAccount = ledgerAccountSelector(getState());\n  const provider = getAccountProvider();\n\n  const ledgerProvider = new HWProvider();\n\n  try {\n    if (!shouldInitProvider && ledgerAccount) {\n      const ledgerConfig: LedgerConfigType = {\n        version: ledgerAccount.version,\n        dataEnabled: ledgerAccount.hasContractDataEnabled\n      };\n      return {\n        ledgerProvider,\n        ledgerConfig\n      };\n    }\n\n    const initializedLedgerProvider = await initHwProvider({\n      provider,\n      ledgerProvider,\n      ledgerLogin,\n      shouldInitProvider\n    });\n\n    const ledgerConfig = await getLedgerConfiguration(\n      initializedLedgerProvider\n    );\n    return { ledgerProvider: initializedLedgerProvider, ledgerConfig };\n  } catch (err) {\n    console.error('Could not initialize ledger app', err);\n\n    throw err;\n  }\n}\n"],
  "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAA2B,uCAC3BC,EAA8B,yCAC9BC,EAAmC,6CACnCC,EAAsC,4CACtCC,EAAoC,8CACpCC,EAAyB,uBACzBC,EAAuC,4CACvCC,EAA+B,oCAG/B,eAAsBT,EAAkBU,EAErC,CACD,MAAMC,KAAa,iBAAc,EAC3BC,EAAqBF,GAAO,oBAAsB,CAACC,EACnDE,KAAc,0BAAoB,YAAS,CAAC,EAC5CC,KAAgB,4BAAsB,YAAS,CAAC,EAChDC,KAAW,sBAAmB,EAE9BC,EAAiB,IAAI,aAE3B,GAAI,CACF,GAAI,CAACJ,GAAsBE,EAAe,CACxC,MAAMG,EAAiC,CACrC,QAASH,EAAc,QACvB,YAAaA,EAAc,sBAC7B,EACA,MAAO,CACL,eAAAE,EACA,aAAAC,CACF,CACF,CAEA,MAAMC,EAA4B,QAAM,kBAAe,CACrD,SAAAH,EACA,eAAAC,EACA,YAAAH,EACA,mBAAAD,CACF,CAAC,EAEKK,EAAe,QAAM,0BACzBC,CACF,EACA,MAAO,CAAE,eAAgBA,EAA2B,aAAAD,CAAa,CACnE,OAASE,EAAK,CACZ,cAAQ,MAAM,kCAAmCA,CAAG,EAE9CA,CACR,CACF",
  "names": ["getLedgerProvider_exports", "__export", "getLedgerProvider", "__toCommonJS", "import_sdk_hw_provider", "import_getIsLoggedIn", "import_accountProvider", "import_accountSelectors", "import_loginInfoSelectors", "import_store", "import_getLedgerConfiguration", "import_initHwProvider", "props", "isLoggedIn", "shouldInitProvider", "ledgerLogin", "ledgerAccount", "provider", "ledgerProvider", "ledgerConfig", "initializedLedgerProvider", "err"]
}
