@metamask/transaction-controller 62.5.0 → 62.7.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 (178) hide show
  1. package/CHANGELOG.md +29 -1
  2. package/dist/TransactionController.cjs +107 -49
  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 +108 -50
  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 +18 -0
  83. package/dist/types.d.cts.map +1 -1
  84. package/dist/types.d.mts +18 -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 +10 -4
  99. package/dist/utils/batch.cjs.map +1 -1
  100. package/dist/utils/batch.d.cts +1 -0
  101. package/dist/utils/batch.d.cts.map +1 -1
  102. package/dist/utils/batch.d.mts +1 -0
  103. package/dist/utils/batch.d.mts.map +1 -1
  104. package/dist/utils/batch.mjs +10 -4
  105. package/dist/utils/batch.mjs.map +1 -1
  106. package/dist/utils/eip7702.cjs +4 -3
  107. package/dist/utils/eip7702.cjs.map +1 -1
  108. package/dist/utils/eip7702.d.cts +1 -1
  109. package/dist/utils/eip7702.d.cts.map +1 -1
  110. package/dist/utils/eip7702.d.mts +1 -1
  111. package/dist/utils/eip7702.d.mts.map +1 -1
  112. package/dist/utils/eip7702.mjs +4 -3
  113. package/dist/utils/eip7702.mjs.map +1 -1
  114. package/dist/utils/external-transactions.cjs.map +1 -1
  115. package/dist/utils/external-transactions.d.cts.map +1 -1
  116. package/dist/utils/external-transactions.d.mts.map +1 -1
  117. package/dist/utils/external-transactions.mjs.map +1 -1
  118. package/dist/utils/feature-flags.cjs +22 -7
  119. package/dist/utils/feature-flags.cjs.map +1 -1
  120. package/dist/utils/feature-flags.d.cts +24 -0
  121. package/dist/utils/feature-flags.d.cts.map +1 -1
  122. package/dist/utils/feature-flags.d.mts +24 -0
  123. package/dist/utils/feature-flags.d.mts.map +1 -1
  124. package/dist/utils/feature-flags.mjs +20 -6
  125. package/dist/utils/feature-flags.mjs.map +1 -1
  126. package/dist/utils/first-time-interaction.cjs +3 -5
  127. package/dist/utils/first-time-interaction.cjs.map +1 -1
  128. package/dist/utils/first-time-interaction.d.cts.map +1 -1
  129. package/dist/utils/first-time-interaction.d.mts.map +1 -1
  130. package/dist/utils/first-time-interaction.mjs +3 -5
  131. package/dist/utils/first-time-interaction.mjs.map +1 -1
  132. package/dist/utils/gas-fee-tokens.cjs +1 -1
  133. package/dist/utils/gas-fee-tokens.cjs.map +1 -1
  134. package/dist/utils/gas-fee-tokens.d.cts.map +1 -1
  135. package/dist/utils/gas-fee-tokens.d.mts.map +1 -1
  136. package/dist/utils/gas-fee-tokens.mjs +1 -1
  137. package/dist/utils/gas-fee-tokens.mjs.map +1 -1
  138. package/dist/utils/gas-fees.cjs +1 -3
  139. package/dist/utils/gas-fees.cjs.map +1 -1
  140. package/dist/utils/gas-fees.d.cts +1 -1
  141. package/dist/utils/gas-fees.d.cts.map +1 -1
  142. package/dist/utils/gas-fees.d.mts +1 -1
  143. package/dist/utils/gas-fees.d.mts.map +1 -1
  144. package/dist/utils/gas-fees.mjs +1 -3
  145. package/dist/utils/gas-fees.mjs.map +1 -1
  146. package/dist/utils/gas.cjs +71 -15
  147. package/dist/utils/gas.cjs.map +1 -1
  148. package/dist/utils/gas.d.cts +18 -12
  149. package/dist/utils/gas.d.cts.map +1 -1
  150. package/dist/utils/gas.d.mts +18 -12
  151. package/dist/utils/gas.d.mts.map +1 -1
  152. package/dist/utils/gas.mjs +70 -15
  153. package/dist/utils/gas.mjs.map +1 -1
  154. package/dist/utils/layer1-gas-fee-flow.cjs.map +1 -1
  155. package/dist/utils/layer1-gas-fee-flow.d.cts.map +1 -1
  156. package/dist/utils/layer1-gas-fee-flow.d.mts.map +1 -1
  157. package/dist/utils/layer1-gas-fee-flow.mjs.map +1 -1
  158. package/dist/utils/prepare.cjs.map +1 -1
  159. package/dist/utils/prepare.d.cts +1 -1
  160. package/dist/utils/prepare.d.cts.map +1 -1
  161. package/dist/utils/prepare.d.mts +1 -1
  162. package/dist/utils/prepare.d.mts.map +1 -1
  163. package/dist/utils/prepare.mjs.map +1 -1
  164. package/dist/utils/swaps.cjs.map +1 -1
  165. package/dist/utils/swaps.mjs.map +1 -1
  166. package/dist/utils/utils.cjs +10 -10
  167. package/dist/utils/utils.cjs.map +1 -1
  168. package/dist/utils/utils.d.cts +4 -4
  169. package/dist/utils/utils.d.cts.map +1 -1
  170. package/dist/utils/utils.d.mts +4 -4
  171. package/dist/utils/utils.d.mts.map +1 -1
  172. package/dist/utils/utils.mjs +10 -10
  173. package/dist/utils/utils.mjs.map +1 -1
  174. package/dist/utils/validation.cjs.map +1 -1
  175. package/dist/utils/validation.d.cts.map +1 -1
  176. package/dist/utils/validation.d.mts.map +1 -1
  177. package/dist/utils/validation.mjs.map +1 -1
  178. 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) => {
@@ -380,7 +393,8 @@ export class TransactionController extends BaseController {
380
393
  */
381
394
  async addTransaction(txParams, options) {
382
395
  log('Adding transaction', txParams, options);
383
- const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requireApproval, securityAlertResponse, sendFlowHistory, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
396
+ const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requestId, 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}`);
@@ -437,6 +451,7 @@ export class TransactionController extends BaseController {
437
451
  nestedTransactions,
438
452
  networkClientId,
439
453
  origin,
454
+ requestId,
440
455
  securityAlertResponse,
441
456
  selectedGasFeeToken: gasFeeToken,
442
457
  status: TransactionStatus.unapproved,
@@ -454,6 +469,7 @@ export class TransactionController extends BaseController {
454
469
  addedTransactionMeta.txParamsOriginal = cloneDeep(addedTransactionMeta.txParams);
455
470
  updateTransaction(addedTransactionMeta);
456
471
  }
472
+ // eslint-disable-next-line no-negated-condition
457
473
  if (!skipInitialGasEstimate) {
458
474
  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
475
  traceContext: context,
@@ -485,10 +501,12 @@ export class TransactionController extends BaseController {
485
501
  // Set security provider response
486
502
  if (method && __classPrivateFieldGet(this, _TransactionController_securityProviderRequest, "f")) {
487
503
  const securityProviderResponse = await __classPrivateFieldGet(this, _TransactionController_securityProviderRequest, "f").call(this, addedTransactionMeta, method);
504
+ // eslint-disable-next-line require-atomic-updates
488
505
  addedTransactionMeta.securityProviderResponse =
489
506
  securityProviderResponse;
490
507
  }
491
508
  if (!__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
509
+ // eslint-disable-next-line require-atomic-updates
492
510
  addedTransactionMeta.sendFlowHistory = sendFlowHistory ?? [];
493
511
  }
494
512
  // Initial history push
@@ -514,6 +532,7 @@ export class TransactionController extends BaseController {
514
532
  return undefined;
515
533
  })
516
534
  .catch(noop);
535
+ // eslint-disable-next-line no-negated-condition
517
536
  if (requireApproval !== false) {
518
537
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSimulationData).call(this, addedTransactionMeta, {
519
538
  traceContext,
@@ -561,7 +580,7 @@ export class TransactionController extends BaseController {
561
580
  * @param request - Request object.
562
581
  * @param request.tags - Additional tags to identify the source of the request.
563
582
  */
564
- async updateIncomingTransactions({ tags } = {}) {
583
+ async updateIncomingTransactions({ tags, } = {}) {
565
584
  await __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").update({ tags });
566
585
  }
567
586
  /**
@@ -641,6 +660,29 @@ export class TransactionController extends BaseController {
641
660
  });
642
661
  return { gas: estimatedGas, simulationFails };
643
662
  }
663
+ /**
664
+ * Estimates required gas for a batch of transactions.
665
+ *
666
+ * @param request - Request object.
667
+ * @param request.chainId - Chain ID of the transactions.
668
+ * @param request.from - Address of the sender.
669
+ * @param request.transactions - Array of transactions within a batch request.
670
+ * @returns Object containing the gas limit.
671
+ */
672
+ async estimateGasBatch({ chainId, from, transactions, }) {
673
+ const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
674
+ chainId,
675
+ });
676
+ return estimateGasBatch({
677
+ chainId,
678
+ ethQuery,
679
+ from,
680
+ getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
681
+ isAtomicBatchSupported: this.isAtomicBatchSupported.bind(this),
682
+ messenger: this.messenger,
683
+ transactions,
684
+ });
685
+ }
644
686
  /**
645
687
  * Estimates required gas for a given transaction and add additional gas buffer with the given multiplier.
646
688
  *
@@ -1028,11 +1070,11 @@ export class TransactionController extends BaseController {
1028
1070
  return __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signExternalTransaction).call(this, txParams.chainId, txParams);
1029
1071
  }));
1030
1072
  }
1031
- catch (err) {
1032
- log('Error while signing transactions with same nonce', err);
1073
+ catch (error) {
1074
+ log('Error while signing transactions with same nonce', error);
1033
1075
  // Must set transaction to submitted/failed before releasing lock
1034
1076
  // continue with error chain
1035
- throw err;
1077
+ throw error;
1036
1078
  }
1037
1079
  finally {
1038
1080
  nonceLock?.releaseLock();
@@ -1111,7 +1153,7 @@ export class TransactionController extends BaseController {
1111
1153
  ? predicate
1112
1154
  : // TODO: Replace `any` with type
1113
1155
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1114
- (v) => v === predicate;
1156
+ (value) => value === predicate;
1115
1157
  });
1116
1158
  const transactionsToFilter = initialList ?? this.state.transactions;
1117
1159
  // Combine sortBy and pickBy to transform our state object into an array of
@@ -1387,13 +1429,14 @@ export class TransactionController extends BaseController {
1387
1429
  });
1388
1430
  }
1389
1431
  }
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, }) {
1432
+ _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
1433
  // If transaction is found for same action id, do not create a new transaction.
1392
1434
  if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionWithActionId).call(this, actionId)) {
1393
1435
  return;
1394
1436
  }
1395
1437
  if (gasValues) {
1396
1438
  // Not good practice to reassign a parameter but temporarily avoiding a larger refactor.
1439
+ // eslint-disable-next-line no-param-reassign
1397
1440
  gasValues = normalizeGasFeeValues(gasValues);
1398
1441
  validateGasValues(gasValues);
1399
1442
  }
@@ -1553,10 +1596,12 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1553
1596
  resultCallbacks.success();
1554
1597
  }
1555
1598
  const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
1556
- this.messenger.publish(`${controllerName}:transactionApproved`, {
1557
- transactionMeta: updatedTransactionMeta,
1558
- actionId,
1559
- });
1599
+ if (approvalResult === ApprovalState.Approved) {
1600
+ this.messenger.publish(`${controllerName}:transactionApproved`, {
1601
+ transactionMeta: updatedTransactionMeta,
1602
+ actionId,
1603
+ });
1604
+ }
1560
1605
  }
1561
1606
  }
1562
1607
  catch (rawError) {
@@ -1577,17 +1622,19 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1577
1622
  }
1578
1623
  const finalMeta = await finishedPromise;
1579
1624
  switch (finalMeta?.status) {
1580
- case TransactionStatus.failed:
1625
+ case TransactionStatus.failed: {
1581
1626
  const error = finalMeta.error;
1582
1627
  resultCallbacks?.error(error);
1583
1628
  throw rpcErrors.internal(error.message);
1629
+ }
1584
1630
  case TransactionStatus.submitted:
1585
1631
  resultCallbacks?.success();
1586
1632
  return finalMeta.hash;
1587
- default:
1588
- const internalError = rpcErrors.internal(`MetaMask Tx Signature: Unknown problem: ${JSON.stringify(finalMeta || transactionId)}`);
1633
+ default: {
1634
+ const internalError = rpcErrors.internal(`MetaMask Tx Signature: Unknown problem: ${JSON.stringify(finalMeta ?? transactionId)}`);
1589
1635
  resultCallbacks?.error(internalError);
1590
1636
  throw internalError;
1637
+ }
1591
1638
  }
1592
1639
  }, _TransactionController_approveTransaction =
1593
1640
  /**
@@ -1625,6 +1672,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1625
1672
  const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
1626
1673
  const [nonce, releaseNonce] = await getNextNonce(transactionMeta, (address) => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNonceLock(address, transactionMeta.networkClientId));
1627
1674
  clearNonceLock = releaseNonce;
1675
+ // eslint-disable-next-line require-atomic-updates
1628
1676
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1629
1677
  transactionId,
1630
1678
  note: 'TransactionController#approveTransaction - Transaction approved',
@@ -1641,6 +1689,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1641
1689
  });
1642
1690
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, transactionMeta);
1643
1691
  const rawTx = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Sign', parentContext: traceContext }, () => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signTransaction).call(this, transactionMeta));
1692
+ // eslint-disable-next-line require-atomic-updates
1644
1693
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
1645
1694
  if (!(await __classPrivateFieldGet(this, _TransactionController_beforePublish, "f").call(this, transactionMeta))) {
1646
1695
  log('Skipping publishing transaction based on hook');
@@ -1676,6 +1725,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1676
1725
  publishHook = extraTransactionsPublishHook.getHook();
1677
1726
  }
1678
1727
  const { transactionHash: hash } = await publishHook(transactionMeta, rawTx ?? '0x');
1728
+ // eslint-disable-next-line require-atomic-updates
1679
1729
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1680
1730
  transactionId,
1681
1731
  note: 'TransactionController#approveTransaction - Transaction submitted',
@@ -1707,13 +1757,20 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1707
1757
  clearNonceLock?.();
1708
1758
  }
1709
1759
  }, _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);
1760
+ try {
1761
+ const transactionHash = await query(ethQuery, 'sendRawTransaction', [
1762
+ transactionMeta.rawTx,
1763
+ ]);
1764
+ if (skipSubmitHistory !== true) {
1765
+ __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSubmitHistory).call(this, transactionMeta, transactionHash);
1766
+ }
1767
+ return transactionHash;
1768
+ }
1769
+ catch (error) {
1770
+ const errorObject = error;
1771
+ const errorMessage = errorObject?.data?.message ?? errorObject?.message ?? String(error);
1772
+ throw new Error(errorMessage);
1715
1773
  }
1716
- return transactionHash;
1717
1774
  }, _TransactionController_rejectTransaction = function _TransactionController_rejectTransaction(transactionId, actionId, error) {
1718
1775
  const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
1719
1776
  if (!transactionMeta) {
@@ -1777,7 +1834,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1777
1834
  });
1778
1835
  return (await this.messenger.call('ApprovalController:addRequest', {
1779
1836
  id,
1780
- origin: origin || ORIGIN_METAMASK,
1837
+ origin: origin ?? ORIGIN_METAMASK,
1781
1838
  type,
1782
1839
  requestData,
1783
1840
  expectsResult: true,
@@ -2077,19 +2134,20 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2077
2134
  blockTracker,
2078
2135
  getChainId: () => chainId,
2079
2136
  getEthQuery: () => ethQuery,
2080
- getNetworkClientId: () => networkClientId,
2081
- getTransactions: () => this.state.transactions,
2082
- isResubmitEnabled: __classPrivateFieldGet(this, _TransactionController_pendingTransactionOptions, "f").isResubmitEnabled,
2083
2137
  getGlobalLock: () => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").acquireNonceLockForChainIdKey({
2084
2138
  chainId,
2085
2139
  }),
2140
+ getNetworkClientId: () => networkClientId,
2141
+ getTransactions: () => this.state.transactions,
2142
+ hooks: {
2143
+ beforeCheckPendingTransaction: __classPrivateFieldGet(this, _TransactionController_beforeCheckPendingTransaction, "f").bind(this),
2144
+ },
2145
+ isResubmitEnabled: __classPrivateFieldGet(this, _TransactionController_pendingTransactionOptions, "f").isResubmitEnabled,
2146
+ isTimeoutEnabled: __classPrivateFieldGet(this, _TransactionController_isTimeoutEnabled, "f"),
2086
2147
  messenger: this.messenger,
2087
2148
  publishTransaction: (_ethQuery, transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, _ethQuery, transactionMeta, {
2088
2149
  skipSubmitHistory: true,
2089
2150
  }),
2090
- hooks: {
2091
- beforeCheckPendingTransaction: __classPrivateFieldGet(this, _TransactionController_beforeCheckPendingTransaction, "f").bind(this),
2092
- },
2093
2151
  });
2094
2152
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addPendingTransactionTrackerListeners).call(this, pendingTransactionTracker);
2095
2153
  return pendingTransactionTracker;
@@ -2126,8 +2184,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2126
2184
  throw error;
2127
2185
  }
2128
2186
  }, _TransactionController_isTransactionAlreadyConfirmedError = function _TransactionController_isTransactionAlreadyConfirmedError(error) {
2129
- return (error?.message?.includes('nonce too low') ||
2130
- error?.data?.message?.includes('nonce too low'));
2187
+ return (Boolean(error?.message?.includes('nonce too low')) ||
2188
+ Boolean(error?.data?.message?.includes('nonce too low')));
2131
2189
  }, _TransactionController_getGasFeeFlows = function _TransactionController_getGasFeeFlows() {
2132
2190
  if (__classPrivateFieldGet(this, _TransactionController_testGasFeeFlows, "f")) {
2133
2191
  return [new TestGasFeeFlow()];
@@ -2310,6 +2368,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2310
2368
  this.messenger.registerActionHandler(`${controllerName}:emulateNewTransaction`, this.emulateNewTransaction.bind(this));
2311
2369
  this.messenger.registerActionHandler(`${controllerName}:emulateTransactionUpdate`, this.emulateTransactionUpdate.bind(this));
2312
2370
  this.messenger.registerActionHandler(`${controllerName}:estimateGas`, this.estimateGas.bind(this));
2371
+ this.messenger.registerActionHandler(`${controllerName}:estimateGasBatch`, this.estimateGasBatch.bind(this));
2313
2372
  this.messenger.registerActionHandler(`${controllerName}:getGasFeeTokens`, __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokensAction).bind(this));
2314
2373
  this.messenger.registerActionHandler(`${controllerName}:getNonceLock`, this.getNonceLock.bind(this));
2315
2374
  this.messenger.registerActionHandler(`${controllerName}:getTransactions`, this.getTransactions.bind(this));
@@ -2346,8 +2405,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2346
2405
  draftTransactionMeta.error = normalizeTxError(error);
2347
2406
  });
2348
2407
  }
2349
- catch (err) {
2350
- log('Failed to mark transaction as failed', err);
2408
+ catch (caughtError) {
2409
+ log('Failed to mark transaction as failed', caughtError);
2351
2410
  newTransactionMeta = {
2352
2411
  ...transactionMeta,
2353
2412
  status: TransactionStatus.failed,
@@ -2368,7 +2427,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2368
2427
  const result = await __classPrivateFieldGet(this, _TransactionController_afterSimulate, "f").call(this, {
2369
2428
  transactionMeta,
2370
2429
  });
2371
- const { skipSimulation, updateTransaction } = result || {};
2430
+ const { skipSimulation, updateTransaction } = result ?? {};
2372
2431
  if (skipSimulation) {
2373
2432
  __classPrivateFieldGet(this, _TransactionController_skipSimulationTransactionIds, "f").add(transactionId);
2374
2433
  }
@@ -2392,12 +2451,11 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2392
2451
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Publish', parentContext: traceContext }, async () => {
2393
2452
  const publishHook = publishHookOverride ?? __classPrivateFieldGet(this, _TransactionController_publish, "f");
2394
2453
  ({ 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
- }
2454
+ // eslint-disable-next-line require-atomic-updates
2455
+ transactionHash ?? (transactionHash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, {
2456
+ ...transactionMeta,
2457
+ rawTx: signedTx,
2458
+ }));
2401
2459
  });
2402
2460
  log('Publish successful', transactionHash);
2403
2461
  return { transactionHash };