@metamask/transaction-controller 26.0.0 → 27.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/CHANGELOG.md +19 -1
  2. package/dist/TransactionController.js +14 -14
  3. package/dist/TransactionController.mjs +13 -13
  4. package/dist/{chunk-7HNSDVVO.mjs → chunk-2XFBWPHD.mjs} +2 -2
  5. package/dist/{chunk-C3UHJPYJ.js → chunk-3JEUO765.js} +6 -6
  6. package/dist/{chunk-V5X6MZHN.js → chunk-3VF7ZGRV.js} +126 -63
  7. package/dist/chunk-3VF7ZGRV.js.map +1 -0
  8. package/dist/{chunk-DTMKGTYC.mjs → chunk-4VLQV2GA.mjs} +48 -2
  9. package/dist/chunk-4VLQV2GA.mjs.map +1 -0
  10. package/dist/{chunk-JW6P2G5A.mjs → chunk-53IYIDVS.mjs} +2 -2
  11. package/dist/{chunk-5XBULBP2.js → chunk-5KMU2IAT.js} +3 -3
  12. package/dist/chunk-5KMU2IAT.js.map +1 -0
  13. package/dist/{chunk-GASIS3QH.js → chunk-5SKCGFUC.js} +25 -24
  14. package/dist/chunk-5SKCGFUC.js.map +1 -0
  15. package/dist/{chunk-JRQHIBG5.mjs → chunk-5YES3V2R.mjs} +3 -3
  16. package/dist/chunk-5YES3V2R.mjs.map +1 -0
  17. package/dist/{chunk-GRQB2ARK.js → chunk-AO3AE3L7.js} +3 -3
  18. package/dist/{chunk-I7VD6IET.js → chunk-CPYXP2OC.js} +3 -3
  19. package/dist/{chunk-KKCD5UMP.mjs → chunk-CWWZQZVR.mjs} +2 -2
  20. package/dist/{chunk-RIYIJTEU.mjs → chunk-DOX6H5UJ.mjs} +2 -2
  21. package/dist/{chunk-HLG525BC.mjs → chunk-DRSMLO7B.mjs} +2 -2
  22. package/dist/{chunk-QG2WVQE3.js → chunk-ETMW527M.js} +9 -9
  23. package/dist/{chunk-VP2DBWOT.js → chunk-F247MMTE.js} +3 -3
  24. package/dist/{chunk-APJWB5VY.mjs → chunk-JDLNCMGI.mjs} +12 -11
  25. package/dist/chunk-JDLNCMGI.mjs.map +1 -0
  26. package/dist/{chunk-UUSYJGGQ.js → chunk-L337FYVS.js} +3 -3
  27. package/dist/{chunk-A4P4B3OF.mjs → chunk-L7ZKSKEI.mjs} +125 -62
  28. package/dist/chunk-L7ZKSKEI.mjs.map +1 -0
  29. package/dist/{chunk-WIZVJM2B.js → chunk-LQS2M5QR.js} +48 -2
  30. package/dist/chunk-LQS2M5QR.js.map +1 -0
  31. package/dist/{chunk-6V2LR6JL.js → chunk-LYD4TEKH.js} +5 -5
  32. package/dist/{chunk-TZEAWUXE.mjs → chunk-P74YLPJO.mjs} +2 -2
  33. package/dist/{chunk-TJXPMOA6.mjs → chunk-RBF6CW7D.mjs} +2 -2
  34. package/dist/{chunk-FTB6MCSH.mjs → chunk-RXRJSBSF.mjs} +2 -2
  35. package/dist/{chunk-RU6NJIUD.mjs → chunk-TKWTUPCQ.mjs} +3 -3
  36. package/dist/{chunk-XZILQVNW.js → chunk-UBXRAA6G.js} +3 -3
  37. package/dist/{chunk-QTQSCTQA.js → chunk-WLCFETHR.js} +10 -10
  38. package/dist/constants.js +6 -2
  39. package/dist/constants.mjs +5 -1
  40. package/dist/gas-flows/DefaultGasFeeFlow.js +5 -5
  41. package/dist/gas-flows/DefaultGasFeeFlow.mjs +4 -4
  42. package/dist/gas-flows/LineaGasFeeFlow.js +6 -6
  43. package/dist/gas-flows/LineaGasFeeFlow.mjs +5 -5
  44. package/dist/gas-flows/OptimismLayer1GasFeeFlow.js +3 -3
  45. package/dist/gas-flows/OptimismLayer1GasFeeFlow.mjs +2 -2
  46. package/dist/helpers/EtherscanRemoteTransactionSource.js +4 -4
  47. package/dist/helpers/EtherscanRemoteTransactionSource.mjs +3 -3
  48. package/dist/helpers/MultichainTrackingHelper.js +5 -5
  49. package/dist/helpers/MultichainTrackingHelper.mjs +4 -4
  50. package/dist/helpers/PendingTransactionTracker.js +2 -2
  51. package/dist/helpers/PendingTransactionTracker.mjs +1 -1
  52. package/dist/index.js +14 -14
  53. package/dist/index.mjs +13 -13
  54. package/dist/tsconfig.build.tsbuildinfo +1 -1
  55. package/dist/types/TransactionController.d.ts +1 -1
  56. package/dist/types/TransactionController.d.ts.map +1 -1
  57. package/dist/types/constants.d.ts +22 -0
  58. package/dist/types/constants.d.ts.map +1 -1
  59. package/dist/types/helpers/PendingTransactionTracker.d.ts +1 -1
  60. package/dist/types/helpers/PendingTransactionTracker.d.ts.map +1 -1
  61. package/dist/types/utils/simulation.d.ts +7 -0
  62. package/dist/types/utils/simulation.d.ts.map +1 -1
  63. package/dist/utils/etherscan.js +3 -3
  64. package/dist/utils/etherscan.mjs +2 -2
  65. package/dist/utils/gas-fees.js +4 -4
  66. package/dist/utils/gas-fees.mjs +3 -3
  67. package/dist/utils/gas.js +3 -3
  68. package/dist/utils/gas.mjs +2 -2
  69. package/dist/utils/simulation.js +5 -2
  70. package/dist/utils/simulation.mjs +4 -1
  71. package/dist/utils/swaps.js +3 -3
  72. package/dist/utils/swaps.mjs +2 -2
  73. package/package.json +1 -1
  74. package/dist/chunk-5XBULBP2.js.map +0 -1
  75. package/dist/chunk-A4P4B3OF.mjs.map +0 -1
  76. package/dist/chunk-APJWB5VY.mjs.map +0 -1
  77. package/dist/chunk-DTMKGTYC.mjs.map +0 -1
  78. package/dist/chunk-GASIS3QH.js.map +0 -1
  79. package/dist/chunk-JRQHIBG5.mjs.map +0 -1
  80. package/dist/chunk-V5X6MZHN.js.map +0 -1
  81. package/dist/chunk-WIZVJM2B.js.map +0 -1
  82. /package/dist/{chunk-7HNSDVVO.mjs.map → chunk-2XFBWPHD.mjs.map} +0 -0
  83. /package/dist/{chunk-C3UHJPYJ.js.map → chunk-3JEUO765.js.map} +0 -0
  84. /package/dist/{chunk-JW6P2G5A.mjs.map → chunk-53IYIDVS.mjs.map} +0 -0
  85. /package/dist/{chunk-GRQB2ARK.js.map → chunk-AO3AE3L7.js.map} +0 -0
  86. /package/dist/{chunk-I7VD6IET.js.map → chunk-CPYXP2OC.js.map} +0 -0
  87. /package/dist/{chunk-KKCD5UMP.mjs.map → chunk-CWWZQZVR.mjs.map} +0 -0
  88. /package/dist/{chunk-RIYIJTEU.mjs.map → chunk-DOX6H5UJ.mjs.map} +0 -0
  89. /package/dist/{chunk-HLG525BC.mjs.map → chunk-DRSMLO7B.mjs.map} +0 -0
  90. /package/dist/{chunk-QG2WVQE3.js.map → chunk-ETMW527M.js.map} +0 -0
  91. /package/dist/{chunk-VP2DBWOT.js.map → chunk-F247MMTE.js.map} +0 -0
  92. /package/dist/{chunk-UUSYJGGQ.js.map → chunk-L337FYVS.js.map} +0 -0
  93. /package/dist/{chunk-6V2LR6JL.js.map → chunk-LYD4TEKH.js.map} +0 -0
  94. /package/dist/{chunk-TZEAWUXE.mjs.map → chunk-P74YLPJO.mjs.map} +0 -0
  95. /package/dist/{chunk-TJXPMOA6.mjs.map → chunk-RBF6CW7D.mjs.map} +0 -0
  96. /package/dist/{chunk-FTB6MCSH.mjs.map → chunk-RXRJSBSF.mjs.map} +0 -0
  97. /package/dist/{chunk-RU6NJIUD.mjs.map → chunk-TKWTUPCQ.mjs.map} +0 -0
  98. /package/dist/{chunk-XZILQVNW.js.map → chunk-UBXRAA6G.js.map} +0 -0
  99. /package/dist/{chunk-QTQSCTQA.js.map → chunk-WLCFETHR.js.map} +0 -0
@@ -89,7 +89,7 @@ var PendingTransactionTracker = class {
89
89
  __privateSet(this, _getChainId, getChainId);
90
90
  __privateSet(this, _getEthQuery, getEthQuery);
91
91
  __privateSet(this, _getTransactions, getTransactions);
92
- __privateSet(this, _isResubmitEnabled, isResubmitEnabled ?? true);
92
+ __privateSet(this, _isResubmitEnabled, isResubmitEnabled ?? (() => true));
93
93
  __privateSet(this, _listener, __privateMethod(this, _onLatestBlock, onLatestBlock_fn).bind(this));
94
94
  __privateSet(this, _getGlobalLock, getGlobalLock);
95
95
  __privateSet(this, _publishTransaction, publishTransaction);
@@ -177,7 +177,7 @@ checkTransactions_fn = async function() {
177
177
  };
178
178
  _resubmitTransactions = new WeakSet();
179
179
  resubmitTransactions_fn = async function(latestBlockNumber) {
180
- if (!__privateGet(this, _isResubmitEnabled) || !__privateGet(this, _running)) {
180
+ if (!__privateGet(this, _isResubmitEnabled).call(this) || !__privateGet(this, _running)) {
181
181
  return;
182
182
  }
183
183
  log("Resubmitting transactions");
@@ -396,4 +396,4 @@ getCurrentChainTransactions_fn = function() {
396
396
  export {
397
397
  PendingTransactionTracker
398
398
  };
399
- //# sourceMappingURL=chunk-JRQHIBG5.mjs.map
399
+ //# sourceMappingURL=chunk-5YES3V2R.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/helpers/PendingTransactionTracker.ts"],"sourcesContent":["import { query } from '@metamask/controller-utils';\nimport type EthQuery from '@metamask/eth-query';\nimport type {\n BlockTracker,\n NetworkClientId,\n} from '@metamask/network-controller';\nimport EventEmitter from 'events';\nimport { cloneDeep, merge } from 'lodash';\n\nimport { createModuleLogger, projectLogger } from '../logger';\nimport type { TransactionMeta, TransactionReceipt } from '../types';\nimport { TransactionStatus, TransactionType } from '../types';\n\n/**\n * We wait this many blocks before emitting a 'transaction-dropped' event\n * This is because we could be talking to a node that is out of sync\n */\nconst DROPPED_BLOCK_COUNT = 3;\n\nconst RECEIPT_STATUS_SUCCESS = '0x1';\nconst RECEIPT_STATUS_FAILURE = '0x0';\nconst MAX_RETRY_BLOCK_DISTANCE = 50;\n\nconst KNOWN_TRANSACTION_ERRORS = [\n 'replacement transaction underpriced',\n 'known transaction',\n 'gas price too low to replace',\n 'transaction with the same hash was already imported',\n 'gateway timeout',\n 'nonce too low',\n];\n\nconst log = createModuleLogger(projectLogger, 'pending-transactions');\n\ntype SuccessfulTransactionReceipt = TransactionReceipt & {\n blockNumber: string;\n blockHash: string;\n};\n\ntype Events = {\n 'transaction-confirmed': [txMeta: TransactionMeta];\n 'transaction-dropped': [txMeta: TransactionMeta];\n 'transaction-failed': [txMeta: TransactionMeta, error: Error];\n 'transaction-updated': [txMeta: TransactionMeta, note: string];\n};\n\n// This interface was created before this ESLint rule was added.\n// Convert to a `type` in a future major version.\n// eslint-disable-next-line @typescript-eslint/consistent-type-definitions\nexport interface PendingTransactionTrackerEventEmitter extends EventEmitter {\n on<T extends keyof Events>(\n eventName: T,\n listener: (...args: Events[T]) => void,\n ): this;\n\n emit<T extends keyof Events>(eventName: T, ...args: Events[T]): boolean;\n}\n\nexport class PendingTransactionTracker {\n hub: PendingTransactionTrackerEventEmitter;\n\n #approveTransaction: (transactionId: string) => Promise<void>;\n\n #blockTracker: BlockTracker;\n\n #droppedBlockCountByHash: Map<string, number>;\n\n #getChainId: () => string;\n\n #getEthQuery: (networkClientId?: NetworkClientId) => EthQuery;\n\n #getTransactions: () => TransactionMeta[];\n\n #isResubmitEnabled: () => boolean;\n\n // TODO: Replace `any` with type\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n #listener: any;\n\n #getGlobalLock: () => Promise<() => void>;\n\n #publishTransaction: (ethQuery: EthQuery, rawTx: string) => Promise<string>;\n\n #running: boolean;\n\n #beforeCheckPendingTransaction: (transactionMeta: TransactionMeta) => boolean;\n\n #beforePublish: (transactionMeta: TransactionMeta) => boolean;\n\n constructor({\n approveTransaction,\n blockTracker,\n getChainId,\n getEthQuery,\n getTransactions,\n isResubmitEnabled,\n getGlobalLock,\n publishTransaction,\n hooks,\n }: {\n approveTransaction: (transactionId: string) => Promise<void>;\n blockTracker: BlockTracker;\n getChainId: () => string;\n getEthQuery: (networkClientId?: NetworkClientId) => EthQuery;\n getTransactions: () => TransactionMeta[];\n isResubmitEnabled?: () => boolean;\n getGlobalLock: () => Promise<() => void>;\n publishTransaction: (ethQuery: EthQuery, rawTx: string) => Promise<string>;\n hooks?: {\n beforeCheckPendingTransaction?: (\n transactionMeta: TransactionMeta,\n ) => boolean;\n beforePublish?: (transactionMeta: TransactionMeta) => boolean;\n };\n }) {\n this.hub = new EventEmitter() as PendingTransactionTrackerEventEmitter;\n\n this.#approveTransaction = approveTransaction;\n this.#blockTracker = blockTracker;\n this.#droppedBlockCountByHash = new Map();\n this.#getChainId = getChainId;\n this.#getEthQuery = getEthQuery;\n this.#getTransactions = getTransactions;\n this.#isResubmitEnabled = isResubmitEnabled ?? (() => true);\n this.#listener = this.#onLatestBlock.bind(this);\n this.#getGlobalLock = getGlobalLock;\n this.#publishTransaction = publishTransaction;\n this.#running = false;\n this.#beforePublish = hooks?.beforePublish ?? (() => true);\n this.#beforeCheckPendingTransaction =\n hooks?.beforeCheckPendingTransaction ?? (() => true);\n }\n\n startIfPendingTransactions = () => {\n const pendingTransactions = this.#getPendingTransactions();\n\n if (pendingTransactions.length) {\n this.#start();\n } else {\n this.stop();\n }\n };\n\n /**\n * Force checks the network if the given transaction is confirmed and updates it's status.\n *\n * @param txMeta - The transaction to check\n */\n async forceCheckTransaction(txMeta: TransactionMeta) {\n const releaseLock = await this.#getGlobalLock();\n\n try {\n await this.#checkTransaction(txMeta);\n } catch (error) {\n /* istanbul ignore next */\n log('Failed to check transaction', error);\n } finally {\n releaseLock();\n }\n }\n\n #start() {\n if (this.#running) {\n return;\n }\n\n this.#blockTracker.on('latest', this.#listener);\n this.#running = true;\n\n log('Started polling');\n }\n\n stop() {\n if (!this.#running) {\n return;\n }\n\n this.#blockTracker.removeListener('latest', this.#listener);\n this.#running = false;\n\n log('Stopped polling');\n }\n\n async #onLatestBlock(latestBlockNumber: string) {\n const releaseLock = await this.#getGlobalLock();\n\n try {\n await this.#checkTransactions();\n } catch (error) {\n /* istanbul ignore next */\n log('Failed to check transactions', error);\n } finally {\n releaseLock();\n }\n\n try {\n await this.#resubmitTransactions(latestBlockNumber);\n } catch (error) {\n /* istanbul ignore next */\n log('Failed to resubmit transactions', error);\n }\n }\n\n async #checkTransactions() {\n log('Checking transactions');\n\n const pendingTransactions = this.#getPendingTransactions();\n\n if (!pendingTransactions.length) {\n log('No pending transactions to check');\n return;\n }\n\n log('Found pending transactions to check', {\n count: pendingTransactions.length,\n ids: pendingTransactions.map((tx) => tx.id),\n });\n\n await Promise.all(\n pendingTransactions.map((tx) => this.#checkTransaction(tx)),\n );\n }\n\n async #resubmitTransactions(latestBlockNumber: string) {\n if (!this.#isResubmitEnabled() || !this.#running) {\n return;\n }\n\n log('Resubmitting transactions');\n\n const pendingTransactions = this.#getPendingTransactions();\n\n if (!pendingTransactions.length) {\n log('No pending transactions to resubmit');\n return;\n }\n\n log('Found pending transactions to resubmit', {\n count: pendingTransactions.length,\n ids: pendingTransactions.map((tx) => tx.id),\n });\n\n for (const txMeta of pendingTransactions) {\n try {\n await this.#resubmitTransaction(txMeta, latestBlockNumber);\n // TODO: Replace `any` with type\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n /* istanbul ignore next */\n const errorMessage =\n error.value?.message?.toLowerCase() || error.message.toLowerCase();\n\n if (this.#isKnownTransactionError(errorMessage)) {\n log('Ignoring known transaction error', errorMessage);\n return;\n }\n\n this.#warnTransaction(\n txMeta,\n error.message,\n 'There was an error when resubmitting this transaction.',\n );\n }\n }\n }\n\n #isKnownTransactionError(errorMessage: string) {\n return KNOWN_TRANSACTION_ERRORS.some((knownError) =>\n errorMessage.includes(knownError),\n );\n }\n\n async #resubmitTransaction(\n txMeta: TransactionMeta,\n latestBlockNumber: string,\n ) {\n if (!this.#isResubmitDue(txMeta, latestBlockNumber)) {\n return;\n }\n\n const { rawTx } = txMeta;\n\n if (!this.#beforePublish(txMeta)) {\n return;\n }\n\n if (!rawTx?.length) {\n log('Approving transaction as no raw value');\n await this.#approveTransaction(txMeta.id);\n return;\n }\n\n const ethQuery = this.#getEthQuery(txMeta.networkClientId);\n await this.#publishTransaction(ethQuery, rawTx);\n\n const retryCount = (txMeta.retryCount ?? 0) + 1;\n\n this.#updateTransaction(\n merge({}, txMeta, { retryCount }),\n 'PendingTransactionTracker:transaction-retry - Retry count increased',\n );\n }\n\n #isResubmitDue(txMeta: TransactionMeta, latestBlockNumber: string): boolean {\n const txMetaWithFirstRetryBlockNumber = cloneDeep(txMeta);\n\n if (!txMetaWithFirstRetryBlockNumber.firstRetryBlockNumber) {\n txMetaWithFirstRetryBlockNumber.firstRetryBlockNumber = latestBlockNumber;\n\n this.#updateTransaction(\n txMetaWithFirstRetryBlockNumber,\n 'PendingTransactionTracker:#isResubmitDue - First retry block number set',\n );\n }\n\n const { firstRetryBlockNumber } = txMetaWithFirstRetryBlockNumber;\n\n const blocksSinceFirstRetry =\n Number.parseInt(latestBlockNumber, 16) -\n Number.parseInt(firstRetryBlockNumber, 16);\n\n const retryCount = txMeta.retryCount || 0;\n\n // Exponential backoff to limit retries at publishing\n // Capped at ~15 minutes between retries\n const requiredBlocksSinceFirstRetry = Math.min(\n MAX_RETRY_BLOCK_DISTANCE,\n Math.pow(2, retryCount),\n );\n\n return blocksSinceFirstRetry >= requiredBlocksSinceFirstRetry;\n }\n\n async #checkTransaction(txMeta: TransactionMeta) {\n const { hash, id } = txMeta;\n\n if (!hash && this.#beforeCheckPendingTransaction(txMeta)) {\n const error = new Error(\n 'We had an error while submitting this transaction, please try again.',\n );\n\n error.name = 'NoTxHashError';\n\n this.#failTransaction(txMeta, error);\n\n return;\n }\n\n if (this.#isNonceTaken(txMeta)) {\n log('Nonce already taken', id);\n this.#dropTransaction(txMeta);\n return;\n }\n\n try {\n const receipt = await this.#getTransactionReceipt(hash);\n const isSuccess = receipt?.status === RECEIPT_STATUS_SUCCESS;\n const isFailure = receipt?.status === RECEIPT_STATUS_FAILURE;\n\n if (isFailure) {\n log('Transaction receipt has failed status');\n\n this.#failTransaction(\n txMeta,\n new Error('Transaction dropped or replaced'),\n );\n\n return;\n }\n\n const { blockNumber, blockHash } = receipt || {};\n\n if (isSuccess && blockNumber && blockHash) {\n await this.#onTransactionConfirmed(txMeta, {\n ...receipt,\n blockNumber,\n blockHash,\n });\n\n return;\n }\n // TODO: Replace `any` with type\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n log('Failed to check transaction', id, error);\n\n this.#warnTransaction(\n txMeta,\n error.message,\n 'There was a problem loading this transaction.',\n );\n\n return;\n }\n\n if (await this.#isTransactionDropped(txMeta)) {\n this.#dropTransaction(txMeta);\n }\n }\n\n async #onTransactionConfirmed(\n txMeta: TransactionMeta,\n receipt: SuccessfulTransactionReceipt,\n ) {\n const { id } = txMeta;\n const { blockHash } = receipt;\n\n log('Transaction confirmed', id);\n\n const { baseFeePerGas, timestamp: blockTimestamp } =\n await this.#getBlockByHash(blockHash, false);\n\n const updatedTxMeta = cloneDeep(txMeta);\n updatedTxMeta.baseFeePerGas = baseFeePerGas;\n updatedTxMeta.blockTimestamp = blockTimestamp;\n updatedTxMeta.status = TransactionStatus.confirmed;\n updatedTxMeta.txParams = {\n ...updatedTxMeta.txParams,\n gasUsed: receipt.gasUsed,\n };\n updatedTxMeta.txReceipt = receipt;\n updatedTxMeta.verifiedOnBlockchain = true;\n\n this.#updateTransaction(\n updatedTxMeta,\n 'PendingTransactionTracker:#onTransactionConfirmed - Transaction confirmed',\n );\n\n this.hub.emit('transaction-confirmed', updatedTxMeta);\n }\n\n async #isTransactionDropped(txMeta: TransactionMeta) {\n const {\n hash,\n id,\n txParams: { nonce, from },\n } = txMeta;\n\n /* istanbul ignore next */\n if (!nonce || !hash) {\n return false;\n }\n\n const networkNextNonceHex = await this.#getNetworkTransactionCount(from);\n const networkNextNonceNumber = parseInt(networkNextNonceHex, 16);\n const nonceNumber = parseInt(nonce, 16);\n\n if (nonceNumber >= networkNextNonceNumber) {\n return false;\n }\n\n let droppedBlockCount = this.#droppedBlockCountByHash.get(hash);\n\n if (droppedBlockCount === undefined) {\n droppedBlockCount = 0;\n this.#droppedBlockCountByHash.set(hash, droppedBlockCount);\n }\n\n if (droppedBlockCount < DROPPED_BLOCK_COUNT) {\n log('Incrementing dropped block count', { id, droppedBlockCount });\n this.#droppedBlockCountByHash.set(hash, droppedBlockCount + 1);\n return false;\n }\n\n log('Hit dropped block count', id);\n\n this.#droppedBlockCountByHash.delete(hash);\n return true;\n }\n\n #isNonceTaken(txMeta: TransactionMeta): boolean {\n const { id, txParams } = txMeta;\n\n return this.#getCurrentChainTransactions().some(\n (tx) =>\n tx.id !== id &&\n tx.txParams.from === txParams.from &&\n tx.status === TransactionStatus.confirmed &&\n tx.txParams.nonce === txParams.nonce &&\n tx.type !== TransactionType.incoming,\n );\n }\n\n #getPendingTransactions(): TransactionMeta[] {\n return this.#getCurrentChainTransactions().filter(\n (tx) =>\n tx.status === TransactionStatus.submitted &&\n !tx.verifiedOnBlockchain &&\n !tx.isUserOperation,\n );\n }\n\n #warnTransaction(txMeta: TransactionMeta, error: string, message: string) {\n this.#updateTransaction(\n {\n ...txMeta,\n warning: { error, message },\n },\n 'PendingTransactionTracker:#warnTransaction - Warning added',\n );\n }\n\n #failTransaction(txMeta: TransactionMeta, error: Error) {\n log('Transaction failed', txMeta.id, error);\n this.hub.emit('transaction-failed', txMeta, error);\n }\n\n #dropTransaction(txMeta: TransactionMeta) {\n log('Transaction dropped', txMeta.id);\n this.hub.emit('transaction-dropped', txMeta);\n }\n\n #updateTransaction(txMeta: TransactionMeta, note: string) {\n this.hub.emit('transaction-updated', txMeta, note);\n }\n\n async #getTransactionReceipt(\n txHash?: string,\n ): Promise<TransactionReceipt | undefined> {\n return await query(this.#getEthQuery(), 'getTransactionReceipt', [txHash]);\n }\n\n async #getBlockByHash(\n blockHash: string,\n includeTransactionDetails: boolean,\n // TODO: Replace `any` with type\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): Promise<any> {\n return await query(this.#getEthQuery(), 'getBlockByHash', [\n blockHash,\n includeTransactionDetails,\n ]);\n }\n\n async #getNetworkTransactionCount(address: string): Promise<string> {\n return await query(this.#getEthQuery(), 'getTransactionCount', [address]);\n }\n\n #getCurrentChainTransactions(): TransactionMeta[] {\n const currentChainId = this.#getChainId();\n\n return this.#getTransactions().filter(\n (tx) => tx.chainId === currentChainId,\n );\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkWIZVJM2Bjs = require('./chunk-WIZVJM2B.js');
3
+ var _chunkLQS2M5QRjs = require('./chunk-LQS2M5QR.js');
4
4
 
5
5
 
6
6
  var _chunkS6VGOPUYjs = require('./chunk-S6VGOPUY.js');
@@ -97,7 +97,7 @@ async function getGas(request) {
97
97
  log("Using original estimate as custom network");
98
98
  return [estimatedGas, simulationFails];
99
99
  }
100
- const bufferMultiplier = _chunkWIZVJM2Bjs.GAS_BUFFER_CHAIN_OVERRIDES[chainId] ?? DEFAULT_GAS_MULTIPLIER;
100
+ const bufferMultiplier = _chunkLQS2M5QRjs.GAS_BUFFER_CHAIN_OVERRIDES[chainId] ?? DEFAULT_GAS_MULTIPLIER;
101
101
  const bufferedGas = addGasBuffer(
102
102
  estimatedGas,
103
103
  blockGasLimit,
@@ -134,4 +134,4 @@ async function getLatestBlock(ethQuery) {
134
134
 
135
135
 
136
136
  exports.log = log; exports.FIXED_GAS = FIXED_GAS; exports.DEFAULT_GAS_MULTIPLIER = DEFAULT_GAS_MULTIPLIER; exports.updateGas = updateGas; exports.estimateGas = estimateGas; exports.addGasBuffer = addGasBuffer;
137
- //# sourceMappingURL=chunk-GRQB2ARK.js.map
137
+ //# sourceMappingURL=chunk-AO3AE3L7.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
2
 
3
- var _chunkC3UHJPYJjs = require('./chunk-C3UHJPYJ.js');
3
+ var _chunk3JEUO765js = require('./chunk-3JEUO765.js');
4
4
 
5
5
 
6
6
  var _chunkS6VGOPUYjs = require('./chunk-S6VGOPUY.js');
@@ -275,7 +275,7 @@ startTrackingByNetworkClientId_fn = function(networkClientId) {
275
275
  } = _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _getNetworkClientById).call(this, networkClientId);
276
276
  let etherscanRemoteTransactionSource = _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _etherscanRemoteTransactionSourcesMap).get(chainId);
277
277
  if (!etherscanRemoteTransactionSource) {
278
- etherscanRemoteTransactionSource = new (0, _chunkC3UHJPYJjs.EtherscanRemoteTransactionSource)({
278
+ etherscanRemoteTransactionSource = new (0, _chunk3JEUO765js.EtherscanRemoteTransactionSource)({
279
279
  includeTokenTransfers: _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _incomingTransactionOptions).includeTokenTransfers
280
280
  });
281
281
  _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _etherscanRemoteTransactionSourcesMap).set(
@@ -332,4 +332,4 @@ getNetworkClient_fn = function({
332
332
 
333
333
 
334
334
  exports.MultichainTrackingHelper = MultichainTrackingHelper;
335
- //# sourceMappingURL=chunk-I7VD6IET.js.map
335
+ //# sourceMappingURL=chunk-CPYXP2OC.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  gweiDecimalToWeiHex
3
- } from "./chunk-TZEAWUXE.mjs";
3
+ } from "./chunk-P74YLPJO.mjs";
4
4
  import {
5
5
  projectLogger
6
6
  } from "./chunk-UQQWZT6C.mjs";
@@ -87,4 +87,4 @@ getLegacyLevel_fn = function(gasFeeEstimates, level) {
87
87
  export {
88
88
  DefaultGasFeeFlow
89
89
  };
90
- //# sourceMappingURL=chunk-KKCD5UMP.mjs.map
90
+ //# sourceMappingURL=chunk-CWWZQZVR.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ETHERSCAN_SUPPORTED_NETWORKS
3
- } from "./chunk-DTMKGTYC.mjs";
3
+ } from "./chunk-4VLQV2GA.mjs";
4
4
  import {
5
5
  incomingTransactionsLogger
6
6
  } from "./chunk-UQQWZT6C.mjs";
@@ -82,4 +82,4 @@ export {
82
82
  fetchEtherscanTokenTransactions,
83
83
  getEtherscanApiHost
84
84
  };
85
- //# sourceMappingURL=chunk-RIYIJTEU.mjs.map
85
+ //# sourceMappingURL=chunk-DOX6H5UJ.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  GAS_BUFFER_CHAIN_OVERRIDES
3
- } from "./chunk-DTMKGTYC.mjs";
3
+ } from "./chunk-4VLQV2GA.mjs";
4
4
  import {
5
5
  projectLogger
6
6
  } from "./chunk-UQQWZT6C.mjs";
@@ -134,4 +134,4 @@ export {
134
134
  estimateGas,
135
135
  addGasBuffer
136
136
  };
137
- //# sourceMappingURL=chunk-HLG525BC.mjs.map
137
+ //# sourceMappingURL=chunk-DRSMLO7B.mjs.map
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
2
 
3
- var _chunkWIZVJM2Bjs = require('./chunk-WIZVJM2B.js');
3
+ var _chunkLQS2M5QRjs = require('./chunk-LQS2M5QR.js');
4
4
 
5
5
 
6
6
  var _chunkS6VGOPUYjs = require('./chunk-S6VGOPUY.js');
@@ -18,13 +18,13 @@ var _utils = require('@metamask/utils');
18
18
  var _bnjs = require('bn.js'); var _bnjs2 = _interopRequireDefault(_bnjs);
19
19
  var _lodash = require('lodash');
20
20
  var OPTIMISM_STACK_CHAIN_IDS = [
21
- _chunkWIZVJM2Bjs.CHAIN_IDS.OPTIMISM,
22
- _chunkWIZVJM2Bjs.CHAIN_IDS.OPTIMISM_TESTNET,
23
- _chunkWIZVJM2Bjs.CHAIN_IDS.BASE,
24
- _chunkWIZVJM2Bjs.CHAIN_IDS.BASE_TESTNET,
25
- _chunkWIZVJM2Bjs.CHAIN_IDS.OPBNB,
26
- _chunkWIZVJM2Bjs.CHAIN_IDS.OPBNB_TESTNET,
27
- _chunkWIZVJM2Bjs.CHAIN_IDS.ZORA
21
+ _chunkLQS2M5QRjs.CHAIN_IDS.OPTIMISM,
22
+ _chunkLQS2M5QRjs.CHAIN_IDS.OPTIMISM_TESTNET,
23
+ _chunkLQS2M5QRjs.CHAIN_IDS.BASE,
24
+ _chunkLQS2M5QRjs.CHAIN_IDS.BASE_TESTNET,
25
+ _chunkLQS2M5QRjs.CHAIN_IDS.OPBNB,
26
+ _chunkLQS2M5QRjs.CHAIN_IDS.OPBNB_TESTNET,
27
+ _chunkLQS2M5QRjs.CHAIN_IDS.ZORA
28
28
  ];
29
29
  var log = _utils.createModuleLogger.call(void 0, _chunkS6VGOPUYjs.projectLogger, "optimisim-layer1-gas-fee-flow");
30
30
  var OPTIMISM_GAS_PRICE_ORACLE_ABI = [
@@ -129,4 +129,4 @@ buildTransactionCommon_fn = function(transactionMeta) {
129
129
 
130
130
 
131
131
  exports.OptimismLayer1GasFeeFlow = OptimismLayer1GasFeeFlow;
132
- //# sourceMappingURL=chunk-QG2WVQE3.js.map
132
+ //# sourceMappingURL=chunk-ETMW527M.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkWIZVJM2Bjs = require('./chunk-WIZVJM2B.js');
3
+ var _chunkLQS2M5QRjs = require('./chunk-LQS2M5QR.js');
4
4
 
5
5
 
6
6
  var _chunkS6VGOPUYjs = require('./chunk-S6VGOPUY.js');
@@ -70,7 +70,7 @@ function getEtherscanApiUrl(chainId, urlParams) {
70
70
  return url;
71
71
  }
72
72
  function getEtherscanApiHost(chainId) {
73
- const networkInfo = _chunkWIZVJM2Bjs.ETHERSCAN_SUPPORTED_NETWORKS[chainId];
73
+ const networkInfo = _chunkLQS2M5QRjs.ETHERSCAN_SUPPORTED_NETWORKS[chainId];
74
74
  if (!networkInfo) {
75
75
  throw new Error(`Etherscan does not support chain with ID: ${chainId}`);
76
76
  }
@@ -82,4 +82,4 @@ function getEtherscanApiHost(chainId) {
82
82
 
83
83
 
84
84
  exports.fetchEtherscanTransactions = fetchEtherscanTransactions; exports.fetchEtherscanTokenTransactions = fetchEtherscanTokenTransactions; exports.getEtherscanApiHost = getEtherscanApiHost;
85
- //# sourceMappingURL=chunk-VP2DBWOT.js.map
85
+ //# sourceMappingURL=chunk-F247MMTE.js.map
@@ -9,7 +9,7 @@ import {
9
9
  addGasBuffer,
10
10
  estimateGas,
11
11
  updateGas
12
- } from "./chunk-HLG525BC.mjs";
12
+ } from "./chunk-DRSMLO7B.mjs";
13
13
  import {
14
14
  addInitialHistorySnapshot,
15
15
  updateTransactionHistory
@@ -20,10 +20,10 @@ import {
20
20
  } from "./chunk-NHRBO3LU.mjs";
21
21
  import {
22
22
  getSimulationData
23
- } from "./chunk-A4P4B3OF.mjs";
23
+ } from "./chunk-L7ZKSKEI.mjs";
24
24
  import {
25
25
  OptimismLayer1GasFeeFlow
26
- } from "./chunk-JW6P2G5A.mjs";
26
+ } from "./chunk-53IYIDVS.mjs";
27
27
  import {
28
28
  GasFeePoller
29
29
  } from "./chunk-35MG26Y3.mjs";
@@ -36,29 +36,29 @@ import {
36
36
  } from "./chunk-Y7ENNK7L.mjs";
37
37
  import {
38
38
  MultichainTrackingHelper
39
- } from "./chunk-FTB6MCSH.mjs";
39
+ } from "./chunk-RXRJSBSF.mjs";
40
40
  import {
41
41
  EtherscanRemoteTransactionSource
42
- } from "./chunk-RU6NJIUD.mjs";
42
+ } from "./chunk-TKWTUPCQ.mjs";
43
43
  import {
44
44
  PendingTransactionTracker
45
- } from "./chunk-JRQHIBG5.mjs";
45
+ } from "./chunk-5YES3V2R.mjs";
46
46
  import {
47
47
  validateConfirmedExternalTransaction
48
48
  } from "./chunk-FRKQ3Z2L.mjs";
49
49
  import {
50
50
  LineaGasFeeFlow
51
- } from "./chunk-7HNSDVVO.mjs";
51
+ } from "./chunk-2XFBWPHD.mjs";
52
52
  import {
53
53
  DefaultGasFeeFlow
54
- } from "./chunk-KKCD5UMP.mjs";
54
+ } from "./chunk-CWWZQZVR.mjs";
55
55
  import {
56
56
  updateGasFees
57
- } from "./chunk-TZEAWUXE.mjs";
57
+ } from "./chunk-P74YLPJO.mjs";
58
58
  import {
59
59
  updatePostTransactionBalance,
60
60
  updateSwapsTransaction
61
- } from "./chunk-TJXPMOA6.mjs";
61
+ } from "./chunk-RBF6CW7D.mjs";
62
62
  import {
63
63
  getIncreasedPriceFromExisting,
64
64
  isEIP1559Transaction,
@@ -335,6 +335,7 @@ var TransactionController = class extends BaseController {
335
335
  this.onBootCleanup();
336
336
  });
337
337
  this.onBootCleanup();
338
+ __privateGet(this, _checkForPendingTransactionAndStartPolling).call(this);
338
339
  }
339
340
  failTransaction(transactionMeta, error, actionId) {
340
341
  const newTransactionMeta = merge({}, transactionMeta, {
@@ -2420,4 +2421,4 @@ export {
2420
2421
  ApprovalState,
2421
2422
  TransactionController
2422
2423
  };
2423
- //# sourceMappingURL=chunk-APJWB5VY.mjs.map
2424
+ //# sourceMappingURL=chunk-JDLNCMGI.mjs.map