{
  "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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAuC,4BAEvCC,EAA4B,8BAE5BC,EAKO,uBAEPC,EAAiC,sCACjCC,EAA6B,kCAC7BC,EAA4C,iDAC5CC,EAAqC,0CACrCC,EAAoC,yCACpCC,EAAsC,2CACtCC,EAAuC,4CAMvCC,EAAmC,oCAa5B,MAAMZ,EAAsB,CAAC,CAClC,YAAAa,EACA,kBAAAC,CACF,IAA8D,CAC5D,GAAID,EAAY,OAAQ,CACtB,GAAI,0BAAwB,SAASA,EAAY,OAAO,IAAI,EAC1D,SAAO,oBAAiBA,EAAY,KAAK,EAG3C,GAAI,mCAAiC,SAASA,EAAY,OAAO,IAAI,EACnE,SAAO,yBAAsBA,CAAW,EAG1C,GAAI,oCAAkC,SAASA,EAAY,OAAO,IAAI,EACpE,SAAO,0BAAuBA,CAAW,EAG3C,GAAI,qCAAmC,SAASA,EAAY,OAAO,IAAI,EACrE,SAAO,uBAAoBA,CAAW,EAGxC,MAAME,KAAoB,wBAAqBF,CAAW,EAE1D,GAAIE,EAAkB,OAAQ,CAC5B,MAAMC,EAAUD,EAAkB,CAAC,EAC7BE,EAAQ,OAAO,OAAO,aAAW,EAAE,SACvCD,EAAQ,IACV,EAGME,EADe,CAACJ,GAAqBC,EAAkB,OAAS,KACrC,gBAAaA,CAAiB,EAAI,GAEnE,GAAIE,EAAO,CACT,KAAM,CACJ,UAAAE,EACA,qBAAAC,EACA,kBAAAC,EACA,cAAAC,CACF,KAAI,+BAA4B,CAAE,MAAON,CAAQ,CAAC,EAElD,MAAO,CACL,aAAc,CACZ,UAAAG,EACA,qBAAAC,EACA,kBAAAC,EACA,cAAAC,EACA,kBAAAP,EACA,MAAOC,EACP,MAAOI,GAAwB,KAAOJ,EAAQ,MAAQ,KACtD,SAAUI,GAAwB,KAAOJ,EAAQ,SAAW,KAC5D,UAAAE,CACF,CACF,CACF,CAEA,MAAME,EAAuBJ,EAAQ,SACjC,gBAAa,CACX,MAAOA,EAAQ,MACf,SAAUA,EAAQ,UAAY,WAC9B,OAAQ,EACR,UAAW,EACb,CAAC,EACD,KAMJ,MAAO,CACL,eAAgB,CACd,kBANsB,qBAAmB,aAC3C,OAAOA,EAAQ,KAAK,CACtB,EAKI,oBAAqB,GACrB,qBAAAI,EACA,cAAeJ,EAAQ,OACvB,kBAAAD,EACA,MAAOC,EACP,MAAOA,EAAQ,MACf,SAAUA,EAAQ,UAAY,WAC9B,UAAAE,CACF,CACF,CACF,CACF,CAEA,SAAO,oBAAiBL,EAAY,KAAK,CAC3C",
  "names": ["getTransactionValue_exports", "__export", "getTransactionValue", "__toCommonJS", "import_sdkDappUtils", "import_tokens", "import_constants", "import_getEgldValueData", "import_getTitleText", "import_getTransactionActionNftText", "import_getTransactionTokens", "import_getValueFromActions", "import_getValueFromDataField", "import_getValueFromOperations", "import_explorerUrlBuilder", "transaction", "hideMultipleBadge", "transactionTokens", "txToken", "isNft", "titleText", "badgeText", "tokenFormattedAmount", "tokenExplorerLink", "tokenLinkText"]
}
