@metamask/transaction-controller 41.1.0 → 42.1.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 (86) hide show
  1. package/CHANGELOG.md +40 -1
  2. package/dist/TransactionController.cjs +57 -51
  3. package/dist/TransactionController.cjs.map +1 -1
  4. package/dist/TransactionController.d.cts +72 -13
  5. package/dist/TransactionController.d.cts.map +1 -1
  6. package/dist/TransactionController.d.mts +72 -13
  7. package/dist/TransactionController.d.mts.map +1 -1
  8. package/dist/TransactionController.mjs +57 -51
  9. package/dist/TransactionController.mjs.map +1 -1
  10. package/dist/api/accounts-api.cjs +48 -3
  11. package/dist/api/accounts-api.cjs.map +1 -1
  12. package/dist/api/accounts-api.d.cts +49 -0
  13. package/dist/api/accounts-api.d.cts.map +1 -1
  14. package/dist/api/accounts-api.d.mts +49 -0
  15. package/dist/api/accounts-api.d.mts.map +1 -1
  16. package/dist/api/accounts-api.mjs +46 -2
  17. package/dist/api/accounts-api.mjs.map +1 -1
  18. package/dist/constants.cjs +1 -85
  19. package/dist/constants.cjs.map +1 -1
  20. package/dist/constants.d.cts +0 -84
  21. package/dist/constants.d.cts.map +1 -1
  22. package/dist/constants.d.mts +0 -84
  23. package/dist/constants.d.mts.map +1 -1
  24. package/dist/constants.mjs +0 -84
  25. package/dist/constants.mjs.map +1 -1
  26. package/dist/helpers/AccountsApiRemoteTransactionSource.cjs +183 -0
  27. package/dist/helpers/AccountsApiRemoteTransactionSource.cjs.map +1 -0
  28. package/dist/helpers/AccountsApiRemoteTransactionSource.d.cts +12 -0
  29. package/dist/helpers/AccountsApiRemoteTransactionSource.d.cts.map +1 -0
  30. package/dist/helpers/AccountsApiRemoteTransactionSource.d.mts +12 -0
  31. package/dist/helpers/AccountsApiRemoteTransactionSource.d.mts.map +1 -0
  32. package/dist/helpers/AccountsApiRemoteTransactionSource.mjs +183 -0
  33. package/dist/helpers/AccountsApiRemoteTransactionSource.mjs.map +1 -0
  34. package/dist/helpers/IncomingTransactionHelper.cjs +90 -142
  35. package/dist/helpers/IncomingTransactionHelper.cjs.map +1 -1
  36. package/dist/helpers/IncomingTransactionHelper.d.cts +10 -16
  37. package/dist/helpers/IncomingTransactionHelper.d.cts.map +1 -1
  38. package/dist/helpers/IncomingTransactionHelper.d.mts +10 -16
  39. package/dist/helpers/IncomingTransactionHelper.d.mts.map +1 -1
  40. package/dist/helpers/IncomingTransactionHelper.mjs +91 -143
  41. package/dist/helpers/IncomingTransactionHelper.mjs.map +1 -1
  42. package/dist/helpers/MultichainTrackingHelper.cjs +23 -70
  43. package/dist/helpers/MultichainTrackingHelper.cjs.map +1 -1
  44. package/dist/helpers/MultichainTrackingHelper.d.cts +1 -14
  45. package/dist/helpers/MultichainTrackingHelper.d.cts.map +1 -1
  46. package/dist/helpers/MultichainTrackingHelper.d.mts +1 -14
  47. package/dist/helpers/MultichainTrackingHelper.d.mts.map +1 -1
  48. package/dist/helpers/MultichainTrackingHelper.mjs +23 -70
  49. package/dist/helpers/MultichainTrackingHelper.mjs.map +1 -1
  50. package/dist/index.cjs +3 -2
  51. package/dist/index.cjs.map +1 -1
  52. package/dist/index.d.cts +4 -4
  53. package/dist/index.d.cts.map +1 -1
  54. package/dist/index.d.mts +4 -4
  55. package/dist/index.d.mts.map +1 -1
  56. package/dist/index.mjs +2 -1
  57. package/dist/index.mjs.map +1 -1
  58. package/dist/types.cjs.map +1 -1
  59. package/dist/types.d.cts +21 -14
  60. package/dist/types.d.cts.map +1 -1
  61. package/dist/types.d.mts +21 -14
  62. package/dist/types.d.mts.map +1 -1
  63. package/dist/types.mjs.map +1 -1
  64. package/dist/utils/validation.cjs +6 -0
  65. package/dist/utils/validation.cjs.map +1 -1
  66. package/dist/utils/validation.d.cts.map +1 -1
  67. package/dist/utils/validation.d.mts.map +1 -1
  68. package/dist/utils/validation.mjs +6 -0
  69. package/dist/utils/validation.mjs.map +1 -1
  70. package/package.json +8 -8
  71. package/dist/helpers/EtherscanRemoteTransactionSource.cjs +0 -158
  72. package/dist/helpers/EtherscanRemoteTransactionSource.cjs.map +0 -1
  73. package/dist/helpers/EtherscanRemoteTransactionSource.d.cts +0 -16
  74. package/dist/helpers/EtherscanRemoteTransactionSource.d.cts.map +0 -1
  75. package/dist/helpers/EtherscanRemoteTransactionSource.d.mts +0 -16
  76. package/dist/helpers/EtherscanRemoteTransactionSource.d.mts.map +0 -1
  77. package/dist/helpers/EtherscanRemoteTransactionSource.mjs +0 -158
  78. package/dist/helpers/EtherscanRemoteTransactionSource.mjs.map +0 -1
  79. package/dist/utils/etherscan.cjs +0 -116
  80. package/dist/utils/etherscan.cjs.map +0 -1
  81. package/dist/utils/etherscan.d.cts +0 -74
  82. package/dist/utils/etherscan.d.cts.map +0 -1
  83. package/dist/utils/etherscan.d.mts +0 -74
  84. package/dist/utils/etherscan.d.mts.map +0 -1
  85. package/dist/utils/etherscan.mjs +0 -110
  86. package/dist/utils/etherscan.mjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,43 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [42.1.0]
11
+
12
+ ### Added
13
+
14
+ - Validate `gas` and `gasLimit` are hexadecimal strings ([#5093](https://github.com/MetaMask/core/pull/5093))
15
+
16
+ ### Changed
17
+
18
+ - Bump `@metamask/base-controller` from `^7.0.0` to `^7.1.0` ([#5079](https://github.com/MetaMask/core/pull/5079))
19
+ - Bump `@metamask/utils` to `^11.0.1` and `@metamask/rpc-errors` to `^7.0.2` ([#5080](https://github.com/MetaMask/core/pull/5080))
20
+
21
+ ## [42.0.0]
22
+
23
+ ### Added
24
+
25
+ - Retrieve incoming transactions using Accounts API ([#4927](https://github.com/MetaMask/core/pull/4927))
26
+ - Add `INCOMING_TRANSACTIONS_SUPPORTED_CHAIN_IDS` constant.
27
+
28
+ ### Changed
29
+
30
+ - **BREAKING:** Retrieve incoming transactions using Accounts API ([#4927](https://github.com/MetaMask/core/pull/4927))
31
+ - Rename `TransactionControllerIncomingTransactionBlockReceivedEvent` to `TransactionControllerIncomingTransactionsReceivedEvent`.
32
+ - Replace `networkClientIds` argument with `chainIds` in following methods:
33
+ - `startIncomingTransactionPolling`
34
+ - `stopIncomingTransactionPolling`
35
+ - `updateIncomingTransactions`
36
+ - Bump `@metamask/eth-block-tracker` from `^11.0.2` to `^11.0.3` ([#5025](https://github.com/MetaMask/core/pull/5025))
37
+
38
+ ### Removed
39
+
40
+ - **BREAKING:** Retrieve incoming transactions using Accounts API ([#4927](https://github.com/MetaMask/core/pull/4927))
41
+ - Remove `ETHERSCAN_SUPPORTED_NETWORKS` constant.
42
+ - Remove types:
43
+ - `EtherscanTransactionMeta`
44
+ - `RemoteTransactionSource`
45
+ - `RemoteTransactionSourceRequest`
46
+
10
47
  ## [41.1.0]
11
48
 
12
49
  ### Added
@@ -1189,7 +1226,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1189
1226
 
1190
1227
  All changes listed after this point were applied to this package following the monorepo conversion.
1191
1228
 
1192
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@41.1.0...HEAD
1229
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@42.1.0...HEAD
1230
+ [42.1.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@42.0.0...@metamask/transaction-controller@42.1.0
1231
+ [42.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@41.1.0...@metamask/transaction-controller@42.0.0
1193
1232
  [41.1.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@41.0.0...@metamask/transaction-controller@41.1.0
1194
1233
  [41.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@40.1.0...@metamask/transaction-controller@41.0.0
1195
1234
  [40.1.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@40.0.0...@metamask/transaction-controller@40.1.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_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_createRemoteTransactionSource, _TransactionController_createIncomingTransactionHelper, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_removeIncomingTransactionHelperListeners, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateFirstTimeInteraction, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_getSelectedAccount, _TransactionController_updateSubmitHistory;
16
+ var _TransactionController_instances, _TransactionController_internalEvents, _TransactionController_methodDataHelper, _TransactionController_incomingTransactionChainIds, _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_removeIncomingTransactionHelperListeners, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateFirstTimeInteraction, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_getSelectedAccount, _TransactionController_updateSubmitHistory;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.TransactionController = exports.ApprovalState = exports.SPEED_UP_RATE = exports.CANCEL_RATE = exports.HARDFORK = void 0;
19
19
  const common_1 = require("@ethereumjs/common");
@@ -38,7 +38,7 @@ const LineaGasFeeFlow_1 = require("./gas-flows/LineaGasFeeFlow.cjs");
38
38
  const OptimismLayer1GasFeeFlow_1 = require("./gas-flows/OptimismLayer1GasFeeFlow.cjs");
39
39
  const ScrollLayer1GasFeeFlow_1 = require("./gas-flows/ScrollLayer1GasFeeFlow.cjs");
40
40
  const TestGasFeeFlow_1 = require("./gas-flows/TestGasFeeFlow.cjs");
41
- const EtherscanRemoteTransactionSource_1 = require("./helpers/EtherscanRemoteTransactionSource.cjs");
41
+ const AccountsApiRemoteTransactionSource_1 = require("./helpers/AccountsApiRemoteTransactionSource.cjs");
42
42
  const GasFeePoller_1 = require("./helpers/GasFeePoller.cjs");
43
43
  const IncomingTransactionHelper_1 = require("./helpers/IncomingTransactionHelper.cjs");
44
44
  const MethodDataHelper_1 = require("./helpers/MethodDataHelper.cjs");
@@ -194,6 +194,8 @@ class TransactionController extends base_controller_1.BaseController {
194
194
  this.approvingTransactionIds = new Set();
195
195
  _TransactionController_methodDataHelper.set(this, void 0);
196
196
  this.mutex = new async_mutex_1.Mutex();
197
+ _TransactionController_incomingTransactionChainIds.set(this, new Set());
198
+ _TransactionController_incomingTransactionHelper.set(this, void 0);
197
199
  _TransactionController_incomingTransactionOptions.set(this, void 0);
198
200
  _TransactionController_pendingTransactionOptions.set(this, void 0);
199
201
  this.signAbortCallbacks = new Map();
@@ -249,12 +251,9 @@ class TransactionController extends base_controller_1.BaseController {
249
251
  return this.messagingSystem.call(`NetworkController:getNetworkClientById`, networkClientId);
250
252
  }),
251
253
  getNetworkClientRegistry,
252
- removeIncomingTransactionHelperListeners: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_removeIncomingTransactionHelperListeners).bind(this),
253
254
  removePendingTransactionTrackerListeners: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_removePendingTransactionTrackerListeners).bind(this),
254
255
  createNonceTracker: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_createNonceTracker).bind(this),
255
- createIncomingTransactionHelper: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_createIncomingTransactionHelper).bind(this),
256
256
  createPendingTransactionTracker: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_createPendingTransactionTracker).bind(this),
257
- createRemoteTransactionSource: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_createRemoteTransactionSource).bind(this),
258
257
  onNetworkStateChange: (listener) => {
259
258
  this.messagingSystem.subscribe('NetworkController:stateChange', listener);
260
259
  },
@@ -283,6 +282,25 @@ class TransactionController extends base_controller_1.BaseController {
283
282
  _state.methodData[fourBytePrefix] = methodData;
284
283
  });
285
284
  });
285
+ const updateCache = (fn) => {
286
+ this.update((_state) => {
287
+ fn(_state.lastFetchedBlockNumbers);
288
+ });
289
+ };
290
+ __classPrivateFieldSet(this, _TransactionController_incomingTransactionHelper, new IncomingTransactionHelper_1.IncomingTransactionHelper({
291
+ getCache: () => this.state.lastFetchedBlockNumbers,
292
+ getChainIds: () => [...__classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f")],
293
+ getCurrentAccount: () => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getSelectedAccount).call(this),
294
+ getLocalTransactions: () => this.state.transactions,
295
+ includeTokenTransfers: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").includeTokenTransfers,
296
+ isEnabled: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").isEnabled,
297
+ queryEntireHistory: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").queryEntireHistory,
298
+ remoteTransactionSource: new AccountsApiRemoteTransactionSource_1.AccountsApiRemoteTransactionSource(),
299
+ trimTransactions: this.trimTransactionsForState.bind(this),
300
+ updateCache,
301
+ updateTransactions: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").updateTransactions,
302
+ }), "f");
303
+ __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addIncomingTransactionHelperListeners).call(this, __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f"));
286
304
  // when transactionsController state changes
287
305
  // check for pending transactions and start polling if there are any
288
306
  this.messagingSystem.subscribe('TransactionController:stateChange', __classPrivateFieldGet(this, _TransactionController_checkForPendingTransactionAndStartPolling, "f"));
@@ -419,14 +437,22 @@ class TransactionController extends base_controller_1.BaseController {
419
437
  transactionMeta: addedTransactionMeta,
420
438
  };
421
439
  }
422
- startIncomingTransactionPolling(networkClientIds) {
423
- __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").startIncomingTransactionPolling(networkClientIds);
440
+ startIncomingTransactionPolling(chainIds) {
441
+ chainIds.forEach((chainId) => __classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").add(chainId));
442
+ __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").start();
424
443
  }
425
- stopIncomingTransactionPolling(networkClientIds) {
426
- __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").stopIncomingTransactionPolling(networkClientIds);
444
+ stopIncomingTransactionPolling(chainIds) {
445
+ chainIds?.forEach((chainId) => __classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").delete(chainId));
446
+ if (!chainIds) {
447
+ __classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").clear();
448
+ }
449
+ if (__classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").size === 0) {
450
+ __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").stop();
451
+ }
427
452
  }
428
- async updateIncomingTransactions(networkClientIds = []) {
429
- await __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").updateIncomingTransactions(networkClientIds);
453
+ async updateIncomingTransactions(chainIds) {
454
+ chainIds.forEach((chainId) => __classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").add(chainId));
455
+ await __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").update();
430
456
  }
431
457
  /**
432
458
  * Attempts to cancel a transaction based on its ID by setting its status to "rejected"
@@ -1423,26 +1449,27 @@ class TransactionController extends base_controller_1.BaseController {
1423
1449
  };
1424
1450
  return common_1.Common.custom(customChainParams);
1425
1451
  }
1426
- onIncomingTransactions({ added, updated, }) {
1427
- this.update((state) => {
1428
- const { transactions } = state;
1429
- const existingTransactions = transactions.map((tx) => updated.find(({ hash }) => hash === tx.hash) ?? tx);
1430
- const updatedTransactions = [...added, ...existingTransactions].map((tx) => {
1431
- const { chainId } = tx;
1432
- const networkClientId = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getNetworkClientId).call(this, { chainId });
1433
- return {
1434
- ...tx,
1435
- networkClientId,
1436
- };
1437
- });
1438
- state.transactions = this.trimTransactionsForState(updatedTransactions);
1452
+ onIncomingTransactions(transactions) {
1453
+ if (!transactions.length) {
1454
+ return;
1455
+ }
1456
+ const finalTransactions = transactions.map((tx) => {
1457
+ const { chainId } = tx;
1458
+ const networkClientId = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getNetworkClientId).call(this, { chainId });
1459
+ return {
1460
+ ...tx,
1461
+ networkClientId,
1462
+ };
1439
1463
  });
1440
- }
1441
- onUpdatedLastFetchedBlockNumbers({ lastFetchedBlockNumbers, blockNumber, }) {
1442
1464
  this.update((state) => {
1443
- state.lastFetchedBlockNumbers = lastFetchedBlockNumbers;
1465
+ const { transactions: currentTransactions } = state;
1466
+ state.transactions = this.trimTransactionsForState([
1467
+ ...finalTransactions,
1468
+ ...currentTransactions,
1469
+ ]);
1470
+ (0, logger_1.projectLogger)('Added incoming transactions to state', finalTransactions.length, finalTransactions);
1444
1471
  });
1445
- this.messagingSystem.publish(`${controllerName}:incomingTransactionBlockReceived`, blockNumber);
1472
+ this.messagingSystem.publish(`${controllerName}:incomingTransactionsReceived`, finalTransactions);
1446
1473
  }
1447
1474
  generateDappSuggestedGasFees(txParams, origin) {
1448
1475
  if (!origin || origin === controller_utils_1.ORIGIN_METAMASK) {
@@ -1689,7 +1716,7 @@ class TransactionController extends base_controller_1.BaseController {
1689
1716
  }
1690
1717
  }
1691
1718
  exports.TransactionController = TransactionController;
1692
- _TransactionController_internalEvents = new WeakMap(), _TransactionController_methodDataHelper = 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, }) {
1719
+ _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_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, }) {
1693
1720
  // If transaction is found for same action id, do not create a new transaction.
1694
1721
  if (this.getTransactionWithActionId(actionId)) {
1695
1722
  return;
@@ -1781,26 +1808,6 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_me
1781
1808
  getPendingTransactions: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getNonceTrackerPendingTransactions).bind(this, chainId),
1782
1809
  getConfirmedTransactions: this.getNonceTrackerTransactions.bind(this, types_1.TransactionStatus.confirmed, chainId),
1783
1810
  });
1784
- }, _TransactionController_createRemoteTransactionSource = function _TransactionController_createRemoteTransactionSource() {
1785
- return new EtherscanRemoteTransactionSource_1.EtherscanRemoteTransactionSource({
1786
- apiKeysByChainId: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").etherscanApiKeysByChainId,
1787
- includeTokenTransfers: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").includeTokenTransfers,
1788
- });
1789
- }, _TransactionController_createIncomingTransactionHelper = function _TransactionController_createIncomingTransactionHelper({ blockTracker, remoteTransactionSource, chainId, }) {
1790
- const incomingTransactionHelper = new IncomingTransactionHelper_1.IncomingTransactionHelper({
1791
- blockTracker,
1792
- getCurrentAccount: () => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getSelectedAccount).call(this),
1793
- getLastFetchedBlockNumbers: () => this.state.lastFetchedBlockNumbers,
1794
- getLocalTransactions: () => this.state.transactions,
1795
- getChainId: () => chainId,
1796
- isEnabled: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").isEnabled,
1797
- queryEntireHistory: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").queryEntireHistory,
1798
- remoteTransactionSource,
1799
- transactionLimit: __classPrivateFieldGet(this, _TransactionController_transactionHistoryLimit, "f"),
1800
- updateTransactions: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").updateTransactions,
1801
- });
1802
- __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addIncomingTransactionHelperListeners).call(this, incomingTransactionHelper);
1803
- return incomingTransactionHelper;
1804
1811
  }, _TransactionController_createPendingTransactionTracker = function _TransactionController_createPendingTransactionTracker({ provider, blockTracker, chainId, }) {
1805
1812
  const ethQuery = new eth_query_1.default(provider);
1806
1813
  const pendingTransactionTracker = new PendingTransactionTracker_1.PendingTransactionTracker({
@@ -1826,10 +1833,9 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_me
1826
1833
  __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").stopAllTracking();
1827
1834
  }, _TransactionController_removeIncomingTransactionHelperListeners = function _TransactionController_removeIncomingTransactionHelperListeners(incomingTransactionHelper) {
1828
1835
  incomingTransactionHelper.hub.removeAllListeners('transactions');
1829
- incomingTransactionHelper.hub.removeAllListeners('updatedLastFetchedBlockNumbers');
1836
+ incomingTransactionHelper.hub.removeAllListeners('updated-last-fetched-timestamp');
1830
1837
  }, _TransactionController_addIncomingTransactionHelperListeners = function _TransactionController_addIncomingTransactionHelperListeners(incomingTransactionHelper) {
1831
1838
  incomingTransactionHelper.hub.on('transactions', this.onIncomingTransactions.bind(this));
1832
- incomingTransactionHelper.hub.on('updatedLastFetchedBlockNumbers', this.onUpdatedLastFetchedBlockNumbers.bind(this));
1833
1839
  }, _TransactionController_removePendingTransactionTrackerListeners = function _TransactionController_removePendingTransactionTrackerListeners(pendingTransactionTracker) {
1834
1840
  pendingTransactionTracker.hub.removeAllListeners('transaction-confirmed');
1835
1841
  pendingTransactionTracker.hub.removeAllListeners('transaction-dropped');