{
  "version": 3,
  "sources": ["../../src/providers/strategies/helpers/signTransactions/helpers/getMultiEsdtTransferData/helpers/parseMultiEsdtTransferDataForMultipleTransactions.ts"],
  "sourcesContent": ["import type { Transaction } from 'lib/sdkCore';\n\nimport {\n  MultiSignTransactionType,\n  TransactionsDataTokensType\n} from 'types/transactions.types';\nimport { decodeBase64 } from 'utils/decoders/base64Utils';\nimport { getTokenFromData } from 'utils/transactions/getInterpretedTransaction/helpers/getTokenFromData';\nimport { parseMultiEsdtTransferData } from './parseMultiEsdtTransferData';\n\nexport function parseMultiEsdtTransferDataForMultipleTransactions({\n  transactions\n}: {\n  transactions?: Transaction[];\n}) {\n  const allTransactions: MultiSignTransactionType[] = [];\n  const parsedTransactionsByDataField: TransactionsDataTokensType = {};\n\n  if (!transactions || transactions.length === 0) {\n    return {\n      allTransactions,\n      parsedTransactionsByDataField\n    };\n  }\n\n  transactions.forEach((transaction, transactionIndex) => {\n    const plainTransaction = transaction.toPlainObject();\n    const txData = decodeBase64(plainTransaction?.data ?? '');\n    const multiTxs = parseMultiEsdtTransferData(txData);\n\n    if (multiTxs.length > 0) {\n      multiTxs.forEach((trx, idx) => {\n        const isLastView = idx === multiTxs.length - 1;\n\n        const newTx: MultiSignTransactionType = {\n          transaction,\n          multiTxData: trx.data,\n          transactionIndex: idx,\n          needsSigning: isLastView\n        };\n\n        parsedTransactionsByDataField[trx.data] = {\n          tokenId: trx.token ? trx.token : '',\n          amount: trx.amount ? trx.amount : '',\n          type: trx.type,\n          nonce: trx.nonce ? trx.nonce : '',\n          multiTxData: trx.data,\n          receiver: trx.receiver\n        };\n\n        allTransactions.push(newTx);\n      });\n    } else {\n      const { tokenId, amount } = getTokenFromData(txData);\n\n      if (tokenId) {\n        parsedTransactionsByDataField[txData] = {\n          tokenId,\n          amount,\n          receiver: transaction.receiver.toBech32()\n        };\n      }\n      allTransactions.push({\n        transaction,\n        transactionIndex,\n        multiTxData: txData,\n        needsSigning: true\n      });\n    }\n  });\n\n  return {\n    allTransactions,\n    parsedTransactionsByDataField\n  };\n}\n"],
  "mappings": "sHAUO,SAASA,EAAkD,CAChE,aAAAC,CACF,EAEG,CACD,IAAMC,EAA8C,CAAC,EAC/CC,EAA4D,CAAC,EAEnE,MAAI,CAACF,GAAgBA,EAAa,SAAW,EACpC,CACL,gBAAAC,EACA,8BAAAC,CACF,GAGFF,EAAa,QAAQ,CAACG,EAAaC,IAAqB,CACtD,IAAMC,EAAmBF,EAAY,cAAc,EAC7CG,EAASC,EAAaF,GAAkB,MAAQ,EAAE,EAClDG,EAAWC,EAA2BH,CAAM,EAElD,GAAIE,EAAS,OAAS,EACpBA,EAAS,QAAQ,CAACE,EAAKC,IAAQ,CAC7B,IAAMC,EAAaD,IAAQH,EAAS,OAAS,EAEvCK,EAAkC,CACtC,YAAAV,EACA,YAAaO,EAAI,KACjB,iBAAkBC,EAClB,aAAcC,CAChB,EAEAV,EAA8BQ,EAAI,IAAI,EAAI,CACxC,QAASA,EAAI,MAAQA,EAAI,MAAQ,GACjC,OAAQA,EAAI,OAASA,EAAI,OAAS,GAClC,KAAMA,EAAI,KACV,MAAOA,EAAI,MAAQA,EAAI,MAAQ,GAC/B,YAAaA,EAAI,KACjB,SAAUA,EAAI,QAChB,EAEAT,EAAgB,KAAKY,CAAK,CAC5B,CAAC,MACI,CACL,GAAM,CAAE,QAAAC,EAAS,OAAAC,CAAO,EAAIC,EAAiBV,CAAM,EAE/CQ,IACFZ,EAA8BI,CAAM,EAAI,CACtC,QAAAQ,EACA,OAAAC,EACA,SAAUZ,EAAY,SAAS,SAAS,CAC1C,GAEFF,EAAgB,KAAK,CACnB,YAAAE,EACA,iBAAAC,EACA,YAAaE,EACb,aAAc,EAChB,CAAC,CACH,CACF,CAAC,EAEM,CACL,gBAAAL,EACA,8BAAAC,CACF,EACF",
  "names": ["parseMultiEsdtTransferDataForMultipleTransactions", "transactions", "allTransactions", "parsedTransactionsByDataField", "transaction", "transactionIndex", "plainTransaction", "txData", "decodeBase64", "multiTxs", "parseMultiEsdtTransferData", "trx", "idx", "isLastView", "newTx", "tokenId", "amount", "getTokenFromData"]
}
