@metamask-previews/transaction-controller 62.5.0-preview-db01d69 → 62.5.0-preview-aabe1c65

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 (168) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/TransactionController.cjs +68 -42
  3. package/dist/TransactionController.cjs.map +1 -1
  4. package/dist/TransactionController.d.cts +11 -20
  5. package/dist/TransactionController.d.cts.map +1 -1
  6. package/dist/TransactionController.d.mts +11 -20
  7. package/dist/TransactionController.d.mts.map +1 -1
  8. package/dist/TransactionController.mjs +68 -42
  9. package/dist/TransactionController.mjs.map +1 -1
  10. package/dist/api/accounts-api.cjs +1 -1
  11. package/dist/api/accounts-api.cjs.map +1 -1
  12. package/dist/api/accounts-api.mjs +1 -1
  13. package/dist/api/accounts-api.mjs.map +1 -1
  14. package/dist/api/simulation-api.cjs +1 -1
  15. package/dist/api/simulation-api.cjs.map +1 -1
  16. package/dist/api/simulation-api.mjs +1 -1
  17. package/dist/api/simulation-api.mjs.map +1 -1
  18. package/dist/gas-flows/LineaGasFeeFlow.cjs.map +1 -1
  19. package/dist/gas-flows/LineaGasFeeFlow.mjs.map +1 -1
  20. package/dist/gas-flows/OptimismLayer1GasFeeFlow.cjs +28 -17
  21. package/dist/gas-flows/OptimismLayer1GasFeeFlow.cjs.map +1 -1
  22. package/dist/gas-flows/OptimismLayer1GasFeeFlow.d.cts +1 -6
  23. package/dist/gas-flows/OptimismLayer1GasFeeFlow.d.cts.map +1 -1
  24. package/dist/gas-flows/OptimismLayer1GasFeeFlow.d.mts +1 -6
  25. package/dist/gas-flows/OptimismLayer1GasFeeFlow.d.mts.map +1 -1
  26. package/dist/gas-flows/OptimismLayer1GasFeeFlow.mjs +28 -17
  27. package/dist/gas-flows/OptimismLayer1GasFeeFlow.mjs.map +1 -1
  28. package/dist/gas-flows/OracleLayer1GasFeeFlow.cjs +1 -0
  29. package/dist/gas-flows/OracleLayer1GasFeeFlow.cjs.map +1 -1
  30. package/dist/gas-flows/OracleLayer1GasFeeFlow.d.cts.map +1 -1
  31. package/dist/gas-flows/OracleLayer1GasFeeFlow.d.mts.map +1 -1
  32. package/dist/gas-flows/OracleLayer1GasFeeFlow.mjs +1 -0
  33. package/dist/gas-flows/OracleLayer1GasFeeFlow.mjs.map +1 -1
  34. package/dist/helpers/AccountsApiRemoteTransactionSource.cjs.map +1 -1
  35. package/dist/helpers/AccountsApiRemoteTransactionSource.mjs.map +1 -1
  36. package/dist/helpers/GasFeePoller.cjs.map +1 -1
  37. package/dist/helpers/GasFeePoller.mjs.map +1 -1
  38. package/dist/helpers/IncomingTransactionHelper.cjs.map +1 -1
  39. package/dist/helpers/IncomingTransactionHelper.d.cts.map +1 -1
  40. package/dist/helpers/IncomingTransactionHelper.d.mts.map +1 -1
  41. package/dist/helpers/IncomingTransactionHelper.mjs.map +1 -1
  42. package/dist/helpers/MultichainTrackingHelper.cjs +2 -2
  43. package/dist/helpers/MultichainTrackingHelper.cjs.map +1 -1
  44. package/dist/helpers/MultichainTrackingHelper.d.cts.map +1 -1
  45. package/dist/helpers/MultichainTrackingHelper.d.mts.map +1 -1
  46. package/dist/helpers/MultichainTrackingHelper.mjs +2 -2
  47. package/dist/helpers/MultichainTrackingHelper.mjs.map +1 -1
  48. package/dist/helpers/PendingTransactionTracker.cjs +88 -22
  49. package/dist/helpers/PendingTransactionTracker.cjs.map +1 -1
  50. package/dist/helpers/PendingTransactionTracker.d.cts +7 -6
  51. package/dist/helpers/PendingTransactionTracker.d.cts.map +1 -1
  52. package/dist/helpers/PendingTransactionTracker.d.mts +7 -6
  53. package/dist/helpers/PendingTransactionTracker.d.mts.map +1 -1
  54. package/dist/helpers/PendingTransactionTracker.mjs +88 -22
  55. package/dist/helpers/PendingTransactionTracker.mjs.map +1 -1
  56. package/dist/helpers/ResimulateHelper.cjs.map +1 -1
  57. package/dist/helpers/ResimulateHelper.d.cts +1 -4
  58. package/dist/helpers/ResimulateHelper.d.cts.map +1 -1
  59. package/dist/helpers/ResimulateHelper.d.mts +1 -4
  60. package/dist/helpers/ResimulateHelper.d.mts.map +1 -1
  61. package/dist/helpers/ResimulateHelper.mjs.map +1 -1
  62. package/dist/helpers/TransactionPoller.cjs.map +1 -1
  63. package/dist/helpers/TransactionPoller.d.cts.map +1 -1
  64. package/dist/helpers/TransactionPoller.d.mts.map +1 -1
  65. package/dist/helpers/TransactionPoller.mjs.map +1 -1
  66. package/dist/hooks/CollectPublishHook.cjs +1 -1
  67. package/dist/hooks/CollectPublishHook.cjs.map +1 -1
  68. package/dist/hooks/CollectPublishHook.d.cts.map +1 -1
  69. package/dist/hooks/CollectPublishHook.d.mts.map +1 -1
  70. package/dist/hooks/CollectPublishHook.mjs +1 -1
  71. package/dist/hooks/CollectPublishHook.mjs.map +1 -1
  72. package/dist/hooks/ExtraTransactionsPublishHook.cjs.map +1 -1
  73. package/dist/hooks/ExtraTransactionsPublishHook.mjs.map +1 -1
  74. package/dist/types.cjs +1 -0
  75. package/dist/types.cjs.map +1 -1
  76. package/dist/types.d.cts.map +1 -1
  77. package/dist/types.d.mts.map +1 -1
  78. package/dist/types.mjs +1 -0
  79. package/dist/types.mjs.map +1 -1
  80. package/dist/utils/balance-changes.cjs +5 -5
  81. package/dist/utils/balance-changes.cjs.map +1 -1
  82. package/dist/utils/balance-changes.d.cts.map +1 -1
  83. package/dist/utils/balance-changes.d.mts.map +1 -1
  84. package/dist/utils/balance-changes.mjs +5 -5
  85. package/dist/utils/balance-changes.mjs.map +1 -1
  86. package/dist/utils/balance.cjs.map +1 -1
  87. package/dist/utils/balance.d.cts.map +1 -1
  88. package/dist/utils/balance.d.mts.map +1 -1
  89. package/dist/utils/balance.mjs.map +1 -1
  90. package/dist/utils/batch.cjs +6 -2
  91. package/dist/utils/batch.cjs.map +1 -1
  92. package/dist/utils/batch.d.cts.map +1 -1
  93. package/dist/utils/batch.d.mts.map +1 -1
  94. package/dist/utils/batch.mjs +6 -2
  95. package/dist/utils/batch.mjs.map +1 -1
  96. package/dist/utils/eip7702.cjs +4 -3
  97. package/dist/utils/eip7702.cjs.map +1 -1
  98. package/dist/utils/eip7702.d.cts +1 -1
  99. package/dist/utils/eip7702.d.cts.map +1 -1
  100. package/dist/utils/eip7702.d.mts +1 -1
  101. package/dist/utils/eip7702.d.mts.map +1 -1
  102. package/dist/utils/eip7702.mjs +4 -3
  103. package/dist/utils/eip7702.mjs.map +1 -1
  104. package/dist/utils/external-transactions.cjs.map +1 -1
  105. package/dist/utils/external-transactions.d.cts.map +1 -1
  106. package/dist/utils/external-transactions.d.mts.map +1 -1
  107. package/dist/utils/external-transactions.mjs.map +1 -1
  108. package/dist/utils/feature-flags.cjs +22 -7
  109. package/dist/utils/feature-flags.cjs.map +1 -1
  110. package/dist/utils/feature-flags.d.cts +24 -0
  111. package/dist/utils/feature-flags.d.cts.map +1 -1
  112. package/dist/utils/feature-flags.d.mts +24 -0
  113. package/dist/utils/feature-flags.d.mts.map +1 -1
  114. package/dist/utils/feature-flags.mjs +20 -6
  115. package/dist/utils/feature-flags.mjs.map +1 -1
  116. package/dist/utils/first-time-interaction.cjs +3 -5
  117. package/dist/utils/first-time-interaction.cjs.map +1 -1
  118. package/dist/utils/first-time-interaction.d.cts.map +1 -1
  119. package/dist/utils/first-time-interaction.d.mts.map +1 -1
  120. package/dist/utils/first-time-interaction.mjs +3 -5
  121. package/dist/utils/first-time-interaction.mjs.map +1 -1
  122. package/dist/utils/gas-fee-tokens.cjs +1 -1
  123. package/dist/utils/gas-fee-tokens.cjs.map +1 -1
  124. package/dist/utils/gas-fee-tokens.d.cts.map +1 -1
  125. package/dist/utils/gas-fee-tokens.d.mts.map +1 -1
  126. package/dist/utils/gas-fee-tokens.mjs +1 -1
  127. package/dist/utils/gas-fee-tokens.mjs.map +1 -1
  128. package/dist/utils/gas-fees.cjs +1 -3
  129. package/dist/utils/gas-fees.cjs.map +1 -1
  130. package/dist/utils/gas-fees.d.cts +1 -1
  131. package/dist/utils/gas-fees.d.cts.map +1 -1
  132. package/dist/utils/gas-fees.d.mts +1 -1
  133. package/dist/utils/gas-fees.d.mts.map +1 -1
  134. package/dist/utils/gas-fees.mjs +1 -3
  135. package/dist/utils/gas-fees.mjs.map +1 -1
  136. package/dist/utils/gas.cjs +3 -7
  137. package/dist/utils/gas.cjs.map +1 -1
  138. package/dist/utils/gas.d.cts +3 -10
  139. package/dist/utils/gas.d.cts.map +1 -1
  140. package/dist/utils/gas.d.mts +3 -10
  141. package/dist/utils/gas.d.mts.map +1 -1
  142. package/dist/utils/gas.mjs +3 -7
  143. package/dist/utils/gas.mjs.map +1 -1
  144. package/dist/utils/layer1-gas-fee-flow.cjs.map +1 -1
  145. package/dist/utils/layer1-gas-fee-flow.d.cts.map +1 -1
  146. package/dist/utils/layer1-gas-fee-flow.d.mts.map +1 -1
  147. package/dist/utils/layer1-gas-fee-flow.mjs.map +1 -1
  148. package/dist/utils/prepare.cjs.map +1 -1
  149. package/dist/utils/prepare.d.cts +1 -1
  150. package/dist/utils/prepare.d.cts.map +1 -1
  151. package/dist/utils/prepare.d.mts +1 -1
  152. package/dist/utils/prepare.d.mts.map +1 -1
  153. package/dist/utils/prepare.mjs.map +1 -1
  154. package/dist/utils/swaps.cjs.map +1 -1
  155. package/dist/utils/swaps.mjs.map +1 -1
  156. package/dist/utils/utils.cjs +10 -10
  157. package/dist/utils/utils.cjs.map +1 -1
  158. package/dist/utils/utils.d.cts +4 -4
  159. package/dist/utils/utils.d.cts.map +1 -1
  160. package/dist/utils/utils.d.mts +4 -4
  161. package/dist/utils/utils.d.mts.map +1 -1
  162. package/dist/utils/utils.mjs +10 -10
  163. package/dist/utils/utils.mjs.map +1 -1
  164. package/dist/utils/validation.cjs.map +1 -1
  165. package/dist/utils/validation.d.cts.map +1 -1
  166. package/dist/utils/validation.d.mts.map +1 -1
  167. package/dist/utils/validation.mjs.map +1 -1
  168. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Added
11
+
12
+ - Automatically fail pending transactions if no receipt and hash not recognised by network after multiple attempts ([#7329](https://github.com/MetaMask/core/pull/7329))
13
+ - Add optional `isTimeoutEnabled` callback to disable for specific transactions.
14
+ - Ignores transactions with future nonce.
15
+ - Threshold determined by feature flag.
16
+
17
+ ### Fixed
18
+
19
+ - Prevent `TransactionController:transactionApproved` event firing if keyring throws during signing ([#7410](https://github.com/MetaMask/core/pull/7410))
20
+
10
21
  ## [62.5.0]
11
22
 
12
23
  ### Changed
@@ -13,7 +13,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
13
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
15
  };
16
- var _TransactionController_instances, _TransactionController_afterAdd, _TransactionController_afterSign, _TransactionController_afterSimulate, _TransactionController_approvingTransactionIds, _TransactionController_beforeCheckPendingTransaction, _TransactionController_beforePublish, _TransactionController_beforeSign, _TransactionController_gasFeeFlows, _TransactionController_getAdditionalSignArguments, _TransactionController_getCurrentAccountEIP1559Compatibility, _TransactionController_getCurrentNetworkEIP1559Compatibility, _TransactionController_getExternalPendingTransactions, _TransactionController_getGasFeeEstimates, _TransactionController_getNetworkState, _TransactionController_getPermittedAccounts, _TransactionController_getSavedGasFees, _TransactionController_getSimulationConfig, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_internalEvents, _TransactionController_isAutomaticGasFeeUpdateEnabled, _TransactionController_isEIP7702GasFeeTokensEnabled, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isHistoryDisabled, _TransactionController_isSendFlowHistoryDisabled, _TransactionController_isSimulationEnabled, _TransactionController_isSwapsDisabled, _TransactionController_layer1GasFeeFlows, _TransactionController_methodDataHelper, _TransactionController_multichainTrackingHelper, _TransactionController_pendingTransactionOptions, _TransactionController_publicKeyEIP7702, _TransactionController_publish, _TransactionController_publishBatchHook, _TransactionController_securityProviderRequest, _TransactionController_sign, _TransactionController_signAbortCallbacks, _TransactionController_skipSimulationTransactionIds, _TransactionController_testGasFeeFlows, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_retryTransaction, _TransactionController_signExternalTransaction, _TransactionController_addMetadata, _TransactionController_updateGasProperties, _TransactionController_onBootCleanup, _TransactionController_failIncompleteTransactions, _TransactionController_processApproval, _TransactionController_approveTransaction, _TransactionController_publishTransaction, _TransactionController_rejectTransaction, _TransactionController_trimTransactionsForState, _TransactionController_isFinalState, _TransactionController_isLocalFinalState, _TransactionController_requestApproval, _TransactionController_getTransaction, _TransactionController_getTransactionOrThrow, _TransactionController_getApprovalId, _TransactionController_isTransactionCompleted, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_onIncomingTransactions, _TransactionController_generateDappSuggestedGasFees, _TransactionController_addExternalTransaction, _TransactionController_markNonceDuplicatesDropped, _TransactionController_setTransactionStatusDropped, _TransactionController_getTransactionWithActionId, _TransactionController_waitForTransactionFinished, _TransactionController_updateTransactionMetaRSV, _TransactionController_getEIP1559Compatibility, _TransactionController_signTransaction, _TransactionController_onTransactionStatusChange, _TransactionController_getNonceTrackerTransactions, _TransactionController_onConfirmedTransaction, _TransactionController_updatePostBalance, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_publishTransactionForRetry, _TransactionController_isTransactionAlreadyConfirmedError, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_onGasFeePollerTransactionBatchUpdate, _TransactionController_updateTransactionBatch, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate, _TransactionController_registerActionHandlers, _TransactionController_deleteTransaction, _TransactionController_isRejectError, _TransactionController_rejectTransactionAndThrow, _TransactionController_failTransaction, _TransactionController_runAfterSimulateHook, _TransactionController_defaultPublishHook, _TransactionController_getGasFeeTokens, _TransactionController_getGasFeeTokensAction;
16
+ var _TransactionController_instances, _TransactionController_afterAdd, _TransactionController_afterSign, _TransactionController_afterSimulate, _TransactionController_approvingTransactionIds, _TransactionController_beforeCheckPendingTransaction, _TransactionController_beforePublish, _TransactionController_beforeSign, _TransactionController_gasFeeFlows, _TransactionController_getAdditionalSignArguments, _TransactionController_getCurrentAccountEIP1559Compatibility, _TransactionController_getCurrentNetworkEIP1559Compatibility, _TransactionController_getExternalPendingTransactions, _TransactionController_getGasFeeEstimates, _TransactionController_getNetworkState, _TransactionController_getPermittedAccounts, _TransactionController_getSavedGasFees, _TransactionController_getSimulationConfig, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_internalEvents, _TransactionController_isAutomaticGasFeeUpdateEnabled, _TransactionController_isEIP7702GasFeeTokensEnabled, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isHistoryDisabled, _TransactionController_isSendFlowHistoryDisabled, _TransactionController_isSimulationEnabled, _TransactionController_isSwapsDisabled, _TransactionController_isTimeoutEnabled, _TransactionController_layer1GasFeeFlows, _TransactionController_methodDataHelper, _TransactionController_multichainTrackingHelper, _TransactionController_pendingTransactionOptions, _TransactionController_publicKeyEIP7702, _TransactionController_publish, _TransactionController_publishBatchHook, _TransactionController_securityProviderRequest, _TransactionController_sign, _TransactionController_signAbortCallbacks, _TransactionController_skipSimulationTransactionIds, _TransactionController_testGasFeeFlows, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_retryTransaction, _TransactionController_signExternalTransaction, _TransactionController_addMetadata, _TransactionController_updateGasProperties, _TransactionController_onBootCleanup, _TransactionController_failIncompleteTransactions, _TransactionController_processApproval, _TransactionController_approveTransaction, _TransactionController_publishTransaction, _TransactionController_rejectTransaction, _TransactionController_trimTransactionsForState, _TransactionController_isFinalState, _TransactionController_isLocalFinalState, _TransactionController_requestApproval, _TransactionController_getTransaction, _TransactionController_getTransactionOrThrow, _TransactionController_getApprovalId, _TransactionController_isTransactionCompleted, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_onIncomingTransactions, _TransactionController_generateDappSuggestedGasFees, _TransactionController_addExternalTransaction, _TransactionController_markNonceDuplicatesDropped, _TransactionController_setTransactionStatusDropped, _TransactionController_getTransactionWithActionId, _TransactionController_waitForTransactionFinished, _TransactionController_updateTransactionMetaRSV, _TransactionController_getEIP1559Compatibility, _TransactionController_signTransaction, _TransactionController_onTransactionStatusChange, _TransactionController_getNonceTrackerTransactions, _TransactionController_onConfirmedTransaction, _TransactionController_updatePostBalance, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_publishTransactionForRetry, _TransactionController_isTransactionAlreadyConfirmedError, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_onGasFeePollerTransactionBatchUpdate, _TransactionController_updateTransactionBatch, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate, _TransactionController_registerActionHandlers, _TransactionController_deleteTransaction, _TransactionController_isRejectError, _TransactionController_rejectTransactionAndThrow, _TransactionController_failTransaction, _TransactionController_runAfterSimulateHook, _TransactionController_defaultPublishHook, _TransactionController_getGasFeeTokens, _TransactionController_getGasFeeTokensAction;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.TransactionController = exports.ApprovalState = exports.SPEED_UP_RATE = exports.CANCEL_RATE = void 0;
19
19
  const base_controller_1 = require("@metamask/base-controller");
@@ -182,6 +182,7 @@ class TransactionController extends base_controller_1.BaseController {
182
182
  _TransactionController_isSendFlowHistoryDisabled.set(this, void 0);
183
183
  _TransactionController_isSimulationEnabled.set(this, void 0);
184
184
  _TransactionController_isSwapsDisabled.set(this, void 0);
185
+ _TransactionController_isTimeoutEnabled.set(this, void 0);
185
186
  _TransactionController_layer1GasFeeFlows.set(this, void 0);
186
187
  _TransactionController_methodDataHelper.set(this, void 0);
187
188
  _TransactionController_multichainTrackingHelper.set(this, void 0);
@@ -202,32 +203,43 @@ class TransactionController extends base_controller_1.BaseController {
202
203
  this.messenger = messenger;
203
204
  __classPrivateFieldSet(this, _TransactionController_afterAdd, hooks?.afterAdd ?? (() => Promise.resolve({})), "f");
204
205
  __classPrivateFieldSet(this, _TransactionController_afterSign, hooks?.afterSign ?? (() => true), "f");
205
- __classPrivateFieldSet(this, _TransactionController_afterSimulate, hooks?.afterSimulate ?? (() => Promise.resolve({})), "f");
206
+ __classPrivateFieldSet(this, _TransactionController_afterSimulate, hooks?.afterSimulate ??
207
+ (() => Promise.resolve({})), "f");
206
208
  __classPrivateFieldSet(this, _TransactionController_beforeCheckPendingTransaction,
207
209
  /* istanbul ignore next */
208
- hooks?.beforeCheckPendingTransaction ?? (() => Promise.resolve(true)), "f");
210
+ hooks?.beforeCheckPendingTransaction ??
211
+ (() => Promise.resolve(true)), "f");
209
212
  __classPrivateFieldSet(this, _TransactionController_beforePublish, hooks?.beforePublish ?? (() => Promise.resolve(true)), "f");
210
- __classPrivateFieldSet(this, _TransactionController_beforeSign, hooks?.beforeSign ?? (() => Promise.resolve({})), "f");
211
- __classPrivateFieldSet(this, _TransactionController_getAdditionalSignArguments, hooks?.getAdditionalSignArguments ?? (() => []), "f");
212
- __classPrivateFieldSet(this, _TransactionController_getCurrentAccountEIP1559Compatibility, getCurrentAccountEIP1559Compatibility ?? (() => Promise.resolve(true)), "f");
213
+ __classPrivateFieldSet(this, _TransactionController_beforeSign, hooks?.beforeSign ??
214
+ (() => Promise.resolve({})), "f");
215
+ __classPrivateFieldSet(this, _TransactionController_getAdditionalSignArguments, hooks?.getAdditionalSignArguments ??
216
+ (() => []), "f");
217
+ __classPrivateFieldSet(this, _TransactionController_getCurrentAccountEIP1559Compatibility, getCurrentAccountEIP1559Compatibility ??
218
+ (() => Promise.resolve(true)), "f");
213
219
  __classPrivateFieldSet(this, _TransactionController_getCurrentNetworkEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, "f");
214
220
  __classPrivateFieldSet(this, _TransactionController_getExternalPendingTransactions, getExternalPendingTransactions ?? (() => []), "f");
215
- __classPrivateFieldSet(this, _TransactionController_getGasFeeEstimates, getGasFeeEstimates || (() => Promise.resolve({})), "f");
221
+ __classPrivateFieldSet(this, _TransactionController_getGasFeeEstimates, getGasFeeEstimates ??
222
+ (() => Promise.resolve({})), "f");
216
223
  __classPrivateFieldSet(this, _TransactionController_getNetworkState, getNetworkState, "f");
217
224
  __classPrivateFieldSet(this, _TransactionController_getPermittedAccounts, getPermittedAccounts, "f");
218
225
  __classPrivateFieldSet(this, _TransactionController_getSavedGasFees, getSavedGasFees ?? ((_chainId) => undefined), "f");
219
- __classPrivateFieldSet(this, _TransactionController_getSimulationConfig, getSimulationConfig ?? (() => Promise.resolve({})), "f");
226
+ __classPrivateFieldSet(this, _TransactionController_getSimulationConfig, getSimulationConfig ??
227
+ (() => Promise.resolve({})), "f");
220
228
  __classPrivateFieldSet(this, _TransactionController_incomingTransactionOptions, incomingTransactions, "f");
221
- __classPrivateFieldSet(this, _TransactionController_isAutomaticGasFeeUpdateEnabled, isAutomaticGasFeeUpdateEnabled ?? ((_txMeta) => false), "f");
222
- __classPrivateFieldSet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, isEIP7702GasFeeTokensEnabled ?? (() => Promise.resolve(false)), "f");
229
+ __classPrivateFieldSet(this, _TransactionController_isAutomaticGasFeeUpdateEnabled, isAutomaticGasFeeUpdateEnabled ??
230
+ ((_txMeta) => false), "f");
231
+ __classPrivateFieldSet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, isEIP7702GasFeeTokensEnabled ??
232
+ (() => Promise.resolve(false)), "f");
223
233
  __classPrivateFieldSet(this, _TransactionController_isFirstTimeInteractionEnabled, isFirstTimeInteractionEnabled ?? (() => true), "f");
224
234
  __classPrivateFieldSet(this, _TransactionController_isHistoryDisabled, disableHistory ?? false, "f");
225
235
  __classPrivateFieldSet(this, _TransactionController_isSendFlowHistoryDisabled, disableSendFlowHistory ?? false, "f");
226
236
  __classPrivateFieldSet(this, _TransactionController_isSimulationEnabled, isSimulationEnabled ?? (() => true), "f");
227
237
  __classPrivateFieldSet(this, _TransactionController_isSwapsDisabled, disableSwaps ?? false, "f");
238
+ __classPrivateFieldSet(this, _TransactionController_isTimeoutEnabled, hooks?.isTimeoutEnabled ?? (() => true), "f");
228
239
  __classPrivateFieldSet(this, _TransactionController_pendingTransactionOptions, pendingTransactions, "f");
229
240
  __classPrivateFieldSet(this, _TransactionController_publicKeyEIP7702, publicKeyEIP7702, "f");
230
- __classPrivateFieldSet(this, _TransactionController_publish, hooks?.publish ?? (() => Promise.resolve({ transactionHash: undefined })), "f");
241
+ __classPrivateFieldSet(this, _TransactionController_publish, hooks?.publish ??
242
+ (() => Promise.resolve({ transactionHash: undefined })), "f");
231
243
  __classPrivateFieldSet(this, _TransactionController_publishBatchHook, hooks?.publishBatch, "f");
232
244
  __classPrivateFieldSet(this, _TransactionController_securityProviderRequest, securityProviderRequest, "f");
233
245
  __classPrivateFieldSet(this, _TransactionController_sign, sign, "f");
@@ -292,6 +304,7 @@ class TransactionController extends base_controller_1.BaseController {
292
304
  // when transactionsController state changes
293
305
  // check for pending transactions and start polling if there are any
294
306
  this.messenger.subscribe('TransactionController:stateChange', __classPrivateFieldGet(this, _TransactionController_checkForPendingTransactionAndStartPolling, "f"));
307
+ // eslint-disable-next-line no-new
295
308
  new ResimulateHelper_1.ResimulateHelper({
296
309
  simulateTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSimulationData).bind(this),
297
310
  onTransactionsUpdate: (listener) => {
@@ -379,6 +392,7 @@ class TransactionController extends base_controller_1.BaseController {
379
392
  async addTransaction(txParams, options) {
380
393
  (0, logger_1.projectLogger)('Adding transaction', txParams, options);
381
394
  const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requireApproval, securityAlertResponse, sendFlowHistory, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
395
+ // eslint-disable-next-line no-param-reassign
382
396
  txParams = (0, utils_2.normalizeTransactionParams)(txParams);
383
397
  if (!__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").has(networkClientId)) {
384
398
  throw new Error(`Network client not found - ${networkClientId}`);
@@ -452,6 +466,7 @@ class TransactionController extends base_controller_1.BaseController {
452
466
  addedTransactionMeta.txParamsOriginal = (0, lodash_1.cloneDeep)(addedTransactionMeta.txParams);
453
467
  updateTransaction(addedTransactionMeta);
454
468
  }
469
+ // eslint-disable-next-line no-negated-condition
455
470
  if (!skipInitialGasEstimate) {
456
471
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Estimate Gas Properties', parentContext: traceContext }, (context) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasProperties).call(this, addedTransactionMeta, {
457
472
  traceContext: context,
@@ -483,10 +498,12 @@ class TransactionController extends base_controller_1.BaseController {
483
498
  // Set security provider response
484
499
  if (method && __classPrivateFieldGet(this, _TransactionController_securityProviderRequest, "f")) {
485
500
  const securityProviderResponse = await __classPrivateFieldGet(this, _TransactionController_securityProviderRequest, "f").call(this, addedTransactionMeta, method);
501
+ // eslint-disable-next-line require-atomic-updates
486
502
  addedTransactionMeta.securityProviderResponse =
487
503
  securityProviderResponse;
488
504
  }
489
505
  if (!__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
506
+ // eslint-disable-next-line require-atomic-updates
490
507
  addedTransactionMeta.sendFlowHistory = sendFlowHistory ?? [];
491
508
  }
492
509
  // Initial history push
@@ -512,6 +529,7 @@ class TransactionController extends base_controller_1.BaseController {
512
529
  return undefined;
513
530
  })
514
531
  .catch(lodash_1.noop);
532
+ // eslint-disable-next-line no-negated-condition
515
533
  if (requireApproval !== false) {
516
534
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSimulationData).call(this, addedTransactionMeta, {
517
535
  traceContext,
@@ -559,7 +577,7 @@ class TransactionController extends base_controller_1.BaseController {
559
577
  * @param request - Request object.
560
578
  * @param request.tags - Additional tags to identify the source of the request.
561
579
  */
562
- async updateIncomingTransactions({ tags } = {}) {
580
+ async updateIncomingTransactions({ tags, } = {}) {
563
581
  await __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").update({ tags });
564
582
  }
565
583
  /**
@@ -1026,11 +1044,11 @@ class TransactionController extends base_controller_1.BaseController {
1026
1044
  return __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signExternalTransaction).call(this, txParams.chainId, txParams);
1027
1045
  }));
1028
1046
  }
1029
- catch (err) {
1030
- (0, logger_1.projectLogger)('Error while signing transactions with same nonce', err);
1047
+ catch (error) {
1048
+ (0, logger_1.projectLogger)('Error while signing transactions with same nonce', error);
1031
1049
  // Must set transaction to submitted/failed before releasing lock
1032
1050
  // continue with error chain
1033
- throw err;
1051
+ throw error;
1034
1052
  }
1035
1053
  finally {
1036
1054
  nonceLock?.releaseLock();
@@ -1109,7 +1127,7 @@ class TransactionController extends base_controller_1.BaseController {
1109
1127
  ? predicate
1110
1128
  : // TODO: Replace `any` with type
1111
1129
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1112
- (v) => v === predicate;
1130
+ (value) => value === predicate;
1113
1131
  });
1114
1132
  const transactionsToFilter = initialList ?? this.state.transactions;
1115
1133
  // Combine sortBy and pickBy to transform our state object into an array of
@@ -1386,13 +1404,14 @@ class TransactionController extends base_controller_1.BaseController {
1386
1404
  }
1387
1405
  }
1388
1406
  exports.TransactionController = TransactionController;
1389
- _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSign = new WeakMap(), _TransactionController_afterSimulate = new WeakMap(), _TransactionController_approvingTransactionIds = new WeakMap(), _TransactionController_beforeCheckPendingTransaction = new WeakMap(), _TransactionController_beforePublish = new WeakMap(), _TransactionController_beforeSign = new WeakMap(), _TransactionController_gasFeeFlows = new WeakMap(), _TransactionController_getAdditionalSignArguments = new WeakMap(), _TransactionController_getCurrentAccountEIP1559Compatibility = new WeakMap(), _TransactionController_getCurrentNetworkEIP1559Compatibility = new WeakMap(), _TransactionController_getExternalPendingTransactions = new WeakMap(), _TransactionController_getGasFeeEstimates = new WeakMap(), _TransactionController_getNetworkState = new WeakMap(), _TransactionController_getPermittedAccounts = new WeakMap(), _TransactionController_getSavedGasFees = new WeakMap(), _TransactionController_getSimulationConfig = new WeakMap(), _TransactionController_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_internalEvents = new WeakMap(), _TransactionController_isAutomaticGasFeeUpdateEnabled = new WeakMap(), _TransactionController_isEIP7702GasFeeTokensEnabled = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(), _TransactionController_isHistoryDisabled = new WeakMap(), _TransactionController_isSendFlowHistoryDisabled = new WeakMap(), _TransactionController_isSimulationEnabled = new WeakMap(), _TransactionController_isSwapsDisabled = new WeakMap(), _TransactionController_layer1GasFeeFlows = new WeakMap(), _TransactionController_methodDataHelper = new WeakMap(), _TransactionController_multichainTrackingHelper = new WeakMap(), _TransactionController_pendingTransactionOptions = new WeakMap(), _TransactionController_publicKeyEIP7702 = new WeakMap(), _TransactionController_publish = new WeakMap(), _TransactionController_publishBatchHook = new WeakMap(), _TransactionController_securityProviderRequest = new WeakMap(), _TransactionController_sign = new WeakMap(), _TransactionController_signAbortCallbacks = new WeakMap(), _TransactionController_skipSimulationTransactionIds = new WeakMap(), _TransactionController_testGasFeeFlows = new WeakMap(), _TransactionController_trace = new WeakMap(), _TransactionController_transactionHistoryLimit = new WeakMap(), _TransactionController_checkForPendingTransactionAndStartPolling = new WeakMap(), _TransactionController_instances = new WeakSet(), _TransactionController_retryTransaction = async function _TransactionController_retryTransaction({ actionId, afterSubmit, estimatedBaseFee, gasValues, label, prepareTransactionParams, rate, transactionId, transactionType, }) {
1407
+ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSign = new WeakMap(), _TransactionController_afterSimulate = new WeakMap(), _TransactionController_approvingTransactionIds = new WeakMap(), _TransactionController_beforeCheckPendingTransaction = new WeakMap(), _TransactionController_beforePublish = new WeakMap(), _TransactionController_beforeSign = new WeakMap(), _TransactionController_gasFeeFlows = new WeakMap(), _TransactionController_getAdditionalSignArguments = new WeakMap(), _TransactionController_getCurrentAccountEIP1559Compatibility = new WeakMap(), _TransactionController_getCurrentNetworkEIP1559Compatibility = new WeakMap(), _TransactionController_getExternalPendingTransactions = new WeakMap(), _TransactionController_getGasFeeEstimates = new WeakMap(), _TransactionController_getNetworkState = new WeakMap(), _TransactionController_getPermittedAccounts = new WeakMap(), _TransactionController_getSavedGasFees = new WeakMap(), _TransactionController_getSimulationConfig = new WeakMap(), _TransactionController_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_internalEvents = new WeakMap(), _TransactionController_isAutomaticGasFeeUpdateEnabled = new WeakMap(), _TransactionController_isEIP7702GasFeeTokensEnabled = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(), _TransactionController_isHistoryDisabled = new WeakMap(), _TransactionController_isSendFlowHistoryDisabled = new WeakMap(), _TransactionController_isSimulationEnabled = new WeakMap(), _TransactionController_isSwapsDisabled = new WeakMap(), _TransactionController_isTimeoutEnabled = new WeakMap(), _TransactionController_layer1GasFeeFlows = new WeakMap(), _TransactionController_methodDataHelper = new WeakMap(), _TransactionController_multichainTrackingHelper = new WeakMap(), _TransactionController_pendingTransactionOptions = new WeakMap(), _TransactionController_publicKeyEIP7702 = new WeakMap(), _TransactionController_publish = new WeakMap(), _TransactionController_publishBatchHook = new WeakMap(), _TransactionController_securityProviderRequest = new WeakMap(), _TransactionController_sign = new WeakMap(), _TransactionController_signAbortCallbacks = new WeakMap(), _TransactionController_skipSimulationTransactionIds = new WeakMap(), _TransactionController_testGasFeeFlows = new WeakMap(), _TransactionController_trace = new WeakMap(), _TransactionController_transactionHistoryLimit = new WeakMap(), _TransactionController_checkForPendingTransactionAndStartPolling = new WeakMap(), _TransactionController_instances = new WeakSet(), _TransactionController_retryTransaction = async function _TransactionController_retryTransaction({ actionId, afterSubmit, estimatedBaseFee, gasValues, label, prepareTransactionParams, rate, transactionId, transactionType, }) {
1390
1408
  // If transaction is found for same action id, do not create a new transaction.
1391
1409
  if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionWithActionId).call(this, actionId)) {
1392
1410
  return;
1393
1411
  }
1394
1412
  if (gasValues) {
1395
1413
  // Not good practice to reassign a parameter but temporarily avoiding a larger refactor.
1414
+ // eslint-disable-next-line no-param-reassign
1396
1415
  gasValues = (0, utils_2.normalizeGasFeeValues)(gasValues);
1397
1416
  (0, utils_2.validateGasValues)(gasValues);
1398
1417
  }
@@ -1552,10 +1571,12 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1552
1571
  resultCallbacks.success();
1553
1572
  }
1554
1573
  const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
1555
- this.messenger.publish(`${controllerName}:transactionApproved`, {
1556
- transactionMeta: updatedTransactionMeta,
1557
- actionId,
1558
- });
1574
+ if (approvalResult === ApprovalState.Approved) {
1575
+ this.messenger.publish(`${controllerName}:transactionApproved`, {
1576
+ transactionMeta: updatedTransactionMeta,
1577
+ actionId,
1578
+ });
1579
+ }
1559
1580
  }
1560
1581
  }
1561
1582
  catch (rawError) {
@@ -1576,17 +1597,19 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1576
1597
  }
1577
1598
  const finalMeta = await finishedPromise;
1578
1599
  switch (finalMeta?.status) {
1579
- case types_1.TransactionStatus.failed:
1600
+ case types_1.TransactionStatus.failed: {
1580
1601
  const error = finalMeta.error;
1581
1602
  resultCallbacks?.error(error);
1582
1603
  throw rpc_errors_1.rpcErrors.internal(error.message);
1604
+ }
1583
1605
  case types_1.TransactionStatus.submitted:
1584
1606
  resultCallbacks?.success();
1585
1607
  return finalMeta.hash;
1586
- default:
1587
- const internalError = rpc_errors_1.rpcErrors.internal(`MetaMask Tx Signature: Unknown problem: ${JSON.stringify(finalMeta || transactionId)}`);
1608
+ default: {
1609
+ const internalError = rpc_errors_1.rpcErrors.internal(`MetaMask Tx Signature: Unknown problem: ${JSON.stringify(finalMeta ?? transactionId)}`);
1588
1610
  resultCallbacks?.error(internalError);
1589
1611
  throw internalError;
1612
+ }
1590
1613
  }
1591
1614
  }, _TransactionController_approveTransaction =
1592
1615
  /**
@@ -1624,6 +1647,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1624
1647
  const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
1625
1648
  const [nonce, releaseNonce] = await (0, nonce_1.getNextNonce)(transactionMeta, (address) => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNonceLock(address, transactionMeta.networkClientId));
1626
1649
  clearNonceLock = releaseNonce;
1650
+ // eslint-disable-next-line require-atomic-updates
1627
1651
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1628
1652
  transactionId,
1629
1653
  note: 'TransactionController#approveTransaction - Transaction approved',
@@ -1640,6 +1664,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1640
1664
  });
1641
1665
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, transactionMeta);
1642
1666
  const rawTx = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Sign', parentContext: traceContext }, () => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signTransaction).call(this, transactionMeta));
1667
+ // eslint-disable-next-line require-atomic-updates
1643
1668
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
1644
1669
  if (!(await __classPrivateFieldGet(this, _TransactionController_beforePublish, "f").call(this, transactionMeta))) {
1645
1670
  (0, logger_1.projectLogger)('Skipping publishing transaction based on hook');
@@ -1675,6 +1700,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1675
1700
  publishHook = extraTransactionsPublishHook.getHook();
1676
1701
  }
1677
1702
  const { transactionHash: hash } = await publishHook(transactionMeta, rawTx ?? '0x');
1703
+ // eslint-disable-next-line require-atomic-updates
1678
1704
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1679
1705
  transactionId,
1680
1706
  note: 'TransactionController#approveTransaction - Transaction submitted',
@@ -1776,7 +1802,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1776
1802
  });
1777
1803
  return (await this.messenger.call('ApprovalController:addRequest', {
1778
1804
  id,
1779
- origin: origin || controller_utils_1.ORIGIN_METAMASK,
1805
+ origin: origin ?? controller_utils_1.ORIGIN_METAMASK,
1780
1806
  type,
1781
1807
  requestData,
1782
1808
  expectsResult: true,
@@ -2076,19 +2102,20 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2076
2102
  blockTracker,
2077
2103
  getChainId: () => chainId,
2078
2104
  getEthQuery: () => ethQuery,
2079
- getNetworkClientId: () => networkClientId,
2080
- getTransactions: () => this.state.transactions,
2081
- isResubmitEnabled: __classPrivateFieldGet(this, _TransactionController_pendingTransactionOptions, "f").isResubmitEnabled,
2082
2105
  getGlobalLock: () => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").acquireNonceLockForChainIdKey({
2083
2106
  chainId,
2084
2107
  }),
2108
+ getNetworkClientId: () => networkClientId,
2109
+ getTransactions: () => this.state.transactions,
2110
+ hooks: {
2111
+ beforeCheckPendingTransaction: __classPrivateFieldGet(this, _TransactionController_beforeCheckPendingTransaction, "f").bind(this),
2112
+ },
2113
+ isResubmitEnabled: __classPrivateFieldGet(this, _TransactionController_pendingTransactionOptions, "f").isResubmitEnabled,
2114
+ isTimeoutEnabled: __classPrivateFieldGet(this, _TransactionController_isTimeoutEnabled, "f"),
2085
2115
  messenger: this.messenger,
2086
2116
  publishTransaction: (_ethQuery, transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, _ethQuery, transactionMeta, {
2087
2117
  skipSubmitHistory: true,
2088
2118
  }),
2089
- hooks: {
2090
- beforeCheckPendingTransaction: __classPrivateFieldGet(this, _TransactionController_beforeCheckPendingTransaction, "f").bind(this),
2091
- },
2092
2119
  });
2093
2120
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addPendingTransactionTrackerListeners).call(this, pendingTransactionTracker);
2094
2121
  return pendingTransactionTracker;
@@ -2125,8 +2152,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2125
2152
  throw error;
2126
2153
  }
2127
2154
  }, _TransactionController_isTransactionAlreadyConfirmedError = function _TransactionController_isTransactionAlreadyConfirmedError(error) {
2128
- return (error?.message?.includes('nonce too low') ||
2129
- error?.data?.message?.includes('nonce too low'));
2155
+ return (Boolean(error?.message?.includes('nonce too low')) ||
2156
+ Boolean(error?.data?.message?.includes('nonce too low')));
2130
2157
  }, _TransactionController_getGasFeeFlows = function _TransactionController_getGasFeeFlows() {
2131
2158
  if (__classPrivateFieldGet(this, _TransactionController_testGasFeeFlows, "f")) {
2132
2159
  return [new TestGasFeeFlow_1.TestGasFeeFlow()];
@@ -2345,8 +2372,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2345
2372
  draftTransactionMeta.error = (0, utils_2.normalizeTxError)(error);
2346
2373
  });
2347
2374
  }
2348
- catch (err) {
2349
- (0, logger_1.projectLogger)('Failed to mark transaction as failed', err);
2375
+ catch (caughtError) {
2376
+ (0, logger_1.projectLogger)('Failed to mark transaction as failed', caughtError);
2350
2377
  newTransactionMeta = {
2351
2378
  ...transactionMeta,
2352
2379
  status: types_1.TransactionStatus.failed,
@@ -2367,7 +2394,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2367
2394
  const result = await __classPrivateFieldGet(this, _TransactionController_afterSimulate, "f").call(this, {
2368
2395
  transactionMeta,
2369
2396
  });
2370
- const { skipSimulation, updateTransaction } = result || {};
2397
+ const { skipSimulation, updateTransaction } = result ?? {};
2371
2398
  if (skipSimulation) {
2372
2399
  __classPrivateFieldGet(this, _TransactionController_skipSimulationTransactionIds, "f").add(transactionId);
2373
2400
  }
@@ -2391,12 +2418,11 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2391
2418
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Publish', parentContext: traceContext }, async () => {
2392
2419
  const publishHook = publishHookOverride ?? __classPrivateFieldGet(this, _TransactionController_publish, "f");
2393
2420
  ({ transactionHash } = await publishHook(transactionMeta, signedTx));
2394
- if (transactionHash === undefined) {
2395
- transactionHash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, {
2396
- ...transactionMeta,
2397
- rawTx: signedTx,
2398
- });
2399
- }
2421
+ // eslint-disable-next-line require-atomic-updates
2422
+ transactionHash ?? (transactionHash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, {
2423
+ ...transactionMeta,
2424
+ rawTx: signedTx,
2425
+ }));
2400
2426
  });
2401
2427
  (0, logger_1.projectLogger)('Publish successful', transactionHash);
2402
2428
  return { transactionHash };