{
  "version": 3,
  "sources": ["../../src/utils/transactions/getInterpretedTransaction/getTransactionValue/getTransactionValue.ts"],
  "sourcesContent": ["import { DECIMALS, formatAmount } from 'lib/sdkDappUtils';\nimport { InterpretedTransactionType } from 'types/serverTransactions.types';\nimport { NftEnumType } from 'types/tokens.types';\n\nimport {\n  ACTIONS_WITH_EGLD_VALUE,\n  ACTIONS_WITH_MANDATORY_OPERATIONS,\n  ACTIONS_WITH_VALUE_IN_ACTION_FIELD,\n  ACTIONS_WITH_VALUE_IN_DATA_FIELD\n} from './constants';\n\nimport { getEgldValueData } from './helpers/getEgldValueData';\nimport { getTitleText } from './helpers/getTitleText';\nimport { getTransactionActionNftText } from './helpers/getTransactionActionNftText';\nimport { getTransactionTokens } from './helpers/getTransactionTokens';\nimport { getValueFromActions } from './helpers/getValueFromActions';\nimport { getValueFromDataField } from './helpers/getValueFromDataField';\nimport { getValueFromOperations } from './helpers/getValueFromOperations';\nimport {\n  EgldValueDataType,\n  NFTValueDataType,\n  TokenValueDataType\n} from './types';\nimport { explorerUrlBuilder } from '../../explorerUrlBuilder';\n\nexport interface GetTransactionValueReturnType {\n  egldValueData?: EgldValueDataType;\n  tokenValueData?: TokenValueDataType;\n  nftValueData?: NFTValueDataType;\n}\n\nexport interface GetTransactionValueType {\n  hideMultipleBadge?: boolean;\n  transaction: InterpretedTransactionType;\n}\n\nexport const getTransactionValue = ({\n  transaction,\n  hideMultipleBadge\n}: GetTransactionValueType): GetTransactionValueReturnType => {\n  if (transaction.action) {\n    if (ACTIONS_WITH_EGLD_VALUE.includes(transaction.action.name)) {\n      return getEgldValueData(transaction.value);\n    }\n\n    if (ACTIONS_WITH_VALUE_IN_DATA_FIELD.includes(transaction.action.name)) {\n      return getValueFromDataField(transaction);\n    }\n\n    if (ACTIONS_WITH_MANDATORY_OPERATIONS.includes(transaction.action.name)) {\n      return getValueFromOperations(transaction);\n    }\n\n    if (ACTIONS_WITH_VALUE_IN_ACTION_FIELD.includes(transaction.action.name)) {\n      return getValueFromActions(transaction);\n    }\n\n    const transactionTokens = getTransactionTokens(transaction);\n\n    if (transactionTokens.length) {\n      const txToken = transactionTokens[0];\n      const isNft = Object.values(NftEnumType).includes(\n        txToken.type as NftEnumType\n      );\n\n      const hasTitleText = !hideMultipleBadge && transactionTokens.length > 1;\n      const titleText = hasTitleText ? getTitleText(transactionTokens) : '';\n\n      if (isNft) {\n        const {\n          badgeText,\n          tokenFormattedAmount,\n          tokenExplorerLink,\n          tokenLinkText\n        } = getTransactionActionNftText({ token: txToken });\n\n        return {\n          nftValueData: {\n            badgeText,\n            tokenFormattedAmount,\n            tokenExplorerLink,\n            tokenLinkText,\n            transactionTokens,\n            token: txToken,\n            value: tokenFormattedAmount != null ? txToken.value : null,\n            decimals: tokenFormattedAmount != null ? txToken.decimals : null,\n            titleText\n          }\n        };\n      }\n\n      const tokenFormattedAmount = txToken.value\n        ? formatAmount({\n            input: txToken.value,\n            decimals: txToken.decimals ?? DECIMALS,\n            digits: 2,\n            addCommas: true\n          })\n        : null;\n\n      const tokenExplorerLink = explorerUrlBuilder.tokenDetails(\n        String(txToken.token)\n      );\n\n      return {\n        tokenValueData: {\n          tokenExplorerLink,\n          showFormattedAmount: false,\n          tokenFormattedAmount,\n          tokenLinkText: txToken.ticker,\n          transactionTokens,\n          token: txToken,\n          value: txToken.value,\n          decimals: txToken.decimals ?? DECIMALS,\n          titleText\n        }\n      };\n    }\n  }\n\n  return getEgldValueData(transaction.value);\n};\n"],
  "mappings": "0dAoCO,IAAMA,EAAsB,CAAC,CAClC,YAAAC,EACA,kBAAAC,CACF,IAA8D,CAC5D,GAAID,EAAY,OAAQ,CACtB,GAAIE,EAAwB,SAASF,EAAY,OAAO,IAAI,EAC1D,OAAOG,EAAiBH,EAAY,KAAK,EAG3C,GAAII,EAAiC,SAASJ,EAAY,OAAO,IAAI,EACnE,OAAOK,EAAsBL,CAAW,EAG1C,GAAIM,EAAkC,SAASN,EAAY,OAAO,IAAI,EACpE,OAAOO,EAAuBP,CAAW,EAG3C,GAAIQ,EAAmC,SAASR,EAAY,OAAO,IAAI,EACrE,OAAOS,EAAoBT,CAAW,EAGxC,IAAMU,EAAoBC,EAAqBX,CAAW,EAE1D,GAAIU,EAAkB,OAAQ,CAC5B,IAAME,EAAUF,EAAkB,CAAC,EAC7BG,EAAQ,OAAO,OAAOC,CAAW,EAAE,SACvCF,EAAQ,IACV,EAGMG,EADe,CAACd,GAAqBS,EAAkB,OAAS,EACrCM,EAAaN,CAAiB,EAAI,GAEnE,GAAIG,EAAO,CACT,GAAM,CACJ,UAAAI,EACA,qBAAAC,EACA,kBAAAC,EACA,cAAAC,CACF,EAAIC,EAA4B,CAAE,MAAOT,CAAQ,CAAC,EAElD,MAAO,CACL,aAAc,CACZ,UAAAK,EACA,qBAAAC,EACA,kBAAAC,EACA,cAAAC,EACA,kBAAAV,EACA,MAAOE,EACP,MAAOM,GAAwB,KAAON,EAAQ,MAAQ,KACtD,SAAUM,GAAwB,KAAON,EAAQ,SAAW,KAC5D,UAAAG,CACF,CACF,CACF,CAEA,IAAMG,EAAuBN,EAAQ,MACjCU,EAAa,CACX,MAAOV,EAAQ,MACf,SAAUA,EAAQ,UAAYW,EAC9B,OAAQ,EACR,UAAW,EACb,CAAC,EACD,KAMJ,MAAO,CACL,eAAgB,CACd,kBANsBC,EAAmB,aAC3C,OAAOZ,EAAQ,KAAK,CACtB,EAKI,oBAAqB,GACrB,qBAAAM,EACA,cAAeN,EAAQ,OACvB,kBAAAF,EACA,MAAOE,EACP,MAAOA,EAAQ,MACf,SAAUA,EAAQ,UAAYW,EAC9B,UAAAR,CACF,CACF,CACF,CACF,CAEA,OAAOZ,EAAiBH,EAAY,KAAK,CAC3C",
  "names": ["getTransactionValue", "transaction", "hideMultipleBadge", "ACTIONS_WITH_EGLD_VALUE", "getEgldValueData", "ACTIONS_WITH_VALUE_IN_DATA_FIELD", "getValueFromDataField", "ACTIONS_WITH_MANDATORY_OPERATIONS", "getValueFromOperations", "ACTIONS_WITH_VALUE_IN_ACTION_FIELD", "getValueFromActions", "transactionTokens", "getTransactionTokens", "txToken", "isNft", "NftEnumType", "titleText", "getTitleText", "badgeText", "tokenFormattedAmount", "tokenExplorerLink", "tokenLinkText", "getTransactionActionNftText", "formatAmount", "DECIMALS", "explorerUrlBuilder"]
}
