@metamask/transaction-controller 54.3.0 → 55.0.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 (56) hide show
  1. package/CHANGELOG.md +21 -1
  2. package/dist/TransactionController.cjs +56 -19
  3. package/dist/TransactionController.cjs.map +1 -1
  4. package/dist/TransactionController.d.cts +7 -5
  5. package/dist/TransactionController.d.cts.map +1 -1
  6. package/dist/TransactionController.d.mts +7 -5
  7. package/dist/TransactionController.d.mts.map +1 -1
  8. package/dist/TransactionController.mjs +58 -21
  9. package/dist/TransactionController.mjs.map +1 -1
  10. package/dist/api/simulation-api.cjs.map +1 -1
  11. package/dist/api/simulation-api.d.cts +8 -1
  12. package/dist/api/simulation-api.d.cts.map +1 -1
  13. package/dist/api/simulation-api.d.mts +8 -1
  14. package/dist/api/simulation-api.d.mts.map +1 -1
  15. package/dist/api/simulation-api.mjs.map +1 -1
  16. package/dist/types.cjs +4 -0
  17. package/dist/types.cjs.map +1 -1
  18. package/dist/types.d.cts +4 -0
  19. package/dist/types.d.cts.map +1 -1
  20. package/dist/types.d.mts +4 -0
  21. package/dist/types.d.mts.map +1 -1
  22. package/dist/types.mjs +4 -0
  23. package/dist/types.mjs.map +1 -1
  24. package/dist/utils/batch.cjs +80 -68
  25. package/dist/utils/batch.cjs.map +1 -1
  26. package/dist/utils/batch.d.cts +1 -0
  27. package/dist/utils/batch.d.cts.map +1 -1
  28. package/dist/utils/batch.d.mts +1 -0
  29. package/dist/utils/batch.d.mts.map +1 -1
  30. package/dist/utils/batch.mjs +78 -66
  31. package/dist/utils/batch.mjs.map +1 -1
  32. package/dist/utils/eip7702.cjs +2 -1
  33. package/dist/utils/eip7702.cjs.map +1 -1
  34. package/dist/utils/eip7702.d.cts +1 -0
  35. package/dist/utils/eip7702.d.cts.map +1 -1
  36. package/dist/utils/eip7702.d.mts +1 -0
  37. package/dist/utils/eip7702.d.mts.map +1 -1
  38. package/dist/utils/eip7702.mjs +1 -0
  39. package/dist/utils/eip7702.mjs.map +1 -1
  40. package/dist/utils/simulation.cjs +55 -37
  41. package/dist/utils/simulation.cjs.map +1 -1
  42. package/dist/utils/simulation.d.cts +3 -1
  43. package/dist/utils/simulation.d.cts.map +1 -1
  44. package/dist/utils/simulation.d.mts +3 -1
  45. package/dist/utils/simulation.d.mts.map +1 -1
  46. package/dist/utils/simulation.mjs +55 -37
  47. package/dist/utils/simulation.mjs.map +1 -1
  48. package/dist/utils/validation.cjs +8 -18
  49. package/dist/utils/validation.cjs.map +1 -1
  50. package/dist/utils/validation.d.cts +1 -1
  51. package/dist/utils/validation.d.cts.map +1 -1
  52. package/dist/utils/validation.d.mts +1 -1
  53. package/dist/utils/validation.d.mts.map +1 -1
  54. package/dist/utils/validation.mjs +8 -18
  55. package/dist/utils/validation.mjs.map +1 -1
  56. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -7,6 +7,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [55.0.0]
11
+
12
+ ### Added
13
+
14
+ - Add optional `isEIP7702GasFeeTokensEnabled` constructor callback ([#5706](https://github.com/MetaMask/core/pull/5706))
15
+ - Add `lendingDeposit` `TransactionType` ([#5747](https://github.com/MetaMask/core/pull/5747))
16
+
17
+ ### Changed
18
+
19
+ - **BREAKING:** Bump `@metamask/accounts-controller` peer dependency to `^28.0.0` ([#5763](https://github.com/MetaMask/core/pull/5763))
20
+
21
+ ## [54.4.0]
22
+
23
+ ### Changed
24
+
25
+ - Bump `@metamask/network-controller` from `^23.2.0` to `^23.3.0` ([#5729](https://github.com/MetaMask/core/pull/5729))
26
+ - Remove validation of `from` if `origin` is internal ([#5707](https://github.com/MetaMask/core/pull/5707))
27
+
10
28
  ## [54.3.0]
11
29
 
12
30
  ### Added
@@ -1542,7 +1560,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1542
1560
 
1543
1561
  All changes listed after this point were applied to this package following the monorepo conversion.
1544
1562
 
1545
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@54.3.0...HEAD
1563
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@55.0.0...HEAD
1564
+ [55.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@54.4.0...@metamask/transaction-controller@55.0.0
1565
+ [54.4.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@54.3.0...@metamask/transaction-controller@54.4.0
1546
1566
  [54.3.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@54.2.0...@metamask/transaction-controller@54.3.0
1547
1567
  [54.2.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@54.1.0...@metamask/transaction-controller@54.2.0
1548
1568
  [54.1.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@54.0.0...@metamask/transaction-controller@54.1.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_approvingTransactionIds, _TransactionController_beforeCheckPendingTransaction, _TransactionController_beforePublish, _TransactionController_gasFeeFlows, _TransactionController_getAdditionalSignArguments, _TransactionController_getCurrentAccountEIP1559Compatibility, _TransactionController_getCurrentNetworkEIP1559Compatibility, _TransactionController_getExternalPendingTransactions, _TransactionController_getGasFeeEstimates, _TransactionController_getNetworkState, _TransactionController_getPermittedAccounts, _TransactionController_getSavedGasFees, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_internalEvents, _TransactionController_isAutomaticGasFeeUpdateEnabled, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isHistoryDisabled, _TransactionController_isSendFlowHistoryDisabled, _TransactionController_isSimulationEnabled, _TransactionController_isSwapsDisabled, _TransactionController_layer1GasFeeFlows, _TransactionController_methodDataHelper, _TransactionController_multichainTrackingHelper, _TransactionController_pendingTransactionOptions, _TransactionController_publicKeyEIP7702, _TransactionController_publish, _TransactionController_publishBatchHook, _TransactionController_securityProviderRequest, _TransactionController_sign, _TransactionController_signAbortCallbacks, _TransactionController_testGasFeeFlows, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_retryTransaction, _TransactionController_signExternalTransaction, _TransactionController_addMetadata, _TransactionController_updateGasProperties, _TransactionController_onBootCleanup, _TransactionController_failIncompleteTransactions, _TransactionController_processApproval, _TransactionController_approveTransaction, _TransactionController_publishTransaction, _TransactionController_rejectTransaction, _TransactionController_trimTransactionsForState, _TransactionController_isFinalState, _TransactionController_isLocalFinalState, _TransactionController_requestApproval, _TransactionController_getTransaction, _TransactionController_getTransactionOrThrow, _TransactionController_getApprovalId, _TransactionController_isTransactionCompleted, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_onIncomingTransactions, _TransactionController_generateDappSuggestedGasFees, _TransactionController_addExternalTransaction, _TransactionController_markNonceDuplicatesDropped, _TransactionController_setTransactionStatusDropped, _TransactionController_getTransactionWithActionId, _TransactionController_waitForTransactionFinished, _TransactionController_updateTransactionMetaRSV, _TransactionController_getEIP1559Compatibility, _TransactionController_signTransaction, _TransactionController_onTransactionStatusChange, _TransactionController_getNonceTrackerTransactions, _TransactionController_onConfirmedTransaction, _TransactionController_updatePostBalance, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_publishTransactionForRetry, _TransactionController_isTransactionAlreadyConfirmedError, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateFirstTimeInteraction, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate, _TransactionController_registerActionHandlers, _TransactionController_deleteTransaction, _TransactionController_isRejectError, _TransactionController_rejectTransactionAndThrow, _TransactionController_failTransaction;
16
+ var _TransactionController_instances, _TransactionController_afterAdd, _TransactionController_afterSign, _TransactionController_approvingTransactionIds, _TransactionController_beforeCheckPendingTransaction, _TransactionController_beforePublish, _TransactionController_gasFeeFlows, _TransactionController_getAdditionalSignArguments, _TransactionController_getCurrentAccountEIP1559Compatibility, _TransactionController_getCurrentNetworkEIP1559Compatibility, _TransactionController_getExternalPendingTransactions, _TransactionController_getGasFeeEstimates, _TransactionController_getNetworkState, _TransactionController_getPermittedAccounts, _TransactionController_getSavedGasFees, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_internalEvents, _TransactionController_isAutomaticGasFeeUpdateEnabled, _TransactionController_isEIP7702GasFeeTokensEnabled, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isHistoryDisabled, _TransactionController_isSendFlowHistoryDisabled, _TransactionController_isSimulationEnabled, _TransactionController_isSwapsDisabled, _TransactionController_layer1GasFeeFlows, _TransactionController_methodDataHelper, _TransactionController_multichainTrackingHelper, _TransactionController_pendingTransactionOptions, _TransactionController_publicKeyEIP7702, _TransactionController_publish, _TransactionController_publishBatchHook, _TransactionController_securityProviderRequest, _TransactionController_sign, _TransactionController_signAbortCallbacks, _TransactionController_testGasFeeFlows, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_retryTransaction, _TransactionController_signExternalTransaction, _TransactionController_addMetadata, _TransactionController_updateGasProperties, _TransactionController_onBootCleanup, _TransactionController_failIncompleteTransactions, _TransactionController_processApproval, _TransactionController_approveTransaction, _TransactionController_publishTransaction, _TransactionController_rejectTransaction, _TransactionController_trimTransactionsForState, _TransactionController_isFinalState, _TransactionController_isLocalFinalState, _TransactionController_requestApproval, _TransactionController_getTransaction, _TransactionController_getTransactionOrThrow, _TransactionController_getApprovalId, _TransactionController_isTransactionCompleted, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_onIncomingTransactions, _TransactionController_generateDappSuggestedGasFees, _TransactionController_addExternalTransaction, _TransactionController_markNonceDuplicatesDropped, _TransactionController_setTransactionStatusDropped, _TransactionController_getTransactionWithActionId, _TransactionController_waitForTransactionFinished, _TransactionController_updateTransactionMetaRSV, _TransactionController_getEIP1559Compatibility, _TransactionController_signTransaction, _TransactionController_onTransactionStatusChange, _TransactionController_getNonceTrackerTransactions, _TransactionController_onConfirmedTransaction, _TransactionController_updatePostBalance, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_publishTransactionForRetry, _TransactionController_isTransactionAlreadyConfirmedError, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateFirstTimeInteraction, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate, _TransactionController_registerActionHandlers, _TransactionController_deleteTransaction, _TransactionController_isRejectError, _TransactionController_rejectTransactionAndThrow, _TransactionController_failTransaction, _TransactionController_getSimulationData, _TransactionController_getSimulationAuthorizationList;
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");
@@ -48,6 +48,7 @@ const types_1 = require("./types.cjs");
48
48
  const batch_1 = require("./utils/batch.cjs");
49
49
  const eip7702_1 = require("./utils/eip7702.cjs");
50
50
  const external_transactions_1 = require("./utils/external-transactions.cjs");
51
+ const feature_flags_1 = require("./utils/feature-flags.cjs");
51
52
  const gas_1 = require("./utils/gas.cjs");
52
53
  const gas_fees_1 = require("./utils/gas-fees.cjs");
53
54
  const gas_flow_1 = require("./utils/gas-flow.cjs");
@@ -128,7 +129,7 @@ class TransactionController extends base_controller_1.BaseController {
128
129
  * @param options - The controller options.
129
130
  */
130
131
  constructor(options) {
131
- const { disableHistory, disableSendFlowHistory, disableSwaps, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getExternalPendingTransactions, getGasFeeEstimates, getNetworkClientRegistry, getNetworkState, getPermittedAccounts, getSavedGasFees, hooks, incomingTransactions = {}, isAutomaticGasFeeUpdateEnabled, isFirstTimeInteractionEnabled, isSimulationEnabled, messenger, pendingTransactions = {}, publicKeyEIP7702, securityProviderRequest, sign, state, testGasFeeFlows, trace, transactionHistoryLimit = 40, } = options;
132
+ const { disableHistory, disableSendFlowHistory, disableSwaps, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getExternalPendingTransactions, getGasFeeEstimates, getNetworkClientRegistry, getNetworkState, getPermittedAccounts, getSavedGasFees, hooks, incomingTransactions = {}, isAutomaticGasFeeUpdateEnabled, isEIP7702GasFeeTokensEnabled, isFirstTimeInteractionEnabled, isSimulationEnabled, messenger, pendingTransactions = {}, publicKeyEIP7702, securityProviderRequest, sign, state, testGasFeeFlows, trace, transactionHistoryLimit = 40, } = options;
132
133
  super({
133
134
  name: controllerName,
134
135
  metadata,
@@ -157,6 +158,7 @@ class TransactionController extends base_controller_1.BaseController {
157
158
  _TransactionController_incomingTransactionOptions.set(this, void 0);
158
159
  _TransactionController_internalEvents.set(this, new events_1.EventEmitter());
159
160
  _TransactionController_isAutomaticGasFeeUpdateEnabled.set(this, void 0);
161
+ _TransactionController_isEIP7702GasFeeTokensEnabled.set(this, void 0);
160
162
  _TransactionController_isFirstTimeInteractionEnabled.set(this, void 0);
161
163
  _TransactionController_isHistoryDisabled.set(this, void 0);
162
164
  _TransactionController_isSendFlowHistoryDisabled.set(this, void 0);
@@ -195,6 +197,7 @@ class TransactionController extends base_controller_1.BaseController {
195
197
  __classPrivateFieldSet(this, _TransactionController_getSavedGasFees, getSavedGasFees ?? ((_chainId) => undefined), "f");
196
198
  __classPrivateFieldSet(this, _TransactionController_incomingTransactionOptions, incomingTransactions, "f");
197
199
  __classPrivateFieldSet(this, _TransactionController_isAutomaticGasFeeUpdateEnabled, isAutomaticGasFeeUpdateEnabled ?? ((_txMeta) => false), "f");
200
+ __classPrivateFieldSet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, isEIP7702GasFeeTokensEnabled ?? (() => Promise.resolve(false)), "f");
198
201
  __classPrivateFieldSet(this, _TransactionController_isFirstTimeInteractionEnabled, isFirstTimeInteractionEnabled ?? (() => true), "f");
199
202
  __classPrivateFieldSet(this, _TransactionController_isHistoryDisabled, disableHistory ?? false, "f");
200
203
  __classPrivateFieldSet(this, _TransactionController_isSendFlowHistoryDisabled, disableSendFlowHistory ?? false, "f");
@@ -372,7 +375,6 @@ class TransactionController extends base_controller_1.BaseController {
372
375
  const permittedAddresses = origin === undefined
373
376
  ? undefined
374
377
  : await __classPrivateFieldGet(this, _TransactionController_getPermittedAccounts, "f")?.call(this, origin);
375
- const selectedAddress = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getSelectedAccount).call(this).address;
376
378
  const internalAccounts = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getInternalAccounts).call(this);
377
379
  await (0, validation_1.validateTransactionOrigin)({
378
380
  data: txParams.data,
@@ -380,7 +382,6 @@ class TransactionController extends base_controller_1.BaseController {
380
382
  internalAccounts,
381
383
  origin,
382
384
  permittedAddresses,
383
- selectedAddress,
384
385
  txParams,
385
386
  type,
386
387
  });
@@ -1212,7 +1213,7 @@ class TransactionController extends base_controller_1.BaseController {
1212
1213
  }
1213
1214
  }
1214
1215
  exports.TransactionController = TransactionController;
1215
- _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSign = new WeakMap(), _TransactionController_approvingTransactionIds = new WeakMap(), _TransactionController_beforeCheckPendingTransaction = new WeakMap(), _TransactionController_beforePublish = 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_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_internalEvents = new WeakMap(), _TransactionController_isAutomaticGasFeeUpdateEnabled = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(), _TransactionController_isHistoryDisabled = new WeakMap(), _TransactionController_isSendFlowHistoryDisabled = new WeakMap(), _TransactionController_isSimulationEnabled = new WeakMap(), _TransactionController_isSwapsDisabled = 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_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, }) {
1216
+ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSign = new WeakMap(), _TransactionController_approvingTransactionIds = new WeakMap(), _TransactionController_beforeCheckPendingTransaction = new WeakMap(), _TransactionController_beforePublish = 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_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_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_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, }) {
1216
1217
  // If transaction is found for same action id, do not create a new transaction.
1217
1218
  if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionWithActionId).call(this, actionId)) {
1218
1219
  return;
@@ -1997,8 +1998,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1997
1998
  (0, logger_1.projectLogger)('Error fetching account address relationship, skipping first time interaction update', error);
1998
1999
  }
1999
2000
  }, _TransactionController_updateSimulationData = async function _TransactionController_updateSimulationData(transactionMeta, { blockTime, traceContext, } = {}) {
2000
- const { id: transactionId, chainId, txParams, simulationData: prevSimulationData, } = transactionMeta;
2001
- const { from, to, value, data } = txParams;
2001
+ const { id: transactionId, simulationData: prevSimulationData } = transactionMeta;
2002
2002
  let simulationData = {
2003
2003
  error: {
2004
2004
  code: types_1.SimulationErrorCode.Disabled,
@@ -2008,19 +2008,11 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2008
2008
  };
2009
2009
  let gasFeeTokens = [];
2010
2010
  if (__classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this)) {
2011
- const authorizationAddress = txParams?.authorizationList?.[0]?.address;
2012
- const senderCode = authorizationAddress &&
2013
- (eip7702_1.DELEGATION_PREFIX + (0, utils_1.remove0x)(authorizationAddress));
2014
- const result = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Simulate', parentContext: traceContext }, () => (0, simulation_1.getSimulationData)({
2015
- chainId,
2016
- from: from,
2017
- to: to,
2018
- value: value,
2019
- data: data,
2020
- }, {
2011
+ const result = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getSimulationData).call(this, {
2021
2012
  blockTime,
2022
- senderCode,
2023
- }));
2013
+ traceContext,
2014
+ transactionMeta,
2015
+ });
2024
2016
  gasFeeTokens = result?.gasFeeTokens;
2025
2017
  simulationData = result?.simulationData;
2026
2018
  if (blockTime &&
@@ -2151,5 +2143,50 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2151
2143
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, newTransactionMeta);
2152
2144
  this.messagingSystem.publish(`${controllerName}:transactionFinished`, newTransactionMeta);
2153
2145
  __classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionMeta.id}:finished`, newTransactionMeta);
2146
+ }, _TransactionController_getSimulationData = async function _TransactionController_getSimulationData({ blockTime, traceContext, transactionMeta, }) {
2147
+ const { chainId, delegationAddress, txParams } = transactionMeta;
2148
+ const { authorizationList: authorizationListRequest, data, from, to, value, } = txParams;
2149
+ const authorizationAddress = authorizationListRequest?.[0]?.address;
2150
+ const senderCode = authorizationAddress &&
2151
+ (eip7702_1.DELEGATION_PREFIX + (0, utils_1.remove0x)(authorizationAddress));
2152
+ const is7702GasFeeTokensEnabled = await __classPrivateFieldGet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, "f").call(this, transactionMeta);
2153
+ const use7702Fees = is7702GasFeeTokensEnabled &&
2154
+ (0, eip7702_1.doesChainSupportEIP7702)(chainId, this.messagingSystem);
2155
+ let authorizationList = authorizationListRequest?.map((authorization) => ({
2156
+ address: authorization.address,
2157
+ from: from,
2158
+ }));
2159
+ if (use7702Fees && !delegationAddress && !authorizationList) {
2160
+ authorizationList = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getSimulationAuthorizationList).call(this, {
2161
+ chainId,
2162
+ from: from,
2163
+ });
2164
+ }
2165
+ return await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Simulate', parentContext: traceContext }, () => (0, simulation_1.getSimulationData)({
2166
+ authorizationList,
2167
+ chainId,
2168
+ data: data,
2169
+ from: from,
2170
+ to: to,
2171
+ value: value,
2172
+ }, {
2173
+ blockTime,
2174
+ senderCode,
2175
+ use7702Fees,
2176
+ }));
2177
+ }, _TransactionController_getSimulationAuthorizationList = function _TransactionController_getSimulationAuthorizationList({ chainId, from, }) {
2178
+ if (!__classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f")) {
2179
+ throw rpc_errors_1.rpcErrors.internal(eip7702_1.ERROR_MESSGE_PUBLIC_KEY);
2180
+ }
2181
+ const upgradeAddress = (0, feature_flags_1.getEIP7702UpgradeContractAddress)(chainId, this.messagingSystem, __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"));
2182
+ if (!upgradeAddress) {
2183
+ throw rpc_errors_1.rpcErrors.internal(batch_1.ERROR_MESSAGE_NO_UPGRADE_CONTRACT);
2184
+ }
2185
+ return [
2186
+ {
2187
+ address: upgradeAddress,
2188
+ from: from,
2189
+ },
2190
+ ];
2154
2191
  };
2155
2192
  //# sourceMappingURL=TransactionController.cjs.map