@metamask/transaction-controller 62.6.0 → 62.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/CHANGELOG.md +34 -1
  2. package/dist/TransactionController.cjs +34 -75
  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 +34 -75
  9. package/dist/TransactionController.mjs.map +1 -1
  10. package/dist/helpers/PendingTransactionTracker.cjs +39 -26
  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 +40 -27
  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 +32 -5
  26. package/dist/types.d.cts.map +1 -1
  27. package/dist/types.d.mts +32 -5
  28. package/dist/types.d.mts.map +1 -1
  29. package/dist/types.mjs.map +1 -1
  30. package/dist/utils/batch.cjs +2 -1
  31. package/dist/utils/batch.cjs.map +1 -1
  32. package/dist/utils/batch.d.cts +1 -0
  33. package/dist/utils/batch.d.cts.map +1 -1
  34. package/dist/utils/batch.d.mts +1 -0
  35. package/dist/utils/batch.d.mts.map +1 -1
  36. package/dist/utils/batch.mjs +2 -1
  37. package/dist/utils/batch.mjs.map +1 -1
  38. package/dist/utils/feature-flags.cjs +4 -1
  39. package/dist/utils/feature-flags.cjs.map +1 -1
  40. package/dist/utils/feature-flags.d.cts +5 -0
  41. package/dist/utils/feature-flags.d.cts.map +1 -1
  42. package/dist/utils/feature-flags.d.mts +5 -0
  43. package/dist/utils/feature-flags.d.mts.map +1 -1
  44. package/dist/utils/feature-flags.mjs +4 -1
  45. package/dist/utils/feature-flags.mjs.map +1 -1
  46. package/dist/utils/nonce.cjs +10 -6
  47. package/dist/utils/nonce.cjs.map +1 -1
  48. package/dist/utils/nonce.d.cts.map +1 -1
  49. package/dist/utils/nonce.d.mts.map +1 -1
  50. package/dist/utils/nonce.mjs +10 -6
  51. package/dist/utils/nonce.mjs.map +1 -1
  52. package/package.json +5 -5
  53. package/dist/utils/history.cjs +0 -164
  54. package/dist/utils/history.cjs.map +0 -1
  55. package/dist/utils/history.d.cts +0 -29
  56. package/dist/utils/history.d.cts.map +0 -1
  57. package/dist/utils/history.d.mts +0 -29
  58. package/dist/utils/history.d.mts.map +0 -1
  59. package/dist/utils/history.mjs +0 -164
  60. package/dist/utils/history.mjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [62.8.0]
11
+
12
+ ### Added
13
+
14
+ - Add optional `isStateOnly` property to `TransactionMeta` and `AddTransactionOptions` ([#7591](https://github.com/MetaMask/core/pull/7591))
15
+ - Transactions with `isStateOnly` set to `true` have no lifecycle and are not signed or published.
16
+ - Transactions are also excluded from confirmation polling.
17
+
18
+ ### Changed
19
+
20
+ - Bump `@metamask/remote-feature-flag-controller` from `^3.1.0` to `^4.0.0` ([#7546](https://github.com/MetaMask/core/pull/7546))
21
+ - Upgrade `@metamask/utils` from `^11.8.1` to `^11.9.0` ([#7511](https://github.com/MetaMask/core/pull/7511))
22
+ - Update transaction timeout to check time since submission or when transaction was last seen on network ([#7464](https://github.com/MetaMask/core/pull/7464))
23
+ - Uses `blockTime` from `acceleratedPolling` feature flag.
24
+ - Deprecate `history` and `sendFlowHistory` properties from `TransactionMeta` and `TransactionController` options ([#7326](https://github.com/MetaMask/core/pull/7326))
25
+ - Bump `@metamask/remote-feature-flag-controller` from `^3.0.0` to `^3.1.0` ([#7519](https://github.com/MetaMask/core/pull/7519))
26
+ - Bump `@metamask/network-controller` from `^27.0.0` to `^27.2.0` ([#7534](https://github.com/MetaMask/core/pull/7534), [#7583](https://github.com/MetaMask/core/pull/7583))
27
+ - Bump `@metamask/controller-utils` from `^11.16.0` to `^11.18.0` ([#7534](https://github.com/MetaMask/core/pull/7534), [#7583](https://github.com/MetaMask/core/pull/7583))
28
+ - Update error message for failed on-chain transactions in `PendingTransactionTracker` ([#7552](https://github.com/MetaMask/core/pull/7552))
29
+
30
+ ### Fixed
31
+
32
+ - Include pending authorizations in nonce calculation ([#7446](https://github.com/MetaMask/core/pull/7446))
33
+
34
+ ## [62.7.0]
35
+
36
+ ### Added
37
+
38
+ - Adding a new transaction meta property `requestId`. It is supported for both simple and batched transactions ([#7415](https://github.com/MetaMask/core/pull/7415))
39
+
10
40
  ## [62.6.0]
11
41
 
12
42
  ### Added
@@ -17,6 +47,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
17
47
  - Add optional `isTimeoutEnabled` callback to disable for specific transactions.
18
48
  - Ignores transactions with future nonce.
19
49
  - Threshold determined by feature flag.
50
+ - Adding a new transaction meta property `requestId`. It is supported for both simple and batched transactions ([#7415](https://github.com/MetaMask/core/pull/7415))
20
51
 
21
52
  ### Changed
22
53
 
@@ -2028,7 +2059,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2028
2059
 
2029
2060
  All changes listed after this point were applied to this package following the monorepo conversion.
2030
2061
 
2031
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.6.0...HEAD
2062
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.8.0...HEAD
2063
+ [62.8.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.7.0...@metamask/transaction-controller@62.8.0
2064
+ [62.7.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.6.0...@metamask/transaction-controller@62.7.0
2032
2065
  [62.6.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.5.0...@metamask/transaction-controller@62.6.0
2033
2066
  [62.5.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.4.0...@metamask/transaction-controller@62.5.0
2034
2067
  [62.4.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.3.1...@metamask/transaction-controller@62.4.0
@@ -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, requireApproval, securityAlertResponse, sendFlowHistory, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
389
+ const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, isStateOnly, 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)) {
@@ -446,9 +441,11 @@ class TransactionController extends base_controller_1.BaseController {
446
441
  isGasFeeIncluded,
447
442
  isGasFeeSponsored,
448
443
  isFirstTimeInteraction: undefined,
444
+ isStateOnly,
449
445
  nestedTransactions,
450
446
  networkClientId,
451
447
  origin,
448
+ requestId,
452
449
  securityAlertResponse,
453
450
  selectedGasFeeToken: gasFeeToken,
454
451
  status: types_1.TransactionStatus.unapproved,
@@ -478,7 +475,6 @@ class TransactionController extends base_controller_1.BaseController {
478
475
  .then(() => {
479
476
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
480
477
  transactionId: newTransactionMeta.id,
481
- skipHistory: true,
482
478
  skipResimulateCheck: true,
483
479
  skipValidation: true,
484
480
  }, (tx) => {
@@ -502,14 +498,6 @@ class TransactionController extends base_controller_1.BaseController {
502
498
  addedTransactionMeta.securityProviderResponse =
503
499
  securityProviderResponse;
504
500
  }
505
- if (!__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
506
- // eslint-disable-next-line require-atomic-updates
507
- addedTransactionMeta.sendFlowHistory = sendFlowHistory ?? [];
508
- }
509
- // Initial history push
510
- if (!__classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f")) {
511
- addedTransactionMeta = (0, history_1.addInitialHistorySnapshot)(addedTransactionMeta);
512
- }
513
501
  addedTransactionMeta = (0, swaps_1.updateSwapsTransaction)(addedTransactionMeta, transactionType, swaps, {
514
502
  isSwapsDisabled: __classPrivateFieldGet(this, _TransactionController_isSwapsDisabled, "f"),
515
503
  cancelTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_rejectTransaction).bind(this),
@@ -520,7 +508,6 @@ class TransactionController extends base_controller_1.BaseController {
520
508
  .then((delegationAddress) => {
521
509
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
522
510
  transactionId: addedTransactionMeta.id,
523
- skipHistory: true,
524
511
  skipResimulateCheck: true,
525
512
  skipValidation: true,
526
513
  }, (tx) => {
@@ -529,8 +516,7 @@ class TransactionController extends base_controller_1.BaseController {
529
516
  return undefined;
530
517
  })
531
518
  .catch(lodash_1.noop);
532
- // eslint-disable-next-line no-negated-condition
533
- if (requireApproval !== false) {
519
+ if (requireApproval !== false && !isStateOnly) {
534
520
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSimulationData).call(this, addedTransactionMeta, {
535
521
  traceContext,
536
522
  }).catch((error) => {
@@ -710,13 +696,14 @@ class TransactionController extends base_controller_1.BaseController {
710
696
  * Updates an existing transaction in state.
711
697
  *
712
698
  * @param transactionMeta - The new transaction to store in state.
713
- * @param note - A note or update reason to include in the transaction history.
699
+ * @param note - A note or update reason to be logged.
714
700
  */
715
701
  updateTransaction(transactionMeta, note) {
716
702
  const { id: transactionId } = transactionMeta;
717
- __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, note }, () => ({
703
+ __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId }, () => ({
718
704
  ...transactionMeta,
719
705
  }));
706
+ (0, logger_1.projectLogger)('Transaction updated', { transactionId, note });
720
707
  }
721
708
  /**
722
709
  * Update the security alert response for a transaction.
@@ -767,6 +754,17 @@ class TransactionController extends base_controller_1.BaseController {
767
754
  state.transactions = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).call(this, newTransactions);
768
755
  });
769
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
+ }
770
768
  /**
771
769
  * Adds external provided transaction to state as confirmed transaction.
772
770
  *
@@ -805,33 +803,6 @@ class TransactionController extends base_controller_1.BaseController {
805
803
  console.error('Failed to confirm external transaction', error);
806
804
  }
807
805
  }
808
- /**
809
- * Append new send flow history to a transaction.
810
- *
811
- * @param transactionID - The ID of the transaction to update.
812
- * @param currentSendFlowHistoryLength - The length of the current sendFlowHistory array.
813
- * @param sendFlowHistoryToAdd - The sendFlowHistory entries to add.
814
- * @returns The updated transactionMeta.
815
- */
816
- updateTransactionSendFlowHistory(transactionID, currentSendFlowHistoryLength, sendFlowHistoryToAdd) {
817
- if (__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
818
- throw new Error('Send flow history is disabled for the current transaction controller');
819
- }
820
- const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionID);
821
- if (!transactionMeta) {
822
- throw new Error(`Cannot update send flow history as no transaction metadata found`);
823
- }
824
- (0, utils_2.validateIfTransactionUnapproved)(transactionMeta, 'updateTransactionSendFlowHistory');
825
- const sendFlowHistory = transactionMeta.sendFlowHistory ?? [];
826
- if (currentSendFlowHistoryLength === sendFlowHistory.length) {
827
- const updatedTransactionMeta = {
828
- ...transactionMeta,
829
- sendFlowHistory: [...sendFlowHistory, ...sendFlowHistoryToAdd],
830
- };
831
- this.updateTransaction(updatedTransactionMeta, `${controllerName}:updateTransactionSendFlowHistory - sendFlowHistory updated`);
832
- }
833
- return __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionID);
834
- }
835
806
  /**
836
807
  * Update the gas values of a transaction.
837
808
  *
@@ -901,7 +872,6 @@ class TransactionController extends base_controller_1.BaseController {
901
872
  const filteredTransactionGasFees = (0, lodash_1.pickBy)(transactionGasFees);
902
873
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
903
874
  transactionId,
904
- note: `${controllerName}:updateTransactionGasFees - gas values updated`,
905
875
  skipResimulateCheck: true,
906
876
  }, (draftTxMeta) => {
907
877
  const { txParams, ...otherProps } = filteredTransactionGasFees;
@@ -1016,8 +986,6 @@ class TransactionController extends base_controller_1.BaseController {
1016
986
  }
1017
987
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1018
988
  transactionId,
1019
- note: 'TransactionController#setTransactionActive - Transaction isActive updated',
1020
- skipHistory: true,
1021
989
  skipValidation: true,
1022
990
  skipResimulateCheck: true,
1023
991
  }, (updatedTransactionMeta) => {
@@ -1301,7 +1269,6 @@ class TransactionController extends base_controller_1.BaseController {
1301
1269
  });
1302
1270
  const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1303
1271
  transactionId,
1304
- note: 'TransactionController#updateAtomicBatchData - Atomic batch data updated',
1305
1272
  }, (transactionMeta) => {
1306
1273
  const { nestedTransactions, txParams } = transactionMeta;
1307
1274
  const from = txParams.from;
@@ -1324,7 +1291,6 @@ class TransactionController extends base_controller_1.BaseController {
1324
1291
  await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasEstimate).call(this, draftTransaction);
1325
1292
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1326
1293
  transactionId,
1327
- note: 'TransactionController#updateAtomicBatchData - Gas estimate updated',
1328
1294
  }, (transactionMeta) => {
1329
1295
  transactionMeta.txParams.gas = draftTransaction.txParams.gas;
1330
1296
  transactionMeta.simulationFails = draftTransaction.simulationFails;
@@ -1344,7 +1310,6 @@ class TransactionController extends base_controller_1.BaseController {
1344
1310
  (0, logger_1.projectLogger)('Updating batch transactions', { transactionId, batchTransactions });
1345
1311
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1346
1312
  transactionId,
1347
- note: 'TransactionController#updateBatchTransactions - Batch transactions updated',
1348
1313
  }, (transactionMeta) => {
1349
1314
  transactionMeta.batchTransactions = batchTransactions;
1350
1315
  });
@@ -1427,7 +1392,7 @@ class TransactionController extends base_controller_1.BaseController {
1427
1392
  }
1428
1393
  }
1429
1394
  exports.TransactionController = TransactionController;
1430
- _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, }) {
1431
1396
  // If transaction is found for same action id, do not create a new transaction.
1432
1397
  if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionWithActionId).call(this, actionId)) {
1433
1398
  return;
@@ -1562,7 +1527,14 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1562
1527
  }
1563
1528
  }
1564
1529
  }, _TransactionController_processApproval = async function _TransactionController_processApproval(transactionMeta, { actionId, isExisting = false, publishHook, requireApproval, shouldShowRequest = true, traceContext, }) {
1565
- const transactionId = transactionMeta.id;
1530
+ const { id: transactionId, isStateOnly } = transactionMeta;
1531
+ if (isStateOnly) {
1532
+ __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipValidation: true }, (tx) => {
1533
+ tx.status = types_1.TransactionStatus.submitted;
1534
+ tx.submittedTime = new Date().getTime();
1535
+ });
1536
+ return '';
1537
+ }
1566
1538
  let resultCallbacks;
1567
1539
  const { meta, isCompleted } = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isTransactionCompleted).call(this, transactionId);
1568
1540
  const finishedPromise = isCompleted
@@ -1673,7 +1645,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1673
1645
  // eslint-disable-next-line require-atomic-updates
1674
1646
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1675
1647
  transactionId,
1676
- note: 'TransactionController#approveTransaction - Transaction approved',
1677
1648
  }, (draftTxMeta) => {
1678
1649
  const { chainId, txParams } = draftTxMeta;
1679
1650
  const { gas, type } = txParams;
@@ -1726,7 +1697,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1726
1697
  // eslint-disable-next-line require-atomic-updates
1727
1698
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1728
1699
  transactionId,
1729
- note: 'TransactionController#approveTransaction - Transaction submitted',
1730
1700
  }, (draftTxMeta) => {
1731
1701
  draftTxMeta.hash = hash;
1732
1702
  draftTxMeta.status = types_1.TransactionStatus.submitted;
@@ -1935,17 +1905,13 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1935
1905
  const confirmedTxs = sameFromAndNetworkTransactions.filter((transaction) => transaction.status === types_1.TransactionStatus.confirmed);
1936
1906
  const pendingTxs = sameFromAndNetworkTransactions.filter((transaction) => transaction.status === types_1.TransactionStatus.submitted);
1937
1907
  (0, external_transactions_1.validateConfirmedExternalTransaction)(transactionMeta, confirmedTxs, pendingTxs);
1938
- // Make sure provided external transaction has non empty history array
1939
- const newTransactionMeta = (transactionMeta.history ?? []).length === 0 && !__classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f")
1940
- ? (0, history_1.addInitialHistorySnapshot)(transactionMeta)
1941
- : transactionMeta;
1942
1908
  this.update((state) => {
1943
1909
  state.transactions = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).call(this, [
1944
1910
  ...state.transactions,
1945
- newTransactionMeta,
1911
+ transactionMeta,
1946
1912
  ]);
1947
1913
  });
1948
- return newTransactionMeta;
1914
+ return transactionMeta;
1949
1915
  }, _TransactionController_markNonceDuplicatesDropped = function _TransactionController_markNonceDuplicatesDropped(transactionId) {
1950
1916
  const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
1951
1917
  if (!transactionMeta) {
@@ -2016,7 +1982,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2016
1982
  (0, logger_1.projectLogger)('Calling before sign hook', transactionMeta);
2017
1983
  const { updateTransaction } = (await __classPrivateFieldGet(this, _TransactionController_beforeSign, "f").call(this, { transactionMeta })) ?? {};
2018
1984
  if (updateTransaction) {
2019
- __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipResimulateCheck: true, note: 'beforeSign Hook' }, updateTransaction);
1985
+ __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipResimulateCheck: true }, updateTransaction);
2020
1986
  (0, logger_1.projectLogger)('Updated transaction after before sign hook');
2021
1987
  }
2022
1988
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
@@ -2195,7 +2161,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2195
2161
  ];
2196
2162
  }, _TransactionController_getLayer1GasFeeFlows = function _TransactionController_getLayer1GasFeeFlows() {
2197
2163
  return [new OptimismLayer1GasFeeFlow_1.OptimismLayer1GasFeeFlow(), new ScrollLayer1GasFeeFlow_1.ScrollLayer1GasFeeFlow()];
2198
- }, _TransactionController_updateTransactionInternal = function _TransactionController_updateTransactionInternal({ transactionId, note, skipHistory, skipValidation, skipResimulateCheck, }, callback) {
2164
+ }, _TransactionController_updateTransactionInternal = function _TransactionController_updateTransactionInternal({ transactionId, skipValidation, skipResimulateCheck, }, callback) {
2199
2165
  let resimulateResponse;
2200
2166
  this.update((state) => {
2201
2167
  const index = state.transactions.findIndex(({ id }) => id === transactionId);
@@ -2212,10 +2178,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2212
2178
  if (!skipResimulateCheck && __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this)) {
2213
2179
  resimulateResponse = (0, ResimulateHelper_1.shouldResimulate)(originalTransactionMeta, transactionMeta);
2214
2180
  }
2215
- const shouldSkipHistory = __classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f") || skipHistory;
2216
- if (!shouldSkipHistory) {
2217
- transactionMeta = (0, history_1.updateTransactionHistory)(transactionMeta, note ?? 'Transaction updated');
2218
- }
2219
2181
  state.transactions[index] = transactionMeta;
2220
2182
  });
2221
2183
  const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
@@ -2277,7 +2239,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2277
2239
  }
2278
2240
  const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
2279
2241
  transactionId,
2280
- note: 'TransactionController#updateSimulationData - Update simulation data',
2281
2242
  skipResimulateCheck: Boolean(blockTime),
2282
2243
  }, (txMeta) => {
2283
2244
  txMeta.gasFeeTokens = gasFeeTokens;
@@ -2290,7 +2251,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2290
2251
  (0, logger_1.projectLogger)('Updated simulation data', transactionId, updatedTransactionMeta);
2291
2252
  await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_runAfterSimulateHook).call(this, updatedTransactionMeta);
2292
2253
  }, _TransactionController_onGasFeePollerTransactionUpdate = function _TransactionController_onGasFeePollerTransactionUpdate({ transactionId, gasFeeEstimates, gasFeeEstimatesLoaded, layer1GasFee, }) {
2293
- __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipHistory: true }, (txMeta) => {
2254
+ __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId }, (txMeta) => {
2294
2255
  (0, GasFeePoller_1.updateTransactionGasProperties)({
2295
2256
  txMeta,
2296
2257
  gasFeeEstimates,
@@ -2396,7 +2357,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2396
2357
  try {
2397
2358
  newTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
2398
2359
  transactionId: transactionMeta.id,
2399
- note: 'TransactionController#failTransaction - Add error message and set status to failed',
2400
2360
  skipValidation: true,
2401
2361
  }, (draftTransactionMeta) => {
2402
2362
  draftTransactionMeta.status = types_1.TransactionStatus.failed;
@@ -2438,7 +2398,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2438
2398
  const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
2439
2399
  transactionId,
2440
2400
  skipResimulateCheck: true,
2441
- note: 'afterSimulate Hook',
2442
2401
  }, (txMeta) => {
2443
2402
  txMeta.txParamsOriginal = (0, lodash_1.cloneDeep)(txMeta.txParams);
2444
2403
  updateTransaction(txMeta);