{
  "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": "0RAAA,OAAS,cAAAA,MAAkB,8BAU3B,eAAsBC,EAAkBC,EAErC,CACD,IAAMC,EAAaC,EAAc,EAC3BC,EAAqBH,GAAO,oBAAsB,CAACC,EACnDG,EAAcC,EAAoBC,EAAS,CAAC,EAC5CC,EAAgBC,EAAsBF,EAAS,CAAC,EAChDG,EAAWC,EAAmB,EAE9BC,EAAiB,IAAIC,EAE3B,GAAI,CACF,GAAI,CAACT,GAAsBI,EAAe,CACxC,IAAMM,EAAiC,CACrC,QAASN,EAAc,QACvB,YAAaA,EAAc,sBAC7B,EACA,MAAO,CACL,eAAAI,EACA,aAAAE,CACF,CACF,CAEA,IAAMC,EAA4B,MAAMC,EAAe,CACrD,SAAAN,EACA,eAAAE,EACA,YAAAP,EACA,mBAAAD,CACF,CAAC,EAEKU,EAAe,MAAMG,EACzBF,CACF,EACA,MAAO,CAAE,eAAgBA,EAA2B,aAAAD,CAAa,CACnE,OAASI,EAAK,CACZ,cAAQ,MAAM,kCAAmCA,CAAG,EAE9CA,CACR,CACF",
  "names": ["HWProvider", "getLedgerProvider", "props", "isLoggedIn", "getIsLoggedIn", "shouldInitProvider", "ledgerLogin", "ledgerLoginSelector", "getState", "ledgerAccount", "ledgerAccountSelector", "provider", "getAccountProvider", "ledgerProvider", "HWProvider", "ledgerConfig", "initializedLedgerProvider", "initHwProvider", "getLedgerConfiguration", "err"]
}
