@metamask-previews/transaction-controller 48.0.0-preview-a615cdf2 → 49.0.0-preview-674a490

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 (84) hide show
  1. package/CHANGELOG.md +36 -1
  2. package/dist/TransactionController.cjs +30 -8
  3. package/dist/TransactionController.cjs.map +1 -1
  4. package/dist/TransactionController.d.cts +8 -3
  5. package/dist/TransactionController.d.cts.map +1 -1
  6. package/dist/TransactionController.d.mts +8 -3
  7. package/dist/TransactionController.d.mts.map +1 -1
  8. package/dist/TransactionController.mjs +30 -8
  9. package/dist/TransactionController.mjs.map +1 -1
  10. package/dist/gas-flows/OracleLayer1GasFeeFlow.cjs +1 -2
  11. package/dist/gas-flows/OracleLayer1GasFeeFlow.cjs.map +1 -1
  12. package/dist/gas-flows/OracleLayer1GasFeeFlow.d.cts.map +1 -1
  13. package/dist/gas-flows/OracleLayer1GasFeeFlow.d.mts.map +1 -1
  14. package/dist/gas-flows/OracleLayer1GasFeeFlow.mjs +1 -3
  15. package/dist/gas-flows/OracleLayer1GasFeeFlow.mjs.map +1 -1
  16. package/dist/helpers/AccountsApiRemoteTransactionSource.cjs +8 -3
  17. package/dist/helpers/AccountsApiRemoteTransactionSource.cjs.map +1 -1
  18. package/dist/helpers/AccountsApiRemoteTransactionSource.d.cts.map +1 -1
  19. package/dist/helpers/AccountsApiRemoteTransactionSource.d.mts.map +1 -1
  20. package/dist/helpers/AccountsApiRemoteTransactionSource.mjs +8 -3
  21. package/dist/helpers/AccountsApiRemoteTransactionSource.mjs.map +1 -1
  22. package/dist/helpers/IncomingTransactionHelper.cjs +12 -4
  23. package/dist/helpers/IncomingTransactionHelper.cjs.map +1 -1
  24. package/dist/helpers/IncomingTransactionHelper.d.cts +3 -1
  25. package/dist/helpers/IncomingTransactionHelper.d.cts.map +1 -1
  26. package/dist/helpers/IncomingTransactionHelper.d.mts +3 -1
  27. package/dist/helpers/IncomingTransactionHelper.d.mts.map +1 -1
  28. package/dist/helpers/IncomingTransactionHelper.mjs +12 -4
  29. package/dist/helpers/IncomingTransactionHelper.mjs.map +1 -1
  30. package/dist/types.cjs +5 -0
  31. package/dist/types.cjs.map +1 -1
  32. package/dist/types.d.cts +23 -3
  33. package/dist/types.d.cts.map +1 -1
  34. package/dist/types.d.mts +23 -3
  35. package/dist/types.d.mts.map +1 -1
  36. package/dist/types.mjs +5 -0
  37. package/dist/types.mjs.map +1 -1
  38. package/dist/utils/batch.cjs +26 -8
  39. package/dist/utils/batch.cjs.map +1 -1
  40. package/dist/utils/batch.d.cts +4 -2
  41. package/dist/utils/batch.d.cts.map +1 -1
  42. package/dist/utils/batch.d.mts +4 -2
  43. package/dist/utils/batch.d.mts.map +1 -1
  44. package/dist/utils/batch.mjs +27 -9
  45. package/dist/utils/batch.mjs.map +1 -1
  46. package/dist/utils/eip7702.cjs +3 -2
  47. package/dist/utils/eip7702.cjs.map +1 -1
  48. package/dist/utils/eip7702.d.cts +2 -1
  49. package/dist/utils/eip7702.d.cts.map +1 -1
  50. package/dist/utils/eip7702.d.mts +2 -1
  51. package/dist/utils/eip7702.d.mts.map +1 -1
  52. package/dist/utils/eip7702.mjs +3 -2
  53. package/dist/utils/eip7702.mjs.map +1 -1
  54. package/dist/utils/feature-flags.cjs +10 -4
  55. package/dist/utils/feature-flags.cjs.map +1 -1
  56. package/dist/utils/feature-flags.d.cts +12 -5
  57. package/dist/utils/feature-flags.d.cts.map +1 -1
  58. package/dist/utils/feature-flags.d.mts +12 -5
  59. package/dist/utils/feature-flags.d.mts.map +1 -1
  60. package/dist/utils/feature-flags.mjs +10 -4
  61. package/dist/utils/feature-flags.mjs.map +1 -1
  62. package/dist/utils/signature.cjs +21 -0
  63. package/dist/utils/signature.cjs.map +1 -0
  64. package/dist/utils/signature.d.cts +11 -0
  65. package/dist/utils/signature.d.cts.map +1 -0
  66. package/dist/utils/signature.d.mts +11 -0
  67. package/dist/utils/signature.d.mts.map +1 -0
  68. package/dist/utils/signature.mjs +17 -0
  69. package/dist/utils/signature.mjs.map +1 -0
  70. package/dist/utils/utils.cjs +3 -0
  71. package/dist/utils/utils.cjs.map +1 -1
  72. package/dist/utils/utils.d.cts.map +1 -1
  73. package/dist/utils/utils.d.mts.map +1 -1
  74. package/dist/utils/utils.mjs +3 -0
  75. package/dist/utils/utils.mjs.map +1 -1
  76. package/dist/utils/validation.cjs +6 -3
  77. package/dist/utils/validation.cjs.map +1 -1
  78. package/dist/utils/validation.d.cts +3 -1
  79. package/dist/utils/validation.d.cts.map +1 -1
  80. package/dist/utils/validation.d.mts +3 -1
  81. package/dist/utils/validation.d.mts.map +1 -1
  82. package/dist/utils/validation.mjs +6 -3
  83. package/dist/utils/validation.mjs.map +1 -1
  84. package/package.json +2 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,38 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [49.0.0]
11
+
12
+ ### Added
13
+
14
+ - Add `revertDelegation` to `TransactionType` ([#5468](https://github.com/MetaMask/core/pull/5468))
15
+ - Add optional batch ID to metadata ([#5462](https://github.com/MetaMask/core/pull/5462))
16
+ - Add optional `batchId` property to `TransactionMeta`.
17
+ - Add optional `transactionHash` to `TransactionReceipt`.
18
+ - Add optional `data` to `Log`.
19
+ - Add optional `batchId` to `TransactionBatchRequest`.
20
+ - Add optional `batchId` to `addTransaction` options.
21
+ - Throw if `batchId` already exists on a transaction.
22
+
23
+ ### Changed
24
+
25
+ - **BREAKING:** Add optional batch ID to metadata ([#5462](https://github.com/MetaMask/core/pull/5462))
26
+ - Change `batchId` in `TransactionBatchResult` to `Hex`.
27
+ - Return `batchId` from `addTransactionBatch` if provided.
28
+ - Generate random batch ID if no `batchId` provided.
29
+
30
+ ## [48.2.0]
31
+
32
+ ### Changed
33
+
34
+ - Normalize gas limit using `gas` and `gasLimit` properties ([#5396](https://github.com/MetaMask/core/pull/5396))
35
+
36
+ ## [48.1.0]
37
+
38
+ ### Changed
39
+
40
+ - Prevent external transactions to internal accounts if `data` included ([#5418](https://github.com/MetaMask/core/pull/5418))
41
+
10
42
  ## [48.0.0]
11
43
 
12
44
  ### Changed
@@ -1326,7 +1358,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1326
1358
 
1327
1359
  All changes listed after this point were applied to this package following the monorepo conversion.
1328
1360
 
1329
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@48.0.0...HEAD
1361
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@49.0.0...HEAD
1362
+ [49.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@48.2.0...@metamask/transaction-controller@49.0.0
1363
+ [48.2.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@48.1.0...@metamask/transaction-controller@48.2.0
1364
+ [48.1.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@48.0.0...@metamask/transaction-controller@48.1.0
1330
1365
  [48.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@47.0.0...@metamask/transaction-controller@48.0.0
1331
1366
  [47.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@46.0.0...@metamask/transaction-controller@47.0.0
1332
1367
  [46.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@45.1.0...@metamask/transaction-controller@46.0.0
@@ -13,7 +13,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
13
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
15
  };
16
- var _TransactionController_instances, _TransactionController_internalEvents, _TransactionController_methodDataHelper, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_pendingTransactionOptions, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isSimulationEnabled, _TransactionController_testGasFeeFlows, _TransactionController_multichainTrackingHelper, _TransactionController_retryTransaction, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateFirstTimeInteraction, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate;
16
+ var _TransactionController_instances, _TransactionController_internalEvents, _TransactionController_methodDataHelper, _TransactionController_incomingTransactionChainIds, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_pendingTransactionOptions, _TransactionController_publicKeyEIP7702, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isSimulationEnabled, _TransactionController_testGasFeeFlows, _TransactionController_multichainTrackingHelper, _TransactionController_retryTransaction, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateFirstTimeInteraction, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.TransactionController = exports.ApprovalState = exports.SPEED_UP_RATE = exports.CANCEL_RATE = void 0;
19
19
  const base_controller_1 = require("@metamask/base-controller");
@@ -156,7 +156,7 @@ class TransactionController extends base_controller_1.BaseController {
156
156
  * @param options - The controller options.
157
157
  */
158
158
  constructor(options) {
159
- const { disableHistory, disableSendFlowHistory, disableSwaps, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getExternalPendingTransactions, getGasFeeEstimates, getNetworkClientRegistry, getNetworkState, getPermittedAccounts, getSavedGasFees, incomingTransactions = {}, isFirstTimeInteractionEnabled, isSimulationEnabled, messenger, pendingTransactions = {}, securityProviderRequest, sign, state, testGasFeeFlows, trace, transactionHistoryLimit = 40, hooks, } = options;
159
+ const { disableHistory, disableSendFlowHistory, disableSwaps, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getExternalPendingTransactions, getGasFeeEstimates, getNetworkClientRegistry, getNetworkState, getPermittedAccounts, getSavedGasFees, incomingTransactions = {}, isFirstTimeInteractionEnabled, isSimulationEnabled, messenger, pendingTransactions = {}, publicKeyEIP7702, securityProviderRequest, sign, state, testGasFeeFlows, trace, transactionHistoryLimit = 40, hooks, } = options;
160
160
  super({
161
161
  name: controllerName,
162
162
  metadata,
@@ -171,9 +171,11 @@ class TransactionController extends base_controller_1.BaseController {
171
171
  this.approvingTransactionIds = new Set();
172
172
  _TransactionController_methodDataHelper.set(this, void 0);
173
173
  this.mutex = new async_mutex_1.Mutex();
174
+ _TransactionController_incomingTransactionChainIds.set(this, new Set());
174
175
  _TransactionController_incomingTransactionHelper.set(this, void 0);
175
176
  _TransactionController_incomingTransactionOptions.set(this, void 0);
176
177
  _TransactionController_pendingTransactionOptions.set(this, void 0);
178
+ _TransactionController_publicKeyEIP7702.set(this, void 0);
177
179
  this.signAbortCallbacks = new Map();
178
180
  _TransactionController_trace.set(this, void 0);
179
181
  _TransactionController_transactionHistoryLimit.set(this, void 0);
@@ -204,6 +206,7 @@ class TransactionController extends base_controller_1.BaseController {
204
206
  this.securityProviderRequest = securityProviderRequest;
205
207
  __classPrivateFieldSet(this, _TransactionController_incomingTransactionOptions, incomingTransactions, "f");
206
208
  __classPrivateFieldSet(this, _TransactionController_pendingTransactionOptions, pendingTransactions, "f");
209
+ __classPrivateFieldSet(this, _TransactionController_publicKeyEIP7702, publicKeyEIP7702, "f");
207
210
  __classPrivateFieldSet(this, _TransactionController_transactionHistoryLimit, transactionHistoryLimit, "f");
208
211
  this.sign = sign;
209
212
  __classPrivateFieldSet(this, _TransactionController_testGasFeeFlows, testGasFeeFlows === true, "f");
@@ -265,6 +268,7 @@ class TransactionController extends base_controller_1.BaseController {
265
268
  };
266
269
  __classPrivateFieldSet(this, _TransactionController_incomingTransactionHelper, new IncomingTransactionHelper_1.IncomingTransactionHelper({
267
270
  getCache: () => this.state.lastFetchedBlockNumbers,
271
+ getChainIds: () => [...__classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f")],
268
272
  getCurrentAccount: () => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getSelectedAccount).call(this),
269
273
  getLocalTransactions: () => this.state.transactions,
270
274
  includeTokenTransfers: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").includeTokenTransfers,
@@ -318,6 +322,7 @@ class TransactionController extends base_controller_1.BaseController {
318
322
  getEthQuery: (networkClientId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId }),
319
323
  getInternalAccounts: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getInternalAccounts).bind(this),
320
324
  messenger: this.messagingSystem,
325
+ publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
321
326
  request,
322
327
  });
323
328
  }
@@ -332,6 +337,7 @@ class TransactionController extends base_controller_1.BaseController {
332
337
  address,
333
338
  getEthQuery: (chainId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { chainId }),
334
339
  messenger: this.messagingSystem,
340
+ publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
335
341
  });
336
342
  }
337
343
  /**
@@ -342,6 +348,7 @@ class TransactionController extends base_controller_1.BaseController {
342
348
  * @param txParams - Standard parameters for an Ethereum transaction.
343
349
  * @param options - Additional options to control how the transaction is added.
344
350
  * @param options.actionId - Unique ID to prevent duplicate requests.
351
+ * @param options.batchId - A custom ID for the batch this transaction belongs to.
345
352
  * @param options.deviceConfirmedOn - An enum to indicate what device confirmed the transaction.
346
353
  * @param options.method - RPC method that requested the transaction.
347
354
  * @param options.nestedTransactions - Params for any nested transactions encoded in the data.
@@ -359,7 +366,7 @@ class TransactionController extends base_controller_1.BaseController {
359
366
  */
360
367
  async addTransaction(txParams, options) {
361
368
  (0, logger_1.projectLogger)('Adding transaction', txParams, options);
362
- const { actionId, deviceConfirmedOn, method, nestedTransactions, networkClientId, origin, requireApproval, securityAlertResponse, sendFlowHistory, swaps = {}, traceContext, type, } = options;
369
+ const { actionId, batchId, deviceConfirmedOn, method, nestedTransactions, networkClientId, origin, requireApproval, securityAlertResponse, sendFlowHistory, swaps = {}, traceContext, type, } = options;
363
370
  txParams = (0, utils_2.normalizeTransactionParams)(txParams);
364
371
  if (!__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").has(networkClientId)) {
365
372
  throw new Error(`Network client not found - ${networkClientId}`);
@@ -370,6 +377,7 @@ class TransactionController extends base_controller_1.BaseController {
370
377
  const selectedAddress = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getSelectedAccount).call(this).address;
371
378
  const internalAccounts = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getInternalAccounts).call(this);
372
379
  await (0, validation_1.validateTransactionOrigin)({
380
+ data: txParams.data,
373
381
  from: txParams.from,
374
382
  internalAccounts,
375
383
  origin,
@@ -380,6 +388,11 @@ class TransactionController extends base_controller_1.BaseController {
380
388
  });
381
389
  const isEIP1559Compatible = await this.getEIP1559Compatibility(networkClientId);
382
390
  (0, validation_1.validateTxParams)(txParams, isEIP1559Compatible);
391
+ const isDuplicateBatchId = batchId?.length &&
392
+ this.state.transactions.some((tx) => tx.batchId?.toLowerCase() === batchId?.toLowerCase());
393
+ if (isDuplicateBatchId) {
394
+ throw rpc_errors_1.rpcErrors.invalidInput('Batch ID already exists');
395
+ }
383
396
  const dappSuggestedGasFees = this.generateDappSuggestedGasFees(txParams, origin);
384
397
  const chainId = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).call(this, networkClientId);
385
398
  const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
@@ -393,6 +406,7 @@ class TransactionController extends base_controller_1.BaseController {
393
406
  : {
394
407
  // Add actionId to txMeta to check if same actionId is seen again
395
408
  actionId,
409
+ batchId,
396
410
  chainId,
397
411
  dappSuggestedGasFees,
398
412
  deviceConfirmedOn,
@@ -461,13 +475,21 @@ class TransactionController extends base_controller_1.BaseController {
461
475
  transactionMeta: addedTransactionMeta,
462
476
  };
463
477
  }
464
- startIncomingTransactionPolling() {
478
+ startIncomingTransactionPolling(chainIds) {
479
+ chainIds.forEach((chainId) => __classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").add(chainId));
465
480
  __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").start();
466
481
  }
467
- stopIncomingTransactionPolling() {
468
- __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").stop();
482
+ stopIncomingTransactionPolling(chainIds) {
483
+ chainIds?.forEach((chainId) => __classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").delete(chainId));
484
+ if (!chainIds) {
485
+ __classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").clear();
486
+ }
487
+ if (__classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").size === 0) {
488
+ __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").stop();
489
+ }
469
490
  }
470
- async updateIncomingTransactions() {
491
+ async updateIncomingTransactions(chainIds) {
492
+ chainIds.forEach((chainId) => __classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").add(chainId));
471
493
  await __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").update();
472
494
  }
473
495
  /**
@@ -1776,7 +1798,7 @@ class TransactionController extends base_controller_1.BaseController {
1776
1798
  }
1777
1799
  }
1778
1800
  exports.TransactionController = TransactionController;
1779
- _TransactionController_internalEvents = new WeakMap(), _TransactionController_methodDataHelper = new WeakMap(), _TransactionController_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_pendingTransactionOptions = new WeakMap(), _TransactionController_trace = new WeakMap(), _TransactionController_transactionHistoryLimit = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(), _TransactionController_isSimulationEnabled = new WeakMap(), _TransactionController_testGasFeeFlows = new WeakMap(), _TransactionController_multichainTrackingHelper = 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, }) {
1801
+ _TransactionController_internalEvents = new WeakMap(), _TransactionController_methodDataHelper = new WeakMap(), _TransactionController_incomingTransactionChainIds = new WeakMap(), _TransactionController_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_pendingTransactionOptions = new WeakMap(), _TransactionController_publicKeyEIP7702 = new WeakMap(), _TransactionController_trace = new WeakMap(), _TransactionController_transactionHistoryLimit = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(), _TransactionController_isSimulationEnabled = new WeakMap(), _TransactionController_testGasFeeFlows = new WeakMap(), _TransactionController_multichainTrackingHelper = 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, }) {
1780
1802
  // If transaction is found for same action id, do not create a new transaction.
1781
1803
  if (this.getTransactionWithActionId(actionId)) {
1782
1804
  return;