{
  "version": 3,
  "sources": ["../../src/managers/ToastManager/helpers/createToastsFromTransactions.ts"],
  "sourcesContent": ["import {\n  getIsTransactionFailed,\n  getIsTransactionPending,\n  getIsTransactionSuccessful,\n  getIsTransactionTimedOut\n} from 'store/actions/transactions/transactionStateByStatus';\nimport { addressSelector } from 'store/selectors/accountSelectors';\nimport { toastsSliceSelector } from 'store/selectors/toastsSelectors';\nimport { transactionsSliceSelector } from 'store/selectors/transactionsSelector';\nimport { getState } from 'store/store';\nimport { StoreType } from 'store/store.types';\nimport { mapServerTransactionsToListItems } from 'utils/transactions/getTransactionsHistory/helpers/mapServerTransactionsToListItems';\nimport { createTransactionToast } from './createTransactionToast';\nimport { ITransactionToast } from '../types/toast.types';\ninterface CreateToastsFromTransactionsReturnType {\n  pendingTransactionToasts: ITransactionToast[];\n  completedTransactionToasts: ITransactionToast[];\n}\n\ninterface CreateToastsFromTransactionsParamsType {\n  store?: StoreType;\n}\n\nexport async function createToastsFromTransactions(\n  props?: CreateToastsFromTransactionsParamsType\n): Promise<CreateToastsFromTransactionsReturnType> {\n  const store = props?.store ?? getState();\n  const pendingTransactionToasts: ITransactionToast[] = [];\n  const completedTransactionToasts: ITransactionToast[] = [];\n  const toastList = toastsSliceSelector(store);\n  const transactionsSessions = transactionsSliceSelector(store);\n  const address = addressSelector(store);\n\n  for (const toast of toastList.transactionToasts) {\n    const transactionSession = transactionsSessions[toast.toastId];\n    if (!transactionSession?.status) {\n      continue;\n    }\n\n    const { status, transactions, transactionsDisplayInfo } =\n      transactionSession;\n\n    const interprettedTransactions = await mapServerTransactionsToListItems({\n      transactions,\n      store\n    });\n\n    const isTimedOut = getIsTransactionTimedOut(status);\n    const isFailed = getIsTransactionFailed(status);\n    const isSuccessful = getIsTransactionSuccessful(status);\n    const isCompleted = isTimedOut || isFailed || isSuccessful;\n    const isPending = getIsTransactionPending(status);\n    const { startTime, endTime } = toast;\n\n    if (\n      isCompleted &&\n      completedTransactionToasts.some((t) => t.toastId === toast.toastId)\n    ) {\n      continue;\n    }\n\n    const transactionToast = createTransactionToast({\n      toastId: toast.toastId,\n      address,\n      status,\n      transactions: interprettedTransactions,\n      transactionsDisplayInfo,\n      startTime,\n      endTime\n    });\n\n    if (isCompleted) {\n      completedTransactionToasts.push(transactionToast);\n    }\n\n    if (isPending) {\n      pendingTransactionToasts.push(transactionToast);\n    }\n  }\n\n  return {\n    pendingTransactionToasts,\n    completedTransactionToasts\n  };\n}\n"],
  "mappings": "oTAuBA,eAAsBA,EACpBC,EACiD,CACjD,IAAMC,EAAQD,GAAO,OAASE,EAAS,EACjCC,EAAgD,CAAC,EACjDC,EAAkD,CAAC,EACnDC,EAAYC,EAAoBL,CAAK,EACrCM,EAAuBC,EAA0BP,CAAK,EACtDQ,EAAUC,EAAgBT,CAAK,EAErC,QAAWU,KAASN,EAAU,kBAAmB,CAC/C,IAAMO,EAAqBL,EAAqBI,EAAM,OAAO,EAC7D,GAAI,CAACC,GAAoB,OACvB,SAGF,GAAM,CAAE,OAAAC,EAAQ,aAAAC,EAAc,wBAAAC,CAAwB,EACpDH,EAEII,EAA2B,MAAMC,EAAiC,CACtE,aAAAH,EACA,MAAAb,CACF,CAAC,EAEKiB,EAAaC,EAAyBN,CAAM,EAC5CO,EAAWC,EAAuBR,CAAM,EACxCS,EAAeC,EAA2BV,CAAM,EAChDW,EAAcN,GAAcE,GAAYE,EACxCG,EAAYC,EAAwBb,CAAM,EAC1C,CAAE,UAAAc,EAAW,QAAAC,CAAQ,EAAIjB,EAE/B,GACEa,GACApB,EAA2B,KAAMyB,GAAMA,EAAE,UAAYlB,EAAM,OAAO,EAElE,SAGF,IAAMmB,EAAmBC,EAAuB,CAC9C,QAASpB,EAAM,QACf,QAAAF,EACA,OAAAI,EACA,aAAcG,EACd,wBAAAD,EACA,UAAAY,EACA,QAAAC,CACF,CAAC,EAEGJ,GACFpB,EAA2B,KAAK0B,CAAgB,EAG9CL,GACFtB,EAAyB,KAAK2B,CAAgB,CAElD,CAEA,MAAO,CACL,yBAAA3B,EACA,2BAAAC,CACF,CACF",
  "names": ["createToastsFromTransactions", "props", "store", "getState", "pendingTransactionToasts", "completedTransactionToasts", "toastList", "toastsSliceSelector", "transactionsSessions", "transactionsSliceSelector", "address", "addressSelector", "toast", "transactionSession", "status", "transactions", "transactionsDisplayInfo", "interprettedTransactions", "mapServerTransactionsToListItems", "isTimedOut", "getIsTransactionTimedOut", "isFailed", "getIsTransactionFailed", "isSuccessful", "getIsTransactionSuccessful", "isCompleted", "isPending", "getIsTransactionPending", "startTime", "endTime", "t", "transactionToast", "createTransactionToast"]
}
