{
  "version": 3,
  "sources": ["../../../src/store/selectors/transactionsSelector.ts"],
  "sourcesContent": ["import { StoreType } from 'store/store.types';\nimport {\n  TransactionBatchStatusesEnum,\n  TransactionServerStatusesEnum\n} from 'types/enums.types';\nimport {\n  SignedTransactionType,\n  SessionTransactionType\n} from 'types/transactions.types';\n\nexport const transactionsSliceSelector = ({ transactions }: StoreType) =>\n  transactions;\n\nexport const pendingTransactionsSessionsSelector = ({\n  transactions: state\n}: StoreType): Record<string, SessionTransactionType> => {\n  const pendingSessions: Record<string, SessionTransactionType> = {};\n\n  Object.entries(state).forEach(([sessionId, data]) => {\n    const hasPendingTransactions = data.transactions.some(\n      ({ status }) => status === TransactionServerStatusesEnum.pending\n    );\n    if (hasPendingTransactions && data.status === 'sent') {\n      pendingSessions[sessionId] = data;\n    }\n  });\n\n  return pendingSessions;\n};\n\nexport const successfulTransactionsSessionsSelector = ({\n  transactions: state\n}: StoreType): Record<string, SessionTransactionType> => {\n  const successfulSessions: Record<string, SessionTransactionType> = {};\n\n  Object.entries(state).forEach(([sessionId, data]) => {\n    const hasSuccessfulTransactions = data.transactions.some(\n      ({ status }) => status === TransactionServerStatusesEnum.success\n    );\n    if (hasSuccessfulTransactions && data.status === 'sent') {\n      successfulSessions[sessionId] = data;\n    }\n  });\n\n  return successfulSessions;\n};\n\nexport const failedTransactionsSessionsSelector = ({\n  transactions: state\n}: StoreType): Record<string, SessionTransactionType> => {\n  const failedSessions: Record<string, SessionTransactionType> = {};\n\n  Object.entries(state).forEach(([sessionId, data]) => {\n    const hasFailedTransactions = data.transactions.some(\n      ({ status }) =>\n        status &&\n        [\n          TransactionServerStatusesEnum.fail,\n          TransactionServerStatusesEnum.invalid,\n          TransactionBatchStatusesEnum.cancelled,\n          TransactionBatchStatusesEnum.timedOut\n        ]\n          .map((el) => String(el))\n          .includes(status)\n    );\n    if (hasFailedTransactions && data.status === 'sent') {\n      failedSessions[sessionId] = data;\n    }\n  });\n\n  return failedSessions;\n};\n\nexport const pendingTransactionsSelector = ({\n  transactions: state\n}: StoreType): SignedTransactionType[] => {\n  const pendingTransactions: SignedTransactionType[] = [];\n\n  Object.values(state).forEach(({ transactions }) => {\n    transactions.forEach((transaction) => {\n      if (\n        transaction.status &&\n        [\n          TransactionServerStatusesEnum.pending,\n          TransactionBatchStatusesEnum.sent\n        ]\n          .map((el) => String(el))\n          .includes(transaction.status)\n      ) {\n        pendingTransactions.push(transaction);\n      }\n    });\n  });\n\n  return pendingTransactions;\n};\n\nexport const successfulTransactionsSelector = ({\n  transactions: state\n}: StoreType) => {\n  const successfulTransactions: SignedTransactionType[] = [];\n\n  Object.values(state).forEach(({ transactions }) => {\n    transactions.forEach((transaction) => {\n      if (transaction.status === TransactionServerStatusesEnum.success) {\n        successfulTransactions.push(transaction);\n      }\n    });\n  });\n\n  return successfulTransactions;\n};\n\nexport const failedTransactionsSelector = ({\n  transactions: state\n}: StoreType) => {\n  const failedTransactions: SignedTransactionType[] = [];\n\n  Object.values(state).forEach(({ transactions }) => {\n    transactions.forEach((transaction) => {\n      if (\n        transaction.status &&\n        [\n          TransactionServerStatusesEnum.fail,\n          TransactionServerStatusesEnum.invalid,\n          TransactionBatchStatusesEnum.cancelled,\n          TransactionBatchStatusesEnum.timedOut\n        ]\n          .map((el) => String(el))\n          .includes(transaction.status)\n      ) {\n        failedTransactions.push(transaction);\n      }\n    });\n  });\n\n  return failedTransactions;\n};\n\nexport const timedOutTransactionsSelector = ({\n  transactions: state\n}: StoreType) => {\n  const timedOutTransactions: SignedTransactionType[] = [];\n\n  Object.values(state).forEach(({ transactions }) => {\n    transactions.forEach((transaction) => {\n      if (transaction.status === TransactionBatchStatusesEnum.timedOut) {\n        timedOutTransactions.push(transaction);\n      }\n    });\n  });\n\n  return timedOutTransactions;\n};\n"],
  "mappings": "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",
  "names": ["transactionsSelector_exports", "__export", "failedTransactionsSelector", "failedTransactionsSessionsSelector", "pendingTransactionsSelector", "pendingTransactionsSessionsSelector", "successfulTransactionsSelector", "successfulTransactionsSessionsSelector", "timedOutTransactionsSelector", "transactionsSliceSelector", "__toCommonJS", "import_enums", "transactions", "state", "pendingSessions", "sessionId", "data", "status", "successfulSessions", "failedSessions", "el", "pendingTransactions", "transaction", "successfulTransactions", "failedTransactions", "timedOutTransactions"]
}
