@metamask/transaction-controller 62.5.0 → 62.6.0

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 (176) hide show
  1. package/CHANGELOG.md +21 -1
  2. package/dist/TransactionController.cjs +105 -48
  3. package/dist/TransactionController.cjs.map +1 -1
  4. package/dist/TransactionController.d.cts +33 -21
  5. package/dist/TransactionController.d.cts.map +1 -1
  6. package/dist/TransactionController.d.mts +33 -21
  7. package/dist/TransactionController.d.mts.map +1 -1
  8. package/dist/TransactionController.mjs +106 -49
  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/index.cjs.map +1 -1
  75. package/dist/index.d.cts +1 -1
  76. package/dist/index.d.cts.map +1 -1
  77. package/dist/index.d.mts +1 -1
  78. package/dist/index.d.mts.map +1 -1
  79. package/dist/index.mjs.map +1 -1
  80. package/dist/types.cjs +5 -0
  81. package/dist/types.cjs.map +1 -1
  82. package/dist/types.d.cts +6 -0
  83. package/dist/types.d.cts.map +1 -1
  84. package/dist/types.d.mts +6 -0
  85. package/dist/types.d.mts.map +1 -1
  86. package/dist/types.mjs +5 -0
  87. package/dist/types.mjs.map +1 -1
  88. package/dist/utils/balance-changes.cjs +5 -5
  89. package/dist/utils/balance-changes.cjs.map +1 -1
  90. package/dist/utils/balance-changes.d.cts.map +1 -1
  91. package/dist/utils/balance-changes.d.mts.map +1 -1
  92. package/dist/utils/balance-changes.mjs +5 -5
  93. package/dist/utils/balance-changes.mjs.map +1 -1
  94. package/dist/utils/balance.cjs.map +1 -1
  95. package/dist/utils/balance.d.cts.map +1 -1
  96. package/dist/utils/balance.d.mts.map +1 -1
  97. package/dist/utils/balance.mjs.map +1 -1
  98. package/dist/utils/batch.cjs +9 -4
  99. package/dist/utils/batch.cjs.map +1 -1
  100. package/dist/utils/batch.d.cts.map +1 -1
  101. package/dist/utils/batch.d.mts.map +1 -1
  102. package/dist/utils/batch.mjs +9 -4
  103. package/dist/utils/batch.mjs.map +1 -1
  104. package/dist/utils/eip7702.cjs +4 -3
  105. package/dist/utils/eip7702.cjs.map +1 -1
  106. package/dist/utils/eip7702.d.cts +1 -1
  107. package/dist/utils/eip7702.d.cts.map +1 -1
  108. package/dist/utils/eip7702.d.mts +1 -1
  109. package/dist/utils/eip7702.d.mts.map +1 -1
  110. package/dist/utils/eip7702.mjs +4 -3
  111. package/dist/utils/eip7702.mjs.map +1 -1
  112. package/dist/utils/external-transactions.cjs.map +1 -1
  113. package/dist/utils/external-transactions.d.cts.map +1 -1
  114. package/dist/utils/external-transactions.d.mts.map +1 -1
  115. package/dist/utils/external-transactions.mjs.map +1 -1
  116. package/dist/utils/feature-flags.cjs +22 -7
  117. package/dist/utils/feature-flags.cjs.map +1 -1
  118. package/dist/utils/feature-flags.d.cts +24 -0
  119. package/dist/utils/feature-flags.d.cts.map +1 -1
  120. package/dist/utils/feature-flags.d.mts +24 -0
  121. package/dist/utils/feature-flags.d.mts.map +1 -1
  122. package/dist/utils/feature-flags.mjs +20 -6
  123. package/dist/utils/feature-flags.mjs.map +1 -1
  124. package/dist/utils/first-time-interaction.cjs +3 -5
  125. package/dist/utils/first-time-interaction.cjs.map +1 -1
  126. package/dist/utils/first-time-interaction.d.cts.map +1 -1
  127. package/dist/utils/first-time-interaction.d.mts.map +1 -1
  128. package/dist/utils/first-time-interaction.mjs +3 -5
  129. package/dist/utils/first-time-interaction.mjs.map +1 -1
  130. package/dist/utils/gas-fee-tokens.cjs +1 -1
  131. package/dist/utils/gas-fee-tokens.cjs.map +1 -1
  132. package/dist/utils/gas-fee-tokens.d.cts.map +1 -1
  133. package/dist/utils/gas-fee-tokens.d.mts.map +1 -1
  134. package/dist/utils/gas-fee-tokens.mjs +1 -1
  135. package/dist/utils/gas-fee-tokens.mjs.map +1 -1
  136. package/dist/utils/gas-fees.cjs +1 -3
  137. package/dist/utils/gas-fees.cjs.map +1 -1
  138. package/dist/utils/gas-fees.d.cts +1 -1
  139. package/dist/utils/gas-fees.d.cts.map +1 -1
  140. package/dist/utils/gas-fees.d.mts +1 -1
  141. package/dist/utils/gas-fees.d.mts.map +1 -1
  142. package/dist/utils/gas-fees.mjs +1 -3
  143. package/dist/utils/gas-fees.mjs.map +1 -1
  144. package/dist/utils/gas.cjs +71 -15
  145. package/dist/utils/gas.cjs.map +1 -1
  146. package/dist/utils/gas.d.cts +18 -12
  147. package/dist/utils/gas.d.cts.map +1 -1
  148. package/dist/utils/gas.d.mts +18 -12
  149. package/dist/utils/gas.d.mts.map +1 -1
  150. package/dist/utils/gas.mjs +70 -15
  151. package/dist/utils/gas.mjs.map +1 -1
  152. package/dist/utils/layer1-gas-fee-flow.cjs.map +1 -1
  153. package/dist/utils/layer1-gas-fee-flow.d.cts.map +1 -1
  154. package/dist/utils/layer1-gas-fee-flow.d.mts.map +1 -1
  155. package/dist/utils/layer1-gas-fee-flow.mjs.map +1 -1
  156. package/dist/utils/prepare.cjs.map +1 -1
  157. package/dist/utils/prepare.d.cts +1 -1
  158. package/dist/utils/prepare.d.cts.map +1 -1
  159. package/dist/utils/prepare.d.mts +1 -1
  160. package/dist/utils/prepare.d.mts.map +1 -1
  161. package/dist/utils/prepare.mjs.map +1 -1
  162. package/dist/utils/swaps.cjs.map +1 -1
  163. package/dist/utils/swaps.mjs.map +1 -1
  164. package/dist/utils/utils.cjs +10 -10
  165. package/dist/utils/utils.cjs.map +1 -1
  166. package/dist/utils/utils.d.cts +4 -4
  167. package/dist/utils/utils.d.cts.map +1 -1
  168. package/dist/utils/utils.d.mts +4 -4
  169. package/dist/utils/utils.d.mts.map +1 -1
  170. package/dist/utils/utils.mjs +10 -10
  171. package/dist/utils/utils.mjs.map +1 -1
  172. package/dist/utils/validation.cjs.map +1 -1
  173. package/dist/utils/validation.d.cts.map +1 -1
  174. package/dist/utils/validation.d.mts.map +1 -1
  175. package/dist/utils/validation.mjs.map +1 -1
  176. package/package.json +1 -1
@@ -9,7 +9,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
9
9
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
- 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;
12
+ 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;
13
13
  function $importDefault(module) {
14
14
  if (module?.__esModule) {
15
15
  return module.default;
@@ -51,7 +51,7 @@ import { addTransactionBatch, isAtomicBatchSupported } from "./utils/batch.mjs";
51
51
  import { generateEIP7702BatchTransaction, getDelegationAddress, signAuthorizationList } from "./utils/eip7702.mjs";
52
52
  import { validateConfirmedExternalTransaction } from "./utils/external-transactions.mjs";
53
53
  import { updateFirstTimeInteraction } from "./utils/first-time-interaction.mjs";
54
- import { addGasBuffer, estimateGas, updateGas } from "./utils/gas.mjs";
54
+ import { addGasBuffer, estimateGas, estimateGasBatch, updateGas } from "./utils/gas.mjs";
55
55
  import { checkGasFeeTokenBeforePublish, getGasFeeTokens } from "./utils/gas-fee-tokens.mjs";
56
56
  import { updateGasFees } from "./utils/gas-fees.mjs";
57
57
  import { getGasFeeFlow } from "./utils/gas-flow.mjs";
@@ -184,6 +184,7 @@ export class TransactionController extends BaseController {
184
184
  _TransactionController_isSendFlowHistoryDisabled.set(this, void 0);
185
185
  _TransactionController_isSimulationEnabled.set(this, void 0);
186
186
  _TransactionController_isSwapsDisabled.set(this, void 0);
187
+ _TransactionController_isTimeoutEnabled.set(this, void 0);
187
188
  _TransactionController_layer1GasFeeFlows.set(this, void 0);
188
189
  _TransactionController_methodDataHelper.set(this, void 0);
189
190
  _TransactionController_multichainTrackingHelper.set(this, void 0);
@@ -204,32 +205,43 @@ export class TransactionController extends BaseController {
204
205
  this.messenger = messenger;
205
206
  __classPrivateFieldSet(this, _TransactionController_afterAdd, hooks?.afterAdd ?? (() => Promise.resolve({})), "f");
206
207
  __classPrivateFieldSet(this, _TransactionController_afterSign, hooks?.afterSign ?? (() => true), "f");
207
- __classPrivateFieldSet(this, _TransactionController_afterSimulate, hooks?.afterSimulate ?? (() => Promise.resolve({})), "f");
208
+ __classPrivateFieldSet(this, _TransactionController_afterSimulate, hooks?.afterSimulate ??
209
+ (() => Promise.resolve({})), "f");
208
210
  __classPrivateFieldSet(this, _TransactionController_beforeCheckPendingTransaction,
209
211
  /* istanbul ignore next */
210
- hooks?.beforeCheckPendingTransaction ?? (() => Promise.resolve(true)), "f");
212
+ hooks?.beforeCheckPendingTransaction ??
213
+ (() => Promise.resolve(true)), "f");
211
214
  __classPrivateFieldSet(this, _TransactionController_beforePublish, hooks?.beforePublish ?? (() => Promise.resolve(true)), "f");
212
- __classPrivateFieldSet(this, _TransactionController_beforeSign, hooks?.beforeSign ?? (() => Promise.resolve({})), "f");
213
- __classPrivateFieldSet(this, _TransactionController_getAdditionalSignArguments, hooks?.getAdditionalSignArguments ?? (() => []), "f");
214
- __classPrivateFieldSet(this, _TransactionController_getCurrentAccountEIP1559Compatibility, getCurrentAccountEIP1559Compatibility ?? (() => Promise.resolve(true)), "f");
215
+ __classPrivateFieldSet(this, _TransactionController_beforeSign, hooks?.beforeSign ??
216
+ (() => Promise.resolve({})), "f");
217
+ __classPrivateFieldSet(this, _TransactionController_getAdditionalSignArguments, hooks?.getAdditionalSignArguments ??
218
+ (() => []), "f");
219
+ __classPrivateFieldSet(this, _TransactionController_getCurrentAccountEIP1559Compatibility, getCurrentAccountEIP1559Compatibility ??
220
+ (() => Promise.resolve(true)), "f");
215
221
  __classPrivateFieldSet(this, _TransactionController_getCurrentNetworkEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, "f");
216
222
  __classPrivateFieldSet(this, _TransactionController_getExternalPendingTransactions, getExternalPendingTransactions ?? (() => []), "f");
217
- __classPrivateFieldSet(this, _TransactionController_getGasFeeEstimates, getGasFeeEstimates || (() => Promise.resolve({})), "f");
223
+ __classPrivateFieldSet(this, _TransactionController_getGasFeeEstimates, getGasFeeEstimates ??
224
+ (() => Promise.resolve({})), "f");
218
225
  __classPrivateFieldSet(this, _TransactionController_getNetworkState, getNetworkState, "f");
219
226
  __classPrivateFieldSet(this, _TransactionController_getPermittedAccounts, getPermittedAccounts, "f");
220
227
  __classPrivateFieldSet(this, _TransactionController_getSavedGasFees, getSavedGasFees ?? ((_chainId) => undefined), "f");
221
- __classPrivateFieldSet(this, _TransactionController_getSimulationConfig, getSimulationConfig ?? (() => Promise.resolve({})), "f");
228
+ __classPrivateFieldSet(this, _TransactionController_getSimulationConfig, getSimulationConfig ??
229
+ (() => Promise.resolve({})), "f");
222
230
  __classPrivateFieldSet(this, _TransactionController_incomingTransactionOptions, incomingTransactions, "f");
223
- __classPrivateFieldSet(this, _TransactionController_isAutomaticGasFeeUpdateEnabled, isAutomaticGasFeeUpdateEnabled ?? ((_txMeta) => false), "f");
224
- __classPrivateFieldSet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, isEIP7702GasFeeTokensEnabled ?? (() => Promise.resolve(false)), "f");
231
+ __classPrivateFieldSet(this, _TransactionController_isAutomaticGasFeeUpdateEnabled, isAutomaticGasFeeUpdateEnabled ??
232
+ ((_txMeta) => false), "f");
233
+ __classPrivateFieldSet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, isEIP7702GasFeeTokensEnabled ??
234
+ (() => Promise.resolve(false)), "f");
225
235
  __classPrivateFieldSet(this, _TransactionController_isFirstTimeInteractionEnabled, isFirstTimeInteractionEnabled ?? (() => true), "f");
226
236
  __classPrivateFieldSet(this, _TransactionController_isHistoryDisabled, disableHistory ?? false, "f");
227
237
  __classPrivateFieldSet(this, _TransactionController_isSendFlowHistoryDisabled, disableSendFlowHistory ?? false, "f");
228
238
  __classPrivateFieldSet(this, _TransactionController_isSimulationEnabled, isSimulationEnabled ?? (() => true), "f");
229
239
  __classPrivateFieldSet(this, _TransactionController_isSwapsDisabled, disableSwaps ?? false, "f");
240
+ __classPrivateFieldSet(this, _TransactionController_isTimeoutEnabled, hooks?.isTimeoutEnabled ?? (() => true), "f");
230
241
  __classPrivateFieldSet(this, _TransactionController_pendingTransactionOptions, pendingTransactions, "f");
231
242
  __classPrivateFieldSet(this, _TransactionController_publicKeyEIP7702, publicKeyEIP7702, "f");
232
- __classPrivateFieldSet(this, _TransactionController_publish, hooks?.publish ?? (() => Promise.resolve({ transactionHash: undefined })), "f");
243
+ __classPrivateFieldSet(this, _TransactionController_publish, hooks?.publish ??
244
+ (() => Promise.resolve({ transactionHash: undefined })), "f");
233
245
  __classPrivateFieldSet(this, _TransactionController_publishBatchHook, hooks?.publishBatch, "f");
234
246
  __classPrivateFieldSet(this, _TransactionController_securityProviderRequest, securityProviderRequest, "f");
235
247
  __classPrivateFieldSet(this, _TransactionController_sign, sign, "f");
@@ -294,6 +306,7 @@ export class TransactionController extends BaseController {
294
306
  // when transactionsController state changes
295
307
  // check for pending transactions and start polling if there are any
296
308
  this.messenger.subscribe('TransactionController:stateChange', __classPrivateFieldGet(this, _TransactionController_checkForPendingTransactionAndStartPolling, "f"));
309
+ // eslint-disable-next-line no-new
297
310
  new ResimulateHelper({
298
311
  simulateTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSimulationData).bind(this),
299
312
  onTransactionsUpdate: (listener) => {
@@ -381,6 +394,7 @@ export class TransactionController extends BaseController {
381
394
  async addTransaction(txParams, options) {
382
395
  log('Adding transaction', txParams, options);
383
396
  const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requireApproval, securityAlertResponse, sendFlowHistory, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
397
+ // eslint-disable-next-line no-param-reassign
384
398
  txParams = normalizeTransactionParams(txParams);
385
399
  if (!__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").has(networkClientId)) {
386
400
  throw new Error(`Network client not found - ${networkClientId}`);
@@ -454,6 +468,7 @@ export class TransactionController extends BaseController {
454
468
  addedTransactionMeta.txParamsOriginal = cloneDeep(addedTransactionMeta.txParams);
455
469
  updateTransaction(addedTransactionMeta);
456
470
  }
471
+ // eslint-disable-next-line no-negated-condition
457
472
  if (!skipInitialGasEstimate) {
458
473
  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, {
459
474
  traceContext: context,
@@ -485,10 +500,12 @@ export class TransactionController extends BaseController {
485
500
  // Set security provider response
486
501
  if (method && __classPrivateFieldGet(this, _TransactionController_securityProviderRequest, "f")) {
487
502
  const securityProviderResponse = await __classPrivateFieldGet(this, _TransactionController_securityProviderRequest, "f").call(this, addedTransactionMeta, method);
503
+ // eslint-disable-next-line require-atomic-updates
488
504
  addedTransactionMeta.securityProviderResponse =
489
505
  securityProviderResponse;
490
506
  }
491
507
  if (!__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
508
+ // eslint-disable-next-line require-atomic-updates
492
509
  addedTransactionMeta.sendFlowHistory = sendFlowHistory ?? [];
493
510
  }
494
511
  // Initial history push
@@ -514,6 +531,7 @@ export class TransactionController extends BaseController {
514
531
  return undefined;
515
532
  })
516
533
  .catch(noop);
534
+ // eslint-disable-next-line no-negated-condition
517
535
  if (requireApproval !== false) {
518
536
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSimulationData).call(this, addedTransactionMeta, {
519
537
  traceContext,
@@ -561,7 +579,7 @@ export class TransactionController extends BaseController {
561
579
  * @param request - Request object.
562
580
  * @param request.tags - Additional tags to identify the source of the request.
563
581
  */
564
- async updateIncomingTransactions({ tags } = {}) {
582
+ async updateIncomingTransactions({ tags, } = {}) {
565
583
  await __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").update({ tags });
566
584
  }
567
585
  /**
@@ -641,6 +659,29 @@ export class TransactionController extends BaseController {
641
659
  });
642
660
  return { gas: estimatedGas, simulationFails };
643
661
  }
662
+ /**
663
+ * Estimates required gas for a batch of transactions.
664
+ *
665
+ * @param request - Request object.
666
+ * @param request.chainId - Chain ID of the transactions.
667
+ * @param request.from - Address of the sender.
668
+ * @param request.transactions - Array of transactions within a batch request.
669
+ * @returns Object containing the gas limit.
670
+ */
671
+ async estimateGasBatch({ chainId, from, transactions, }) {
672
+ const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
673
+ chainId,
674
+ });
675
+ return estimateGasBatch({
676
+ chainId,
677
+ ethQuery,
678
+ from,
679
+ getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
680
+ isAtomicBatchSupported: this.isAtomicBatchSupported.bind(this),
681
+ messenger: this.messenger,
682
+ transactions,
683
+ });
684
+ }
644
685
  /**
645
686
  * Estimates required gas for a given transaction and add additional gas buffer with the given multiplier.
646
687
  *
@@ -1028,11 +1069,11 @@ export class TransactionController extends BaseController {
1028
1069
  return __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signExternalTransaction).call(this, txParams.chainId, txParams);
1029
1070
  }));
1030
1071
  }
1031
- catch (err) {
1032
- log('Error while signing transactions with same nonce', err);
1072
+ catch (error) {
1073
+ log('Error while signing transactions with same nonce', error);
1033
1074
  // Must set transaction to submitted/failed before releasing lock
1034
1075
  // continue with error chain
1035
- throw err;
1076
+ throw error;
1036
1077
  }
1037
1078
  finally {
1038
1079
  nonceLock?.releaseLock();
@@ -1111,7 +1152,7 @@ export class TransactionController extends BaseController {
1111
1152
  ? predicate
1112
1153
  : // TODO: Replace `any` with type
1113
1154
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1114
- (v) => v === predicate;
1155
+ (value) => value === predicate;
1115
1156
  });
1116
1157
  const transactionsToFilter = initialList ?? this.state.transactions;
1117
1158
  // Combine sortBy and pickBy to transform our state object into an array of
@@ -1387,13 +1428,14 @@ export class TransactionController extends BaseController {
1387
1428
  });
1388
1429
  }
1389
1430
  }
1390
- _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, }) {
1431
+ _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, }) {
1391
1432
  // If transaction is found for same action id, do not create a new transaction.
1392
1433
  if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionWithActionId).call(this, actionId)) {
1393
1434
  return;
1394
1435
  }
1395
1436
  if (gasValues) {
1396
1437
  // Not good practice to reassign a parameter but temporarily avoiding a larger refactor.
1438
+ // eslint-disable-next-line no-param-reassign
1397
1439
  gasValues = normalizeGasFeeValues(gasValues);
1398
1440
  validateGasValues(gasValues);
1399
1441
  }
@@ -1553,10 +1595,12 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1553
1595
  resultCallbacks.success();
1554
1596
  }
1555
1597
  const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
1556
- this.messenger.publish(`${controllerName}:transactionApproved`, {
1557
- transactionMeta: updatedTransactionMeta,
1558
- actionId,
1559
- });
1598
+ if (approvalResult === ApprovalState.Approved) {
1599
+ this.messenger.publish(`${controllerName}:transactionApproved`, {
1600
+ transactionMeta: updatedTransactionMeta,
1601
+ actionId,
1602
+ });
1603
+ }
1560
1604
  }
1561
1605
  }
1562
1606
  catch (rawError) {
@@ -1577,17 +1621,19 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1577
1621
  }
1578
1622
  const finalMeta = await finishedPromise;
1579
1623
  switch (finalMeta?.status) {
1580
- case TransactionStatus.failed:
1624
+ case TransactionStatus.failed: {
1581
1625
  const error = finalMeta.error;
1582
1626
  resultCallbacks?.error(error);
1583
1627
  throw rpcErrors.internal(error.message);
1628
+ }
1584
1629
  case TransactionStatus.submitted:
1585
1630
  resultCallbacks?.success();
1586
1631
  return finalMeta.hash;
1587
- default:
1588
- const internalError = rpcErrors.internal(`MetaMask Tx Signature: Unknown problem: ${JSON.stringify(finalMeta || transactionId)}`);
1632
+ default: {
1633
+ const internalError = rpcErrors.internal(`MetaMask Tx Signature: Unknown problem: ${JSON.stringify(finalMeta ?? transactionId)}`);
1589
1634
  resultCallbacks?.error(internalError);
1590
1635
  throw internalError;
1636
+ }
1591
1637
  }
1592
1638
  }, _TransactionController_approveTransaction =
1593
1639
  /**
@@ -1625,6 +1671,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1625
1671
  const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
1626
1672
  const [nonce, releaseNonce] = await getNextNonce(transactionMeta, (address) => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNonceLock(address, transactionMeta.networkClientId));
1627
1673
  clearNonceLock = releaseNonce;
1674
+ // eslint-disable-next-line require-atomic-updates
1628
1675
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1629
1676
  transactionId,
1630
1677
  note: 'TransactionController#approveTransaction - Transaction approved',
@@ -1641,6 +1688,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1641
1688
  });
1642
1689
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, transactionMeta);
1643
1690
  const rawTx = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Sign', parentContext: traceContext }, () => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signTransaction).call(this, transactionMeta));
1691
+ // eslint-disable-next-line require-atomic-updates
1644
1692
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
1645
1693
  if (!(await __classPrivateFieldGet(this, _TransactionController_beforePublish, "f").call(this, transactionMeta))) {
1646
1694
  log('Skipping publishing transaction based on hook');
@@ -1676,6 +1724,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1676
1724
  publishHook = extraTransactionsPublishHook.getHook();
1677
1725
  }
1678
1726
  const { transactionHash: hash } = await publishHook(transactionMeta, rawTx ?? '0x');
1727
+ // eslint-disable-next-line require-atomic-updates
1679
1728
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1680
1729
  transactionId,
1681
1730
  note: 'TransactionController#approveTransaction - Transaction submitted',
@@ -1707,13 +1756,20 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1707
1756
  clearNonceLock?.();
1708
1757
  }
1709
1758
  }, _TransactionController_publishTransaction = async function _TransactionController_publishTransaction(ethQuery, transactionMeta, { skipSubmitHistory } = {}) {
1710
- const transactionHash = await query(ethQuery, 'sendRawTransaction', [
1711
- transactionMeta.rawTx,
1712
- ]);
1713
- if (skipSubmitHistory !== true) {
1714
- __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSubmitHistory).call(this, transactionMeta, transactionHash);
1759
+ try {
1760
+ const transactionHash = await query(ethQuery, 'sendRawTransaction', [
1761
+ transactionMeta.rawTx,
1762
+ ]);
1763
+ if (skipSubmitHistory !== true) {
1764
+ __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSubmitHistory).call(this, transactionMeta, transactionHash);
1765
+ }
1766
+ return transactionHash;
1767
+ }
1768
+ catch (error) {
1769
+ const errorObject = error;
1770
+ const errorMessage = errorObject?.data?.message ?? errorObject?.message ?? String(error);
1771
+ throw new Error(errorMessage);
1715
1772
  }
1716
- return transactionHash;
1717
1773
  }, _TransactionController_rejectTransaction = function _TransactionController_rejectTransaction(transactionId, actionId, error) {
1718
1774
  const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
1719
1775
  if (!transactionMeta) {
@@ -1777,7 +1833,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1777
1833
  });
1778
1834
  return (await this.messenger.call('ApprovalController:addRequest', {
1779
1835
  id,
1780
- origin: origin || ORIGIN_METAMASK,
1836
+ origin: origin ?? ORIGIN_METAMASK,
1781
1837
  type,
1782
1838
  requestData,
1783
1839
  expectsResult: true,
@@ -2077,19 +2133,20 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2077
2133
  blockTracker,
2078
2134
  getChainId: () => chainId,
2079
2135
  getEthQuery: () => ethQuery,
2080
- getNetworkClientId: () => networkClientId,
2081
- getTransactions: () => this.state.transactions,
2082
- isResubmitEnabled: __classPrivateFieldGet(this, _TransactionController_pendingTransactionOptions, "f").isResubmitEnabled,
2083
2136
  getGlobalLock: () => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").acquireNonceLockForChainIdKey({
2084
2137
  chainId,
2085
2138
  }),
2139
+ getNetworkClientId: () => networkClientId,
2140
+ getTransactions: () => this.state.transactions,
2141
+ hooks: {
2142
+ beforeCheckPendingTransaction: __classPrivateFieldGet(this, _TransactionController_beforeCheckPendingTransaction, "f").bind(this),
2143
+ },
2144
+ isResubmitEnabled: __classPrivateFieldGet(this, _TransactionController_pendingTransactionOptions, "f").isResubmitEnabled,
2145
+ isTimeoutEnabled: __classPrivateFieldGet(this, _TransactionController_isTimeoutEnabled, "f"),
2086
2146
  messenger: this.messenger,
2087
2147
  publishTransaction: (_ethQuery, transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, _ethQuery, transactionMeta, {
2088
2148
  skipSubmitHistory: true,
2089
2149
  }),
2090
- hooks: {
2091
- beforeCheckPendingTransaction: __classPrivateFieldGet(this, _TransactionController_beforeCheckPendingTransaction, "f").bind(this),
2092
- },
2093
2150
  });
2094
2151
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addPendingTransactionTrackerListeners).call(this, pendingTransactionTracker);
2095
2152
  return pendingTransactionTracker;
@@ -2126,8 +2183,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2126
2183
  throw error;
2127
2184
  }
2128
2185
  }, _TransactionController_isTransactionAlreadyConfirmedError = function _TransactionController_isTransactionAlreadyConfirmedError(error) {
2129
- return (error?.message?.includes('nonce too low') ||
2130
- error?.data?.message?.includes('nonce too low'));
2186
+ return (Boolean(error?.message?.includes('nonce too low')) ||
2187
+ Boolean(error?.data?.message?.includes('nonce too low')));
2131
2188
  }, _TransactionController_getGasFeeFlows = function _TransactionController_getGasFeeFlows() {
2132
2189
  if (__classPrivateFieldGet(this, _TransactionController_testGasFeeFlows, "f")) {
2133
2190
  return [new TestGasFeeFlow()];
@@ -2310,6 +2367,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2310
2367
  this.messenger.registerActionHandler(`${controllerName}:emulateNewTransaction`, this.emulateNewTransaction.bind(this));
2311
2368
  this.messenger.registerActionHandler(`${controllerName}:emulateTransactionUpdate`, this.emulateTransactionUpdate.bind(this));
2312
2369
  this.messenger.registerActionHandler(`${controllerName}:estimateGas`, this.estimateGas.bind(this));
2370
+ this.messenger.registerActionHandler(`${controllerName}:estimateGasBatch`, this.estimateGasBatch.bind(this));
2313
2371
  this.messenger.registerActionHandler(`${controllerName}:getGasFeeTokens`, __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokensAction).bind(this));
2314
2372
  this.messenger.registerActionHandler(`${controllerName}:getNonceLock`, this.getNonceLock.bind(this));
2315
2373
  this.messenger.registerActionHandler(`${controllerName}:getTransactions`, this.getTransactions.bind(this));
@@ -2346,8 +2404,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2346
2404
  draftTransactionMeta.error = normalizeTxError(error);
2347
2405
  });
2348
2406
  }
2349
- catch (err) {
2350
- log('Failed to mark transaction as failed', err);
2407
+ catch (caughtError) {
2408
+ log('Failed to mark transaction as failed', caughtError);
2351
2409
  newTransactionMeta = {
2352
2410
  ...transactionMeta,
2353
2411
  status: TransactionStatus.failed,
@@ -2368,7 +2426,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2368
2426
  const result = await __classPrivateFieldGet(this, _TransactionController_afterSimulate, "f").call(this, {
2369
2427
  transactionMeta,
2370
2428
  });
2371
- const { skipSimulation, updateTransaction } = result || {};
2429
+ const { skipSimulation, updateTransaction } = result ?? {};
2372
2430
  if (skipSimulation) {
2373
2431
  __classPrivateFieldGet(this, _TransactionController_skipSimulationTransactionIds, "f").add(transactionId);
2374
2432
  }
@@ -2392,12 +2450,11 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2392
2450
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Publish', parentContext: traceContext }, async () => {
2393
2451
  const publishHook = publishHookOverride ?? __classPrivateFieldGet(this, _TransactionController_publish, "f");
2394
2452
  ({ transactionHash } = await publishHook(transactionMeta, signedTx));
2395
- if (transactionHash === undefined) {
2396
- transactionHash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, {
2397
- ...transactionMeta,
2398
- rawTx: signedTx,
2399
- });
2400
- }
2453
+ // eslint-disable-next-line require-atomic-updates
2454
+ transactionHash ?? (transactionHash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, {
2455
+ ...transactionMeta,
2456
+ rawTx: signedTx,
2457
+ }));
2401
2458
  });
2402
2459
  log('Publish successful', transactionHash);
2403
2460
  return { transactionHash };