{
  "version": 3,
  "sources": ["../../../src/apiCalls/tokens/getPersistedTokenDetails.ts"],
  "sourcesContent": ["import { NFTS_ENDPOINT, TOKENS_ENDPOINT } from 'apiCalls/endpoints';\nimport { getPersistedToken } from 'apiCalls/tokens/getPersistedToken';\nimport { networkSelector } from 'store/selectors/networkSelectors';\nimport { getState } from 'store/store';\n\nimport { NftEnumType } from 'types/tokens.types';\nimport { getIdentifierType } from 'utils/validation/getIdentifierType';\n\nexport interface TokenAssets {\n  description: string;\n  status: string;\n  svgUrl: string;\n  website?: string;\n  pngUrl?: string;\n  social?: any;\n  extraTokens?: string[];\n  lockedAccounts?: { [key: string]: string };\n}\n\nexport interface TokenMediaType {\n  url?: string;\n  originalUrl?: string;\n  thumbnailUrl?: string;\n  fileType?: string;\n  fileSize?: number;\n}\n\nexport interface TokenOptionType {\n  tokenLabel: string;\n  tokenDecimals: number;\n  tokenImageUrl: string;\n  assets?: TokenAssets;\n  type?: NftEnumType;\n  error?: string;\n  esdtPrice?: number;\n  ticker?: string;\n  identifier?: string;\n  name?: string;\n}\n\ninterface TokenInfoResponse {\n  identifier: string;\n  name: string;\n  ticker: string;\n  decimals: number;\n  type?: NftEnumType;\n  assets: TokenAssets;\n  media?: TokenMediaType[];\n  price: number;\n}\n\nexport async function getPersistedTokenDetails({\n  tokenId\n}: {\n  tokenId?: string;\n}): Promise<TokenOptionType> {\n  const network = networkSelector(getState());\n\n  const noData = {\n    tokenDecimals: Number(network.decimals),\n    tokenLabel: '',\n    tokenImageUrl: ''\n  };\n\n  const { isNft } = getIdentifierType(tokenId);\n\n  const tokenIdentifier = tokenId;\n  const tokenEndpoint = isNft ? NFTS_ENDPOINT : TOKENS_ENDPOINT;\n\n  if (!tokenIdentifier) {\n    return noData;\n  }\n\n  try {\n    const selectedToken = await getPersistedToken<TokenInfoResponse>(\n      `${network.apiAddress}/${tokenEndpoint}/${tokenIdentifier}`\n    );\n\n    const tokenDecimals = selectedToken\n      ? selectedToken?.decimals\n      : Number(network.decimals);\n    const tokenLabel = selectedToken ? selectedToken?.name : '';\n    const tokenImageUrl = selectedToken\n      ? selectedToken?.assets?.svgUrl ?? selectedToken?.media?.[0]?.thumbnailUrl\n      : '';\n\n    return {\n      tokenDecimals: tokenDecimals,\n      tokenLabel,\n      type: selectedToken?.type,\n      tokenImageUrl,\n      identifier: selectedToken?.identifier,\n      assets: selectedToken?.assets,\n      esdtPrice: selectedToken?.price,\n      ticker: selectedToken?.ticker,\n      name: selectedToken?.name\n    };\n  } catch (error) {\n    return {\n      ...noData,\n      error: `${error}`\n    };\n  }\n}\n"],
  "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,8BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAA+C,8BAC/CC,EAAkC,6CAClCC,EAAgC,4CAChCC,EAAyB,uBAGzBC,EAAkC,8CA6ClC,eAAsBN,EAAyB,CAC7C,QAAAO,CACF,EAE6B,CAC3B,MAAMC,KAAU,sBAAgB,YAAS,CAAC,EAEpCC,EAAS,CACb,cAAe,OAAOD,EAAQ,QAAQ,EACtC,WAAY,GACZ,cAAe,EACjB,EAEM,CAAE,MAAAE,CAAM,KAAI,qBAAkBH,CAAO,EAErCI,EAAkBJ,EAClBK,EAAgBF,EAAQ,gBAAgB,kBAE9C,GAAI,CAACC,EACH,OAAOF,EAGT,GAAI,CACF,MAAMI,EAAgB,QAAM,qBAC1B,GAAGL,EAAQ,UAAU,IAAII,CAAa,IAAID,CAAe,EAC3D,EAEMG,EAAgBD,EAClBA,GAAe,SACf,OAAOL,EAAQ,QAAQ,EACrBO,EAAaF,EAAgBA,GAAe,KAAO,GACnDG,EAAgBH,EAClBA,GAAe,QAAQ,QAAUA,GAAe,QAAQ,CAAC,GAAG,aAC5D,GAEJ,MAAO,CACL,cAAeC,EACf,WAAAC,EACA,KAAMF,GAAe,KACrB,cAAAG,EACA,WAAYH,GAAe,WAC3B,OAAQA,GAAe,OACvB,UAAWA,GAAe,MAC1B,OAAQA,GAAe,OACvB,KAAMA,GAAe,IACvB,CACF,OAASI,EAAO,CACd,MAAO,CACL,GAAGR,EACH,MAAO,GAAGQ,CAAK,EACjB,CACF,CACF",
  "names": ["getPersistedTokenDetails_exports", "__export", "getPersistedTokenDetails", "__toCommonJS", "import_endpoints", "import_getPersistedToken", "import_networkSelectors", "import_store", "import_getIdentifierType", "tokenId", "network", "noData", "isNft", "tokenIdentifier", "tokenEndpoint", "selectedToken", "tokenDecimals", "tokenLabel", "tokenImageUrl", "error"]
}
