{
  "version": 3,
  "sources": ["../../../src/methods/account/getLatestNonce.ts"],
  "sourcesContent": ["import { accountNonceSelector } from '../../store/selectors/accountSelectors';\nimport { transactionsSliceSelector } from '../../store/selectors/transactionsSelector';\nimport { getState } from '../../store/store';\nimport { AccountType } from '../../types/account.types';\n\nexport function getLatestNonce(apiAccount: AccountType | null) {\n  const state = getState();\n  const transactionsSessions = transactionsSliceSelector(state);\n  const currentAccountNonce = accountNonceSelector(state);\n\n  // Get the max transactions nonce\n  let lastTransactionNonce = Object.keys(transactionsSessions)\n    .map(Number) // Convert keys to numbers (timestamps)\n    .reduce((maxNonce, timestamp) => {\n      const transactions = transactionsSessions[timestamp]?.transactions || [];\n      return Math.max(maxNonce, ...transactions.map((tx) => tx.nonce), 0);\n    }, 0);\n\n  if (lastTransactionNonce > 0) {\n    lastTransactionNonce += 1; // Increment only if there's at least one pending transaction\n  }\n\n  if (apiAccount == null) {\n    const currentStoreNonce = Math.max(\n      lastTransactionNonce,\n      currentAccountNonce\n    );\n    return currentStoreNonce;\n  }\n\n  const currentNonce = Math.max(\n    lastTransactionNonce,\n    apiAccount.nonce,\n    currentAccountNonce\n  );\n\n  return currentNonce;\n}\n"],
  "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,oBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAqC,kDACrCC,EAA0C,sDAC1CC,EAAyB,6BAGlB,SAASJ,EAAeK,EAAgC,CAC7D,MAAMC,KAAQ,YAAS,EACjBC,KAAuB,6BAA0BD,CAAK,EACtDE,KAAsB,wBAAqBF,CAAK,EAGtD,IAAIG,EAAuB,OAAO,KAAKF,CAAoB,EACxD,IAAI,MAAM,EACV,OAAO,CAACG,EAAUC,IAAc,CAC/B,MAAMC,EAAeL,EAAqBI,CAAS,GAAG,cAAgB,CAAC,EACvE,OAAO,KAAK,IAAID,EAAU,GAAGE,EAAa,IAAKC,GAAOA,EAAG,KAAK,EAAG,CAAC,CACpE,EAAG,CAAC,EAMN,OAJIJ,EAAuB,IACzBA,GAAwB,GAGtBJ,GAAc,KACU,KAAK,IAC7BI,EACAD,CACF,EAImB,KAAK,IACxBC,EACAJ,EAAW,MACXG,CACF,CAGF",
  "names": ["getLatestNonce_exports", "__export", "getLatestNonce", "__toCommonJS", "import_accountSelectors", "import_transactionsSelector", "import_store", "apiAccount", "state", "transactionsSessions", "currentAccountNonce", "lastTransactionNonce", "maxNonce", "timestamp", "transactions", "tx"]
}
