@metamask-previews/transaction-controller 39.0.0-preview-af392506 → 39.0.0-preview-bb2f1fdd

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 (39) hide show
  1. package/dist/TransactionController.cjs +6 -55
  2. package/dist/TransactionController.cjs.map +1 -1
  3. package/dist/TransactionController.d.cts +1 -3
  4. package/dist/TransactionController.d.cts.map +1 -1
  5. package/dist/TransactionController.d.mts +1 -3
  6. package/dist/TransactionController.d.mts.map +1 -1
  7. package/dist/TransactionController.mjs +8 -57
  8. package/dist/TransactionController.mjs.map +1 -1
  9. package/dist/errors.cjs +1 -8
  10. package/dist/errors.cjs.map +1 -1
  11. package/dist/errors.d.cts +0 -4
  12. package/dist/errors.d.cts.map +1 -1
  13. package/dist/errors.d.mts +0 -4
  14. package/dist/errors.d.mts.map +1 -1
  15. package/dist/errors.mjs +0 -6
  16. package/dist/errors.mjs.map +1 -1
  17. package/dist/types.cjs.map +1 -1
  18. package/dist/types.d.cts +0 -8
  19. package/dist/types.d.cts.map +1 -1
  20. package/dist/types.d.mts +0 -8
  21. package/dist/types.d.mts.map +1 -1
  22. package/dist/types.mjs.map +1 -1
  23. package/dist/utils/validation.cjs +1 -22
  24. package/dist/utils/validation.cjs.map +1 -1
  25. package/dist/utils/validation.d.cts +0 -7
  26. package/dist/utils/validation.d.cts.map +1 -1
  27. package/dist/utils/validation.d.mts +0 -7
  28. package/dist/utils/validation.d.mts.map +1 -1
  29. package/dist/utils/validation.mjs +0 -20
  30. package/dist/utils/validation.mjs.map +1 -1
  31. package/package.json +1 -1
  32. package/dist/api/accounts-api.cjs +0 -67
  33. package/dist/api/accounts-api.cjs.map +0 -1
  34. package/dist/api/accounts-api.d.cts +0 -44
  35. package/dist/api/accounts-api.d.cts.map +0 -1
  36. package/dist/api/accounts-api.d.mts +0 -44
  37. package/dist/api/accounts-api.d.mts.map +0 -1
  38. package/dist/api/accounts-api.mjs +0 -63
  39. package/dist/api/accounts-api.mjs.map +0 -1
@@ -13,7 +13,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || 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_internalEvents, _TransactionController_incomingTransactionOptions, _TransactionController_pendingTransactionOptions, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isSimulationEnabled, _TransactionController_testGasFeeFlows, _TransactionController_multichainTrackingHelper, _TransactionController_retryTransaction, _TransactionController_createNonceTracker, _TransactionController_createIncomingTransactionHelper, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_removeIncomingTransactionHelperListeners, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateFirstInteractionProperties, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_getNetworkClientId, _TransactionController_getGlobalNetworkClientId, _TransactionController_getGlobalChainId, _TransactionController_isCustomNetwork, _TransactionController_getSelectedAccount, _TransactionController_updateSubmitHistory;
16
+ var _TransactionController_instances, _TransactionController_internalEvents, _TransactionController_incomingTransactionOptions, _TransactionController_pendingTransactionOptions, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_isSimulationEnabled, _TransactionController_testGasFeeFlows, _TransactionController_multichainTrackingHelper, _TransactionController_retryTransaction, _TransactionController_createNonceTracker, _TransactionController_createIncomingTransactionHelper, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_removeIncomingTransactionHelperListeners, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_getNetworkClientId, _TransactionController_getGlobalNetworkClientId, _TransactionController_getGlobalChainId, _TransactionController_isCustomNetwork, _TransactionController_getSelectedAccount, _TransactionController_updateSubmitHistory;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.TransactionController = exports.ApprovalState = exports.SPEED_UP_RATE = exports.CANCEL_RATE = exports.HARDFORK = void 0;
19
19
  const common_1 = require("@ethereumjs/common");
@@ -31,7 +31,6 @@ const eth_method_registry_1 = require("eth-method-registry");
31
31
  const events_1 = require("events");
32
32
  const lodash_1 = require("lodash");
33
33
  const uuid_1 = require("uuid");
34
- const accounts_api_1 = require("./api/accounts-api.cjs");
35
34
  const DefaultGasFeeFlow_1 = require("./gas-flows/DefaultGasFeeFlow.cjs");
36
35
  const LineaGasFeeFlow_1 = require("./gas-flows/LineaGasFeeFlow.cjs");
37
36
  const OptimismLayer1GasFeeFlow_1 = require("./gas-flows/OptimismLayer1GasFeeFlow.cjs");
@@ -178,7 +177,6 @@ class TransactionController extends base_controller_1.BaseController {
178
177
  * @param options.getSavedGasFees - Gets the saved gas fee config.
179
178
  * @param options.incomingTransactions - Configuration options for incoming transaction support.
180
179
  * @param options.isMultichainEnabled - Enable multichain support.
181
- * @param options.isFirstTimeInteractionEnabled - Whether first time interaction checks are enabled.
182
180
  * @param options.isSimulationEnabled - Whether new transactions will be automatically simulated.
183
181
  * @param options.messenger - The controller messenger.
184
182
  * @param options.onNetworkStateChange - Allows subscribing to network controller state changes.
@@ -192,7 +190,7 @@ class TransactionController extends base_controller_1.BaseController {
192
190
  * @param options.transactionHistoryLimit - Transaction history limit.
193
191
  * @param options.hooks - The controller hooks.
194
192
  */
195
- constructor({ blockTracker, disableHistory, disableSendFlowHistory, disableSwaps, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getExternalPendingTransactions, getGasFeeEstimates, getNetworkClientRegistry, getNetworkState, getPermittedAccounts, getSavedGasFees, incomingTransactions = {}, isMultichainEnabled = false, isFirstTimeInteractionEnabled, isSimulationEnabled, messenger, onNetworkStateChange, pendingTransactions = {}, provider, securityProviderRequest, sign, state, testGasFeeFlows, trace, transactionHistoryLimit = 40, hooks, }) {
193
+ constructor({ blockTracker, disableHistory, disableSendFlowHistory, disableSwaps, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getExternalPendingTransactions, getGasFeeEstimates, getNetworkClientRegistry, getNetworkState, getPermittedAccounts, getSavedGasFees, incomingTransactions = {}, isMultichainEnabled = false, isSimulationEnabled, messenger, onNetworkStateChange, pendingTransactions = {}, provider, securityProviderRequest, sign, state, testGasFeeFlows, trace, transactionHistoryLimit = 40, hooks, }) {
196
194
  super({
197
195
  name: controllerName,
198
196
  metadata,
@@ -211,7 +209,6 @@ class TransactionController extends base_controller_1.BaseController {
211
209
  this.signAbortCallbacks = new Map();
212
210
  _TransactionController_trace.set(this, void 0);
213
211
  _TransactionController_transactionHistoryLimit.set(this, void 0);
214
- _TransactionController_isFirstTimeInteractionEnabled.set(this, void 0);
215
212
  _TransactionController_isSimulationEnabled.set(this, void 0);
216
213
  _TransactionController_testGasFeeFlows.set(this, void 0);
217
214
  _TransactionController_multichainTrackingHelper.set(this, void 0);
@@ -225,7 +222,6 @@ class TransactionController extends base_controller_1.BaseController {
225
222
  this.isSendFlowHistoryDisabled = disableSendFlowHistory ?? false;
226
223
  this.isHistoryDisabled = disableHistory ?? false;
227
224
  this.isSwapsDisabled = disableSwaps ?? false;
228
- __classPrivateFieldSet(this, _TransactionController_isFirstTimeInteractionEnabled, isFirstTimeInteractionEnabled ?? (() => true), "f");
229
225
  __classPrivateFieldSet(this, _TransactionController_isSimulationEnabled, isSimulationEnabled ?? (() => true), "f");
230
226
  // @ts-expect-error the type in eth-method-registry is inappropriate and should be changed
231
227
  this.registry = new eth_method_registry_1.MethodRegistry({ provider });
@@ -407,17 +403,15 @@ class TransactionController extends base_controller_1.BaseController {
407
403
  dappSuggestedGasFees,
408
404
  deviceConfirmedOn,
409
405
  id: (0, uuid_1.v1)(),
410
- isFirstTimeInteraction: false,
411
- isFirstTimeInteractionDisabled: false,
412
- networkClientId,
413
406
  origin,
414
407
  securityAlertResponse,
415
408
  status: types_1.TransactionStatus.unapproved,
416
409
  time: Date.now(),
417
410
  txParams,
418
- type: transactionType,
419
411
  userEditedGasLimit: false,
420
412
  verifiedOnBlockchain: false,
413
+ type: transactionType,
414
+ networkClientId,
421
415
  };
422
416
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Estimate Gas Properties', parentContext: traceContext }, (context) => this.updateGasProperties(addedTransactionMeta, {
423
417
  traceContext: context,
@@ -450,14 +444,9 @@ class TransactionController extends base_controller_1.BaseController {
450
444
  (0, logger_1.projectLogger)('Error while updating simulation data', error);
451
445
  throw error;
452
446
  });
453
- __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateFirstInteractionProperties).call(this, addedTransactionMeta, {
454
- traceContext,
455
- }).catch((error) => {
456
- (0, logger_1.projectLogger)('Error while updating first interaction properties', error);
457
- });
458
447
  }
459
448
  else {
460
- (0, logger_1.projectLogger)('Skipping simulation & first interaction update as approval not required');
449
+ (0, logger_1.projectLogger)('Skipping simulation as approval not required');
461
450
  }
462
451
  this.messagingSystem.publish(`${controllerName}:unapprovedTransactionAdded`, addedTransactionMeta);
463
452
  }
@@ -1796,7 +1785,7 @@ class TransactionController extends base_controller_1.BaseController {
1796
1785
  }
1797
1786
  }
1798
1787
  exports.TransactionController = TransactionController;
1799
- _TransactionController_internalEvents = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_pendingTransactionOptions = new WeakMap(), _TransactionController_trace = new WeakMap(), _TransactionController_transactionHistoryLimit = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(), _TransactionController_isSimulationEnabled = new WeakMap(), _TransactionController_testGasFeeFlows = new WeakMap(), _TransactionController_multichainTrackingHelper = 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, }) {
1788
+ _TransactionController_internalEvents = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_pendingTransactionOptions = new WeakMap(), _TransactionController_trace = new WeakMap(), _TransactionController_transactionHistoryLimit = new WeakMap(), _TransactionController_isSimulationEnabled = new WeakMap(), _TransactionController_testGasFeeFlows = new WeakMap(), _TransactionController_multichainTrackingHelper = 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, }) {
1800
1789
  // If transaction is found for same action id, do not create a new transaction.
1801
1790
  if (this.getTransactionWithActionId(actionId)) {
1802
1791
  return;
@@ -1974,44 +1963,6 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_in
1974
1963
  });
1975
1964
  }
1976
1965
  return transactionMeta;
1977
- }, _TransactionController_updateFirstInteractionProperties = async function _TransactionController_updateFirstInteractionProperties(transactionMeta, { traceContext, } = {}) {
1978
- if (!__classPrivateFieldGet(this, _TransactionController_isFirstTimeInteractionEnabled, "f").call(this)) {
1979
- return;
1980
- }
1981
- const { chainId, id: transactionId, txParams: { to, from }, } = transactionMeta;
1982
- const request = {
1983
- chainId: (0, utils_1.hexToNumber)(chainId),
1984
- to: to,
1985
- from,
1986
- };
1987
- (0, validation_1.validateAccountAddressRelationshipRequest)(request);
1988
- const existingTransaction = this.state.transactions.find((tx) => tx.chainId === chainId &&
1989
- tx.txParams.from === from &&
1990
- tx.txParams.to === to &&
1991
- tx.id !== transactionId);
1992
- // Check if there is an existing transaction with the same from, to, and chainId
1993
- // else we continue to check the account address relationship from API
1994
- if (existingTransaction) {
1995
- return;
1996
- }
1997
- const { isFirstTimeInteractionDisabled, isFirstTimeInteraction } = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Account Address Relationship', parentContext: traceContext }, () => (0, accounts_api_1.getAccountAddressRelationship)(request));
1998
- const finalTransactionMeta = this.getTransaction(transactionId);
1999
- /* istanbul ignore if */
2000
- if (!finalTransactionMeta) {
2001
- (0, logger_1.projectLogger)('Cannot update first time interaction properties as transaction not found', transactionId);
2002
- return;
2003
- }
2004
- __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
2005
- transactionId,
2006
- note: 'TransactionController#updateFirstInteraction - Update first time interaction',
2007
- }, (txMeta) => {
2008
- txMeta.isFirstTimeInteraction = isFirstTimeInteraction;
2009
- txMeta.isFirstTimeInteractionDisabled = isFirstTimeInteractionDisabled;
2010
- });
2011
- (0, logger_1.projectLogger)('Updated first time interaction properties', transactionId, {
2012
- isFirstTimeInteractionDisabled,
2013
- isFirstTimeInteraction,
2014
- });
2015
1966
  }, _TransactionController_updateSimulationData = async function _TransactionController_updateSimulationData(transactionMeta, { blockTime, traceContext, } = {}) {
2016
1967
  const { id: transactionId, chainId, txParams, simulationData: prevSimulationData, } = transactionMeta;
2017
1968
  const { from, to, value, data } = txParams;