@metamask-previews/transaction-controller 37.2.0-preview-c636def → 37.2.0-preview-3fec6ed

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.
@@ -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_checkIfTransactionParamsUpdated, _TransactionController_onTransactionParamsUpdated, _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_checkIfSimulationRetriggerNeeded, _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");
@@ -1954,7 +1954,25 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_in
1954
1954
  if (updatedTransactionParams.length > 0) {
1955
1955
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionParamsUpdated).call(this, transactionMeta, updatedTransactionParams);
1956
1956
  }
1957
+ if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_checkIfSimulationRetriggerNeeded).call(this, transactionMeta)) {
1958
+ __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSimulationData).call(this, transactionMeta).catch((error) => {
1959
+ (0, logger_1.projectLogger)('Error updating simulation data', error);
1960
+ throw error;
1961
+ });
1962
+ }
1957
1963
  return transactionMeta;
1964
+ }, _TransactionController_checkIfSimulationRetriggerNeeded = function _TransactionController_checkIfSimulationRetriggerNeeded(transactionMeta) {
1965
+ const { securityAlertResponse, simulationData, txParams: { value }, } = transactionMeta;
1966
+ const isSimulationDataAvailable = Boolean(simulationData);
1967
+ const isMaliciousTransfer = securityAlertResponse?.result_type === types_1.BlockaidResultType.Malicious;
1968
+ const simulationNativeBalanceDifference = simulationData?.nativeBalanceChange?.difference;
1969
+ const isBalanceDifferenceEqual = simulationNativeBalanceDifference === value;
1970
+ if (!isSimulationDataAvailable ||
1971
+ !isMaliciousTransfer ||
1972
+ !isBalanceDifferenceEqual) {
1973
+ return false;
1974
+ }
1975
+ return true;
1958
1976
  }, _TransactionController_checkIfTransactionParamsUpdated = function _TransactionController_checkIfTransactionParamsUpdated(newTransactionMeta) {
1959
1977
  const { id: transactionId, txParams: newParams } = newTransactionMeta;
1960
1978
  const originalParams = this.getTransaction(transactionId)?.txParams;
@@ -1974,7 +1992,7 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_in
1974
1992
  });
1975
1993
  }
1976
1994
  }, _TransactionController_updateSimulationData = async function _TransactionController_updateSimulationData(transactionMeta, { traceContext } = {}) {
1977
- const { id: transactionId, chainId, txParams } = transactionMeta;
1995
+ const { id: transactionId, chainId, txParams, simulationData: prevSimulationData, } = transactionMeta;
1978
1996
  const { from, to, value, data } = txParams;
1979
1997
  let simulationData = {
1980
1998
  error: {
@@ -1994,6 +2012,12 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_in
1994
2012
  value: value,
1995
2013
  data: data,
1996
2014
  }));
2015
+ if (prevSimulationData && !(0, lodash_1.isEqual)(simulationData, prevSimulationData)) {
2016
+ simulationData = {
2017
+ ...simulationData,
2018
+ changeInSimulationData: true,
2019
+ };
2020
+ }
1997
2021
  }
1998
2022
  const finalTransactionMeta = this.getTransaction(transactionId);
1999
2023
  /* istanbul ignore if */