{
  "version": 3,
  "sources": ["../../../src/controllers/TransactionsTableController/TransactionsTableController.ts"],
  "sourcesContent": ["import { DECIMALS } from 'lib/sdkDappUtils';\nimport {\n  ServerTransactionType,\n  TransactionDirectionEnum\n} from 'types/serverTransactions.types';\nimport { NftEnumType } from 'types/tokens.types';\nimport { getExplorerLink } from 'utils/transactions/getExplorerLink';\nimport { getInterpretedTransaction } from 'utils/transactions/getInterpretedTransaction/getInterpretedTransaction';\nimport { getTransactionValue } from 'utils/transactions/getInterpretedTransaction/getTransactionValue/getTransactionValue';\nimport { getLockedAccountName } from 'utils/transactions/getInterpretedTransaction/helpers/getLockedAccountName';\nimport { getShardText } from 'utils/transactions/getInterpretedTransaction/helpers/getShardText';\nimport { isContract } from 'utils/validation/isContract';\nimport {\n  TransactionsRowType,\n  TransactionValueType\n} from './transactionsTableController.types';\nimport { FormatAmountController } from '../FormatAmountController';\n\ninterface TransactionsTableProcessTransactionsParamsType {\n  address: string;\n  egldLabel: string;\n  explorerAddress: string;\n  transactions: ServerTransactionType[];\n}\n\nexport class TransactionsTableController {\n  public static async processTransactions({\n    address,\n    egldLabel,\n    explorerAddress,\n    transactions\n  }: TransactionsTableProcessTransactionsParamsType): Promise<\n    TransactionsRowType[]\n  > {\n    const interpretedTransactions = transactions.map((transaction) =>\n      getInterpretedTransaction({\n        address,\n        explorerAddress,\n        transaction\n      })\n    );\n\n    const transactionRows = await Promise.all(\n      interpretedTransactions.map(async (transaction) => {\n        const receiverName = transaction.receiverAssets?.name.replace(\n          /\\p{Emoji}/gu,\n          ''\n        );\n\n        const senderName = transaction.senderAssets?.name.replace(\n          /\\p{Emoji}/gu,\n          ''\n        );\n\n        const { senderLockedAccount, receiverLockedAccount } =\n          await getLockedAccountName({\n            receiver: transaction.receiver,\n            sender: transaction.sender,\n            tokenId: transaction.tokenIdentifier\n          });\n\n        const { egldValueData, tokenValueData, nftValueData } =\n          getTransactionValue({\n            transaction\n          });\n\n        const hideBadgeForMetaESDT =\n          nftValueData?.token.type === NftEnumType.MetaESDT;\n\n        const badge = hideBadgeForMetaESDT\n          ? undefined\n          : nftValueData?.badgeText;\n\n        const formattedAmount = FormatAmountController.getData({\n          input:\n            egldValueData?.value ??\n            tokenValueData?.value ??\n            nftValueData?.value ??\n            '',\n          decimals:\n            egldValueData?.decimals ??\n            tokenValueData?.decimals ??\n            nftValueData?.decimals ??\n            DECIMALS,\n          digits: 2\n        });\n\n        const transactionValue: TransactionValueType = {\n          badge: badge ?? undefined,\n          collection:\n            tokenValueData?.token.collection ?? nftValueData?.token.collection,\n          egldLabel: egldValueData ? egldLabel : '',\n          link: getExplorerLink({\n            explorerAddress,\n            to:\n              tokenValueData?.tokenExplorerLink ??\n              nftValueData?.tokenExplorerLink ??\n              ''\n          }),\n          linkText:\n            tokenValueData?.tokenLinkText ?? nftValueData?.tokenLinkText,\n          name: tokenValueData?.token.name ?? nftValueData?.token.name,\n          showFormattedAmount: Boolean(\n            egldValueData ||\n              tokenValueData?.tokenFormattedAmount ||\n              nftValueData?.tokenFormattedAmount\n          ),\n          svgUrl: tokenValueData?.token.svgUrl ?? nftValueData?.token.svgUrl,\n          ticker: tokenValueData?.token.ticker ?? nftValueData?.token.ticker,\n          titleText: tokenValueData?.titleText ?? nftValueData?.titleText,\n          valueDecimal: formattedAmount.valueDecimal,\n          valueInteger: formattedAmount.valueInteger\n        };\n\n        const receiverShard = getShardText(transaction.receiverShard);\n        const senderShard = getShardText(transaction.senderShard);\n\n        const transactionRow: TransactionsRowType = {\n          age: transaction.transactionDetails.age,\n          direction: transaction.transactionDetails.direction,\n          method: transaction.transactionDetails.method,\n          iconInfo: transaction.transactionDetails.iconInfo,\n          link: transaction.links.transactionLink ?? '',\n          txHash: transaction.txHash,\n          receiver: {\n            address: transaction.receiver,\n            name: receiverName ?? '',\n            description: `${receiverName ?? transaction.receiver} (${\n              transaction.receiver\n            })`,\n            isContract: isContract(transaction.receiver),\n            isTokenLocked: Boolean(receiverLockedAccount),\n            link: transaction.links.receiverLink ?? '',\n            shard: receiverShard,\n            shardLink: transaction.links.receiverShardLink,\n            showLink:\n              transaction.transactionDetails.direction !==\n              TransactionDirectionEnum.IN\n          },\n          sender: {\n            address: transaction.sender,\n            name: senderName ?? '',\n            description: `${senderName ?? transaction.sender} (${\n              transaction.sender\n            })`,\n            isContract: isContract(transaction.sender),\n            isTokenLocked: Boolean(senderLockedAccount),\n            link: transaction.links.senderLink ?? '',\n            shard: senderShard,\n            shardLink: transaction.links.senderShardLink,\n            showLink:\n              transaction.transactionDetails.direction !==\n              TransactionDirectionEnum.OUT\n          },\n          value: transactionValue\n        };\n\n        return transactionRow;\n      })\n    );\n\n    return transactionRows;\n  }\n}\n"],
  "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAyB,4BACzBC,EAGO,0CACPC,EAA4B,8BAC5BC,EAAgC,8CAChCC,EAA0C,kFAC1CC,EAAoC,gGACpCC,EAAqC,qFACrCC,EAA6B,6EAC7BC,EAA2B,uCAK3BC,EAAuC,qCAShC,MAAMX,CAA4B,CACvC,aAAoB,oBAAoB,CACtC,QAAAY,EACA,UAAAC,EACA,gBAAAC,EACA,aAAAC,CACF,EAEE,CACA,MAAMC,EAA0BD,EAAa,IAAKE,MAChD,6BAA0B,CACxB,QAAAL,EACA,gBAAAE,EACA,YAAAG,CACF,CAAC,CACH,EAyHA,OAvHwB,MAAM,QAAQ,IACpCD,EAAwB,IAAI,MAAOC,GAAgB,CACjD,MAAMC,EAAeD,EAAY,gBAAgB,KAAK,QACpD,cACA,EACF,EAEME,EAAaF,EAAY,cAAc,KAAK,QAChD,cACA,EACF,EAEM,CAAE,oBAAAG,EAAqB,sBAAAC,CAAsB,EACjD,QAAM,wBAAqB,CACzB,SAAUJ,EAAY,SACtB,OAAQA,EAAY,OACpB,QAASA,EAAY,eACvB,CAAC,EAEG,CAAE,cAAAK,EAAe,eAAAC,EAAgB,aAAAC,CAAa,KAClD,uBAAoB,CAClB,YAAAP,CACF,CAAC,EAKGQ,EAFJD,GAAc,MAAM,OAAS,cAAY,SAGvC,OACAA,GAAc,UAEZE,EAAkB,yBAAuB,QAAQ,CACrD,MACEJ,GAAe,OACfC,GAAgB,OAChBC,GAAc,OACd,GACF,SACEF,GAAe,UACfC,GAAgB,UAChBC,GAAc,UACd,WACF,OAAQ,CACV,CAAC,EAEKG,EAAyC,CAC7C,MAAOF,GAAS,OAChB,WACEF,GAAgB,MAAM,YAAcC,GAAc,MAAM,WAC1D,UAAWF,EAAgBT,EAAY,GACvC,QAAM,mBAAgB,CACpB,gBAAAC,EACA,GACES,GAAgB,mBAChBC,GAAc,mBACd,EACJ,CAAC,EACD,SACED,GAAgB,eAAiBC,GAAc,cACjD,KAAMD,GAAgB,MAAM,MAAQC,GAAc,MAAM,KACxD,oBAAqB,GACnBF,GACEC,GAAgB,sBAChBC,GAAc,sBAElB,OAAQD,GAAgB,MAAM,QAAUC,GAAc,MAAM,OAC5D,OAAQD,GAAgB,MAAM,QAAUC,GAAc,MAAM,OAC5D,UAAWD,GAAgB,WAAaC,GAAc,UACtD,aAAcE,EAAgB,aAC9B,aAAcA,EAAgB,YAChC,EAEME,KAAgB,gBAAaX,EAAY,aAAa,EACtDY,KAAc,gBAAaZ,EAAY,WAAW,EA0CxD,MAxC4C,CAC1C,IAAKA,EAAY,mBAAmB,IACpC,UAAWA,EAAY,mBAAmB,UAC1C,OAAQA,EAAY,mBAAmB,OACvC,SAAUA,EAAY,mBAAmB,SACzC,KAAMA,EAAY,MAAM,iBAAmB,GAC3C,OAAQA,EAAY,OACpB,SAAU,CACR,QAASA,EAAY,SACrB,KAAMC,GAAgB,GACtB,YAAa,GAAGA,GAAgBD,EAAY,QAAQ,KAClDA,EAAY,QACd,IACA,cAAY,cAAWA,EAAY,QAAQ,EAC3C,cAAe,EAAQI,EACvB,KAAMJ,EAAY,MAAM,cAAgB,GACxC,MAAOW,EACP,UAAWX,EAAY,MAAM,kBAC7B,SACEA,EAAY,mBAAmB,YAC/B,2BAAyB,EAC7B,EACA,OAAQ,CACN,QAASA,EAAY,OACrB,KAAME,GAAc,GACpB,YAAa,GAAGA,GAAcF,EAAY,MAAM,KAC9CA,EAAY,MACd,IACA,cAAY,cAAWA,EAAY,MAAM,EACzC,cAAe,EAAQG,EACvB,KAAMH,EAAY,MAAM,YAAc,GACtC,MAAOY,EACP,UAAWZ,EAAY,MAAM,gBAC7B,SACEA,EAAY,mBAAmB,YAC/B,2BAAyB,GAC7B,EACA,MAAOU,CACT,CAGF,CAAC,CACH,CAGF,CACF",
  "names": ["TransactionsTableController_exports", "__export", "TransactionsTableController", "__toCommonJS", "import_sdkDappUtils", "import_serverTransactions", "import_tokens", "import_getExplorerLink", "import_getInterpretedTransaction", "import_getTransactionValue", "import_getLockedAccountName", "import_getShardText", "import_isContract", "import_FormatAmountController", "address", "egldLabel", "explorerAddress", "transactions", "interpretedTransactions", "transaction", "receiverName", "senderName", "senderLockedAccount", "receiverLockedAccount", "egldValueData", "tokenValueData", "nftValueData", "badge", "formattedAmount", "transactionValue", "receiverShard", "senderShard"]
}
