{
  "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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAKO,+DACPC,EAAgC,4CAChCC,EAAoC,2CACpCC,EAA0C,gDAC1CC,EAAyB,uBAEzBC,EAAiD,8FACjDC,EAAuC,oCAWvC,eAAsBR,EACpBS,EACiD,CACjD,MAAMC,EAAQD,GAAO,UAAS,YAAS,EACjCE,EAAgD,CAAC,EACjDC,EAAkD,CAAC,EACnDC,KAAY,uBAAoBH,CAAK,EACrCI,KAAuB,6BAA0BJ,CAAK,EACtDK,KAAU,mBAAgBL,CAAK,EAErC,UAAWM,KAASH,EAAU,kBAAmB,CAC/C,MAAMI,EAAqBH,EAAqBE,EAAM,OAAO,EAC7D,GAAI,CAACC,GAAoB,OACvB,SAGF,KAAM,CAAE,OAAAC,EAAQ,aAAAC,EAAc,wBAAAC,CAAwB,EACpDH,EAEII,EAA2B,QAAM,oCAAiC,CACtE,aAAAF,EACA,MAAAT,CACF,CAAC,EAEKY,KAAa,4BAAyBJ,CAAM,EAC5CK,KAAW,0BAAuBL,CAAM,EACxCM,KAAe,8BAA2BN,CAAM,EAChDO,EAAcH,GAAcC,GAAYC,EACxCE,KAAY,2BAAwBR,CAAM,EAC1C,CAAE,UAAAS,EAAW,QAAAC,CAAQ,EAAIZ,EAE/B,GACES,GACAb,EAA2B,KAAMiB,GAAMA,EAAE,UAAYb,EAAM,OAAO,EAElE,SAGF,MAAMc,KAAmB,0BAAuB,CAC9C,QAASd,EAAM,QACf,QAAAD,EACA,OAAAG,EACA,aAAcG,EACd,wBAAAD,EACA,UAAAO,EACA,QAAAC,CACF,CAAC,EAEGH,GACFb,EAA2B,KAAKkB,CAAgB,EAG9CJ,GACFf,EAAyB,KAAKmB,CAAgB,CAElD,CAEA,MAAO,CACL,yBAAAnB,EACA,2BAAAC,CACF,CACF",
  "names": ["createToastsFromTransactions_exports", "__export", "createToastsFromTransactions", "__toCommonJS", "import_transactionStateByStatus", "import_accountSelectors", "import_toastsSelectors", "import_transactionsSelector", "import_store", "import_mapServerTransactionsToListItems", "import_createTransactionToast", "props", "store", "pendingTransactionToasts", "completedTransactionToasts", "toastList", "transactionsSessions", "address", "toast", "transactionSession", "status", "transactions", "transactionsDisplayInfo", "interprettedTransactions", "isTimedOut", "isFailed", "isSuccessful", "isCompleted", "isPending", "startTime", "endTime", "t", "transactionToast"]
}
