@metamask-previews/transaction-controller 62.7.0-preview-8a0c757a → 62.7.0-preview-e776a73

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 (46) hide show
  1. package/CHANGELOG.md +7 -2
  2. package/dist/TransactionController.cjs +24 -112
  3. package/dist/TransactionController.cjs.map +1 -1
  4. package/dist/TransactionController.d.cts +12 -13
  5. package/dist/TransactionController.d.cts.map +1 -1
  6. package/dist/TransactionController.d.mts +12 -13
  7. package/dist/TransactionController.d.mts.map +1 -1
  8. package/dist/TransactionController.mjs +24 -112
  9. package/dist/TransactionController.mjs.map +1 -1
  10. package/dist/helpers/PendingTransactionTracker.cjs +37 -27
  11. package/dist/helpers/PendingTransactionTracker.cjs.map +1 -1
  12. package/dist/helpers/PendingTransactionTracker.d.cts.map +1 -1
  13. package/dist/helpers/PendingTransactionTracker.d.mts.map +1 -1
  14. package/dist/helpers/PendingTransactionTracker.mjs +38 -28
  15. package/dist/helpers/PendingTransactionTracker.mjs.map +1 -1
  16. package/dist/index.cjs +1 -4
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.d.cts +0 -1
  19. package/dist/index.d.cts.map +1 -1
  20. package/dist/index.d.mts +0 -1
  21. package/dist/index.d.mts.map +1 -1
  22. package/dist/index.mjs +0 -1
  23. package/dist/index.mjs.map +1 -1
  24. package/dist/types.cjs.map +1 -1
  25. package/dist/types.d.cts +5 -4
  26. package/dist/types.d.cts.map +1 -1
  27. package/dist/types.d.mts +5 -4
  28. package/dist/types.d.mts.map +1 -1
  29. package/dist/types.mjs.map +1 -1
  30. package/dist/utils/feature-flags.cjs +4 -1
  31. package/dist/utils/feature-flags.cjs.map +1 -1
  32. package/dist/utils/feature-flags.d.cts +5 -0
  33. package/dist/utils/feature-flags.d.cts.map +1 -1
  34. package/dist/utils/feature-flags.d.mts +5 -0
  35. package/dist/utils/feature-flags.d.mts.map +1 -1
  36. package/dist/utils/feature-flags.mjs +4 -1
  37. package/dist/utils/feature-flags.mjs.map +1 -1
  38. package/package.json +4 -4
  39. package/dist/utils/history.cjs +0 -164
  40. package/dist/utils/history.cjs.map +0 -1
  41. package/dist/utils/history.d.cts +0 -29
  42. package/dist/utils/history.d.cts.map +0 -1
  43. package/dist/utils/history.d.mts +0 -29
  44. package/dist/utils/history.d.mts.map +0 -1
  45. package/dist/utils/history.mjs +0 -164
  46. package/dist/utils/history.mjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -7,9 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
- ### Added
10
+ ### Changed
11
11
 
12
- - Add intent based transaction support ([#6547](https://github.com/MetaMask/core/pull/6547))
12
+ - Update transaction timeout to check time since submission or when transaction was last seen on network ([#7464](https://github.com/MetaMask/core/pull/7464))
13
+ - Uses `blockTime` from `acceleratedPolling` feature flag.
14
+ - Deprecate `history` and `sendFlowHistory` properties from `TransactionMeta` and `TransactionController` options ([#7326](https://github.com/MetaMask/core/pull/7326))
15
+ - Bump `@metamask/remote-feature-flag-controller` from `^3.0.0` to `^3.1.0` ([#7519](https://github.com/MetaMask/core/pull/7519))
16
+ - Bump `@metamask/network-controller` from `^27.0.0` to `^27.1.0` ([#7534](https://github.com/MetaMask/core/pull/7534))
17
+ - Bump `@metamask/controller-utils` from `^11.16.0` to `^11.17.0` ([#7534](https://github.com/MetaMask/core/pull/7534))
13
18
 
14
19
  ### Fixed
15
20
 
@@ -13,7 +13,7 @@ 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_isTimeoutEnabled, _TransactionController_layer1GasFeeFlows, _TransactionController_methodDataHelper, _TransactionController_multichainTrackingHelper, _TransactionController_pendingTransactionOptions, _TransactionController_publicKeyEIP7702, _TransactionController_publish, _TransactionController_publishBatchHook, _TransactionController_securityProviderRequest, _TransactionController_sign, _TransactionController_signAbortCallbacks, _TransactionController_skipSimulationTransactionIds, _TransactionController_testGasFeeFlows, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_retryTransaction, _TransactionController_signExternalTransaction, _TransactionController_addMetadata, _TransactionController_updateGasProperties, _TransactionController_onBootCleanup, _TransactionController_failIncompleteTransactions, _TransactionController_processApproval, _TransactionController_approveTransaction, _TransactionController_publishTransaction, _TransactionController_rejectTransaction, _TransactionController_trimTransactionsForState, _TransactionController_isFinalState, _TransactionController_isLocalFinalState, _TransactionController_requestApproval, _TransactionController_getTransaction, _TransactionController_getTransactionOrThrow, _TransactionController_getApprovalId, _TransactionController_isTransactionCompleted, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_onIncomingTransactions, _TransactionController_generateDappSuggestedGasFees, _TransactionController_addExternalTransaction, _TransactionController_markNonceDuplicatesDropped, _TransactionController_setTransactionStatusDropped, _TransactionController_getTransactionWithActionId, _TransactionController_waitForTransactionFinished, _TransactionController_updateTransactionMetaRSV, _TransactionController_getEIP1559Compatibility, _TransactionController_signTransaction, _TransactionController_onTransactionStatusChange, _TransactionController_getNonceTrackerTransactions, _TransactionController_onConfirmedTransaction, _TransactionController_updatePostBalance, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_publishTransactionForRetry, _TransactionController_isTransactionAlreadyConfirmedError, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_onGasFeePollerTransactionBatchUpdate, _TransactionController_updateTransactionBatch, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate, _TransactionController_registerActionHandlers, _TransactionController_deleteTransaction, _TransactionController_isRejectError, _TransactionController_rejectTransactionAndThrow, _TransactionController_failTransaction, _TransactionController_runAfterSimulateHook, _TransactionController_defaultPublishHook, _TransactionController_getGasFeeTokens, _TransactionController_getGasFeeTokensAction;
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_isSimulationEnabled, _TransactionController_isSwapsDisabled, _TransactionController_isTimeoutEnabled, _TransactionController_layer1GasFeeFlows, _TransactionController_methodDataHelper, _TransactionController_multichainTrackingHelper, _TransactionController_pendingTransactionOptions, _TransactionController_publicKeyEIP7702, _TransactionController_publish, _TransactionController_publishBatchHook, _TransactionController_securityProviderRequest, _TransactionController_sign, _TransactionController_signAbortCallbacks, _TransactionController_skipSimulationTransactionIds, _TransactionController_testGasFeeFlows, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_retryTransaction, _TransactionController_signExternalTransaction, _TransactionController_addMetadata, _TransactionController_updateGasProperties, _TransactionController_onBootCleanup, _TransactionController_failIncompleteTransactions, _TransactionController_processApproval, _TransactionController_approveTransaction, _TransactionController_publishTransaction, _TransactionController_rejectTransaction, _TransactionController_trimTransactionsForState, _TransactionController_isFinalState, _TransactionController_isLocalFinalState, _TransactionController_requestApproval, _TransactionController_getTransaction, _TransactionController_getTransactionOrThrow, _TransactionController_getApprovalId, _TransactionController_isTransactionCompleted, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_onIncomingTransactions, _TransactionController_generateDappSuggestedGasFees, _TransactionController_addExternalTransaction, _TransactionController_markNonceDuplicatesDropped, _TransactionController_setTransactionStatusDropped, _TransactionController_getTransactionWithActionId, _TransactionController_waitForTransactionFinished, _TransactionController_updateTransactionMetaRSV, _TransactionController_getEIP1559Compatibility, _TransactionController_signTransaction, _TransactionController_onTransactionStatusChange, _TransactionController_getNonceTrackerTransactions, _TransactionController_onConfirmedTransaction, _TransactionController_updatePostBalance, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_publishTransactionForRetry, _TransactionController_isTransactionAlreadyConfirmedError, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_onGasFeePollerTransactionBatchUpdate, _TransactionController_updateTransactionBatch, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate, _TransactionController_registerActionHandlers, _TransactionController_deleteTransaction, _TransactionController_isRejectError, _TransactionController_rejectTransactionAndThrow, _TransactionController_failTransaction, _TransactionController_runAfterSimulateHook, _TransactionController_defaultPublishHook, _TransactionController_getGasFeeTokens, _TransactionController_getGasFeeTokensAction;
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");
@@ -53,7 +53,6 @@ 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");
55
55
  const gas_flow_1 = require("./utils/gas-flow.cjs");
56
- const history_1 = require("./utils/history.cjs");
57
56
  const layer1_gas_fee_flow_1 = require("./utils/layer1-gas-fee-flow.cjs");
58
57
  const nonce_1 = require("./utils/nonce.cjs");
59
58
  const prepare_1 = require("./utils/prepare.cjs");
@@ -144,7 +143,7 @@ class TransactionController extends base_controller_1.BaseController {
144
143
  * @param options - The controller options.
145
144
  */
146
145
  constructor(options) {
147
- const { disableHistory, disableSendFlowHistory, disableSwaps, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getExternalPendingTransactions, getGasFeeEstimates, getNetworkClientRegistry, getNetworkState, getPermittedAccounts, getSavedGasFees, getSimulationConfig, hooks, incomingTransactions = {}, isAutomaticGasFeeUpdateEnabled, isEIP7702GasFeeTokensEnabled, isFirstTimeInteractionEnabled, isSimulationEnabled, messenger, pendingTransactions = {}, publicKeyEIP7702, securityProviderRequest, sign, state, testGasFeeFlows, trace, transactionHistoryLimit = 40, } = options;
146
+ const { disableSwaps, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getExternalPendingTransactions, getGasFeeEstimates, getNetworkClientRegistry, getNetworkState, getPermittedAccounts, getSavedGasFees, getSimulationConfig, hooks, incomingTransactions = {}, isAutomaticGasFeeUpdateEnabled, isEIP7702GasFeeTokensEnabled, isFirstTimeInteractionEnabled, isSimulationEnabled, messenger, pendingTransactions = {}, publicKeyEIP7702, securityProviderRequest, sign, state, testGasFeeFlows, trace, transactionHistoryLimit = 40, } = options;
148
147
  super({
149
148
  name: controllerName,
150
149
  metadata,
@@ -178,8 +177,6 @@ class TransactionController extends base_controller_1.BaseController {
178
177
  _TransactionController_isAutomaticGasFeeUpdateEnabled.set(this, void 0);
179
178
  _TransactionController_isEIP7702GasFeeTokensEnabled.set(this, void 0);
180
179
  _TransactionController_isFirstTimeInteractionEnabled.set(this, void 0);
181
- _TransactionController_isHistoryDisabled.set(this, void 0);
182
- _TransactionController_isSendFlowHistoryDisabled.set(this, void 0);
183
180
  _TransactionController_isSimulationEnabled.set(this, void 0);
184
181
  _TransactionController_isSwapsDisabled.set(this, void 0);
185
182
  _TransactionController_isTimeoutEnabled.set(this, void 0);
@@ -231,8 +228,6 @@ class TransactionController extends base_controller_1.BaseController {
231
228
  __classPrivateFieldSet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, isEIP7702GasFeeTokensEnabled ??
232
229
  (() => Promise.resolve(false)), "f");
233
230
  __classPrivateFieldSet(this, _TransactionController_isFirstTimeInteractionEnabled, isFirstTimeInteractionEnabled ?? (() => true), "f");
234
- __classPrivateFieldSet(this, _TransactionController_isHistoryDisabled, disableHistory ?? false, "f");
235
- __classPrivateFieldSet(this, _TransactionController_isSendFlowHistoryDisabled, disableSendFlowHistory ?? false, "f");
236
231
  __classPrivateFieldSet(this, _TransactionController_isSimulationEnabled, isSimulationEnabled ?? (() => true), "f");
237
232
  __classPrivateFieldSet(this, _TransactionController_isSwapsDisabled, disableSwaps ?? false, "f");
238
233
  __classPrivateFieldSet(this, _TransactionController_isTimeoutEnabled, hooks?.isTimeoutEnabled ?? (() => true), "f");
@@ -391,7 +386,7 @@ class TransactionController extends base_controller_1.BaseController {
391
386
  */
392
387
  async addTransaction(txParams, options) {
393
388
  (0, logger_1.projectLogger)('Adding transaction', txParams, options);
394
- const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requestId, requireApproval, securityAlertResponse, sendFlowHistory, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
389
+ const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requestId, requireApproval, securityAlertResponse, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
395
390
  // eslint-disable-next-line no-param-reassign
396
391
  txParams = (0, utils_2.normalizeTransactionParams)(txParams);
397
392
  if (!__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").has(networkClientId)) {
@@ -467,33 +462,18 @@ class TransactionController extends base_controller_1.BaseController {
467
462
  addedTransactionMeta.txParamsOriginal = (0, lodash_1.cloneDeep)(addedTransactionMeta.txParams);
468
463
  updateTransaction(addedTransactionMeta);
469
464
  }
465
+ // eslint-disable-next-line no-negated-condition
470
466
  if (!skipInitialGasEstimate) {
471
467
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Estimate Gas Properties', parentContext: traceContext }, (context) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasProperties).call(this, addedTransactionMeta, {
472
468
  traceContext: context,
473
469
  }));
474
470
  }
475
- else if (isEIP1559Compatible &&
476
- addedTransactionMeta.txParams.gasPrice &&
477
- !addedTransactionMeta.txParams.maxFeePerGas) {
478
- // Convert legacy gasPrice to EIP-1559 fees for intent transactions on EIP-1559 networks
479
- addedTransactionMeta.txParams.maxFeePerGas =
480
- addedTransactionMeta.txParams.gasPrice;
481
- addedTransactionMeta.txParams.maxPriorityFeePerGas =
482
- addedTransactionMeta.txParams.gasPrice;
483
- addedTransactionMeta.txParams.type = types_1.TransactionEnvelopeType.feeMarket;
484
- delete addedTransactionMeta.txParams.gasPrice; // Remove legacy gas price
485
- }
486
- else if (!isEIP1559Compatible && addedTransactionMeta.txParams.gasPrice) {
487
- // Ensure legacy type for non-EIP-1559 networks
488
- addedTransactionMeta.txParams.type = types_1.TransactionEnvelopeType.legacy;
489
- }
490
471
  else {
491
472
  const newTransactionMeta = (0, lodash_1.cloneDeep)(addedTransactionMeta);
492
473
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasProperties).call(this, newTransactionMeta)
493
474
  .then(() => {
494
475
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
495
476
  transactionId: newTransactionMeta.id,
496
- skipHistory: true,
497
477
  skipResimulateCheck: true,
498
478
  skipValidation: true,
499
479
  }, (tx) => {
@@ -517,14 +497,6 @@ class TransactionController extends base_controller_1.BaseController {
517
497
  addedTransactionMeta.securityProviderResponse =
518
498
  securityProviderResponse;
519
499
  }
520
- if (!__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
521
- // eslint-disable-next-line require-atomic-updates
522
- addedTransactionMeta.sendFlowHistory = sendFlowHistory ?? [];
523
- }
524
- // Initial history push
525
- if (!__classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f")) {
526
- addedTransactionMeta = (0, history_1.addInitialHistorySnapshot)(addedTransactionMeta);
527
- }
528
500
  addedTransactionMeta = (0, swaps_1.updateSwapsTransaction)(addedTransactionMeta, transactionType, swaps, {
529
501
  isSwapsDisabled: __classPrivateFieldGet(this, _TransactionController_isSwapsDisabled, "f"),
530
502
  cancelTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_rejectTransaction).bind(this),
@@ -535,7 +507,6 @@ class TransactionController extends base_controller_1.BaseController {
535
507
  .then((delegationAddress) => {
536
508
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
537
509
  transactionId: addedTransactionMeta.id,
538
- skipHistory: true,
539
510
  skipResimulateCheck: true,
540
511
  skipValidation: true,
541
512
  }, (tx) => {
@@ -725,13 +696,14 @@ class TransactionController extends base_controller_1.BaseController {
725
696
  * Updates an existing transaction in state.
726
697
  *
727
698
  * @param transactionMeta - The new transaction to store in state.
728
- * @param note - A note or update reason to include in the transaction history.
699
+ * @param note - A note or update reason to be logged.
729
700
  */
730
701
  updateTransaction(transactionMeta, note) {
731
702
  const { id: transactionId } = transactionMeta;
732
- __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, note }, () => ({
703
+ __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId }, () => ({
733
704
  ...transactionMeta,
734
705
  }));
706
+ (0, logger_1.projectLogger)('Transaction updated', { transactionId, note });
735
707
  }
736
708
  /**
737
709
  * Update the security alert response for a transaction.
@@ -782,6 +754,17 @@ class TransactionController extends base_controller_1.BaseController {
782
754
  state.transactions = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).call(this, newTransactions);
783
755
  });
784
756
  }
757
+ /**
758
+ * @deprecated No longer used. Kept only to avoid breaking changes. It now performs no operations.
759
+ * @param transactionID - The ID of the transaction to update.
760
+ * @param _currentSendFlowHistoryLength - The length of the current sendFlowHistory array.
761
+ * @param _sendFlowHistoryToAdd - The sendFlowHistory entries to add.
762
+ * @returns The transactionMeta.
763
+ */
764
+ updateTransactionSendFlowHistory(transactionID, _currentSendFlowHistoryLength, _sendFlowHistoryToAdd) {
765
+ // Return the transaction unchanged
766
+ return __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionID);
767
+ }
785
768
  /**
786
769
  * Adds external provided transaction to state as confirmed transaction.
787
770
  *
@@ -820,33 +803,6 @@ class TransactionController extends base_controller_1.BaseController {
820
803
  console.error('Failed to confirm external transaction', error);
821
804
  }
822
805
  }
823
- /**
824
- * Append new send flow history to a transaction.
825
- *
826
- * @param transactionID - The ID of the transaction to update.
827
- * @param currentSendFlowHistoryLength - The length of the current sendFlowHistory array.
828
- * @param sendFlowHistoryToAdd - The sendFlowHistory entries to add.
829
- * @returns The updated transactionMeta.
830
- */
831
- updateTransactionSendFlowHistory(transactionID, currentSendFlowHistoryLength, sendFlowHistoryToAdd) {
832
- if (__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
833
- throw new Error('Send flow history is disabled for the current transaction controller');
834
- }
835
- const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionID);
836
- if (!transactionMeta) {
837
- throw new Error(`Cannot update send flow history as no transaction metadata found`);
838
- }
839
- (0, utils_2.validateIfTransactionUnapproved)(transactionMeta, 'updateTransactionSendFlowHistory');
840
- const sendFlowHistory = transactionMeta.sendFlowHistory ?? [];
841
- if (currentSendFlowHistoryLength === sendFlowHistory.length) {
842
- const updatedTransactionMeta = {
843
- ...transactionMeta,
844
- sendFlowHistory: [...sendFlowHistory, ...sendFlowHistoryToAdd],
845
- };
846
- this.updateTransaction(updatedTransactionMeta, `${controllerName}:updateTransactionSendFlowHistory - sendFlowHistory updated`);
847
- }
848
- return __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionID);
849
- }
850
806
  /**
851
807
  * Update the gas values of a transaction.
852
808
  *
@@ -916,7 +872,6 @@ class TransactionController extends base_controller_1.BaseController {
916
872
  const filteredTransactionGasFees = (0, lodash_1.pickBy)(transactionGasFees);
917
873
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
918
874
  transactionId,
919
- note: `${controllerName}:updateTransactionGasFees - gas values updated`,
920
875
  skipResimulateCheck: true,
921
876
  }, (draftTxMeta) => {
922
877
  const { txParams, ...otherProps } = filteredTransactionGasFees;
@@ -1031,8 +986,6 @@ class TransactionController extends base_controller_1.BaseController {
1031
986
  }
1032
987
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1033
988
  transactionId,
1034
- note: 'TransactionController#setTransactionActive - Transaction isActive updated',
1035
- skipHistory: true,
1036
989
  skipValidation: true,
1037
990
  skipResimulateCheck: true,
1038
991
  }, (updatedTransactionMeta) => {
@@ -1316,7 +1269,6 @@ class TransactionController extends base_controller_1.BaseController {
1316
1269
  });
1317
1270
  const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1318
1271
  transactionId,
1319
- note: 'TransactionController#updateAtomicBatchData - Atomic batch data updated',
1320
1272
  }, (transactionMeta) => {
1321
1273
  const { nestedTransactions, txParams } = transactionMeta;
1322
1274
  const from = txParams.from;
@@ -1339,7 +1291,6 @@ class TransactionController extends base_controller_1.BaseController {
1339
1291
  await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasEstimate).call(this, draftTransaction);
1340
1292
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1341
1293
  transactionId,
1342
- note: 'TransactionController#updateAtomicBatchData - Gas estimate updated',
1343
1294
  }, (transactionMeta) => {
1344
1295
  transactionMeta.txParams.gas = draftTransaction.txParams.gas;
1345
1296
  transactionMeta.simulationFails = draftTransaction.simulationFails;
@@ -1359,7 +1310,6 @@ class TransactionController extends base_controller_1.BaseController {
1359
1310
  (0, logger_1.projectLogger)('Updating batch transactions', { transactionId, batchTransactions });
1360
1311
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1361
1312
  transactionId,
1362
- note: 'TransactionController#updateBatchTransactions - Batch transactions updated',
1363
1313
  }, (transactionMeta) => {
1364
1314
  transactionMeta.batchTransactions = batchTransactions;
1365
1315
  });
@@ -1442,7 +1392,7 @@ class TransactionController extends base_controller_1.BaseController {
1442
1392
  }
1443
1393
  }
1444
1394
  exports.TransactionController = TransactionController;
1445
- _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSign = new WeakMap(), _TransactionController_afterSimulate = new WeakMap(), _TransactionController_approvingTransactionIds = new WeakMap(), _TransactionController_beforeCheckPendingTransaction = new WeakMap(), _TransactionController_beforePublish = new WeakMap(), _TransactionController_beforeSign = new WeakMap(), _TransactionController_gasFeeFlows = new WeakMap(), _TransactionController_getAdditionalSignArguments = new WeakMap(), _TransactionController_getCurrentAccountEIP1559Compatibility = new WeakMap(), _TransactionController_getCurrentNetworkEIP1559Compatibility = new WeakMap(), _TransactionController_getExternalPendingTransactions = new WeakMap(), _TransactionController_getGasFeeEstimates = new WeakMap(), _TransactionController_getNetworkState = new WeakMap(), _TransactionController_getPermittedAccounts = new WeakMap(), _TransactionController_getSavedGasFees = new WeakMap(), _TransactionController_getSimulationConfig = new WeakMap(), _TransactionController_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_internalEvents = new WeakMap(), _TransactionController_isAutomaticGasFeeUpdateEnabled = new WeakMap(), _TransactionController_isEIP7702GasFeeTokensEnabled = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(), _TransactionController_isHistoryDisabled = new WeakMap(), _TransactionController_isSendFlowHistoryDisabled = new WeakMap(), _TransactionController_isSimulationEnabled = new WeakMap(), _TransactionController_isSwapsDisabled = new WeakMap(), _TransactionController_isTimeoutEnabled = new WeakMap(), _TransactionController_layer1GasFeeFlows = new WeakMap(), _TransactionController_methodDataHelper = new WeakMap(), _TransactionController_multichainTrackingHelper = new WeakMap(), _TransactionController_pendingTransactionOptions = new WeakMap(), _TransactionController_publicKeyEIP7702 = new WeakMap(), _TransactionController_publish = new WeakMap(), _TransactionController_publishBatchHook = new WeakMap(), _TransactionController_securityProviderRequest = new WeakMap(), _TransactionController_sign = new WeakMap(), _TransactionController_signAbortCallbacks = new WeakMap(), _TransactionController_skipSimulationTransactionIds = new WeakMap(), _TransactionController_testGasFeeFlows = new WeakMap(), _TransactionController_trace = new WeakMap(), _TransactionController_transactionHistoryLimit = new WeakMap(), _TransactionController_checkForPendingTransactionAndStartPolling = new WeakMap(), _TransactionController_instances = new WeakSet(), _TransactionController_retryTransaction = async function _TransactionController_retryTransaction({ actionId, afterSubmit, estimatedBaseFee, gasValues, label, prepareTransactionParams, rate, transactionId, transactionType, }) {
1395
+ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSign = new WeakMap(), _TransactionController_afterSimulate = new WeakMap(), _TransactionController_approvingTransactionIds = new WeakMap(), _TransactionController_beforeCheckPendingTransaction = new WeakMap(), _TransactionController_beforePublish = new WeakMap(), _TransactionController_beforeSign = new WeakMap(), _TransactionController_gasFeeFlows = new WeakMap(), _TransactionController_getAdditionalSignArguments = new WeakMap(), _TransactionController_getCurrentAccountEIP1559Compatibility = new WeakMap(), _TransactionController_getCurrentNetworkEIP1559Compatibility = new WeakMap(), _TransactionController_getExternalPendingTransactions = new WeakMap(), _TransactionController_getGasFeeEstimates = new WeakMap(), _TransactionController_getNetworkState = new WeakMap(), _TransactionController_getPermittedAccounts = new WeakMap(), _TransactionController_getSavedGasFees = new WeakMap(), _TransactionController_getSimulationConfig = new WeakMap(), _TransactionController_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_internalEvents = new WeakMap(), _TransactionController_isAutomaticGasFeeUpdateEnabled = new WeakMap(), _TransactionController_isEIP7702GasFeeTokensEnabled = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(), _TransactionController_isSimulationEnabled = new WeakMap(), _TransactionController_isSwapsDisabled = new WeakMap(), _TransactionController_isTimeoutEnabled = new WeakMap(), _TransactionController_layer1GasFeeFlows = new WeakMap(), _TransactionController_methodDataHelper = new WeakMap(), _TransactionController_multichainTrackingHelper = new WeakMap(), _TransactionController_pendingTransactionOptions = new WeakMap(), _TransactionController_publicKeyEIP7702 = new WeakMap(), _TransactionController_publish = new WeakMap(), _TransactionController_publishBatchHook = new WeakMap(), _TransactionController_securityProviderRequest = new WeakMap(), _TransactionController_sign = new WeakMap(), _TransactionController_signAbortCallbacks = new WeakMap(), _TransactionController_skipSimulationTransactionIds = new WeakMap(), _TransactionController_testGasFeeFlows = new WeakMap(), _TransactionController_trace = new WeakMap(), _TransactionController_transactionHistoryLimit = new WeakMap(), _TransactionController_checkForPendingTransactionAndStartPolling = new WeakMap(), _TransactionController_instances = new WeakSet(), _TransactionController_retryTransaction = async function _TransactionController_retryTransaction({ actionId, afterSubmit, estimatedBaseFee, gasValues, label, prepareTransactionParams, rate, transactionId, transactionType, }) {
1446
1396
  // If transaction is found for same action id, do not create a new transaction.
1447
1397
  if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionWithActionId).call(this, actionId)) {
1448
1398
  return;
@@ -1601,31 +1551,6 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1601
1551
  this.updateTransaction(updatedTransaction, 'TransactionController#processApproval - Updated with approval data');
1602
1552
  }
1603
1553
  }
1604
- // For intent-based transactions (e.g., CoW intents) that are not meant to be
1605
- // published on-chain by the TransactionController, skip the approve/publish flow.
1606
- // These are tracked externally and should not be signed or sent.
1607
- const isIntentTransaction = Boolean(
1608
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1609
- __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId)?.swapMetaData
1610
- ?.isIntentTx === true);
1611
- if (requireApproval === false && isIntentTransaction) {
1612
- const submittedTxMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1613
- transactionId,
1614
- note: 'TransactionController#processApproval - Intent transaction auto-submitted',
1615
- skipValidation: true,
1616
- }, (draftTxMeta) => {
1617
- draftTxMeta.status = types_1.TransactionStatus.submitted;
1618
- draftTxMeta.submittedTime = new Date().getTime();
1619
- });
1620
- this.messenger.publish(`${controllerName}:transactionSubmitted`, {
1621
- transactionMeta: submittedTxMeta,
1622
- });
1623
- this.messenger.publish(`${controllerName}:transactionFinished`, submittedTxMeta);
1624
- __classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionId}:finished`, submittedTxMeta);
1625
- // Short-circuit normal flow; result callbacks will be handled by the
1626
- // finished promise below.
1627
- return ApprovalState.Approved;
1628
- }
1629
1554
  const { isCompleted: isTxCompleted } = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isTransactionCompleted).call(this, transactionId);
1630
1555
  if (!isTxCompleted) {
1631
1556
  const approvalResult = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_approveTransaction).call(this, transactionId, traceContext, publishHook);
@@ -1713,7 +1638,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1713
1638
  // eslint-disable-next-line require-atomic-updates
1714
1639
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1715
1640
  transactionId,
1716
- note: 'TransactionController#approveTransaction - Transaction approved',
1717
1641
  }, (draftTxMeta) => {
1718
1642
  const { chainId, txParams } = draftTxMeta;
1719
1643
  const { gas, type } = txParams;
@@ -1766,7 +1690,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1766
1690
  // eslint-disable-next-line require-atomic-updates
1767
1691
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1768
1692
  transactionId,
1769
- note: 'TransactionController#approveTransaction - Transaction submitted',
1770
1693
  }, (draftTxMeta) => {
1771
1694
  draftTxMeta.hash = hash;
1772
1695
  draftTxMeta.status = types_1.TransactionStatus.submitted;
@@ -1975,17 +1898,13 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1975
1898
  const confirmedTxs = sameFromAndNetworkTransactions.filter((transaction) => transaction.status === types_1.TransactionStatus.confirmed);
1976
1899
  const pendingTxs = sameFromAndNetworkTransactions.filter((transaction) => transaction.status === types_1.TransactionStatus.submitted);
1977
1900
  (0, external_transactions_1.validateConfirmedExternalTransaction)(transactionMeta, confirmedTxs, pendingTxs);
1978
- // Make sure provided external transaction has non empty history array
1979
- const newTransactionMeta = (transactionMeta.history ?? []).length === 0 && !__classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f")
1980
- ? (0, history_1.addInitialHistorySnapshot)(transactionMeta)
1981
- : transactionMeta;
1982
1901
  this.update((state) => {
1983
1902
  state.transactions = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).call(this, [
1984
1903
  ...state.transactions,
1985
- newTransactionMeta,
1904
+ transactionMeta,
1986
1905
  ]);
1987
1906
  });
1988
- return newTransactionMeta;
1907
+ return transactionMeta;
1989
1908
  }, _TransactionController_markNonceDuplicatesDropped = function _TransactionController_markNonceDuplicatesDropped(transactionId) {
1990
1909
  const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
1991
1910
  if (!transactionMeta) {
@@ -2056,7 +1975,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2056
1975
  (0, logger_1.projectLogger)('Calling before sign hook', transactionMeta);
2057
1976
  const { updateTransaction } = (await __classPrivateFieldGet(this, _TransactionController_beforeSign, "f").call(this, { transactionMeta })) ?? {};
2058
1977
  if (updateTransaction) {
2059
- __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipResimulateCheck: true, note: 'beforeSign Hook' }, updateTransaction);
1978
+ __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipResimulateCheck: true }, updateTransaction);
2060
1979
  (0, logger_1.projectLogger)('Updated transaction after before sign hook');
2061
1980
  }
2062
1981
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
@@ -2235,7 +2154,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2235
2154
  ];
2236
2155
  }, _TransactionController_getLayer1GasFeeFlows = function _TransactionController_getLayer1GasFeeFlows() {
2237
2156
  return [new OptimismLayer1GasFeeFlow_1.OptimismLayer1GasFeeFlow(), new ScrollLayer1GasFeeFlow_1.ScrollLayer1GasFeeFlow()];
2238
- }, _TransactionController_updateTransactionInternal = function _TransactionController_updateTransactionInternal({ transactionId, note, skipHistory, skipValidation, skipResimulateCheck, }, callback) {
2157
+ }, _TransactionController_updateTransactionInternal = function _TransactionController_updateTransactionInternal({ transactionId, skipValidation, skipResimulateCheck, }, callback) {
2239
2158
  let resimulateResponse;
2240
2159
  this.update((state) => {
2241
2160
  const index = state.transactions.findIndex(({ id }) => id === transactionId);
@@ -2252,10 +2171,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2252
2171
  if (!skipResimulateCheck && __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this)) {
2253
2172
  resimulateResponse = (0, ResimulateHelper_1.shouldResimulate)(originalTransactionMeta, transactionMeta);
2254
2173
  }
2255
- const shouldSkipHistory = __classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f") || skipHistory;
2256
- if (!shouldSkipHistory) {
2257
- transactionMeta = (0, history_1.updateTransactionHistory)(transactionMeta, note ?? 'Transaction updated');
2258
- }
2259
2174
  state.transactions[index] = transactionMeta;
2260
2175
  });
2261
2176
  const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
@@ -2317,7 +2232,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2317
2232
  }
2318
2233
  const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
2319
2234
  transactionId,
2320
- note: 'TransactionController#updateSimulationData - Update simulation data',
2321
2235
  skipResimulateCheck: Boolean(blockTime),
2322
2236
  }, (txMeta) => {
2323
2237
  txMeta.gasFeeTokens = gasFeeTokens;
@@ -2330,7 +2244,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2330
2244
  (0, logger_1.projectLogger)('Updated simulation data', transactionId, updatedTransactionMeta);
2331
2245
  await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_runAfterSimulateHook).call(this, updatedTransactionMeta);
2332
2246
  }, _TransactionController_onGasFeePollerTransactionUpdate = function _TransactionController_onGasFeePollerTransactionUpdate({ transactionId, gasFeeEstimates, gasFeeEstimatesLoaded, layer1GasFee, }) {
2333
- __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipHistory: true }, (txMeta) => {
2247
+ __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId }, (txMeta) => {
2334
2248
  (0, GasFeePoller_1.updateTransactionGasProperties)({
2335
2249
  txMeta,
2336
2250
  gasFeeEstimates,
@@ -2436,7 +2350,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2436
2350
  try {
2437
2351
  newTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
2438
2352
  transactionId: transactionMeta.id,
2439
- note: 'TransactionController#failTransaction - Add error message and set status to failed',
2440
2353
  skipValidation: true,
2441
2354
  }, (draftTransactionMeta) => {
2442
2355
  draftTransactionMeta.status = types_1.TransactionStatus.failed;
@@ -2478,7 +2391,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2478
2391
  const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
2479
2392
  transactionId,
2480
2393
  skipResimulateCheck: true,
2481
- note: 'afterSimulate Hook',
2482
2394
  }, (txMeta) => {
2483
2395
  txMeta.txParamsOriginal = (0, lodash_1.cloneDeep)(txMeta.txParams);
2484
2396
  updateTransaction(txMeta);