@metamask/transaction-controller 62.7.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 (52) hide show
  1. package/CHANGELOG.md +26 -1
  2. package/dist/TransactionController.cjs +33 -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 +33 -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 +20 -5
  26. package/dist/types.d.cts.map +1 -1
  27. package/dist/types.d.mts +20 -5
  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/dist/utils/nonce.cjs +10 -6
  39. package/dist/utils/nonce.cjs.map +1 -1
  40. package/dist/utils/nonce.d.cts.map +1 -1
  41. package/dist/utils/nonce.d.mts.map +1 -1
  42. package/dist/utils/nonce.mjs +10 -6
  43. package/dist/utils/nonce.mjs.map +1 -1
  44. package/package.json +5 -5
  45. package/dist/utils/history.cjs +0 -164
  46. package/dist/utils/history.cjs.map +0 -1
  47. package/dist/utils/history.d.cts +0 -29
  48. package/dist/utils/history.d.cts.map +0 -1
  49. package/dist/utils/history.d.mts +0 -29
  50. package/dist/utils/history.d.mts.map +0 -1
  51. package/dist/utils/history.mjs +0 -164
  52. package/dist/utils/history.mjs.map +0 -1
@@ -9,7 +9,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
9
9
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
- 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;
12
+ 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;
13
13
  function $importDefault(module) {
14
14
  if (module?.__esModule) {
15
15
  return module.default;
@@ -55,7 +55,6 @@ import { addGasBuffer, estimateGas, estimateGasBatch, updateGas } from "./utils/
55
55
  import { checkGasFeeTokenBeforePublish, getGasFeeTokens } from "./utils/gas-fee-tokens.mjs";
56
56
  import { updateGasFees } from "./utils/gas-fees.mjs";
57
57
  import { getGasFeeFlow } from "./utils/gas-flow.mjs";
58
- import { addInitialHistorySnapshot, updateTransactionHistory } from "./utils/history.mjs";
59
58
  import { getTransactionLayer1GasFee, updateTransactionLayer1GasFee } from "./utils/layer1-gas-fee-flow.mjs";
60
59
  import { getAndFormatTransactionsForNonceTracker, getNextNonce } from "./utils/nonce.mjs";
61
60
  import { prepareTransaction, serializeTransaction } from "./utils/prepare.mjs";
@@ -146,7 +145,7 @@ export class TransactionController extends BaseController {
146
145
  * @param options - The controller options.
147
146
  */
148
147
  constructor(options) {
149
- 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;
148
+ 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;
150
149
  super({
151
150
  name: controllerName,
152
151
  metadata,
@@ -180,8 +179,6 @@ export class TransactionController extends BaseController {
180
179
  _TransactionController_isAutomaticGasFeeUpdateEnabled.set(this, void 0);
181
180
  _TransactionController_isEIP7702GasFeeTokensEnabled.set(this, void 0);
182
181
  _TransactionController_isFirstTimeInteractionEnabled.set(this, void 0);
183
- _TransactionController_isHistoryDisabled.set(this, void 0);
184
- _TransactionController_isSendFlowHistoryDisabled.set(this, void 0);
185
182
  _TransactionController_isSimulationEnabled.set(this, void 0);
186
183
  _TransactionController_isSwapsDisabled.set(this, void 0);
187
184
  _TransactionController_isTimeoutEnabled.set(this, void 0);
@@ -233,8 +230,6 @@ export class TransactionController extends BaseController {
233
230
  __classPrivateFieldSet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, isEIP7702GasFeeTokensEnabled ??
234
231
  (() => Promise.resolve(false)), "f");
235
232
  __classPrivateFieldSet(this, _TransactionController_isFirstTimeInteractionEnabled, isFirstTimeInteractionEnabled ?? (() => true), "f");
236
- __classPrivateFieldSet(this, _TransactionController_isHistoryDisabled, disableHistory ?? false, "f");
237
- __classPrivateFieldSet(this, _TransactionController_isSendFlowHistoryDisabled, disableSendFlowHistory ?? false, "f");
238
233
  __classPrivateFieldSet(this, _TransactionController_isSimulationEnabled, isSimulationEnabled ?? (() => true), "f");
239
234
  __classPrivateFieldSet(this, _TransactionController_isSwapsDisabled, disableSwaps ?? false, "f");
240
235
  __classPrivateFieldSet(this, _TransactionController_isTimeoutEnabled, hooks?.isTimeoutEnabled ?? (() => true), "f");
@@ -393,7 +388,7 @@ export class TransactionController extends BaseController {
393
388
  */
394
389
  async addTransaction(txParams, options) {
395
390
  log('Adding transaction', txParams, options);
396
- const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requestId, requireApproval, securityAlertResponse, sendFlowHistory, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
391
+ const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, isStateOnly, method, nestedTransactions, networkClientId, origin, publishHook, requestId, requireApproval, securityAlertResponse, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
397
392
  // eslint-disable-next-line no-param-reassign
398
393
  txParams = normalizeTransactionParams(txParams);
399
394
  if (!__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").has(networkClientId)) {
@@ -448,6 +443,7 @@ export class TransactionController extends BaseController {
448
443
  isGasFeeIncluded,
449
444
  isGasFeeSponsored,
450
445
  isFirstTimeInteraction: undefined,
446
+ isStateOnly,
451
447
  nestedTransactions,
452
448
  networkClientId,
453
449
  origin,
@@ -481,7 +477,6 @@ export class TransactionController extends BaseController {
481
477
  .then(() => {
482
478
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
483
479
  transactionId: newTransactionMeta.id,
484
- skipHistory: true,
485
480
  skipResimulateCheck: true,
486
481
  skipValidation: true,
487
482
  }, (tx) => {
@@ -505,14 +500,6 @@ export class TransactionController extends BaseController {
505
500
  addedTransactionMeta.securityProviderResponse =
506
501
  securityProviderResponse;
507
502
  }
508
- if (!__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
509
- // eslint-disable-next-line require-atomic-updates
510
- addedTransactionMeta.sendFlowHistory = sendFlowHistory ?? [];
511
- }
512
- // Initial history push
513
- if (!__classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f")) {
514
- addedTransactionMeta = addInitialHistorySnapshot(addedTransactionMeta);
515
- }
516
503
  addedTransactionMeta = updateSwapsTransaction(addedTransactionMeta, transactionType, swaps, {
517
504
  isSwapsDisabled: __classPrivateFieldGet(this, _TransactionController_isSwapsDisabled, "f"),
518
505
  cancelTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_rejectTransaction).bind(this),
@@ -523,7 +510,6 @@ export class TransactionController extends BaseController {
523
510
  .then((delegationAddress) => {
524
511
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
525
512
  transactionId: addedTransactionMeta.id,
526
- skipHistory: true,
527
513
  skipResimulateCheck: true,
528
514
  skipValidation: true,
529
515
  }, (tx) => {
@@ -532,8 +518,7 @@ export class TransactionController extends BaseController {
532
518
  return undefined;
533
519
  })
534
520
  .catch(noop);
535
- // eslint-disable-next-line no-negated-condition
536
- if (requireApproval !== false) {
521
+ if (requireApproval !== false && !isStateOnly) {
537
522
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSimulationData).call(this, addedTransactionMeta, {
538
523
  traceContext,
539
524
  }).catch((error) => {
@@ -713,13 +698,14 @@ export class TransactionController extends BaseController {
713
698
  * Updates an existing transaction in state.
714
699
  *
715
700
  * @param transactionMeta - The new transaction to store in state.
716
- * @param note - A note or update reason to include in the transaction history.
701
+ * @param note - A note or update reason to be logged.
717
702
  */
718
703
  updateTransaction(transactionMeta, note) {
719
704
  const { id: transactionId } = transactionMeta;
720
- __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, note }, () => ({
705
+ __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId }, () => ({
721
706
  ...transactionMeta,
722
707
  }));
708
+ log('Transaction updated', { transactionId, note });
723
709
  }
724
710
  /**
725
711
  * Update the security alert response for a transaction.
@@ -770,6 +756,17 @@ export class TransactionController extends BaseController {
770
756
  state.transactions = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).call(this, newTransactions);
771
757
  });
772
758
  }
759
+ /**
760
+ * @deprecated No longer used. Kept only to avoid breaking changes. It now performs no operations.
761
+ * @param transactionID - The ID of the transaction to update.
762
+ * @param _currentSendFlowHistoryLength - The length of the current sendFlowHistory array.
763
+ * @param _sendFlowHistoryToAdd - The sendFlowHistory entries to add.
764
+ * @returns The transactionMeta.
765
+ */
766
+ updateTransactionSendFlowHistory(transactionID, _currentSendFlowHistoryLength, _sendFlowHistoryToAdd) {
767
+ // Return the transaction unchanged
768
+ return __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionID);
769
+ }
773
770
  /**
774
771
  * Adds external provided transaction to state as confirmed transaction.
775
772
  *
@@ -808,33 +805,6 @@ export class TransactionController extends BaseController {
808
805
  console.error('Failed to confirm external transaction', error);
809
806
  }
810
807
  }
811
- /**
812
- * Append new send flow history to a transaction.
813
- *
814
- * @param transactionID - The ID of the transaction to update.
815
- * @param currentSendFlowHistoryLength - The length of the current sendFlowHistory array.
816
- * @param sendFlowHistoryToAdd - The sendFlowHistory entries to add.
817
- * @returns The updated transactionMeta.
818
- */
819
- updateTransactionSendFlowHistory(transactionID, currentSendFlowHistoryLength, sendFlowHistoryToAdd) {
820
- if (__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
821
- throw new Error('Send flow history is disabled for the current transaction controller');
822
- }
823
- const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionID);
824
- if (!transactionMeta) {
825
- throw new Error(`Cannot update send flow history as no transaction metadata found`);
826
- }
827
- validateIfTransactionUnapproved(transactionMeta, 'updateTransactionSendFlowHistory');
828
- const sendFlowHistory = transactionMeta.sendFlowHistory ?? [];
829
- if (currentSendFlowHistoryLength === sendFlowHistory.length) {
830
- const updatedTransactionMeta = {
831
- ...transactionMeta,
832
- sendFlowHistory: [...sendFlowHistory, ...sendFlowHistoryToAdd],
833
- };
834
- this.updateTransaction(updatedTransactionMeta, `${controllerName}:updateTransactionSendFlowHistory - sendFlowHistory updated`);
835
- }
836
- return __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionID);
837
- }
838
808
  /**
839
809
  * Update the gas values of a transaction.
840
810
  *
@@ -904,7 +874,6 @@ export class TransactionController extends BaseController {
904
874
  const filteredTransactionGasFees = pickBy(transactionGasFees);
905
875
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
906
876
  transactionId,
907
- note: `${controllerName}:updateTransactionGasFees - gas values updated`,
908
877
  skipResimulateCheck: true,
909
878
  }, (draftTxMeta) => {
910
879
  const { txParams, ...otherProps } = filteredTransactionGasFees;
@@ -1019,8 +988,6 @@ export class TransactionController extends BaseController {
1019
988
  }
1020
989
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1021
990
  transactionId,
1022
- note: 'TransactionController#setTransactionActive - Transaction isActive updated',
1023
- skipHistory: true,
1024
991
  skipValidation: true,
1025
992
  skipResimulateCheck: true,
1026
993
  }, (updatedTransactionMeta) => {
@@ -1304,7 +1271,6 @@ export class TransactionController extends BaseController {
1304
1271
  });
1305
1272
  const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1306
1273
  transactionId,
1307
- note: 'TransactionController#updateAtomicBatchData - Atomic batch data updated',
1308
1274
  }, (transactionMeta) => {
1309
1275
  const { nestedTransactions, txParams } = transactionMeta;
1310
1276
  const from = txParams.from;
@@ -1327,7 +1293,6 @@ export class TransactionController extends BaseController {
1327
1293
  await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasEstimate).call(this, draftTransaction);
1328
1294
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1329
1295
  transactionId,
1330
- note: 'TransactionController#updateAtomicBatchData - Gas estimate updated',
1331
1296
  }, (transactionMeta) => {
1332
1297
  transactionMeta.txParams.gas = draftTransaction.txParams.gas;
1333
1298
  transactionMeta.simulationFails = draftTransaction.simulationFails;
@@ -1347,7 +1312,6 @@ export class TransactionController extends BaseController {
1347
1312
  log('Updating batch transactions', { transactionId, batchTransactions });
1348
1313
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1349
1314
  transactionId,
1350
- note: 'TransactionController#updateBatchTransactions - Batch transactions updated',
1351
1315
  }, (transactionMeta) => {
1352
1316
  transactionMeta.batchTransactions = batchTransactions;
1353
1317
  });
@@ -1429,7 +1393,7 @@ export class TransactionController extends BaseController {
1429
1393
  });
1430
1394
  }
1431
1395
  }
1432
- _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, }) {
1396
+ _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, }) {
1433
1397
  // If transaction is found for same action id, do not create a new transaction.
1434
1398
  if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionWithActionId).call(this, actionId)) {
1435
1399
  return;
@@ -1564,7 +1528,14 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1564
1528
  }
1565
1529
  }
1566
1530
  }, _TransactionController_processApproval = async function _TransactionController_processApproval(transactionMeta, { actionId, isExisting = false, publishHook, requireApproval, shouldShowRequest = true, traceContext, }) {
1567
- const transactionId = transactionMeta.id;
1531
+ const { id: transactionId, isStateOnly } = transactionMeta;
1532
+ if (isStateOnly) {
1533
+ __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipValidation: true }, (tx) => {
1534
+ tx.status = TransactionStatus.submitted;
1535
+ tx.submittedTime = new Date().getTime();
1536
+ });
1537
+ return '';
1538
+ }
1568
1539
  let resultCallbacks;
1569
1540
  const { meta, isCompleted } = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isTransactionCompleted).call(this, transactionId);
1570
1541
  const finishedPromise = isCompleted
@@ -1675,7 +1646,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1675
1646
  // eslint-disable-next-line require-atomic-updates
1676
1647
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1677
1648
  transactionId,
1678
- note: 'TransactionController#approveTransaction - Transaction approved',
1679
1649
  }, (draftTxMeta) => {
1680
1650
  const { chainId, txParams } = draftTxMeta;
1681
1651
  const { gas, type } = txParams;
@@ -1728,7 +1698,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1728
1698
  // eslint-disable-next-line require-atomic-updates
1729
1699
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1730
1700
  transactionId,
1731
- note: 'TransactionController#approveTransaction - Transaction submitted',
1732
1701
  }, (draftTxMeta) => {
1733
1702
  draftTxMeta.hash = hash;
1734
1703
  draftTxMeta.status = TransactionStatus.submitted;
@@ -1937,17 +1906,13 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1937
1906
  const confirmedTxs = sameFromAndNetworkTransactions.filter((transaction) => transaction.status === TransactionStatus.confirmed);
1938
1907
  const pendingTxs = sameFromAndNetworkTransactions.filter((transaction) => transaction.status === TransactionStatus.submitted);
1939
1908
  validateConfirmedExternalTransaction(transactionMeta, confirmedTxs, pendingTxs);
1940
- // Make sure provided external transaction has non empty history array
1941
- const newTransactionMeta = (transactionMeta.history ?? []).length === 0 && !__classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f")
1942
- ? addInitialHistorySnapshot(transactionMeta)
1943
- : transactionMeta;
1944
1909
  this.update((state) => {
1945
1910
  state.transactions = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).call(this, [
1946
1911
  ...state.transactions,
1947
- newTransactionMeta,
1912
+ transactionMeta,
1948
1913
  ]);
1949
1914
  });
1950
- return newTransactionMeta;
1915
+ return transactionMeta;
1951
1916
  }, _TransactionController_markNonceDuplicatesDropped = function _TransactionController_markNonceDuplicatesDropped(transactionId) {
1952
1917
  const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
1953
1918
  if (!transactionMeta) {
@@ -2018,7 +1983,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2018
1983
  log('Calling before sign hook', transactionMeta);
2019
1984
  const { updateTransaction } = (await __classPrivateFieldGet(this, _TransactionController_beforeSign, "f").call(this, { transactionMeta })) ?? {};
2020
1985
  if (updateTransaction) {
2021
- __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipResimulateCheck: true, note: 'beforeSign Hook' }, updateTransaction);
1986
+ __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipResimulateCheck: true }, updateTransaction);
2022
1987
  log('Updated transaction after before sign hook');
2023
1988
  }
2024
1989
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
@@ -2197,7 +2162,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2197
2162
  ];
2198
2163
  }, _TransactionController_getLayer1GasFeeFlows = function _TransactionController_getLayer1GasFeeFlows() {
2199
2164
  return [new OptimismLayer1GasFeeFlow(), new ScrollLayer1GasFeeFlow()];
2200
- }, _TransactionController_updateTransactionInternal = function _TransactionController_updateTransactionInternal({ transactionId, note, skipHistory, skipValidation, skipResimulateCheck, }, callback) {
2165
+ }, _TransactionController_updateTransactionInternal = function _TransactionController_updateTransactionInternal({ transactionId, skipValidation, skipResimulateCheck, }, callback) {
2201
2166
  let resimulateResponse;
2202
2167
  this.update((state) => {
2203
2168
  const index = state.transactions.findIndex(({ id }) => id === transactionId);
@@ -2214,10 +2179,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2214
2179
  if (!skipResimulateCheck && __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this)) {
2215
2180
  resimulateResponse = shouldResimulate(originalTransactionMeta, transactionMeta);
2216
2181
  }
2217
- const shouldSkipHistory = __classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f") || skipHistory;
2218
- if (!shouldSkipHistory) {
2219
- transactionMeta = updateTransactionHistory(transactionMeta, note ?? 'Transaction updated');
2220
- }
2221
2182
  state.transactions[index] = transactionMeta;
2222
2183
  });
2223
2184
  const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
@@ -2279,7 +2240,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2279
2240
  }
2280
2241
  const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
2281
2242
  transactionId,
2282
- note: 'TransactionController#updateSimulationData - Update simulation data',
2283
2243
  skipResimulateCheck: Boolean(blockTime),
2284
2244
  }, (txMeta) => {
2285
2245
  txMeta.gasFeeTokens = gasFeeTokens;
@@ -2292,7 +2252,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2292
2252
  log('Updated simulation data', transactionId, updatedTransactionMeta);
2293
2253
  await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_runAfterSimulateHook).call(this, updatedTransactionMeta);
2294
2254
  }, _TransactionController_onGasFeePollerTransactionUpdate = function _TransactionController_onGasFeePollerTransactionUpdate({ transactionId, gasFeeEstimates, gasFeeEstimatesLoaded, layer1GasFee, }) {
2295
- __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipHistory: true }, (txMeta) => {
2255
+ __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId }, (txMeta) => {
2296
2256
  updateTransactionGasProperties({
2297
2257
  txMeta,
2298
2258
  gasFeeEstimates,
@@ -2398,7 +2358,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2398
2358
  try {
2399
2359
  newTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
2400
2360
  transactionId: transactionMeta.id,
2401
- note: 'TransactionController#failTransaction - Add error message and set status to failed',
2402
2361
  skipValidation: true,
2403
2362
  }, (draftTransactionMeta) => {
2404
2363
  draftTransactionMeta.status = TransactionStatus.failed;
@@ -2440,7 +2399,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2440
2399
  const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
2441
2400
  transactionId,
2442
2401
  skipResimulateCheck: true,
2443
- note: 'afterSimulate Hook',
2444
2402
  }, (txMeta) => {
2445
2403
  txMeta.txParamsOriginal = cloneDeep(txMeta.txParams);
2446
2404
  updateTransaction(txMeta);