@metamask-previews/transaction-controller 37.3.0-preview-3806a69c → 37.3.0-preview-9e22b9bb

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 (43) hide show
  1. package/dist/TransactionController.cjs +29 -27
  2. package/dist/TransactionController.cjs.map +1 -1
  3. package/dist/TransactionController.d.cts.map +1 -1
  4. package/dist/TransactionController.d.mts.map +1 -1
  5. package/dist/TransactionController.mjs +30 -28
  6. package/dist/TransactionController.mjs.map +1 -1
  7. package/dist/types.cjs.map +1 -1
  8. package/dist/types.d.cts +0 -2
  9. package/dist/types.d.cts.map +1 -1
  10. package/dist/types.d.mts +0 -2
  11. package/dist/types.d.mts.map +1 -1
  12. package/dist/types.mjs.map +1 -1
  13. package/dist/utils/simulation-api.cjs.map +1 -1
  14. package/dist/utils/simulation-api.d.cts +0 -3
  15. package/dist/utils/simulation-api.d.cts.map +1 -1
  16. package/dist/utils/simulation-api.d.mts +0 -3
  17. package/dist/utils/simulation-api.d.mts.map +1 -1
  18. package/dist/utils/simulation-api.mjs.map +1 -1
  19. package/dist/utils/simulation.cjs +3 -19
  20. package/dist/utils/simulation.cjs.map +1 -1
  21. package/dist/utils/simulation.d.cts +2 -7
  22. package/dist/utils/simulation.d.cts.map +1 -1
  23. package/dist/utils/simulation.d.mts +2 -7
  24. package/dist/utils/simulation.d.mts.map +1 -1
  25. package/dist/utils/simulation.mjs +3 -19
  26. package/dist/utils/simulation.mjs.map +1 -1
  27. package/dist/utils/utils.cjs +1 -27
  28. package/dist/utils/utils.cjs.map +1 -1
  29. package/dist/utils/utils.d.cts +0 -10
  30. package/dist/utils/utils.d.cts.map +1 -1
  31. package/dist/utils/utils.d.mts +0 -10
  32. package/dist/utils/utils.d.mts.map +1 -1
  33. package/dist/utils/utils.mjs +0 -29
  34. package/dist/utils/utils.mjs.map +1 -1
  35. package/package.json +3 -3
  36. package/dist/utils/resimulate.cjs +0 -172
  37. package/dist/utils/resimulate.cjs.map +0 -1
  38. package/dist/utils/resimulate.d.cts +0 -27
  39. package/dist/utils/resimulate.d.cts.map +0 -1
  40. package/dist/utils/resimulate.d.mts +0 -27
  41. package/dist/utils/resimulate.d.mts.map +0 -1
  42. package/dist/utils/resimulate.mjs +0 -168
  43. package/dist/utils/resimulate.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_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;
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_checkIfTransactionParamsUpdated, _TransactionController_onTransactionParamsUpdated, _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");
@@ -50,7 +50,6 @@ const gas_flow_1 = require("./utils/gas-flow.cjs");
50
50
  const history_1 = require("./utils/history.cjs");
51
51
  const layer1_gas_fee_flow_1 = require("./utils/layer1-gas-fee-flow.cjs");
52
52
  const nonce_1 = require("./utils/nonce.cjs");
53
- const resimulate_1 = require("./utils/resimulate.cjs");
54
53
  const retry_1 = require("./utils/retry.cjs");
55
54
  const simulation_1 = require("./utils/simulation.cjs");
56
55
  const swaps_1 = require("./utils/swaps.cjs");
@@ -1932,21 +1931,19 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_in
1932
1931
  return [new LineaGasFeeFlow_1.LineaGasFeeFlow(), new DefaultGasFeeFlow_1.DefaultGasFeeFlow()];
1933
1932
  }, _TransactionController_getLayer1GasFeeFlows = function _TransactionController_getLayer1GasFeeFlows() {
1934
1933
  return [new OptimismLayer1GasFeeFlow_1.OptimismLayer1GasFeeFlow(), new ScrollLayer1GasFeeFlow_1.ScrollLayer1GasFeeFlow()];
1935
- }, _TransactionController_updateTransactionInternal = function _TransactionController_updateTransactionInternal({ transactionId, note, skipHistory, skipValidation, skipResimulateCheck, }, callback) {
1936
- let resimulateResponse;
1934
+ }, _TransactionController_updateTransactionInternal = function _TransactionController_updateTransactionInternal({ transactionId, note, skipHistory, skipValidation, }, callback) {
1935
+ let updatedTransactionParams = [];
1937
1936
  this.update((state) => {
1938
1937
  const index = state.transactions.findIndex(({ id }) => id === transactionId);
1939
1938
  let transactionMeta = state.transactions[index];
1940
- const originalTransactionMeta = (0, lodash_1.cloneDeep)(transactionMeta);
1941
1939
  // eslint-disable-next-line n/callback-return
1942
1940
  transactionMeta = callback(transactionMeta) ?? transactionMeta;
1943
1941
  if (skipValidation !== true) {
1944
1942
  transactionMeta.txParams = (0, utils_2.normalizeTransactionParams)(transactionMeta.txParams);
1945
1943
  (0, validation_1.validateTxParams)(transactionMeta.txParams);
1946
1944
  }
1947
- if (!skipResimulateCheck && __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this)) {
1948
- resimulateResponse = (0, resimulate_1.shouldResimulate)(originalTransactionMeta, transactionMeta);
1949
- }
1945
+ updatedTransactionParams =
1946
+ __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_checkIfTransactionParamsUpdated).call(this, transactionMeta);
1950
1947
  const shouldSkipHistory = this.isHistoryDisabled || skipHistory;
1951
1948
  if (!shouldSkipHistory) {
1952
1949
  transactionMeta = (0, history_1.updateTransactionHistory)(transactionMeta, note ?? 'Transaction updated');
@@ -1954,17 +1951,30 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_in
1954
1951
  state.transactions[index] = transactionMeta;
1955
1952
  });
1956
1953
  const transactionMeta = this.getTransaction(transactionId);
1957
- if (resimulateResponse?.resimulate) {
1958
- __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSimulationData).call(this, transactionMeta, {
1959
- blockTime: resimulateResponse.blockTime,
1960
- }).catch((error) => {
1961
- (0, logger_1.projectLogger)('Error during re-simulation', error);
1954
+ if (updatedTransactionParams.length > 0) {
1955
+ __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionParamsUpdated).call(this, transactionMeta, updatedTransactionParams);
1956
+ }
1957
+ return transactionMeta;
1958
+ }, _TransactionController_checkIfTransactionParamsUpdated = function _TransactionController_checkIfTransactionParamsUpdated(newTransactionMeta) {
1959
+ const { id: transactionId, txParams: newParams } = newTransactionMeta;
1960
+ const originalParams = this.getTransaction(transactionId)?.txParams;
1961
+ if (!originalParams || (0, lodash_1.isEqual)(originalParams, newParams)) {
1962
+ return [];
1963
+ }
1964
+ const params = Object.keys(newParams);
1965
+ const updatedProperties = params.filter((param) => newParams[param] !== originalParams[param]);
1966
+ (0, logger_1.projectLogger)('Transaction parameters have been updated', transactionId, updatedProperties, originalParams, newParams);
1967
+ return updatedProperties;
1968
+ }, _TransactionController_onTransactionParamsUpdated = function _TransactionController_onTransactionParamsUpdated(transactionMeta, updatedParams) {
1969
+ if (['to', 'value', 'data'].some((param) => updatedParams.includes(param))) {
1970
+ (0, logger_1.projectLogger)('Updating simulation data due to transaction parameter update');
1971
+ __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSimulationData).call(this, transactionMeta).catch((error) => {
1972
+ (0, logger_1.projectLogger)('Error updating simulation data', error);
1962
1973
  throw error;
1963
1974
  });
1964
1975
  }
1965
- return transactionMeta;
1966
- }, _TransactionController_updateSimulationData = async function _TransactionController_updateSimulationData(transactionMeta, { blockTime, traceContext, } = {}) {
1967
- const { id: transactionId, chainId, txParams, simulationData: prevSimulationData, } = transactionMeta;
1976
+ }, _TransactionController_updateSimulationData = async function _TransactionController_updateSimulationData(transactionMeta, { traceContext } = {}) {
1977
+ const { id: transactionId, chainId, txParams } = transactionMeta;
1968
1978
  const { from, to, value, data } = txParams;
1969
1979
  let simulationData = {
1970
1980
  error: {
@@ -1974,23 +1984,16 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_in
1974
1984
  tokenBalanceChanges: [],
1975
1985
  };
1976
1986
  if (__classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this)) {
1987
+ __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipHistory: true }, (txMeta) => {
1988
+ txMeta.simulationData = undefined;
1989
+ });
1977
1990
  simulationData = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Simulate', parentContext: traceContext }, () => (0, simulation_1.getSimulationData)({
1978
1991
  chainId,
1979
1992
  from: from,
1980
1993
  to: to,
1981
1994
  value: value,
1982
1995
  data: data,
1983
- }, {
1984
- blockTime,
1985
1996
  }));
1986
- if (blockTime &&
1987
- prevSimulationData &&
1988
- (0, resimulate_1.hasSimulationDataChanged)(prevSimulationData, simulationData)) {
1989
- simulationData = {
1990
- ...simulationData,
1991
- isUpdatedAfterSecurityCheck: true,
1992
- };
1993
- }
1994
1997
  }
1995
1998
  const finalTransactionMeta = this.getTransaction(transactionId);
1996
1999
  /* istanbul ignore if */
@@ -2001,7 +2004,6 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_in
2001
2004
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
2002
2005
  transactionId,
2003
2006
  note: 'TransactionController#updateSimulationData - Update simulation data',
2004
- skipResimulateCheck: Boolean(blockTime),
2005
2007
  }, (txMeta) => {
2006
2008
  txMeta.simulationData = simulationData;
2007
2009
  });