@metamask-previews/transaction-controller 60.4.0-preview-b896289e → 60.5.0-preview-5eac8e7

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 (38) hide show
  1. package/CHANGELOG.md +18 -4
  2. package/dist/TransactionController.cjs +74 -127
  3. package/dist/TransactionController.cjs.map +1 -1
  4. package/dist/TransactionController.d.cts +18 -50
  5. package/dist/TransactionController.d.cts.map +1 -1
  6. package/dist/TransactionController.d.mts +18 -50
  7. package/dist/TransactionController.d.mts.map +1 -1
  8. package/dist/TransactionController.mjs +75 -128
  9. package/dist/TransactionController.mjs.map +1 -1
  10. package/dist/index.cjs.map +1 -1
  11. package/dist/index.d.cts +2 -2
  12. package/dist/index.d.cts.map +1 -1
  13. package/dist/index.d.mts +2 -2
  14. package/dist/index.d.mts.map +1 -1
  15. package/dist/index.mjs.map +1 -1
  16. package/dist/types.cjs.map +1 -1
  17. package/dist/types.d.cts +44 -0
  18. package/dist/types.d.cts.map +1 -1
  19. package/dist/types.d.mts +44 -0
  20. package/dist/types.d.mts.map +1 -1
  21. package/dist/types.mjs.map +1 -1
  22. package/dist/utils/first-time-interaction.cjs +77 -0
  23. package/dist/utils/first-time-interaction.cjs.map +1 -0
  24. package/dist/utils/first-time-interaction.d.cts +30 -0
  25. package/dist/utils/first-time-interaction.d.cts.map +1 -0
  26. package/dist/utils/first-time-interaction.d.mts +30 -0
  27. package/dist/utils/first-time-interaction.d.mts.map +1 -0
  28. package/dist/utils/first-time-interaction.mjs +73 -0
  29. package/dist/utils/first-time-interaction.mjs.map +1 -0
  30. package/dist/utils/transaction-type.cjs +22 -5
  31. package/dist/utils/transaction-type.cjs.map +1 -1
  32. package/dist/utils/transaction-type.d.cts +14 -0
  33. package/dist/utils/transaction-type.d.cts.map +1 -1
  34. package/dist/utils/transaction-type.d.mts +14 -0
  35. package/dist/utils/transaction-type.d.mts.map +1 -1
  36. package/dist/utils/transaction-type.mjs +20 -4
  37. package/dist/utils/transaction-type.mjs.map +1 -1
  38. package/package.json +2 -3
package/CHANGELOG.md CHANGED
@@ -7,15 +7,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
- ### Changed
10
+ ### Added
11
+
12
+ - Expose `addTransaction` and `addTransactionBatch` methods through the messenger ([#6749](https://github.com/MetaMask/core/pull/6749))
13
+ - Add types:
14
+ - `AddTransactionOptions`
15
+ - `TransactionControllerAddTransactionAction`
16
+ - `TransactionControllerAddTransactionBatchAction`
11
17
 
12
- - **BREAKING:** Use new `Messenger` from `@metamask/messenger` ([#6386](https://github.com/MetaMask/core/pull/6386))
13
- - Previously, `TransactionController` accepted a `RestrictedMessenger` instance from `@metamask/base-controller`.
18
+ ## [60.5.0]
14
19
 
15
20
  ### Added
16
21
 
17
22
  - Add `predictBuy`, `predictClaim`, `predictDeposit` and `predictSell` to `TransactionType` ([#6690](https://github.com/MetaMask/core/pull/6690))
18
23
 
24
+ ### Changed
25
+
26
+ - Bump `@metamask/utils` from `^11.8.0` to `^11.8.1` ([#6708](https://github.com/MetaMask/core/pull/6708))
27
+
28
+ ### Fixed
29
+
30
+ - Update `isFirstTimeInteraction` to be determined using recipient if token transfer. ([#6686](https://github.com/MetaMask/core/pull/6686))
31
+
19
32
  ## [60.4.0]
20
33
 
21
34
  ### Added
@@ -1827,7 +1840,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1827
1840
 
1828
1841
  All changes listed after this point were applied to this package following the monorepo conversion.
1829
1842
 
1830
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@60.4.0...HEAD
1843
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@60.5.0...HEAD
1844
+ [60.5.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@60.4.0...@metamask/transaction-controller@60.5.0
1831
1845
  [60.4.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@60.3.0...@metamask/transaction-controller@60.4.0
1832
1846
  [60.3.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@60.2.0...@metamask/transaction-controller@60.3.0
1833
1847
  [60.2.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@60.1.0...@metamask/transaction-controller@60.2.0
@@ -13,10 +13,10 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
13
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
15
  };
16
- var _TransactionController_instances, _TransactionController_afterAdd, _TransactionController_afterSign, _TransactionController_afterSimulate, _TransactionController_approvingTransactionIds, _TransactionController_beforeCheckPendingTransaction, _TransactionController_beforePublish, _TransactionController_beforeSign, _TransactionController_gasFeeFlows, _TransactionController_getAdditionalSignArguments, _TransactionController_getCurrentAccountEIP1559Compatibility, _TransactionController_getCurrentNetworkEIP1559Compatibility, _TransactionController_getExternalPendingTransactions, _TransactionController_getGasFeeEstimates, _TransactionController_getNetworkState, _TransactionController_getPermittedAccounts, _TransactionController_getSavedGasFees, _TransactionController_getSimulationConfig, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_internalEvents, _TransactionController_isAutomaticGasFeeUpdateEnabled, _TransactionController_isEIP7702GasFeeTokensEnabled, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isHistoryDisabled, _TransactionController_isSendFlowHistoryDisabled, _TransactionController_isSimulationEnabled, _TransactionController_isSwapsDisabled, _TransactionController_layer1GasFeeFlows, _TransactionController_methodDataHelper, _TransactionController_multichainTrackingHelper, _TransactionController_pendingTransactionOptions, _TransactionController_publicKeyEIP7702, _TransactionController_publish, _TransactionController_publishBatchHook, _TransactionController_securityProviderRequest, _TransactionController_sign, _TransactionController_signAbortCallbacks, _TransactionController_skipSimulationTransactionIds, _TransactionController_testGasFeeFlows, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_retryTransaction, _TransactionController_signExternalTransaction, _TransactionController_addMetadata, _TransactionController_updateGasProperties, _TransactionController_onBootCleanup, _TransactionController_failIncompleteTransactions, _TransactionController_processApproval, _TransactionController_approveTransaction, _TransactionController_publishTransaction, _TransactionController_rejectTransaction, _TransactionController_trimTransactionsForState, _TransactionController_isFinalState, _TransactionController_isLocalFinalState, _TransactionController_requestApproval, _TransactionController_getTransaction, _TransactionController_getTransactionOrThrow, _TransactionController_getApprovalId, _TransactionController_isTransactionCompleted, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_onIncomingTransactions, _TransactionController_generateDappSuggestedGasFees, _TransactionController_addExternalTransaction, _TransactionController_markNonceDuplicatesDropped, _TransactionController_setTransactionStatusDropped, _TransactionController_getTransactionWithActionId, _TransactionController_waitForTransactionFinished, _TransactionController_updateTransactionMetaRSV, _TransactionController_getEIP1559Compatibility, _TransactionController_signTransaction, _TransactionController_onTransactionStatusChange, _TransactionController_getNonceTrackerTransactions, _TransactionController_onConfirmedTransaction, _TransactionController_updatePostBalance, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_publishTransactionForRetry, _TransactionController_isTransactionAlreadyConfirmedError, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateFirstTimeInteraction, _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;
16
+ var _TransactionController_instances, _TransactionController_afterAdd, _TransactionController_afterSign, _TransactionController_afterSimulate, _TransactionController_approvingTransactionIds, _TransactionController_beforeCheckPendingTransaction, _TransactionController_beforePublish, _TransactionController_beforeSign, _TransactionController_gasFeeFlows, _TransactionController_getAdditionalSignArguments, _TransactionController_getCurrentAccountEIP1559Compatibility, _TransactionController_getCurrentNetworkEIP1559Compatibility, _TransactionController_getExternalPendingTransactions, _TransactionController_getGasFeeEstimates, _TransactionController_getNetworkState, _TransactionController_getPermittedAccounts, _TransactionController_getSavedGasFees, _TransactionController_getSimulationConfig, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_internalEvents, _TransactionController_isAutomaticGasFeeUpdateEnabled, _TransactionController_isEIP7702GasFeeTokensEnabled, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isHistoryDisabled, _TransactionController_isSendFlowHistoryDisabled, _TransactionController_isSimulationEnabled, _TransactionController_isSwapsDisabled, _TransactionController_layer1GasFeeFlows, _TransactionController_methodDataHelper, _TransactionController_multichainTrackingHelper, _TransactionController_pendingTransactionOptions, _TransactionController_publicKeyEIP7702, _TransactionController_publish, _TransactionController_publishBatchHook, _TransactionController_securityProviderRequest, _TransactionController_sign, _TransactionController_signAbortCallbacks, _TransactionController_skipSimulationTransactionIds, _TransactionController_testGasFeeFlows, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_retryTransaction, _TransactionController_signExternalTransaction, _TransactionController_addMetadata, _TransactionController_updateGasProperties, _TransactionController_onBootCleanup, _TransactionController_failIncompleteTransactions, _TransactionController_processApproval, _TransactionController_approveTransaction, _TransactionController_publishTransaction, _TransactionController_rejectTransaction, _TransactionController_trimTransactionsForState, _TransactionController_isFinalState, _TransactionController_isLocalFinalState, _TransactionController_requestApproval, _TransactionController_getTransaction, _TransactionController_getTransactionOrThrow, _TransactionController_getApprovalId, _TransactionController_isTransactionCompleted, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_onIncomingTransactions, _TransactionController_generateDappSuggestedGasFees, _TransactionController_addExternalTransaction, _TransactionController_markNonceDuplicatesDropped, _TransactionController_setTransactionStatusDropped, _TransactionController_getTransactionWithActionId, _TransactionController_waitForTransactionFinished, _TransactionController_updateTransactionMetaRSV, _TransactionController_getEIP1559Compatibility, _TransactionController_signTransaction, _TransactionController_onTransactionStatusChange, _TransactionController_getNonceTrackerTransactions, _TransactionController_onConfirmedTransaction, _TransactionController_updatePostBalance, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_publishTransactionForRetry, _TransactionController_isTransactionAlreadyConfirmedError, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_onGasFeePollerTransactionBatchUpdate, _TransactionController_updateTransactionBatch, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate, _TransactionController_registerActionHandlers, _TransactionController_deleteTransaction, _TransactionController_isRejectError, _TransactionController_rejectTransactionAndThrow, _TransactionController_failTransaction, _TransactionController_runAfterSimulateHook;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.TransactionController = exports.ApprovalState = exports.SPEED_UP_RATE = exports.CANCEL_RATE = void 0;
19
- const next_1 = require("@metamask/base-controller/next");
19
+ const base_controller_1 = require("@metamask/base-controller");
20
20
  const controller_utils_1 = require("@metamask/controller-utils");
21
21
  const eth_query_1 = __importDefault(require("@metamask/eth-query"));
22
22
  const network_controller_1 = require("@metamask/network-controller");
@@ -28,7 +28,6 @@ const utils_1 = require("@metamask/utils");
28
28
  const events_1 = require("events");
29
29
  const lodash_1 = require("lodash");
30
30
  const uuid_1 = require("uuid");
31
- const accounts_api_1 = require("./api/accounts-api.cjs");
32
31
  const DefaultGasFeeFlow_1 = require("./gas-flows/DefaultGasFeeFlow.cjs");
33
32
  const LineaGasFeeFlow_1 = require("./gas-flows/LineaGasFeeFlow.cjs");
34
33
  const OptimismLayer1GasFeeFlow_1 = require("./gas-flows/OptimismLayer1GasFeeFlow.cjs");
@@ -49,6 +48,7 @@ const balance_changes_1 = require("./utils/balance-changes.cjs");
49
48
  const batch_1 = require("./utils/batch.cjs");
50
49
  const eip7702_1 = require("./utils/eip7702.cjs");
51
50
  const external_transactions_1 = require("./utils/external-transactions.cjs");
51
+ const first_time_interaction_1 = require("./utils/first-time-interaction.cjs");
52
52
  const gas_1 = require("./utils/gas.cjs");
53
53
  const gas_fee_tokens_1 = require("./utils/gas-fee-tokens.cjs");
54
54
  const gas_fees_1 = require("./utils/gas-fees.cjs");
@@ -70,31 +70,31 @@ const metadata = {
70
70
  transactions: {
71
71
  includeInStateLogs: true,
72
72
  persist: true,
73
- includeInDebugSnapshot: false,
73
+ anonymous: false,
74
74
  usedInUi: true,
75
75
  },
76
76
  transactionBatches: {
77
77
  includeInStateLogs: true,
78
78
  persist: true,
79
- includeInDebugSnapshot: false,
79
+ anonymous: false,
80
80
  usedInUi: true,
81
81
  },
82
82
  methodData: {
83
83
  includeInStateLogs: true,
84
84
  persist: true,
85
- includeInDebugSnapshot: false,
85
+ anonymous: false,
86
86
  usedInUi: true,
87
87
  },
88
88
  lastFetchedBlockNumbers: {
89
89
  includeInStateLogs: true,
90
90
  persist: true,
91
- includeInDebugSnapshot: false,
91
+ anonymous: false,
92
92
  usedInUi: false,
93
93
  },
94
94
  submitHistory: {
95
95
  includeInStateLogs: true,
96
96
  persist: true,
97
- includeInDebugSnapshot: false,
97
+ anonymous: false,
98
98
  usedInUi: false,
99
99
  },
100
100
  };
@@ -137,7 +137,7 @@ function getDefaultTransactionControllerState() {
137
137
  /**
138
138
  * Controller responsible for submitting and managing transactions.
139
139
  */
140
- class TransactionController extends next_1.BaseController {
140
+ class TransactionController extends base_controller_1.BaseController {
141
141
  /**
142
142
  * Constructs a TransactionController.
143
143
  *
@@ -199,7 +199,7 @@ class TransactionController extends next_1.BaseController {
199
199
  _TransactionController_checkForPendingTransactionAndStartPolling.set(this, () => {
200
200
  __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").checkForPendingTransactionAndStartPolling();
201
201
  });
202
- this.messenger = messenger;
202
+ this.messagingSystem = messenger;
203
203
  __classPrivateFieldSet(this, _TransactionController_afterAdd, hooks?.afterAdd ?? (() => Promise.resolve({})), "f");
204
204
  __classPrivateFieldSet(this, _TransactionController_afterSign, hooks?.afterSign ?? (() => true), "f");
205
205
  __classPrivateFieldSet(this, _TransactionController_afterSimulate, hooks?.afterSimulate ?? (() => Promise.resolve({})), "f");
@@ -235,19 +235,19 @@ class TransactionController extends next_1.BaseController {
235
235
  __classPrivateFieldSet(this, _TransactionController_trace, trace ?? ((_request, fn) => fn?.()), "f");
236
236
  __classPrivateFieldSet(this, _TransactionController_transactionHistoryLimit, transactionHistoryLimit, "f");
237
237
  const findNetworkClientIdByChainId = (chainId) => {
238
- return this.messenger.call(`NetworkController:findNetworkClientIdByChainId`, chainId);
238
+ return this.messagingSystem.call(`NetworkController:findNetworkClientIdByChainId`, chainId);
239
239
  };
240
240
  __classPrivateFieldSet(this, _TransactionController_multichainTrackingHelper, new MultichainTrackingHelper_1.MultichainTrackingHelper({
241
241
  findNetworkClientIdByChainId,
242
242
  getNetworkClientById: ((networkClientId) => {
243
- return this.messenger.call(`NetworkController:getNetworkClientById`, networkClientId);
243
+ return this.messagingSystem.call(`NetworkController:getNetworkClientById`, networkClientId);
244
244
  }),
245
245
  getNetworkClientRegistry,
246
246
  removePendingTransactionTrackerListeners: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_removePendingTransactionTrackerListeners).bind(this),
247
247
  createNonceTracker: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_createNonceTracker).bind(this),
248
248
  createPendingTransactionTracker: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_createPendingTransactionTracker).bind(this),
249
249
  onNetworkStateChange: (listener) => {
250
- this.messenger.subscribe('NetworkController:stateChange', listener);
250
+ this.messagingSystem.subscribe('NetworkController:stateChange', listener);
251
251
  },
252
252
  }), "f");
253
253
  __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").initialize();
@@ -261,9 +261,9 @@ class TransactionController extends next_1.BaseController {
261
261
  getTransactions: () => this.state.transactions,
262
262
  getTransactionBatches: () => this.state.transactionBatches,
263
263
  layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
264
- messenger: this.messenger,
264
+ messenger: this.messagingSystem,
265
265
  onStateChange: (listener) => {
266
- this.messenger.subscribe('TransactionController:stateChange', listener);
266
+ this.messagingSystem.subscribe('TransactionController:stateChange', listener);
267
267
  },
268
268
  });
269
269
  gasFeePoller.hub.on('transaction-updated', __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onGasFeePollerTransactionUpdate).bind(this));
@@ -283,7 +283,7 @@ class TransactionController extends next_1.BaseController {
283
283
  getLocalTransactions: () => this.state.transactions,
284
284
  includeTokenTransfers: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").includeTokenTransfers,
285
285
  isEnabled: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").isEnabled,
286
- messenger: this.messenger,
286
+ messenger: this.messagingSystem,
287
287
  remoteTransactionSource: new AccountsApiRemoteTransactionSource_1.AccountsApiRemoteTransactionSource(),
288
288
  trimTransactions: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).bind(this),
289
289
  updateTransactions: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").updateTransactions,
@@ -291,11 +291,11 @@ class TransactionController extends next_1.BaseController {
291
291
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addIncomingTransactionHelperListeners).call(this, __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f"));
292
292
  // when transactionsController state changes
293
293
  // check for pending transactions and start polling if there are any
294
- this.messenger.subscribe('TransactionController:stateChange', __classPrivateFieldGet(this, _TransactionController_checkForPendingTransactionAndStartPolling, "f"));
294
+ this.messagingSystem.subscribe('TransactionController:stateChange', __classPrivateFieldGet(this, _TransactionController_checkForPendingTransactionAndStartPolling, "f"));
295
295
  new ResimulateHelper_1.ResimulateHelper({
296
296
  simulateTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSimulationData).bind(this),
297
297
  onTransactionsUpdate: (listener) => {
298
- this.messenger.subscribe('TransactionController:stateChange', listener, (controllerState) => controllerState.transactions);
298
+ this.messagingSystem.subscribe('TransactionController:stateChange', listener, (controllerState) => controllerState.transactions);
299
299
  },
300
300
  getTransactions: () => this.state.transactions,
301
301
  });
@@ -326,7 +326,7 @@ class TransactionController extends next_1.BaseController {
326
326
  * @returns Result object containing the generated batch ID.
327
327
  */
328
328
  async addTransactionBatch(request) {
329
- const { blockTracker } = this.messenger.call(`NetworkController:getNetworkClientById`, request.networkClientId);
329
+ const { blockTracker } = this.messagingSystem.call(`NetworkController:getNetworkClientById`, request.networkClientId);
330
330
  return await (0, batch_1.addTransactionBatch)({
331
331
  addTransaction: this.addTransaction.bind(this),
332
332
  getChainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).bind(this),
@@ -342,7 +342,7 @@ class TransactionController extends next_1.BaseController {
342
342
  }),
343
343
  getTransaction: (transactionId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId),
344
344
  isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f"),
345
- messenger: this.messenger,
345
+ messenger: this.messagingSystem,
346
346
  publishBatchHook: __classPrivateFieldGet(this, _TransactionController_publishBatchHook, "f"),
347
347
  publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
348
348
  publishTransaction: (ethQuery, transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, transactionMeta),
@@ -362,36 +362,17 @@ class TransactionController extends next_1.BaseController {
362
362
  return (0, batch_1.isAtomicBatchSupported)({
363
363
  ...request,
364
364
  getEthQuery: (chainId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { chainId }),
365
- messenger: this.messenger,
365
+ messenger: this.messagingSystem,
366
366
  publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
367
367
  });
368
368
  }
369
369
  /**
370
370
  * Add a new unapproved transaction to state. Parameters will be validated, a
371
- * unique transaction id will be generated, and gas and gasPrice will be calculated
372
- * if not provided. If A `<tx.id>:unapproved` hub event will be emitted once added.
371
+ * unique transaction ID will be generated, and `gas` and `gasPrice` will be calculated
372
+ * if not provided. A `<tx.id>:unapproved` hub event will be emitted once added.
373
373
  *
374
374
  * @param txParams - Standard parameters for an Ethereum transaction.
375
375
  * @param options - Additional options to control how the transaction is added.
376
- * @param options.actionId - Unique ID to prevent duplicate requests.
377
- * @param options.assetsFiatValues - The fiat values of the assets being sent and received.
378
- * @param options.batchId - A custom ID for the batch this transaction belongs to.
379
- * @param options.deviceConfirmedOn - An enum to indicate what device confirmed the transaction.
380
- * @param options.disableGasBuffer - Whether to disable the gas estimation buffer.
381
- * @param options.isGasFeeIncluded - Whether MetaMask will be compensated for the gas fee by the transaction.
382
- * @param options.method - RPC method that requested the transaction.
383
- * @param options.nestedTransactions - Params for any nested transactions encoded in the data.
384
- * @param options.origin - The origin of the transaction request, such as a dApp hostname.
385
- * @param options.publishHook - Custom logic to publish the transaction.
386
- * @param options.requireApproval - Whether the transaction requires approval by the user, defaults to true unless explicitly disabled.
387
- * @param options.securityAlertResponse - Response from security validator.
388
- * @param options.sendFlowHistory - The sendFlowHistory entries to add.
389
- * @param options.type - Type of transaction to add, such as 'cancel' or 'swap'.
390
- * @param options.swaps - Options for swaps transactions.
391
- * @param options.swaps.hasApproveTx - Whether the transaction has an approval transaction.
392
- * @param options.swaps.meta - Metadata for swap transaction.
393
- * @param options.networkClientId - The id of the network client for this transaction.
394
- * @param options.traceContext - The parent context for any new traces.
395
376
  * @returns Object containing a promise resolving to the transaction hash if approved.
396
377
  */
397
378
  async addTransaction(txParams, options) {
@@ -490,7 +471,7 @@ class TransactionController extends next_1.BaseController {
490
471
  addedTransactionMeta = (0, swaps_1.updateSwapsTransaction)(addedTransactionMeta, transactionType, swaps, {
491
472
  isSwapsDisabled: __classPrivateFieldGet(this, _TransactionController_isSwapsDisabled, "f"),
492
473
  cancelTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_rejectTransaction).bind(this),
493
- messenger: this.messenger,
474
+ messenger: this.messagingSystem,
494
475
  });
495
476
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addMetadata).call(this, addedTransactionMeta);
496
477
  if (requireApproval !== false) {
@@ -500,8 +481,14 @@ class TransactionController extends next_1.BaseController {
500
481
  (0, logger_1.projectLogger)('Error while updating simulation data', error);
501
482
  throw error;
502
483
  });
503
- __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateFirstTimeInteraction).call(this, addedTransactionMeta, {
484
+ (0, first_time_interaction_1.updateFirstTimeInteraction)({
485
+ existingTransactions: this.state.transactions,
486
+ getTransaction: (transactionId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId),
487
+ isFirstTimeInteractionEnabled: __classPrivateFieldGet(this, _TransactionController_isFirstTimeInteractionEnabled, "f"),
488
+ trace: __classPrivateFieldGet(this, _TransactionController_trace, "f"),
504
489
  traceContext,
490
+ transactionMeta: addedTransactionMeta,
491
+ updateTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).bind(this),
505
492
  }).catch((error) => {
506
493
  (0, logger_1.projectLogger)('Error while updating first interaction properties', error);
507
494
  });
@@ -509,7 +496,7 @@ class TransactionController extends next_1.BaseController {
509
496
  else {
510
497
  (0, logger_1.projectLogger)('Skipping simulation & first interaction update as approval not required');
511
498
  }
512
- this.messenger.publish(`${controllerName}:unapprovedTransactionAdded`, addedTransactionMeta);
499
+ this.messagingSystem.publish(`${controllerName}:unapprovedTransactionAdded`, addedTransactionMeta);
513
500
  }
514
501
  return {
515
502
  result: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_processApproval).call(this, addedTransactionMeta, {
@@ -562,7 +549,7 @@ class TransactionController extends next_1.BaseController {
562
549
  txParams.value = '0x0';
563
550
  },
564
551
  afterSubmit: (newTransactionMeta) => {
565
- this.messenger.publish(`${controllerName}:transactionFinished`, newTransactionMeta);
552
+ this.messagingSystem.publish(`${controllerName}:transactionFinished`, newTransactionMeta);
566
553
  __classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${newTransactionMeta.id}:finished`, newTransactionMeta);
567
554
  },
568
555
  });
@@ -586,7 +573,7 @@ class TransactionController extends next_1.BaseController {
586
573
  transactionId,
587
574
  transactionType: types_1.TransactionType.retry,
588
575
  afterSubmit: (newTransactionMeta) => {
589
- this.messenger.publish(`${controllerName}:speedupTransactionAdded`, newTransactionMeta);
576
+ this.messagingSystem.publish(`${controllerName}:speedupTransactionAdded`, newTransactionMeta);
590
577
  },
591
578
  });
592
579
  }
@@ -609,7 +596,7 @@ class TransactionController extends next_1.BaseController {
609
596
  ignoreDelegationSignatures,
610
597
  isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
611
598
  getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
612
- messenger: this.messenger,
599
+ messenger: this.messagingSystem,
613
600
  txParams: transaction,
614
601
  });
615
602
  return { gas: estimatedGas, simulationFails };
@@ -631,7 +618,7 @@ class TransactionController extends next_1.BaseController {
631
618
  ethQuery,
632
619
  isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
633
620
  getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
634
- messenger: this.messenger,
621
+ messenger: this.messagingSystem,
635
622
  txParams: transaction,
636
623
  });
637
624
  const gas = (0, gas_1.addGasBuffer)(estimatedGas, blockGasLimit, multiplier);
@@ -733,7 +720,7 @@ class TransactionController extends next_1.BaseController {
733
720
  (0, logger_1.projectLogger)('Error while updating post balance', error);
734
721
  throw error;
735
722
  });
736
- this.messenger.publish(`${controllerName}:transactionConfirmed`, updatedTransactionMeta);
723
+ this.messagingSystem.publish(`${controllerName}:transactionConfirmed`, updatedTransactionMeta);
737
724
  }
738
725
  catch (error) {
739
726
  console.error('Failed to confirm external transaction', error);
@@ -930,7 +917,7 @@ class TransactionController extends next_1.BaseController {
930
917
  }
931
918
  await (0, layer1_gas_fee_flow_1.updateTransactionLayer1GasFee)({
932
919
  layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
933
- messenger: this.messenger,
920
+ messenger: this.messagingSystem,
934
921
  provider,
935
922
  transactionMeta: updatedTransaction,
936
923
  });
@@ -1058,7 +1045,7 @@ class TransactionController extends next_1.BaseController {
1058
1045
  this.updateTransaction(updatedTransactionMeta, `${controllerName}:updateCustodialTransaction - Custodial transaction updated`);
1059
1046
  if (status &&
1060
1047
  [types_1.TransactionStatus.submitted, types_1.TransactionStatus.failed].includes(status)) {
1061
- this.messenger.publish(`${controllerName}:transactionFinished`, updatedTransactionMeta);
1048
+ this.messagingSystem.publish(`${controllerName}:transactionFinished`, updatedTransactionMeta);
1062
1049
  __classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${updatedTransactionMeta.id}:finished`, updatedTransactionMeta);
1063
1050
  }
1064
1051
  return updatedTransactionMeta;
@@ -1155,7 +1142,7 @@ class TransactionController extends next_1.BaseController {
1155
1142
  networkClientId,
1156
1143
  };
1157
1144
  // Guaranteed as the default gas fee flow matches all transactions.
1158
- const gasFeeFlow = (0, gas_flow_1.getGasFeeFlow)(transactionMeta, __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"), this.messenger);
1145
+ const gasFeeFlow = (0, gas_flow_1.getGasFeeFlow)(transactionMeta, __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"), this.messagingSystem);
1159
1146
  const ethQuery = new eth_query_1.default(provider);
1160
1147
  const gasFeeControllerData = await __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f").call(this, {
1161
1148
  networkClientId,
@@ -1163,7 +1150,7 @@ class TransactionController extends next_1.BaseController {
1163
1150
  return gasFeeFlow.getGasFees({
1164
1151
  ethQuery,
1165
1152
  gasFeeControllerData,
1166
- messenger: this.messenger,
1153
+ messenger: this.messagingSystem,
1167
1154
  transactionMeta,
1168
1155
  });
1169
1156
  }
@@ -1183,7 +1170,7 @@ class TransactionController extends next_1.BaseController {
1183
1170
  });
1184
1171
  return await (0, layer1_gas_fee_flow_1.getTransactionLayer1GasFee)({
1185
1172
  layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
1186
- messenger: this.messenger,
1173
+ messenger: this.messagingSystem,
1187
1174
  provider,
1188
1175
  transactionMeta: {
1189
1176
  txParams: transactionParams,
@@ -1373,11 +1360,11 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1373
1360
  newTransactionMeta.hash = hash;
1374
1361
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addMetadata).call(this, newTransactionMeta);
1375
1362
  // speedUpTransaction has no approval request, so we assume the user has already approved the transaction
1376
- this.messenger.publish(`${controllerName}:transactionApproved`, {
1363
+ this.messagingSystem.publish(`${controllerName}:transactionApproved`, {
1377
1364
  transactionMeta: newTransactionMeta,
1378
1365
  actionId,
1379
1366
  });
1380
- this.messenger.publish(`${controllerName}:transactionSubmitted`, {
1367
+ this.messagingSystem.publish(`${controllerName}:transactionSubmitted`, {
1381
1368
  transactionMeta: newTransactionMeta,
1382
1369
  actionId,
1383
1370
  });
@@ -1424,12 +1411,12 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1424
1411
  gasFeeFlows: __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"),
1425
1412
  getGasFeeEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
1426
1413
  getSavedGasFees: __classPrivateFieldGet(this, _TransactionController_getSavedGasFees, "f").bind(this),
1427
- messenger: this.messenger,
1414
+ messenger: this.messagingSystem,
1428
1415
  txMeta: transactionMeta,
1429
1416
  }));
1430
1417
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Update Layer 1 Gas Fees', parentContext: traceContext }, async () => await (0, layer1_gas_fee_flow_1.updateTransactionLayer1GasFee)({
1431
1418
  layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
1432
- messenger: this.messenger,
1419
+ messenger: this.messagingSystem,
1433
1420
  provider,
1434
1421
  transactionMeta,
1435
1422
  }));
@@ -1474,7 +1461,7 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1474
1461
  resultCallbacks.success();
1475
1462
  }
1476
1463
  const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
1477
- this.messenger.publish(`${controllerName}:transactionApproved`, {
1464
+ this.messagingSystem.publish(`${controllerName}:transactionApproved`, {
1478
1465
  transactionMeta: updatedTransactionMeta,
1479
1466
  actionId,
1480
1467
  });
@@ -1562,7 +1549,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1562
1549
  const rawTx = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Sign', parentContext: traceContext }, () => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signTransaction).call(this, transactionMeta));
1563
1550
  if (!(await __classPrivateFieldGet(this, _TransactionController_beforePublish, "f").call(this, transactionMeta))) {
1564
1551
  (0, logger_1.projectLogger)('Skipping publishing transaction based on hook');
1565
- this.messenger.publish(`${controllerName}:transactionPublishingSkipped`, transactionMeta);
1552
+ this.messagingSystem.publish(`${controllerName}:transactionPublishingSkipped`, transactionMeta);
1566
1553
  return ApprovalState.SkippedViaBeforePublishHook;
1567
1554
  }
1568
1555
  if (!rawTx && !transactionMeta.isExternalSign) {
@@ -1612,10 +1599,10 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1612
1599
  (0, logger_1.projectLogger)('Updated pre-transaction balance', preTxBalance);
1613
1600
  }
1614
1601
  });
1615
- this.messenger.publish(`${controllerName}:transactionSubmitted`, {
1602
+ this.messagingSystem.publish(`${controllerName}:transactionSubmitted`, {
1616
1603
  transactionMeta,
1617
1604
  });
1618
- this.messenger.publish(`${controllerName}:transactionFinished`, transactionMeta);
1605
+ this.messagingSystem.publish(`${controllerName}:transactionFinished`, transactionMeta);
1619
1606
  __classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionId}:finished`, transactionMeta);
1620
1607
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, transactionMeta);
1621
1608
  return ApprovalState.Approved;
@@ -1649,9 +1636,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1649
1636
  status: types_1.TransactionStatus.rejected,
1650
1637
  error: (0, utils_2.normalizeTxError)(error ?? rpc_errors_1.providerErrors.userRejectedRequest()),
1651
1638
  };
1652
- this.messenger.publish(`${controllerName}:transactionFinished`, updatedTransactionMeta);
1639
+ this.messagingSystem.publish(`${controllerName}:transactionFinished`, updatedTransactionMeta);
1653
1640
  __classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionMeta.id}:finished`, updatedTransactionMeta);
1654
- this.messenger.publish(`${controllerName}:transactionRejected`, {
1641
+ this.messagingSystem.publish(`${controllerName}:transactionRejected`, {
1655
1642
  transactionMeta: updatedTransactionMeta,
1656
1643
  actionId,
1657
1644
  });
@@ -1698,7 +1685,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1698
1685
  id,
1699
1686
  parentContext: traceContext,
1700
1687
  });
1701
- return (await this.messenger.call('ApprovalController:addRequest', {
1688
+ return (await this.messagingSystem.call('ApprovalController:addRequest', {
1702
1689
  id,
1703
1690
  origin: origin || controller_utils_1.ORIGIN_METAMASK,
1704
1691
  type,
@@ -1769,7 +1756,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1769
1756
  ]);
1770
1757
  (0, logger_1.projectLogger)('Added incoming transactions to state', finalTransactions.length, finalTransactions);
1771
1758
  });
1772
- this.messenger.publish(`${controllerName}:incomingTransactionsReceived`, finalTransactions);
1759
+ this.messagingSystem.publish(`${controllerName}:incomingTransactionsReceived`, finalTransactions);
1773
1760
  }, _TransactionController_generateDappSuggestedGasFees = function _TransactionController_generateDappSuggestedGasFees(txParams, origin) {
1774
1761
  if (!origin || origin === controller_utils_1.ORIGIN_METAMASK) {
1775
1762
  return undefined;
@@ -1851,7 +1838,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1851
1838
  ...transactionMeta,
1852
1839
  status: types_1.TransactionStatus.dropped,
1853
1840
  };
1854
- this.messenger.publish(`${controllerName}:transactionDropped`, {
1841
+ this.messagingSystem.publish(`${controllerName}:transactionDropped`, {
1855
1842
  transactionMeta: updatedTransactionMeta,
1856
1843
  });
1857
1844
  this.updateTransaction(updatedTransactionMeta, 'TransactionController#setTransactionStatusDropped - Transaction dropped');
@@ -1887,7 +1874,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1887
1874
  const { authorizationList, from } = txParams;
1888
1875
  const signedAuthorizationList = await (0, eip7702_1.signAuthorizationList)({
1889
1876
  authorizationList,
1890
- messenger: this.messenger,
1877
+ messenger: this.messagingSystem,
1891
1878
  transactionMeta,
1892
1879
  });
1893
1880
  if (signedAuthorizationList) {
@@ -1935,7 +1922,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1935
1922
  this.updateTransaction(transactionMetaWithRawTx, 'TransactionController#approveTransaction - RawTransaction added');
1936
1923
  return rawTx;
1937
1924
  }, _TransactionController_onTransactionStatusChange = function _TransactionController_onTransactionStatusChange(transactionMeta) {
1938
- this.messenger.publish(`${controllerName}:transactionStatusUpdated`, {
1925
+ this.messagingSystem.publish(`${controllerName}:transactionStatusUpdated`, {
1939
1926
  transactionMeta,
1940
1927
  });
1941
1928
  }, _TransactionController_getNonceTrackerTransactions = function _TransactionController_getNonceTrackerTransactions(statuses, address, chainId) {
@@ -1943,7 +1930,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1943
1930
  }, _TransactionController_onConfirmedTransaction = function _TransactionController_onConfirmedTransaction(transactionMeta) {
1944
1931
  (0, logger_1.projectLogger)('Processing confirmed transaction', transactionMeta.id);
1945
1932
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_markNonceDuplicatesDropped).call(this, transactionMeta.id);
1946
- this.messenger.publish(`${controllerName}:transactionConfirmed`, transactionMeta);
1933
+ this.messagingSystem.publish(`${controllerName}:transactionConfirmed`, transactionMeta);
1947
1934
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, transactionMeta);
1948
1935
  // Intentional given potential duration of process.
1949
1936
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updatePostBalance).call(this, transactionMeta).catch((error) => {
@@ -1962,7 +1949,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1962
1949
  getTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).bind(this),
1963
1950
  updateTransaction: this.updateTransaction.bind(this),
1964
1951
  });
1965
- this.messenger.publish(`${controllerName}:postTransactionBalanceUpdated`, {
1952
+ this.messagingSystem.publish(`${controllerName}:postTransactionBalanceUpdated`, {
1966
1953
  transactionMeta: updatedTransactionMeta,
1967
1954
  approvalTransactionMeta,
1968
1955
  });
@@ -1993,7 +1980,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1993
1980
  getGlobalLock: () => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").acquireNonceLockForChainIdKey({
1994
1981
  chainId,
1995
1982
  }),
1996
- messenger: this.messenger,
1983
+ messenger: this.messagingSystem,
1997
1984
  publishTransaction: (_ethQuery, transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, _ethQuery, transactionMeta, {
1998
1985
  skipSubmitHistory: true,
1999
1986
  }),
@@ -2082,48 +2069,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2082
2069
  });
2083
2070
  }
2084
2071
  return transactionMeta;
2085
- }, _TransactionController_updateFirstTimeInteraction = async function _TransactionController_updateFirstTimeInteraction(transactionMeta, { traceContext, } = {}) {
2086
- if (!__classPrivateFieldGet(this, _TransactionController_isFirstTimeInteractionEnabled, "f").call(this)) {
2087
- return;
2088
- }
2089
- const { chainId, id: transactionId, txParams: { to, from }, } = transactionMeta;
2090
- const request = {
2091
- chainId: (0, utils_1.hexToNumber)(chainId),
2092
- to: to,
2093
- from,
2094
- };
2095
- (0, validation_1.validateParamTo)(to);
2096
- const existingTransaction = this.state.transactions.find((tx) => tx.chainId === chainId &&
2097
- tx.txParams.from === from &&
2098
- tx.txParams.to === to &&
2099
- tx.id !== transactionId);
2100
- // Check if there is an existing transaction with the same from, to, and chainId
2101
- // else we continue to check the account address relationship from API
2102
- if (existingTransaction) {
2103
- return;
2104
- }
2105
- try {
2106
- const { count } = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Account Address Relationship', parentContext: traceContext }, () => (0, accounts_api_1.getAccountAddressRelationship)(request));
2107
- const isFirstTimeInteraction = count === undefined ? undefined : count === 0;
2108
- const finalTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
2109
- /* istanbul ignore if */
2110
- if (!finalTransactionMeta) {
2111
- (0, logger_1.projectLogger)('Cannot update first time interaction as transaction not found', transactionId);
2112
- return;
2113
- }
2114
- __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
2115
- transactionId,
2116
- note: 'TransactionController#updateFirstInteraction - Update first time interaction',
2117
- }, (txMeta) => {
2118
- txMeta.isFirstTimeInteraction = isFirstTimeInteraction;
2119
- });
2120
- (0, logger_1.projectLogger)('Updated first time interaction', transactionId, {
2121
- isFirstTimeInteraction,
2122
- });
2123
- }
2124
- catch (error) {
2125
- (0, logger_1.projectLogger)('Error fetching account address relationship, skipping first time interaction update', error);
2126
- }
2127
2072
  }, _TransactionController_updateSimulationData = async function _TransactionController_updateSimulationData(transactionMeta, { blockTime, traceContext, } = {}) {
2128
2073
  const { chainId, id: transactionId, nestedTransactions, networkClientId, simulationData: prevSimulationData, txParams, } = transactionMeta;
2129
2074
  let simulationData = {
@@ -2160,7 +2105,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2160
2105
  chainId,
2161
2106
  getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
2162
2107
  isEIP7702GasFeeTokensEnabled: __classPrivateFieldGet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, "f"),
2163
- messenger: this.messenger,
2108
+ messenger: this.messagingSystem,
2164
2109
  publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
2165
2110
  transactionMeta,
2166
2111
  });
@@ -2212,9 +2157,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2212
2157
  state.transactionBatches[index] = updated ?? batch;
2213
2158
  });
2214
2159
  }, _TransactionController_getSelectedAccount = function _TransactionController_getSelectedAccount() {
2215
- return this.messenger.call('AccountsController:getSelectedAccount');
2160
+ return this.messagingSystem.call('AccountsController:getSelectedAccount');
2216
2161
  }, _TransactionController_getInternalAccounts = function _TransactionController_getInternalAccounts() {
2217
- const state = this.messenger.call('AccountsController:getState');
2162
+ const state = this.messagingSystem.call('AccountsController:getState');
2218
2163
  return Object.values(state.internalAccounts?.accounts ?? {})
2219
2164
  .filter((account) => account.type === 'eip155:eoa')
2220
2165
  .map((account) => account.address);
@@ -2254,16 +2199,18 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2254
2199
  isCustomNetwork,
2255
2200
  isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
2256
2201
  getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
2257
- messenger: this.messenger,
2202
+ messenger: this.messagingSystem,
2258
2203
  txMeta: transactionMeta,
2259
2204
  });
2260
2205
  }, _TransactionController_registerActionHandlers = function _TransactionController_registerActionHandlers() {
2261
- this.messenger.registerActionHandler(`${controllerName}:confirmExternalTransaction`, this.confirmExternalTransaction.bind(this));
2262
- this.messenger.registerActionHandler(`${controllerName}:estimateGas`, this.estimateGas.bind(this));
2263
- this.messenger.registerActionHandler(`${controllerName}:getNonceLock`, this.getNonceLock.bind(this));
2264
- this.messenger.registerActionHandler(`${controllerName}:getTransactions`, this.getTransactions.bind(this));
2265
- this.messenger.registerActionHandler(`${controllerName}:updateCustodialTransaction`, this.updateCustodialTransaction.bind(this));
2266
- this.messenger.registerActionHandler(`${controllerName}:updateTransaction`, this.updateTransaction.bind(this));
2206
+ this.messagingSystem.registerActionHandler(`${controllerName}:addTransaction`, this.addTransaction.bind(this));
2207
+ this.messagingSystem.registerActionHandler(`${controllerName}:addTransactionBatch`, this.addTransactionBatch.bind(this));
2208
+ this.messagingSystem.registerActionHandler(`${controllerName}:confirmExternalTransaction`, this.confirmExternalTransaction.bind(this));
2209
+ this.messagingSystem.registerActionHandler(`${controllerName}:estimateGas`, this.estimateGas.bind(this));
2210
+ this.messagingSystem.registerActionHandler(`${controllerName}:getNonceLock`, this.getNonceLock.bind(this));
2211
+ this.messagingSystem.registerActionHandler(`${controllerName}:getTransactions`, this.getTransactions.bind(this));
2212
+ this.messagingSystem.registerActionHandler(`${controllerName}:updateCustodialTransaction`, this.updateCustodialTransaction.bind(this));
2213
+ this.messagingSystem.registerActionHandler(`${controllerName}:updateTransaction`, this.updateTransaction.bind(this));
2267
2214
  }, _TransactionController_deleteTransaction = function _TransactionController_deleteTransaction(transactionId) {
2268
2215
  this.update((state) => {
2269
2216
  const transactions = state.transactions.filter(({ id }) => id !== transactionId);
@@ -2303,13 +2250,13 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2303
2250
  error: (0, utils_2.normalizeTxError)(error),
2304
2251
  };
2305
2252
  }
2306
- this.messenger.publish(`${controllerName}:transactionFailed`, {
2253
+ this.messagingSystem.publish(`${controllerName}:transactionFailed`, {
2307
2254
  actionId,
2308
2255
  error: error.message,
2309
2256
  transactionMeta: newTransactionMeta,
2310
2257
  });
2311
2258
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, newTransactionMeta);
2312
- this.messenger.publish(`${controllerName}:transactionFinished`, newTransactionMeta);
2259
+ this.messagingSystem.publish(`${controllerName}:transactionFinished`, newTransactionMeta);
2313
2260
  __classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionMeta.id}:finished`, newTransactionMeta);
2314
2261
  }, _TransactionController_runAfterSimulateHook = async function _TransactionController_runAfterSimulateHook(transactionMeta) {
2315
2262
  (0, logger_1.projectLogger)('Calling afterSimulate hook', transactionMeta);