@metamask-previews/bridge-status-controller 66.0.2-preview-ee8f1b28b → 66.0.2-preview-33dbba4f3

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.
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
12
  var _BridgeStatusController_instances, _BridgeStatusController_pollingTokensByTxMetaId, _BridgeStatusController_intentStatusManager, _BridgeStatusController_clientId, _BridgeStatusController_fetchFn, _BridgeStatusController_config, _BridgeStatusController_addTransactionFn, _BridgeStatusController_addTransactionBatchFn, _BridgeStatusController_updateTransactionFn, _BridgeStatusController_estimateGasFeeFn, _BridgeStatusController_trace, _BridgeStatusController_markTxAsFailed, _BridgeStatusController_restartPollingForIncompleteHistoryItems, _BridgeStatusController_addTxToHistory, _BridgeStatusController_rekeyHistoryItem, _BridgeStatusController_startPollingForTxId, _BridgeStatusController_shouldPollHistoryItem, _BridgeStatusController_getMultichainSelectedAccount, _BridgeStatusController_handleFetchFailure, _BridgeStatusController_fetchBridgeTxStatus, _BridgeStatusController_getSrcTxHash, _BridgeStatusController_updateSrcTxHash, _BridgeStatusController_wipeBridgeStatusByChainId, _BridgeStatusController_handleNonEvmTx, _BridgeStatusController_waitForHashAndReturnFinalTxMeta, _BridgeStatusController_waitForTxConfirmation, _BridgeStatusController_handleApprovalTx, _BridgeStatusController_handleEvmTransaction, _BridgeStatusController_handleUSDTAllowanceReset, _BridgeStatusController_calculateGasFees, _BridgeStatusController_handleEvmTransactionBatch, _BridgeStatusController_trackUnifiedSwapBridgeEvent;
13
- import { formatChainIdToHex, isNonEvmChainId, StatusTypes, UnifiedSwapBridgeEventName, formatChainIdToCaip, isCrossChain, isTronChainId, isEvmTxData, isHardwareWallet, MetricsActionType, MetaMetricsSwapsEventSource, isBitcoinTrade, isTronTrade, AbortReason, PollingStatus } from "@metamask/bridge-controller";
13
+ import { formatChainIdToHex, isNonEvmChainId, StatusTypes, UnifiedSwapBridgeEventName, formatChainIdToCaip, isCrossChain, isTronChainId, isEvmTxData, isHardwareWallet, MetricsActionType, isBitcoinTrade, isTronTrade, AbortReason, PollingStatus } from "@metamask/bridge-controller";
14
14
  import { toHex } from "@metamask/controller-utils";
15
15
  import { StaticIntervalPollingController } from "@metamask/polling-controller";
16
16
  import { TransactionStatus, TransactionType } from "@metamask/transaction-controller";
@@ -204,7 +204,7 @@ export class BridgeStatusController extends StaticIntervalPollingController() {
204
204
  });
205
205
  });
206
206
  _BridgeStatusController_addTxToHistory.set(this, (startPollingForBridgeTxStatusArgs, actionId) => {
207
- const { bridgeTxMeta, statusRequest, quoteResponse, startTime, slippagePercentage, initialDestAssetBalance, targetContractAddress, approvalTxId, isStxEnabled, location, accountAddress: selectedAddress, } = startPollingForBridgeTxStatusArgs;
207
+ const { bridgeTxMeta, statusRequest, quoteResponse, startTime, slippagePercentage, initialDestAssetBalance, targetContractAddress, approvalTxId, isStxEnabled, accountAddress: selectedAddress, } = startPollingForBridgeTxStatusArgs;
208
208
  // Determine the key for this history item:
209
209
  // - For pre-submission (non-batch EVM): use actionId
210
210
  // - For post-submission or other cases: use bridgeTxMeta.id
@@ -244,7 +244,6 @@ export class BridgeStatusController extends StaticIntervalPollingController() {
244
244
  approvalTxId,
245
245
  isStxEnabled: isStxEnabled ?? false,
246
246
  featureId: quoteResponse.featureId,
247
- location,
248
247
  };
249
248
  this.update((state) => {
250
249
  // Use actionId as key for pre-submission, or txMeta.id for post-submission
@@ -404,7 +403,6 @@ export class BridgeStatusController extends StaticIntervalPollingController() {
404
403
  if (validationFailures.length > 0) {
405
404
  __classPrivateFieldGet(this, _BridgeStatusController_trackUnifiedSwapBridgeEvent, "f").call(this, UnifiedSwapBridgeEventName.StatusValidationFailed, bridgeTxMetaId, {
406
405
  failures: validationFailures,
407
- refresh_count: historyItem.attempts?.counter ?? 0,
408
406
  });
409
407
  throw new Error(`Bridge status validation failed: ${validationFailures.join(', ')}`);
410
408
  }
@@ -700,10 +698,9 @@ export class BridgeStatusController extends StaticIntervalPollingController() {
700
698
  * @param quoteResponse - The quote response
701
699
  * @param isStxEnabledOnClient - Whether smart transactions are enabled on the client, for example the getSmartTransactionsEnabled selector value from the extension
702
700
  * @param quotesReceivedContext - The context for the QuotesReceived event
703
- * @param location - The entry point from which the user initiated the swap or bridge (e.g. Main View, Token View, Trending Explore)
704
701
  * @returns The transaction meta
705
702
  */
706
- this.submitTx = async (accountAddress, quoteResponse, isStxEnabledOnClient, quotesReceivedContext, location = MetaMetricsSwapsEventSource.MainView) => {
703
+ this.submitTx = async (accountAddress, quoteResponse, isStxEnabledOnClient, quotesReceivedContext) => {
707
704
  this.messenger.call('BridgeController:stopPollingForQuotes', AbortReason.TransactionSubmitted,
708
705
  // If trade is submitted before all quotes are loaded, the QuotesReceived event is published
709
706
  // If the trade has a featureId, it means it was submitted outside of the Unified Swap and Bridge experience, so no QuotesReceived event is published
@@ -713,7 +710,7 @@ export class BridgeStatusController extends StaticIntervalPollingController() {
713
710
  throw new Error('Failed to submit cross-chain swap transaction: undefined multichain account');
714
711
  }
715
712
  const isHardwareAccount = isHardwareWallet(selectedAccount);
716
- const preConfirmationProperties = getPreConfirmationPropertiesFromQuote(quoteResponse, isStxEnabledOnClient, isHardwareAccount, location);
713
+ const preConfirmationProperties = getPreConfirmationPropertiesFromQuote(quoteResponse, isStxEnabledOnClient, isHardwareAccount);
717
714
  // Emit Submitted event after submit button is clicked
718
715
  !quoteResponse.featureId &&
719
716
  __classPrivateFieldGet(this, _BridgeStatusController_trackUnifiedSwapBridgeEvent, "f").call(this, UnifiedSwapBridgeEventName.Submitted, undefined, preConfirmationProperties);
@@ -834,7 +831,6 @@ export class BridgeStatusController extends StaticIntervalPollingController() {
834
831
  isStxEnabled: isStxEnabledOnClient,
835
832
  startTime,
836
833
  approvalTxId,
837
- location,
838
834
  }, actionId);
839
835
  // Pass txFee when gasIncluded is true to use the quote's gas fees
840
836
  // instead of re-estimating (which would fail for max native token swaps)
@@ -874,7 +870,6 @@ export class BridgeStatusController extends StaticIntervalPollingController() {
874
870
  isStxEnabled: isStxEnabledOnClient,
875
871
  startTime,
876
872
  approvalTxId,
877
- location,
878
873
  });
879
874
  }
880
875
  if (isNonEvmChainId(quoteResponse.quote.srcChainId)) {
@@ -899,16 +894,15 @@ export class BridgeStatusController extends StaticIntervalPollingController() {
899
894
  * @param params.quoteResponse - Quote carrying intent data
900
895
  * @param params.signature - Hex signature produced by eth_signTypedData_v4
901
896
  * @param params.accountAddress - The EOA submitting the order
902
- * @param params.location - The entry point from which the user initiated the swap or bridge
903
897
  * @returns A lightweight TransactionMeta-like object for history linking
904
898
  */
905
899
  this.submitIntent = async (params) => {
906
- const { quoteResponse, signature, accountAddress, location } = params;
900
+ const { quoteResponse, signature, accountAddress } = params;
907
901
  this.messenger.call('BridgeController:stopPollingForQuotes', AbortReason.TransactionSubmitted);
908
902
  // Build pre-confirmation properties for error tracking parity with submitTx
909
903
  const account = __classPrivateFieldGet(this, _BridgeStatusController_instances, "m", _BridgeStatusController_getMultichainSelectedAccount).call(this, accountAddress);
910
904
  const isHardwareAccount = Boolean(account) && isHardwareWallet(account);
911
- const preConfirmationProperties = getPreConfirmationPropertiesFromQuote(quoteResponse, false, isHardwareAccount, location);
905
+ const preConfirmationProperties = getPreConfirmationPropertiesFromQuote(quoteResponse, false, isHardwareAccount);
912
906
  try {
913
907
  const intent = getIntentFromQuote(quoteResponse);
914
908
  // If backend provided an approval tx for this intent quote, submit it first (on-chain),
@@ -1003,7 +997,6 @@ export class BridgeStatusController extends StaticIntervalPollingController() {
1003
997
  isStxEnabled: false,
1004
998
  approvalTxId,
1005
999
  startTime,
1006
- location,
1007
1000
  });
1008
1001
  // Start polling using the orderId key to route to intent manager
1009
1002
  __classPrivateFieldGet(this, _BridgeStatusController_startPollingForTxId, "f").call(this, bridgeHistoryKey);
@@ -1032,9 +1025,6 @@ export class BridgeStatusController extends StaticIntervalPollingController() {
1032
1025
  _BridgeStatusController_trackUnifiedSwapBridgeEvent.set(this, (eventName, txMetaId, eventProperties) => {
1033
1026
  const baseProperties = {
1034
1027
  action_type: MetricsActionType.SWAPBRIDGE_V1,
1035
- location: eventProperties?.location ??
1036
- (txMetaId ? this.state.txHistory?.[txMetaId]?.location : undefined) ??
1037
- MetaMetricsSwapsEventSource.MainView,
1038
1028
  ...(eventProperties ?? {}),
1039
1029
  };
1040
1030
  // This will publish events for PERPS dropped tx failures as well
@@ -1044,7 +1034,7 @@ export class BridgeStatusController extends StaticIntervalPollingController() {
1044
1034
  }
1045
1035
  const historyItem = this.state.txHistory[txMetaId];
1046
1036
  if (!historyItem) {
1047
- this.messenger.call('BridgeController:trackUnifiedSwapBridgeEvent', eventName, baseProperties);
1037
+ this.messenger.call('BridgeController:trackUnifiedSwapBridgeEvent', eventName, eventProperties ?? {});
1048
1038
  return;
1049
1039
  }
1050
1040
  const requestParamProperties = getRequestParamFromHistory(historyItem);