@metamask-previews/bridge-controller 79.3.0-preview-a81bf03 → 79.3.0-preview-bbf9454b2

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.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Added
11
+
12
+ - Add SwapBridge failure telemetry enums and classifiers for a later emit ([#9947](https://github.com/MetaMask/core/pull/9947))
13
+ - New exports: `FailurePhase`, `SwapBridgeErrorCode`, and helpers that classify quote, submit, and status failures from the code path (not from `error_message`)
14
+ - Optional `failure_phase`, `error_code`, `source_hash_present`, and `destination_hash_present` on Quotes Error, Failed, Submitted, and Completed event context types
15
+
10
16
  ### Changed
11
17
 
12
18
  - Bump `@metamask/remote-feature-flag-controller` from `^5.0.0` to `^6.0.0` ([#9945](https://github.com/MetaMask/core/pull/9945))
package/dist/index.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BridgeAssetSecurityDataType = exports.BridgeAssetV2Schema = exports.MinimalAssetSchema = exports.validateBridgeAssetV2 = exports.validateBridgeAsset = exports.BridgeAssetSchema = exports.TokenFeatureType = exports.AmountsAndAssetSchema = exports.BatchSellTransactionType = exports.QuoteStreamCompleteReason = exports.validateQuoteStreamComplete = exports.assetIdsMatch = exports.sumAmounts = exports.toQuoteMetadataV2 = exports.toQuoteMetadataV1 = exports.toQuoteResponseV2 = exports.toQuoteResponseV1 = exports.ActionTypes = exports.DiscountType = exports.FeeType = exports.validateQuoteResponse = exports.isStellarTrade = exports.isEvmTxData = exports.isTronTrade = exports.isBitcoinTrade = exports.AbortReason = exports.StatusTypes = exports.RequestStatus = exports.ChainId = exports.SortOrder = exports.AssetType = exports.mergeQuoteMetadata = exports.QuoteResponseSchemaV1 = exports.validateQuoteResponseV1 = exports.getQuotesReceivedProperties = exports.isCustomSlippage = exports.isHardwareWallet = exports.getSwapType = exports.getRequestParams = exports.formatProviderLabel = exports.getAccountHardwareType = exports.PollingStatus = exports.MetaMetricsSwapsEventSource = exports.InputAmountPreset = exports.BatchSellMetricsLocation = exports.UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY = exports.BATCH_SELL_EVENT_CATEGORY = exports.UnifiedSwapBridgeEventName = exports.BatchSellMetricsEventName = exports.BridgeController = void 0;
4
- exports.selectBatchSellQuotes = exports.selectBridgeQuotes = exports.extractTradeData = exports.formatChainIdToDec = exports.formatAddressToAssetId = exports.formatAddressToCaipReference = exports.formatChainIdToHex = exports.formatChainIdToCaip = exports.appendFeesToQuotes = exports.fetchBridgeQuoteStream = exports.getClientHeaders = exports.fetchBridgeTokens = exports.calcLatestSrcBalance = exports.calcQuoteMetadata = exports.calcSlippagePercentage = exports.isValidBatchSellQuoteRequest = exports.isValidQuoteRequest = exports.isCrossChain = exports.getDefaultBridgeControllerState = exports.getNativeAssetForChainId = exports.isNonEvmChainId = exports.isStellarChainId = exports.isTronChainId = exports.isBitcoinChainId = exports.isSolanaChainId = exports.isNativeAddress = exports.isEthUsdt = exports.MetricsSwapType = exports.MetricsActionType = exports.ALLOWED_CONTRACT_ADDRESSES = exports.SWAPS_WRAPPED_TOKENS_ADDRESSES = exports.SWAPS_CONTRACT_ADDRESSES = exports.SWAPS_API_V2_BASE_URL = exports.SWAPS_CHAINID_DEFAULT_TOKEN_MAP = exports.BRIDGE_PROD_API_BASE_URL = exports.BRIDGE_UAT_API_BASE_URL = exports.BRIDGE_DEV_API_BASE_URL = exports.METABRIDGE_CHAIN_TO_ADDRESS_MAP = exports.DEFAULT_BRIDGE_CONTROLLER_STATE = exports.DEFAULT_MAX_REFRESH_COUNT = exports.REFRESH_INTERVAL_MS = exports.BRIDGE_MM_FEE_RATE = exports.BRIDGE_PREFERRED_GAS_ESTIMATE = exports.BRIDGE_QUOTE_MAX_RETURN_DIFFERENCE_PERCENTAGE = exports.BRIDGE_QUOTE_MAX_ETA_SECONDS = exports.BRIDGE_CONTROLLER_NAME = exports.BridgeClientId = exports.ALLOWED_BRIDGE_CHAIN_IDS = exports.toBridgeAssetV2 = exports.FeatureId = void 0;
5
- exports.fetchTokens = exports.getSwapsContractAddress = exports.isValidSwapsContractAddress = exports.BRIDGE_DEFAULT_SLIPPAGE = exports.getBridgeFeatureFlags = exports.DEFAULT_FEATURE_FLAG_CONFIG = exports.selectTokenWarnings = exports.selectMinimumBalanceForRentExemptionInSOL = exports.selectBridgeFeatureFlags = exports.selectIsQuoteExpired = exports.selectExchangeRateByAssetId = exports.selectDefaultSlippagePercentage = exports.selectBatchSellTrades = void 0;
3
+ exports.BatchSellTransactionType = exports.QuoteStreamCompleteReason = exports.validateQuoteStreamComplete = exports.assetIdsMatch = exports.sumAmounts = exports.toQuoteMetadataV2 = exports.toQuoteMetadataV1 = exports.toQuoteResponseV2 = exports.toQuoteResponseV1 = exports.ActionTypes = exports.DiscountType = exports.FeeType = exports.validateQuoteResponse = exports.isStellarTrade = exports.isEvmTxData = exports.isTronTrade = exports.isBitcoinTrade = exports.AbortReason = exports.StatusTypes = exports.RequestStatus = exports.ChainId = exports.SortOrder = exports.AssetType = exports.mergeQuoteMetadata = exports.QuoteResponseSchemaV1 = exports.validateQuoteResponseV1 = exports.getSubmitFailureTelemetry = exports.getSubmitErrorCode = exports.getStatusFailureTelemetry = exports.getStatusFailurePhase = exports.getQuoteFetchErrorCode = exports.getHashPresenceProperties = exports.getQuotesReceivedProperties = exports.isCustomSlippage = exports.isHardwareWallet = exports.getSwapType = exports.getRequestParams = exports.formatProviderLabel = exports.getAccountHardwareType = exports.SwapBridgeErrorCode = exports.FailurePhase = exports.PollingStatus = exports.MetaMetricsSwapsEventSource = exports.InputAmountPreset = exports.BatchSellMetricsLocation = exports.UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY = exports.BATCH_SELL_EVENT_CATEGORY = exports.UnifiedSwapBridgeEventName = exports.BatchSellMetricsEventName = exports.BridgeController = void 0;
4
+ exports.appendFeesToQuotes = exports.fetchBridgeQuoteStream = exports.getClientHeaders = exports.fetchBridgeTokens = exports.calcLatestSrcBalance = exports.calcQuoteMetadata = exports.calcSlippagePercentage = exports.isValidBatchSellQuoteRequest = exports.isValidQuoteRequest = exports.isCrossChain = exports.getDefaultBridgeControllerState = exports.getNativeAssetForChainId = exports.isNonEvmChainId = exports.isStellarChainId = exports.isTronChainId = exports.isBitcoinChainId = exports.isSolanaChainId = exports.isNativeAddress = exports.isEthUsdt = exports.MetricsSwapType = exports.MetricsActionType = exports.ALLOWED_CONTRACT_ADDRESSES = exports.SWAPS_WRAPPED_TOKENS_ADDRESSES = exports.SWAPS_CONTRACT_ADDRESSES = exports.SWAPS_API_V2_BASE_URL = exports.SWAPS_CHAINID_DEFAULT_TOKEN_MAP = exports.BRIDGE_PROD_API_BASE_URL = exports.BRIDGE_UAT_API_BASE_URL = exports.BRIDGE_DEV_API_BASE_URL = exports.METABRIDGE_CHAIN_TO_ADDRESS_MAP = exports.DEFAULT_BRIDGE_CONTROLLER_STATE = exports.DEFAULT_MAX_REFRESH_COUNT = exports.REFRESH_INTERVAL_MS = exports.BRIDGE_MM_FEE_RATE = exports.BRIDGE_PREFERRED_GAS_ESTIMATE = exports.BRIDGE_QUOTE_MAX_RETURN_DIFFERENCE_PERCENTAGE = exports.BRIDGE_QUOTE_MAX_ETA_SECONDS = exports.BRIDGE_CONTROLLER_NAME = exports.BridgeClientId = exports.ALLOWED_BRIDGE_CHAIN_IDS = exports.toBridgeAssetV2 = exports.FeatureId = exports.BridgeAssetSecurityDataType = exports.BridgeAssetV2Schema = exports.MinimalAssetSchema = exports.validateBridgeAssetV2 = exports.validateBridgeAsset = exports.BridgeAssetSchema = exports.TokenFeatureType = exports.AmountsAndAssetSchema = void 0;
5
+ exports.fetchTokens = exports.getSwapsContractAddress = exports.isValidSwapsContractAddress = exports.BRIDGE_DEFAULT_SLIPPAGE = exports.getBridgeFeatureFlags = exports.DEFAULT_FEATURE_FLAG_CONFIG = exports.selectTokenWarnings = exports.selectMinimumBalanceForRentExemptionInSOL = exports.selectBridgeFeatureFlags = exports.selectIsQuoteExpired = exports.selectExchangeRateByAssetId = exports.selectDefaultSlippagePercentage = exports.selectBatchSellTrades = exports.selectBatchSellQuotes = exports.selectBridgeQuotes = exports.extractTradeData = exports.formatChainIdToDec = exports.formatAddressToAssetId = exports.formatAddressToCaipReference = exports.formatChainIdToHex = exports.formatChainIdToCaip = void 0;
6
6
  var bridge_controller_js_1 = require("./bridge-controller.cjs");
7
7
  Object.defineProperty(exports, "BridgeController", { enumerable: true, get: function () { return bridge_controller_js_1.BridgeController; } });
8
8
  var constants_js_1 = require("./utils/metrics/constants.cjs");
@@ -14,6 +14,8 @@ Object.defineProperty(exports, "BatchSellMetricsLocation", { enumerable: true, g
14
14
  Object.defineProperty(exports, "InputAmountPreset", { enumerable: true, get: function () { return constants_js_1.InputAmountPreset; } });
15
15
  Object.defineProperty(exports, "MetaMetricsSwapsEventSource", { enumerable: true, get: function () { return constants_js_1.MetaMetricsSwapsEventSource; } });
16
16
  Object.defineProperty(exports, "PollingStatus", { enumerable: true, get: function () { return constants_js_1.PollingStatus; } });
17
+ Object.defineProperty(exports, "FailurePhase", { enumerable: true, get: function () { return constants_js_1.FailurePhase; } });
18
+ Object.defineProperty(exports, "SwapBridgeErrorCode", { enumerable: true, get: function () { return constants_js_1.SwapBridgeErrorCode; } });
17
19
  var properties_js_1 = require("./utils/metrics/properties.cjs");
18
20
  Object.defineProperty(exports, "getAccountHardwareType", { enumerable: true, get: function () { return properties_js_1.getAccountHardwareType; } });
19
21
  Object.defineProperty(exports, "formatProviderLabel", { enumerable: true, get: function () { return properties_js_1.formatProviderLabel; } });
@@ -22,6 +24,13 @@ Object.defineProperty(exports, "getSwapType", { enumerable: true, get: function
22
24
  Object.defineProperty(exports, "isHardwareWallet", { enumerable: true, get: function () { return properties_js_1.isHardwareWallet; } });
23
25
  Object.defineProperty(exports, "isCustomSlippage", { enumerable: true, get: function () { return properties_js_1.isCustomSlippage; } });
24
26
  Object.defineProperty(exports, "getQuotesReceivedProperties", { enumerable: true, get: function () { return properties_js_1.getQuotesReceivedProperties; } });
27
+ var failure_telemetry_js_1 = require("./utils/metrics/failure-telemetry.cjs");
28
+ Object.defineProperty(exports, "getHashPresenceProperties", { enumerable: true, get: function () { return failure_telemetry_js_1.getHashPresenceProperties; } });
29
+ Object.defineProperty(exports, "getQuoteFetchErrorCode", { enumerable: true, get: function () { return failure_telemetry_js_1.getQuoteFetchErrorCode; } });
30
+ Object.defineProperty(exports, "getStatusFailurePhase", { enumerable: true, get: function () { return failure_telemetry_js_1.getStatusFailurePhase; } });
31
+ Object.defineProperty(exports, "getStatusFailureTelemetry", { enumerable: true, get: function () { return failure_telemetry_js_1.getStatusFailureTelemetry; } });
32
+ Object.defineProperty(exports, "getSubmitErrorCode", { enumerable: true, get: function () { return failure_telemetry_js_1.getSubmitErrorCode; } });
33
+ Object.defineProperty(exports, "getSubmitFailureTelemetry", { enumerable: true, get: function () { return failure_telemetry_js_1.getSubmitFailureTelemetry; } });
25
34
  var quote_response_v1_js_1 = require("./validators/quote-response-v1.cjs");
26
35
  Object.defineProperty(exports, "validateQuoteResponseV1", { enumerable: true, get: function () { return quote_response_v1_js_1.validateQuoteResponseV1; } });
27
36
  Object.defineProperty(exports, "QuoteResponseSchemaV1", { enumerable: true, get: function () { return quote_response_v1_js_1.QuoteResponseSchemaV1; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { BridgeController } from './bridge-controller.js';\n\nexport {\n BatchSellMetricsEventName,\n UnifiedSwapBridgeEventName,\n BATCH_SELL_EVENT_CATEGORY,\n UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY,\n BatchSellMetricsLocation,\n InputAmountPreset,\n MetaMetricsSwapsEventSource,\n PollingStatus,\n} from './utils/metrics/constants.js';\n\nexport type { BridgeControllerMetricsEventName } from './utils/metrics/constants.js';\nexport type { BridgeControllerMetricsLocation } from './utils/metrics/constants.js';\n\nexport type {\n AccountHardwareType,\n RequiredEventContextFromClient,\n CrossChainSwapsEventProperties,\n TradeData,\n RequestParams,\n RequestMetadata,\n TxStatusData,\n QuoteFetchData,\n QuoteWarning,\n InputPrimaryDenominationData,\n} from './utils/metrics/types.js';\n\nexport {\n getAccountHardwareType,\n formatProviderLabel,\n getRequestParams,\n getSwapType,\n isHardwareWallet,\n isCustomSlippage,\n getQuotesReceivedProperties,\n} from './utils/metrics/properties.js';\n\nexport type {\n ChainConfiguration,\n L1GasFees,\n NonEvmFees,\n GasMultiplierByChainId,\n FeatureFlagResponse,\n GenericQuoteRequest,\n BatchSellTradesResponse,\n GaslessProperties,\n SimulatedGasFeeLimits,\n Step,\n RefuelData,\n FeeData,\n Intent,\n IntentOrderLike,\n BridgeControllerState,\n InputPrimaryDenomination,\n BridgeControllerAction,\n BridgeControllerActions,\n BridgeControllerEvents,\n BridgeControllerMessenger,\n FeatureFlagsPlatformConfig,\n TxFeeGasLimits,\n TokenFeature,\n QuoteStreamCompleteData,\n BridgeControllerGetStateAction,\n BridgeControllerStateChangeEvent,\n DeepPartial,\n} from './types.js';\n\nexport {\n type QuoteMetadata,\n type TokenAmountValues,\n} from './utils/quote-metadata/types.js';\nexport {\n validateQuoteResponseV1,\n QuoteResponseSchemaV1,\n type QuoteResponseV1,\n} from './validators/quote-response-v1.js';\nexport { mergeQuoteMetadata } from './utils/quote-metadata/merge.js';\n\nexport {\n AssetType,\n SortOrder,\n ChainId,\n RequestStatus,\n StatusTypes,\n} from './types.js';\n\nexport type {\n BridgeControllerUpdateBridgeQuoteRequestParamsAction,\n BridgeControllerFetchQuotesAction,\n BridgeControllerStopPollingForQuotesAction,\n BridgeControllerSetLocationAction,\n BridgeControllerGetLocationAction,\n BridgeControllerSetInputPrimaryDenominationAction,\n BridgeControllerResetStateAction,\n BridgeControllerSetChainIntervalLengthAction,\n BridgeControllerTrackUnifiedSwapBridgeEventAction,\n BridgeControllerUpdateBatchSellTradesAction,\n} from './bridge-controller-method-action-types.js';\n\nexport { AbortReason } from './utils/metrics/constants.js';\n\nexport type {\n TxData,\n BitcoinTradeData,\n TronTradeData,\n StellarTradeData,\n Trade,\n} from './validators/trade.js';\nexport {\n isBitcoinTrade,\n isTronTrade,\n isEvmTxData,\n isStellarTrade,\n} from './validators/trade.js';\nexport {\n validateQuoteResponse,\n type QuoteResponse,\n} from './validators/quote-response.js';\nexport type { Quote } from './validators/quote.js';\nexport { FeeType, DiscountType } from './validators/quote.js';\nexport { ActionTypes } from './validators/step.js';\nexport { toQuoteResponseV1 } from './coercers/quote-response-v2-to-v1.js';\nexport { toQuoteResponseV2 } from './coercers/quote-response-v1-to-v2.js';\n\nexport { toQuoteMetadataV1 } from './utils/quote-metadata/to-quote-metadata-v1.js';\nexport { toQuoteMetadataV2 } from './utils/quote-metadata/to-quote-metadata-v2.js';\n\nexport { sumAmounts } from './utils/number-formatters.js';\nexport { assetIdsMatch } from './utils/assets.js';\n\nexport {\n validateQuoteStreamComplete,\n QuoteStreamCompleteReason,\n} from './validators/quote-stream-complete.js';\nexport { BatchSellTransactionType } from './validators/batch-sell.js';\nexport { AmountsAndAssetSchema } from './validators/amount-and-asset.js';\nexport { TokenFeatureType } from './validators/token-feature.js';\nexport type {\n BridgeAsset,\n BridgeAssetV2,\n MinimalAsset,\n} from './validators/bridge-asset.js';\nexport {\n BridgeAssetSchema,\n validateBridgeAsset,\n validateBridgeAssetV2,\n MinimalAssetSchema,\n BridgeAssetV2Schema,\n BridgeAssetSecurityDataType,\n} from './validators/bridge-asset.js';\nexport { FeatureId } from './validators/feature-flags.js';\nexport { toBridgeAssetV2 } from './coercers/quote-response-v1-to-v2.js';\n\nexport {\n ALLOWED_BRIDGE_CHAIN_IDS,\n BridgeClientId,\n BRIDGE_CONTROLLER_NAME,\n BRIDGE_QUOTE_MAX_ETA_SECONDS,\n BRIDGE_QUOTE_MAX_RETURN_DIFFERENCE_PERCENTAGE,\n BRIDGE_PREFERRED_GAS_ESTIMATE,\n BRIDGE_MM_FEE_RATE,\n REFRESH_INTERVAL_MS,\n DEFAULT_MAX_REFRESH_COUNT,\n DEFAULT_BRIDGE_CONTROLLER_STATE,\n METABRIDGE_CHAIN_TO_ADDRESS_MAP,\n BRIDGE_DEV_API_BASE_URL,\n BRIDGE_UAT_API_BASE_URL,\n BRIDGE_PROD_API_BASE_URL,\n} from './constants/bridge.js';\n\nexport type { AllowedBridgeChainIds } from './constants/bridge.js';\n\nexport {\n /**\n * @deprecated This type should not be used. Use {@link BridgeAsset} instead.\n */\n type SwapsTokenObject,\n /**\n * @deprecated This map should not be used. Use getNativeAssetForChainId\" } instead.\n */\n SWAPS_CHAINID_DEFAULT_TOKEN_MAP,\n} from './constants/tokens.js';\n\nexport {\n SWAPS_API_V2_BASE_URL,\n SWAPS_CONTRACT_ADDRESSES,\n SWAPS_WRAPPED_TOKENS_ADDRESSES,\n ALLOWED_CONTRACT_ADDRESSES,\n} from './constants/swaps.js';\n\nexport {\n MetricsActionType,\n MetricsSwapType,\n} from './utils/metrics/constants.js';\n\nexport {\n isEthUsdt,\n isNativeAddress,\n isSolanaChainId,\n isBitcoinChainId,\n isTronChainId,\n isStellarChainId,\n isNonEvmChainId,\n getNativeAssetForChainId,\n getDefaultBridgeControllerState,\n isCrossChain,\n} from './utils/bridge.js';\n\nexport {\n isValidQuoteRequest,\n isValidBatchSellQuoteRequest,\n} from './validators/quote-request.js';\n\nexport {\n calcSlippagePercentage,\n calcQuoteMetadata,\n} from './utils/quote-metadata/calculators.js';\n\nexport { calcLatestSrcBalance } from './utils/balance.js';\n\nexport {\n fetchBridgeTokens,\n getClientHeaders,\n fetchBridgeQuoteStream,\n} from './utils/fetch.js';\n\nexport { appendFeesToQuotes } from './utils/quote-fees.js';\n\nexport {\n formatChainIdToCaip,\n formatChainIdToHex,\n formatAddressToCaipReference,\n formatAddressToAssetId,\n formatChainIdToDec,\n} from './utils/caip-formatters.js';\n\nexport { extractTradeData } from './utils/trade-utils.js';\n\nexport {\n selectBridgeQuotes,\n selectBatchSellQuotes,\n selectBatchSellTrades,\n selectDefaultSlippagePercentage,\n type BridgeAppState,\n selectExchangeRateByAssetId,\n selectIsQuoteExpired,\n selectBridgeFeatureFlags,\n selectMinimumBalanceForRentExemptionInSOL,\n selectTokenWarnings,\n} from './selectors.js';\n\nexport { DEFAULT_FEATURE_FLAG_CONFIG } from './constants/bridge.js';\n\nexport { getBridgeFeatureFlags } from './utils/feature-flags.js';\n\nexport { BRIDGE_DEFAULT_SLIPPAGE } from './utils/slippage.js';\n\nexport {\n isValidSwapsContractAddress,\n getSwapsContractAddress,\n fetchTokens,\n type SwapsToken,\n} from './utils/swaps.js';\n"]}
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { BridgeController } from './bridge-controller.js';\n\nexport {\n BatchSellMetricsEventName,\n UnifiedSwapBridgeEventName,\n BATCH_SELL_EVENT_CATEGORY,\n UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY,\n BatchSellMetricsLocation,\n InputAmountPreset,\n MetaMetricsSwapsEventSource,\n PollingStatus,\n FailurePhase,\n SwapBridgeErrorCode,\n} from './utils/metrics/constants.js';\n\nexport type { BridgeControllerMetricsEventName } from './utils/metrics/constants.js';\nexport type { BridgeControllerMetricsLocation } from './utils/metrics/constants.js';\n\nexport type {\n AccountHardwareType,\n RequiredEventContextFromClient,\n CrossChainSwapsEventProperties,\n TradeData,\n RequestParams,\n RequestMetadata,\n TxStatusData,\n QuoteFetchData,\n QuoteWarning,\n InputPrimaryDenominationData,\n HashPresenceData,\n FailureTelemetryData,\n} from './utils/metrics/types.js';\n\nexport {\n getAccountHardwareType,\n formatProviderLabel,\n getRequestParams,\n getSwapType,\n isHardwareWallet,\n isCustomSlippage,\n getQuotesReceivedProperties,\n} from './utils/metrics/properties.js';\n\nexport {\n getHashPresenceProperties,\n getQuoteFetchErrorCode,\n getStatusFailurePhase,\n getStatusFailureTelemetry,\n getSubmitErrorCode,\n getSubmitFailureTelemetry,\n} from './utils/metrics/failure-telemetry.js';\n\nexport type {\n ChainConfiguration,\n L1GasFees,\n NonEvmFees,\n GasMultiplierByChainId,\n FeatureFlagResponse,\n GenericQuoteRequest,\n BatchSellTradesResponse,\n GaslessProperties,\n SimulatedGasFeeLimits,\n Step,\n RefuelData,\n FeeData,\n Intent,\n IntentOrderLike,\n BridgeControllerState,\n InputPrimaryDenomination,\n BridgeControllerAction,\n BridgeControllerActions,\n BridgeControllerEvents,\n BridgeControllerMessenger,\n FeatureFlagsPlatformConfig,\n TxFeeGasLimits,\n TokenFeature,\n QuoteStreamCompleteData,\n BridgeControllerGetStateAction,\n BridgeControllerStateChangeEvent,\n DeepPartial,\n} from './types.js';\n\nexport {\n type QuoteMetadata,\n type TokenAmountValues,\n} from './utils/quote-metadata/types.js';\nexport {\n validateQuoteResponseV1,\n QuoteResponseSchemaV1,\n type QuoteResponseV1,\n} from './validators/quote-response-v1.js';\nexport { mergeQuoteMetadata } from './utils/quote-metadata/merge.js';\n\nexport {\n AssetType,\n SortOrder,\n ChainId,\n RequestStatus,\n StatusTypes,\n} from './types.js';\n\nexport type {\n BridgeControllerUpdateBridgeQuoteRequestParamsAction,\n BridgeControllerFetchQuotesAction,\n BridgeControllerStopPollingForQuotesAction,\n BridgeControllerSetLocationAction,\n BridgeControllerGetLocationAction,\n BridgeControllerSetInputPrimaryDenominationAction,\n BridgeControllerResetStateAction,\n BridgeControllerSetChainIntervalLengthAction,\n BridgeControllerTrackUnifiedSwapBridgeEventAction,\n BridgeControllerUpdateBatchSellTradesAction,\n} from './bridge-controller-method-action-types.js';\n\nexport { AbortReason } from './utils/metrics/constants.js';\n\nexport type {\n TxData,\n BitcoinTradeData,\n TronTradeData,\n StellarTradeData,\n Trade,\n} from './validators/trade.js';\nexport {\n isBitcoinTrade,\n isTronTrade,\n isEvmTxData,\n isStellarTrade,\n} from './validators/trade.js';\nexport {\n validateQuoteResponse,\n type QuoteResponse,\n} from './validators/quote-response.js';\nexport type { Quote } from './validators/quote.js';\nexport { FeeType, DiscountType } from './validators/quote.js';\nexport { ActionTypes } from './validators/step.js';\nexport { toQuoteResponseV1 } from './coercers/quote-response-v2-to-v1.js';\nexport { toQuoteResponseV2 } from './coercers/quote-response-v1-to-v2.js';\n\nexport { toQuoteMetadataV1 } from './utils/quote-metadata/to-quote-metadata-v1.js';\nexport { toQuoteMetadataV2 } from './utils/quote-metadata/to-quote-metadata-v2.js';\n\nexport { sumAmounts } from './utils/number-formatters.js';\nexport { assetIdsMatch } from './utils/assets.js';\n\nexport {\n validateQuoteStreamComplete,\n QuoteStreamCompleteReason,\n} from './validators/quote-stream-complete.js';\nexport { BatchSellTransactionType } from './validators/batch-sell.js';\nexport { AmountsAndAssetSchema } from './validators/amount-and-asset.js';\nexport { TokenFeatureType } from './validators/token-feature.js';\nexport type {\n BridgeAsset,\n BridgeAssetV2,\n MinimalAsset,\n} from './validators/bridge-asset.js';\nexport {\n BridgeAssetSchema,\n validateBridgeAsset,\n validateBridgeAssetV2,\n MinimalAssetSchema,\n BridgeAssetV2Schema,\n BridgeAssetSecurityDataType,\n} from './validators/bridge-asset.js';\nexport { FeatureId } from './validators/feature-flags.js';\nexport { toBridgeAssetV2 } from './coercers/quote-response-v1-to-v2.js';\n\nexport {\n ALLOWED_BRIDGE_CHAIN_IDS,\n BridgeClientId,\n BRIDGE_CONTROLLER_NAME,\n BRIDGE_QUOTE_MAX_ETA_SECONDS,\n BRIDGE_QUOTE_MAX_RETURN_DIFFERENCE_PERCENTAGE,\n BRIDGE_PREFERRED_GAS_ESTIMATE,\n BRIDGE_MM_FEE_RATE,\n REFRESH_INTERVAL_MS,\n DEFAULT_MAX_REFRESH_COUNT,\n DEFAULT_BRIDGE_CONTROLLER_STATE,\n METABRIDGE_CHAIN_TO_ADDRESS_MAP,\n BRIDGE_DEV_API_BASE_URL,\n BRIDGE_UAT_API_BASE_URL,\n BRIDGE_PROD_API_BASE_URL,\n} from './constants/bridge.js';\n\nexport type { AllowedBridgeChainIds } from './constants/bridge.js';\n\nexport {\n /**\n * @deprecated This type should not be used. Use {@link BridgeAsset} instead.\n */\n type SwapsTokenObject,\n /**\n * @deprecated This map should not be used. Use getNativeAssetForChainId\" } instead.\n */\n SWAPS_CHAINID_DEFAULT_TOKEN_MAP,\n} from './constants/tokens.js';\n\nexport {\n SWAPS_API_V2_BASE_URL,\n SWAPS_CONTRACT_ADDRESSES,\n SWAPS_WRAPPED_TOKENS_ADDRESSES,\n ALLOWED_CONTRACT_ADDRESSES,\n} from './constants/swaps.js';\n\nexport {\n MetricsActionType,\n MetricsSwapType,\n} from './utils/metrics/constants.js';\n\nexport {\n isEthUsdt,\n isNativeAddress,\n isSolanaChainId,\n isBitcoinChainId,\n isTronChainId,\n isStellarChainId,\n isNonEvmChainId,\n getNativeAssetForChainId,\n getDefaultBridgeControllerState,\n isCrossChain,\n} from './utils/bridge.js';\n\nexport {\n isValidQuoteRequest,\n isValidBatchSellQuoteRequest,\n} from './validators/quote-request.js';\n\nexport {\n calcSlippagePercentage,\n calcQuoteMetadata,\n} from './utils/quote-metadata/calculators.js';\n\nexport { calcLatestSrcBalance } from './utils/balance.js';\n\nexport {\n fetchBridgeTokens,\n getClientHeaders,\n fetchBridgeQuoteStream,\n} from './utils/fetch.js';\n\nexport { appendFeesToQuotes } from './utils/quote-fees.js';\n\nexport {\n formatChainIdToCaip,\n formatChainIdToHex,\n formatAddressToCaipReference,\n formatAddressToAssetId,\n formatChainIdToDec,\n} from './utils/caip-formatters.js';\n\nexport { extractTradeData } from './utils/trade-utils.js';\n\nexport {\n selectBridgeQuotes,\n selectBatchSellQuotes,\n selectBatchSellTrades,\n selectDefaultSlippagePercentage,\n type BridgeAppState,\n selectExchangeRateByAssetId,\n selectIsQuoteExpired,\n selectBridgeFeatureFlags,\n selectMinimumBalanceForRentExemptionInSOL,\n selectTokenWarnings,\n} from './selectors.js';\n\nexport { DEFAULT_FEATURE_FLAG_CONFIG } from './constants/bridge.js';\n\nexport { getBridgeFeatureFlags } from './utils/feature-flags.js';\n\nexport { BRIDGE_DEFAULT_SLIPPAGE } from './utils/slippage.js';\n\nexport {\n isValidSwapsContractAddress,\n getSwapsContractAddress,\n fetchTokens,\n type SwapsToken,\n} from './utils/swaps.js';\n"]}
package/dist/index.d.cts CHANGED
@@ -1,9 +1,10 @@
1
1
  export { BridgeController } from "./bridge-controller.cjs";
2
- export { BatchSellMetricsEventName, UnifiedSwapBridgeEventName, BATCH_SELL_EVENT_CATEGORY, UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY, BatchSellMetricsLocation, InputAmountPreset, MetaMetricsSwapsEventSource, PollingStatus, } from "./utils/metrics/constants.cjs";
2
+ export { BatchSellMetricsEventName, UnifiedSwapBridgeEventName, BATCH_SELL_EVENT_CATEGORY, UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY, BatchSellMetricsLocation, InputAmountPreset, MetaMetricsSwapsEventSource, PollingStatus, FailurePhase, SwapBridgeErrorCode, } from "./utils/metrics/constants.cjs";
3
3
  export type { BridgeControllerMetricsEventName } from "./utils/metrics/constants.cjs";
4
4
  export type { BridgeControllerMetricsLocation } from "./utils/metrics/constants.cjs";
5
- export type { AccountHardwareType, RequiredEventContextFromClient, CrossChainSwapsEventProperties, TradeData, RequestParams, RequestMetadata, TxStatusData, QuoteFetchData, QuoteWarning, InputPrimaryDenominationData, } from "./utils/metrics/types.cjs";
5
+ export type { AccountHardwareType, RequiredEventContextFromClient, CrossChainSwapsEventProperties, TradeData, RequestParams, RequestMetadata, TxStatusData, QuoteFetchData, QuoteWarning, InputPrimaryDenominationData, HashPresenceData, FailureTelemetryData, } from "./utils/metrics/types.cjs";
6
6
  export { getAccountHardwareType, formatProviderLabel, getRequestParams, getSwapType, isHardwareWallet, isCustomSlippage, getQuotesReceivedProperties, } from "./utils/metrics/properties.cjs";
7
+ export { getHashPresenceProperties, getQuoteFetchErrorCode, getStatusFailurePhase, getStatusFailureTelemetry, getSubmitErrorCode, getSubmitFailureTelemetry, } from "./utils/metrics/failure-telemetry.cjs";
7
8
  export type { ChainConfiguration, L1GasFees, NonEvmFees, GasMultiplierByChainId, FeatureFlagResponse, GenericQuoteRequest, BatchSellTradesResponse, GaslessProperties, SimulatedGasFeeLimits, Step, RefuelData, FeeData, Intent, IntentOrderLike, BridgeControllerState, InputPrimaryDenomination, BridgeControllerAction, BridgeControllerActions, BridgeControllerEvents, BridgeControllerMessenger, FeatureFlagsPlatformConfig, TxFeeGasLimits, TokenFeature, QuoteStreamCompleteData, BridgeControllerGetStateAction, BridgeControllerStateChangeEvent, DeepPartial, } from "./types.cjs";
8
9
  export { type QuoteMetadata, type TokenAmountValues, } from "./utils/quote-metadata/types.cjs";
9
10
  export { validateQuoteResponseV1, QuoteResponseSchemaV1, type QuoteResponseV1, } from "./validators/quote-response-v1.cjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.mts CHANGED
@@ -1,9 +1,10 @@
1
1
  export { BridgeController } from "./bridge-controller.mjs";
2
- export { BatchSellMetricsEventName, UnifiedSwapBridgeEventName, BATCH_SELL_EVENT_CATEGORY, UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY, BatchSellMetricsLocation, InputAmountPreset, MetaMetricsSwapsEventSource, PollingStatus, } from "./utils/metrics/constants.mjs";
2
+ export { BatchSellMetricsEventName, UnifiedSwapBridgeEventName, BATCH_SELL_EVENT_CATEGORY, UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY, BatchSellMetricsLocation, InputAmountPreset, MetaMetricsSwapsEventSource, PollingStatus, FailurePhase, SwapBridgeErrorCode, } from "./utils/metrics/constants.mjs";
3
3
  export type { BridgeControllerMetricsEventName } from "./utils/metrics/constants.mjs";
4
4
  export type { BridgeControllerMetricsLocation } from "./utils/metrics/constants.mjs";
5
- export type { AccountHardwareType, RequiredEventContextFromClient, CrossChainSwapsEventProperties, TradeData, RequestParams, RequestMetadata, TxStatusData, QuoteFetchData, QuoteWarning, InputPrimaryDenominationData, } from "./utils/metrics/types.mjs";
5
+ export type { AccountHardwareType, RequiredEventContextFromClient, CrossChainSwapsEventProperties, TradeData, RequestParams, RequestMetadata, TxStatusData, QuoteFetchData, QuoteWarning, InputPrimaryDenominationData, HashPresenceData, FailureTelemetryData, } from "./utils/metrics/types.mjs";
6
6
  export { getAccountHardwareType, formatProviderLabel, getRequestParams, getSwapType, isHardwareWallet, isCustomSlippage, getQuotesReceivedProperties, } from "./utils/metrics/properties.mjs";
7
+ export { getHashPresenceProperties, getQuoteFetchErrorCode, getStatusFailurePhase, getStatusFailureTelemetry, getSubmitErrorCode, getSubmitFailureTelemetry, } from "./utils/metrics/failure-telemetry.mjs";
7
8
  export type { ChainConfiguration, L1GasFees, NonEvmFees, GasMultiplierByChainId, FeatureFlagResponse, GenericQuoteRequest, BatchSellTradesResponse, GaslessProperties, SimulatedGasFeeLimits, Step, RefuelData, FeeData, Intent, IntentOrderLike, BridgeControllerState, InputPrimaryDenomination, BridgeControllerAction, BridgeControllerActions, BridgeControllerEvents, BridgeControllerMessenger, FeatureFlagsPlatformConfig, TxFeeGasLimits, TokenFeature, QuoteStreamCompleteData, BridgeControllerGetStateAction, BridgeControllerStateChangeEvent, DeepPartial, } from "./types.mjs";
8
9
  export { type QuoteMetadata, type TokenAmountValues, } from "./utils/quote-metadata/types.mjs";
9
10
  export { validateQuoteResponseV1, QuoteResponseSchemaV1, type QuoteResponseV1, } from "./validators/quote-response-v1.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,6 +1,7 @@
1
1
  export { BridgeController } from "./bridge-controller.mjs";
2
- export { BatchSellMetricsEventName, UnifiedSwapBridgeEventName, BATCH_SELL_EVENT_CATEGORY, UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY, BatchSellMetricsLocation, InputAmountPreset, MetaMetricsSwapsEventSource, PollingStatus } from "./utils/metrics/constants.mjs";
2
+ export { BatchSellMetricsEventName, UnifiedSwapBridgeEventName, BATCH_SELL_EVENT_CATEGORY, UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY, BatchSellMetricsLocation, InputAmountPreset, MetaMetricsSwapsEventSource, PollingStatus, FailurePhase, SwapBridgeErrorCode } from "./utils/metrics/constants.mjs";
3
3
  export { getAccountHardwareType, formatProviderLabel, getRequestParams, getSwapType, isHardwareWallet, isCustomSlippage, getQuotesReceivedProperties } from "./utils/metrics/properties.mjs";
4
+ export { getHashPresenceProperties, getQuoteFetchErrorCode, getStatusFailurePhase, getStatusFailureTelemetry, getSubmitErrorCode, getSubmitFailureTelemetry } from "./utils/metrics/failure-telemetry.mjs";
4
5
  export { validateQuoteResponseV1, QuoteResponseSchemaV1 } from "./validators/quote-response-v1.mjs";
5
6
  export { mergeQuoteMetadata } from "./utils/quote-metadata/merge.mjs";
6
7
  export { AssetType, SortOrder, ChainId, RequestStatus, StatusTypes } from "./types.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { BridgeController } from './bridge-controller.js';\n\nexport {\n BatchSellMetricsEventName,\n UnifiedSwapBridgeEventName,\n BATCH_SELL_EVENT_CATEGORY,\n UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY,\n BatchSellMetricsLocation,\n InputAmountPreset,\n MetaMetricsSwapsEventSource,\n PollingStatus,\n} from './utils/metrics/constants.js';\n\nexport type { BridgeControllerMetricsEventName } from './utils/metrics/constants.js';\nexport type { BridgeControllerMetricsLocation } from './utils/metrics/constants.js';\n\nexport type {\n AccountHardwareType,\n RequiredEventContextFromClient,\n CrossChainSwapsEventProperties,\n TradeData,\n RequestParams,\n RequestMetadata,\n TxStatusData,\n QuoteFetchData,\n QuoteWarning,\n InputPrimaryDenominationData,\n} from './utils/metrics/types.js';\n\nexport {\n getAccountHardwareType,\n formatProviderLabel,\n getRequestParams,\n getSwapType,\n isHardwareWallet,\n isCustomSlippage,\n getQuotesReceivedProperties,\n} from './utils/metrics/properties.js';\n\nexport type {\n ChainConfiguration,\n L1GasFees,\n NonEvmFees,\n GasMultiplierByChainId,\n FeatureFlagResponse,\n GenericQuoteRequest,\n BatchSellTradesResponse,\n GaslessProperties,\n SimulatedGasFeeLimits,\n Step,\n RefuelData,\n FeeData,\n Intent,\n IntentOrderLike,\n BridgeControllerState,\n InputPrimaryDenomination,\n BridgeControllerAction,\n BridgeControllerActions,\n BridgeControllerEvents,\n BridgeControllerMessenger,\n FeatureFlagsPlatformConfig,\n TxFeeGasLimits,\n TokenFeature,\n QuoteStreamCompleteData,\n BridgeControllerGetStateAction,\n BridgeControllerStateChangeEvent,\n DeepPartial,\n} from './types.js';\n\nexport {\n type QuoteMetadata,\n type TokenAmountValues,\n} from './utils/quote-metadata/types.js';\nexport {\n validateQuoteResponseV1,\n QuoteResponseSchemaV1,\n type QuoteResponseV1,\n} from './validators/quote-response-v1.js';\nexport { mergeQuoteMetadata } from './utils/quote-metadata/merge.js';\n\nexport {\n AssetType,\n SortOrder,\n ChainId,\n RequestStatus,\n StatusTypes,\n} from './types.js';\n\nexport type {\n BridgeControllerUpdateBridgeQuoteRequestParamsAction,\n BridgeControllerFetchQuotesAction,\n BridgeControllerStopPollingForQuotesAction,\n BridgeControllerSetLocationAction,\n BridgeControllerGetLocationAction,\n BridgeControllerSetInputPrimaryDenominationAction,\n BridgeControllerResetStateAction,\n BridgeControllerSetChainIntervalLengthAction,\n BridgeControllerTrackUnifiedSwapBridgeEventAction,\n BridgeControllerUpdateBatchSellTradesAction,\n} from './bridge-controller-method-action-types.js';\n\nexport { AbortReason } from './utils/metrics/constants.js';\n\nexport type {\n TxData,\n BitcoinTradeData,\n TronTradeData,\n StellarTradeData,\n Trade,\n} from './validators/trade.js';\nexport {\n isBitcoinTrade,\n isTronTrade,\n isEvmTxData,\n isStellarTrade,\n} from './validators/trade.js';\nexport {\n validateQuoteResponse,\n type QuoteResponse,\n} from './validators/quote-response.js';\nexport type { Quote } from './validators/quote.js';\nexport { FeeType, DiscountType } from './validators/quote.js';\nexport { ActionTypes } from './validators/step.js';\nexport { toQuoteResponseV1 } from './coercers/quote-response-v2-to-v1.js';\nexport { toQuoteResponseV2 } from './coercers/quote-response-v1-to-v2.js';\n\nexport { toQuoteMetadataV1 } from './utils/quote-metadata/to-quote-metadata-v1.js';\nexport { toQuoteMetadataV2 } from './utils/quote-metadata/to-quote-metadata-v2.js';\n\nexport { sumAmounts } from './utils/number-formatters.js';\nexport { assetIdsMatch } from './utils/assets.js';\n\nexport {\n validateQuoteStreamComplete,\n QuoteStreamCompleteReason,\n} from './validators/quote-stream-complete.js';\nexport { BatchSellTransactionType } from './validators/batch-sell.js';\nexport { AmountsAndAssetSchema } from './validators/amount-and-asset.js';\nexport { TokenFeatureType } from './validators/token-feature.js';\nexport type {\n BridgeAsset,\n BridgeAssetV2,\n MinimalAsset,\n} from './validators/bridge-asset.js';\nexport {\n BridgeAssetSchema,\n validateBridgeAsset,\n validateBridgeAssetV2,\n MinimalAssetSchema,\n BridgeAssetV2Schema,\n BridgeAssetSecurityDataType,\n} from './validators/bridge-asset.js';\nexport { FeatureId } from './validators/feature-flags.js';\nexport { toBridgeAssetV2 } from './coercers/quote-response-v1-to-v2.js';\n\nexport {\n ALLOWED_BRIDGE_CHAIN_IDS,\n BridgeClientId,\n BRIDGE_CONTROLLER_NAME,\n BRIDGE_QUOTE_MAX_ETA_SECONDS,\n BRIDGE_QUOTE_MAX_RETURN_DIFFERENCE_PERCENTAGE,\n BRIDGE_PREFERRED_GAS_ESTIMATE,\n BRIDGE_MM_FEE_RATE,\n REFRESH_INTERVAL_MS,\n DEFAULT_MAX_REFRESH_COUNT,\n DEFAULT_BRIDGE_CONTROLLER_STATE,\n METABRIDGE_CHAIN_TO_ADDRESS_MAP,\n BRIDGE_DEV_API_BASE_URL,\n BRIDGE_UAT_API_BASE_URL,\n BRIDGE_PROD_API_BASE_URL,\n} from './constants/bridge.js';\n\nexport type { AllowedBridgeChainIds } from './constants/bridge.js';\n\nexport {\n /**\n * @deprecated This type should not be used. Use {@link BridgeAsset} instead.\n */\n type SwapsTokenObject,\n /**\n * @deprecated This map should not be used. Use getNativeAssetForChainId\" } instead.\n */\n SWAPS_CHAINID_DEFAULT_TOKEN_MAP,\n} from './constants/tokens.js';\n\nexport {\n SWAPS_API_V2_BASE_URL,\n SWAPS_CONTRACT_ADDRESSES,\n SWAPS_WRAPPED_TOKENS_ADDRESSES,\n ALLOWED_CONTRACT_ADDRESSES,\n} from './constants/swaps.js';\n\nexport {\n MetricsActionType,\n MetricsSwapType,\n} from './utils/metrics/constants.js';\n\nexport {\n isEthUsdt,\n isNativeAddress,\n isSolanaChainId,\n isBitcoinChainId,\n isTronChainId,\n isStellarChainId,\n isNonEvmChainId,\n getNativeAssetForChainId,\n getDefaultBridgeControllerState,\n isCrossChain,\n} from './utils/bridge.js';\n\nexport {\n isValidQuoteRequest,\n isValidBatchSellQuoteRequest,\n} from './validators/quote-request.js';\n\nexport {\n calcSlippagePercentage,\n calcQuoteMetadata,\n} from './utils/quote-metadata/calculators.js';\n\nexport { calcLatestSrcBalance } from './utils/balance.js';\n\nexport {\n fetchBridgeTokens,\n getClientHeaders,\n fetchBridgeQuoteStream,\n} from './utils/fetch.js';\n\nexport { appendFeesToQuotes } from './utils/quote-fees.js';\n\nexport {\n formatChainIdToCaip,\n formatChainIdToHex,\n formatAddressToCaipReference,\n formatAddressToAssetId,\n formatChainIdToDec,\n} from './utils/caip-formatters.js';\n\nexport { extractTradeData } from './utils/trade-utils.js';\n\nexport {\n selectBridgeQuotes,\n selectBatchSellQuotes,\n selectBatchSellTrades,\n selectDefaultSlippagePercentage,\n type BridgeAppState,\n selectExchangeRateByAssetId,\n selectIsQuoteExpired,\n selectBridgeFeatureFlags,\n selectMinimumBalanceForRentExemptionInSOL,\n selectTokenWarnings,\n} from './selectors.js';\n\nexport { DEFAULT_FEATURE_FLAG_CONFIG } from './constants/bridge.js';\n\nexport { getBridgeFeatureFlags } from './utils/feature-flags.js';\n\nexport { BRIDGE_DEFAULT_SLIPPAGE } from './utils/slippage.js';\n\nexport {\n isValidSwapsContractAddress,\n getSwapsContractAddress,\n fetchTokens,\n type SwapsToken,\n} from './utils/swaps.js';\n"]}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { BridgeController } from './bridge-controller.js';\n\nexport {\n BatchSellMetricsEventName,\n UnifiedSwapBridgeEventName,\n BATCH_SELL_EVENT_CATEGORY,\n UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY,\n BatchSellMetricsLocation,\n InputAmountPreset,\n MetaMetricsSwapsEventSource,\n PollingStatus,\n FailurePhase,\n SwapBridgeErrorCode,\n} from './utils/metrics/constants.js';\n\nexport type { BridgeControllerMetricsEventName } from './utils/metrics/constants.js';\nexport type { BridgeControllerMetricsLocation } from './utils/metrics/constants.js';\n\nexport type {\n AccountHardwareType,\n RequiredEventContextFromClient,\n CrossChainSwapsEventProperties,\n TradeData,\n RequestParams,\n RequestMetadata,\n TxStatusData,\n QuoteFetchData,\n QuoteWarning,\n InputPrimaryDenominationData,\n HashPresenceData,\n FailureTelemetryData,\n} from './utils/metrics/types.js';\n\nexport {\n getAccountHardwareType,\n formatProviderLabel,\n getRequestParams,\n getSwapType,\n isHardwareWallet,\n isCustomSlippage,\n getQuotesReceivedProperties,\n} from './utils/metrics/properties.js';\n\nexport {\n getHashPresenceProperties,\n getQuoteFetchErrorCode,\n getStatusFailurePhase,\n getStatusFailureTelemetry,\n getSubmitErrorCode,\n getSubmitFailureTelemetry,\n} from './utils/metrics/failure-telemetry.js';\n\nexport type {\n ChainConfiguration,\n L1GasFees,\n NonEvmFees,\n GasMultiplierByChainId,\n FeatureFlagResponse,\n GenericQuoteRequest,\n BatchSellTradesResponse,\n GaslessProperties,\n SimulatedGasFeeLimits,\n Step,\n RefuelData,\n FeeData,\n Intent,\n IntentOrderLike,\n BridgeControllerState,\n InputPrimaryDenomination,\n BridgeControllerAction,\n BridgeControllerActions,\n BridgeControllerEvents,\n BridgeControllerMessenger,\n FeatureFlagsPlatformConfig,\n TxFeeGasLimits,\n TokenFeature,\n QuoteStreamCompleteData,\n BridgeControllerGetStateAction,\n BridgeControllerStateChangeEvent,\n DeepPartial,\n} from './types.js';\n\nexport {\n type QuoteMetadata,\n type TokenAmountValues,\n} from './utils/quote-metadata/types.js';\nexport {\n validateQuoteResponseV1,\n QuoteResponseSchemaV1,\n type QuoteResponseV1,\n} from './validators/quote-response-v1.js';\nexport { mergeQuoteMetadata } from './utils/quote-metadata/merge.js';\n\nexport {\n AssetType,\n SortOrder,\n ChainId,\n RequestStatus,\n StatusTypes,\n} from './types.js';\n\nexport type {\n BridgeControllerUpdateBridgeQuoteRequestParamsAction,\n BridgeControllerFetchQuotesAction,\n BridgeControllerStopPollingForQuotesAction,\n BridgeControllerSetLocationAction,\n BridgeControllerGetLocationAction,\n BridgeControllerSetInputPrimaryDenominationAction,\n BridgeControllerResetStateAction,\n BridgeControllerSetChainIntervalLengthAction,\n BridgeControllerTrackUnifiedSwapBridgeEventAction,\n BridgeControllerUpdateBatchSellTradesAction,\n} from './bridge-controller-method-action-types.js';\n\nexport { AbortReason } from './utils/metrics/constants.js';\n\nexport type {\n TxData,\n BitcoinTradeData,\n TronTradeData,\n StellarTradeData,\n Trade,\n} from './validators/trade.js';\nexport {\n isBitcoinTrade,\n isTronTrade,\n isEvmTxData,\n isStellarTrade,\n} from './validators/trade.js';\nexport {\n validateQuoteResponse,\n type QuoteResponse,\n} from './validators/quote-response.js';\nexport type { Quote } from './validators/quote.js';\nexport { FeeType, DiscountType } from './validators/quote.js';\nexport { ActionTypes } from './validators/step.js';\nexport { toQuoteResponseV1 } from './coercers/quote-response-v2-to-v1.js';\nexport { toQuoteResponseV2 } from './coercers/quote-response-v1-to-v2.js';\n\nexport { toQuoteMetadataV1 } from './utils/quote-metadata/to-quote-metadata-v1.js';\nexport { toQuoteMetadataV2 } from './utils/quote-metadata/to-quote-metadata-v2.js';\n\nexport { sumAmounts } from './utils/number-formatters.js';\nexport { assetIdsMatch } from './utils/assets.js';\n\nexport {\n validateQuoteStreamComplete,\n QuoteStreamCompleteReason,\n} from './validators/quote-stream-complete.js';\nexport { BatchSellTransactionType } from './validators/batch-sell.js';\nexport { AmountsAndAssetSchema } from './validators/amount-and-asset.js';\nexport { TokenFeatureType } from './validators/token-feature.js';\nexport type {\n BridgeAsset,\n BridgeAssetV2,\n MinimalAsset,\n} from './validators/bridge-asset.js';\nexport {\n BridgeAssetSchema,\n validateBridgeAsset,\n validateBridgeAssetV2,\n MinimalAssetSchema,\n BridgeAssetV2Schema,\n BridgeAssetSecurityDataType,\n} from './validators/bridge-asset.js';\nexport { FeatureId } from './validators/feature-flags.js';\nexport { toBridgeAssetV2 } from './coercers/quote-response-v1-to-v2.js';\n\nexport {\n ALLOWED_BRIDGE_CHAIN_IDS,\n BridgeClientId,\n BRIDGE_CONTROLLER_NAME,\n BRIDGE_QUOTE_MAX_ETA_SECONDS,\n BRIDGE_QUOTE_MAX_RETURN_DIFFERENCE_PERCENTAGE,\n BRIDGE_PREFERRED_GAS_ESTIMATE,\n BRIDGE_MM_FEE_RATE,\n REFRESH_INTERVAL_MS,\n DEFAULT_MAX_REFRESH_COUNT,\n DEFAULT_BRIDGE_CONTROLLER_STATE,\n METABRIDGE_CHAIN_TO_ADDRESS_MAP,\n BRIDGE_DEV_API_BASE_URL,\n BRIDGE_UAT_API_BASE_URL,\n BRIDGE_PROD_API_BASE_URL,\n} from './constants/bridge.js';\n\nexport type { AllowedBridgeChainIds } from './constants/bridge.js';\n\nexport {\n /**\n * @deprecated This type should not be used. Use {@link BridgeAsset} instead.\n */\n type SwapsTokenObject,\n /**\n * @deprecated This map should not be used. Use getNativeAssetForChainId\" } instead.\n */\n SWAPS_CHAINID_DEFAULT_TOKEN_MAP,\n} from './constants/tokens.js';\n\nexport {\n SWAPS_API_V2_BASE_URL,\n SWAPS_CONTRACT_ADDRESSES,\n SWAPS_WRAPPED_TOKENS_ADDRESSES,\n ALLOWED_CONTRACT_ADDRESSES,\n} from './constants/swaps.js';\n\nexport {\n MetricsActionType,\n MetricsSwapType,\n} from './utils/metrics/constants.js';\n\nexport {\n isEthUsdt,\n isNativeAddress,\n isSolanaChainId,\n isBitcoinChainId,\n isTronChainId,\n isStellarChainId,\n isNonEvmChainId,\n getNativeAssetForChainId,\n getDefaultBridgeControllerState,\n isCrossChain,\n} from './utils/bridge.js';\n\nexport {\n isValidQuoteRequest,\n isValidBatchSellQuoteRequest,\n} from './validators/quote-request.js';\n\nexport {\n calcSlippagePercentage,\n calcQuoteMetadata,\n} from './utils/quote-metadata/calculators.js';\n\nexport { calcLatestSrcBalance } from './utils/balance.js';\n\nexport {\n fetchBridgeTokens,\n getClientHeaders,\n fetchBridgeQuoteStream,\n} from './utils/fetch.js';\n\nexport { appendFeesToQuotes } from './utils/quote-fees.js';\n\nexport {\n formatChainIdToCaip,\n formatChainIdToHex,\n formatAddressToCaipReference,\n formatAddressToAssetId,\n formatChainIdToDec,\n} from './utils/caip-formatters.js';\n\nexport { extractTradeData } from './utils/trade-utils.js';\n\nexport {\n selectBridgeQuotes,\n selectBatchSellQuotes,\n selectBatchSellTrades,\n selectDefaultSlippagePercentage,\n type BridgeAppState,\n selectExchangeRateByAssetId,\n selectIsQuoteExpired,\n selectBridgeFeatureFlags,\n selectMinimumBalanceForRentExemptionInSOL,\n selectTokenWarnings,\n} from './selectors.js';\n\nexport { DEFAULT_FEATURE_FLAG_CONFIG } from './constants/bridge.js';\n\nexport { getBridgeFeatureFlags } from './utils/feature-flags.js';\n\nexport { BRIDGE_DEFAULT_SLIPPAGE } from './utils/slippage.js';\n\nexport {\n isValidSwapsContractAddress,\n getSwapsContractAddress,\n fetchTokens,\n type SwapsToken,\n} from './utils/swaps.js';\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MetricsSwapType = exports.MetricsActionType = exports.InputAmountPreset = exports.BatchSellMetricsLocation = exports.MetaMetricsSwapsEventSource = exports.AbortReason = exports.PollingStatus = exports.BatchSellMetricsEventName = exports.UnifiedSwapBridgeEventName = exports.BATCH_SELL_EVENT_CATEGORY = exports.UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY = void 0;
3
+ exports.SwapBridgeErrorCode = exports.FailurePhase = exports.MetricsSwapType = exports.MetricsActionType = exports.InputAmountPreset = exports.BatchSellMetricsLocation = exports.MetaMetricsSwapsEventSource = exports.AbortReason = exports.PollingStatus = exports.BatchSellMetricsEventName = exports.UnifiedSwapBridgeEventName = exports.BATCH_SELL_EVENT_CATEGORY = exports.UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY = void 0;
4
4
  /* eslint-disable @typescript-eslint/naming-convention */
5
5
  exports.UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY = 'Unified SwapBridge';
6
6
  exports.BATCH_SELL_EVENT_CATEGORY = 'Batch Sell';
@@ -100,4 +100,29 @@ var MetricsSwapType;
100
100
  MetricsSwapType["SINGLE"] = "single_chain";
101
101
  MetricsSwapType["CROSSCHAIN"] = "crosschain";
102
102
  })(MetricsSwapType || (exports.MetricsSwapType = MetricsSwapType = {}));
103
+ /**
104
+ * When a SwapBridge attempt failed. Derived from the failing code path plus
105
+ * hash presence — never from `error_message` text.
106
+ */
107
+ var FailurePhase;
108
+ (function (FailurePhase) {
109
+ FailurePhase["Quote"] = "quote";
110
+ FailurePhase["Broadcast"] = "broadcast";
111
+ FailurePhase["SourceExecution"] = "source_execution";
112
+ FailurePhase["DestinationExecution"] = "destination_execution";
113
+ FailurePhase["Poll"] = "poll";
114
+ FailurePhase["Unknown"] = "unknown";
115
+ })(FailurePhase || (exports.FailurePhase = FailurePhase = {}));
116
+ /**
117
+ * Stable Mixpanel reason for a SwapBridge failure. Independent of free-text
118
+ * `error_message`.
119
+ */
120
+ var SwapBridgeErrorCode;
121
+ (function (SwapBridgeErrorCode) {
122
+ SwapBridgeErrorCode["QuoteFetchFailed"] = "quote_fetch_failed";
123
+ SwapBridgeErrorCode["MissingErrorObject"] = "missing_error_object";
124
+ SwapBridgeErrorCode["NonErrorRejection"] = "non_error_rejection";
125
+ SwapBridgeErrorCode["StatusFailedWithoutReason"] = "status_failed_without_reason";
126
+ SwapBridgeErrorCode["Unknown"] = "unknown";
127
+ })(SwapBridgeErrorCode || (exports.SwapBridgeErrorCode = SwapBridgeErrorCode = {}));
103
128
  //# sourceMappingURL=constants.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.cjs","sourceRoot":"","sources":["../../../src/utils/metrics/constants.ts"],"names":[],"mappings":";;;AAAA,yDAAyD;AAC5C,QAAA,kCAAkC,GAAG,oBAAoB,CAAC;AAC1D,QAAA,yBAAyB,GAAG,YAAY,CAAC;AAEtD;;GAEG;AACH,IAAY,0BAoBX;AApBD,WAAY,0BAA0B;IACpC,iFAAsE,CAAA;IACtE,2EAAgE,CAAA;IAChE,+EAAoE,CAAA;IACpE,uGAA4F,CAAA;IAC5F,+GAAoG,CAAA;IACpG,qFAA0E,CAAA;IAC1E,mFAAwE,CAAA;IACxE,6EAAkE,CAAA;IAClE,wEAA6D,CAAA;IAC7D,wEAA6D,CAAA;IAC7D,kEAAuD,CAAA;IACvD,sFAA2E,CAAA;IAC3E,sFAA2E,CAAA;IAC3E,iFAAsE,CAAA;IACtE,2GAAgG,CAAA;IAChG,oGAAyF,CAAA;IACzF,oGAAyF,CAAA;IACzF,0FAA+E,CAAA;IAC/E,gGAAqF,CAAA;AACvF,CAAC,EApBW,0BAA0B,0CAA1B,0BAA0B,QAoBrC;AAED,IAAY,yBAMX;AAND,WAAY,yBAAyB;IACnC,sFAA2E,CAAA;IAC3E,yGAA8F,CAAA;IAC9F,sFAA2E,CAAA;IAC3E,qGAA0F,CAAA;IAC1F,gGAAqF,CAAA;AACvF,CAAC,EANW,yBAAyB,yCAAzB,yBAAyB,QAMpC;AAMD,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,0DAAyC,CAAA;IACzC,oEAAmD,CAAA;IACnD,yDAAwC,CAAA;AAC1C,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB;AAED,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,oDAAqC,CAAA;IACrC,4DAA6C,CAAA;IAC7C,oDAAqC,CAAA;IACrC,6DAA8C,CAAA;IAC9C,0EAA2D,CAAA;AAC7D,CAAC,EANW,WAAW,2BAAX,WAAW,QAMtB;AAED;;;;GAIG;AACH,IAAY,2BAaX;AAbD,WAAY,2BAA2B;IACrC,qDAAsB,CAAA;IACtB,uDAAwB,CAAA;IACxB,mEAAoC,CAAA;IACpC,kDAAmB,CAAA;IACnB,uFAAwD,CAAA;IACxD,qFAAsD,CAAA;IACtD,iFAAkD,CAAA;IAClD,uEAAwC,CAAA;IACxC,yEAA0C,CAAA;IAC1C,qDAAsB,CAAA;IACtB,kDAAmB,CAAA;IACnB,8DAA+B,CAAA;AACjC,CAAC,EAbW,2BAA2B,2CAA3B,2BAA2B,QAatC;AAED,IAAY,wBAKX;AALD,WAAY,wBAAwB;IAClC,oDAAwB,CAAA;IACxB,iDAAqB,CAAA;IACrB,wDAA4B,CAAA;IAC5B,+CAAmB,CAAA;AACrB,CAAC,EALW,wBAAwB,wCAAxB,wBAAwB,QAKnC;AAMD,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,uCAAkB,CAAA;IAClB,uCAAkB,CAAA;IAClB,uCAAkB,CAAA;IAClB,uCAAkB,CAAA;IAClB,uEAAuE;IACvE,gCAAW,CAAA;AACb,CAAC,EAPW,iBAAiB,iCAAjB,iBAAiB,QAO5B;AAED,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B;;OAEG;IACH,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;AACjC,CAAC,EANW,iBAAiB,iCAAjB,iBAAiB,QAM5B;AAED,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,0CAAuB,CAAA;IACvB,4CAAyB,CAAA;AAC3B,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nexport const UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY = 'Unified SwapBridge';\nexport const BATCH_SELL_EVENT_CATEGORY = 'Batch Sell';\n\n/**\n * These event names map to events defined in the segment-schema: https://github.com/Consensys/segment-schema/tree/main/libraries/events/metamask-cross-chain-swaps\n */\nexport enum UnifiedSwapBridgeEventName {\n ButtonClicked = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Button Clicked`,\n PageViewed = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Page Viewed`,\n InputChanged = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Input Changed`,\n FiatCryptoToggleClicked = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Fiat Crypto Toggle Clicked`,\n InputSourceDestinationSwitched = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Source Destination Switched`,\n QuotesRequested = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Quotes Requested`,\n QuotesReceived = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Quotes Received`,\n QuotesError = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Quotes Error`,\n Submitted = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Submitted`,\n Completed = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Completed`,\n Failed = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Failed`,\n AllQuotesOpened = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} All Quotes Opened`,\n AllQuotesSorted = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} All Quotes Sorted`,\n QuoteSelected = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Quote Selected`,\n AssetDetailTooltipClicked = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Asset Detail Tooltip Clicked`,\n QuotesValidationFailed = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Quotes Failed Validation`,\n StatusValidationFailed = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Status Failed Validation`,\n AssetPickerOpened = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Asset Picker Opened`,\n PollingStatusUpdated = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Polling Status Updated`,\n}\n\nexport enum BatchSellMetricsEventName {\n BatchSellTokenPageViewed = `${BATCH_SELL_EVENT_CATEGORY} Token Page Viewed`,\n BatchSellTokenPageContinueClicked = `${BATCH_SELL_EVENT_CATEGORY} Token Page Continue Clicked`,\n BatchSellQuotePageViewed = `${BATCH_SELL_EVENT_CATEGORY} Quote Page Viewed`,\n BatchSellQuotePageReviewClicked = `${BATCH_SELL_EVENT_CATEGORY} Quote Page Review Clicked`,\n BatchSellReviewModalSubmitted = `${BATCH_SELL_EVENT_CATEGORY} Review Modal Submitted`,\n}\n\nexport type BridgeControllerMetricsEventName =\n | UnifiedSwapBridgeEventName\n | BatchSellMetricsEventName;\n\nexport enum PollingStatus {\n MaxPollingReached = 'max_polling_reached',\n InvalidTransactionHash = 'invalid_transaction_hash',\n ManuallyRestarted = 'manually_restarted',\n}\n\nexport enum AbortReason {\n NewQuoteRequest = 'New Quote Request',\n QuoteRequestUpdated = 'Quote Request Updated',\n ResetState = 'Reset controller state',\n TransactionSubmitted = 'Transaction submitted',\n GaslessTxBatchFetched = 'Gasless transaction batch fetched',\n}\n\n/**\n * Identifies the entry point from which the user initiated a swap or bridge flow.\n * Included as the `location` property on every Unified SwapBridge event so\n * analytics can trace the user's origin regardless of where they are in the flow.\n */\nexport enum MetaMetricsSwapsEventSource {\n MainView = 'Main View',\n TokenView = 'Token View',\n TrendingExplore = 'Trending Explore',\n Rewards = 'Rewards',\n FollowTradingTokenScreen = 'Follow Trading Token Screen',\n FollowTradingFeedScreen = 'Follow Trading Feed Screen',\n ActivityTabEmptyState = 'Activity Tab Empty State',\n TransactionShield = 'Transaction Shield',\n TransactionDetails = 'Transaction Details',\n DeepLink = 'Deep Link',\n Unknown = 'Unknown',\n BottomNavBar = 'Bottom Nav Bar',\n}\n\nexport enum BatchSellMetricsLocation {\n TradeMenu = 'trade_menu',\n Deeplink = 'deeplink',\n AssetPicker = 'asset_picker',\n Unknown = 'Unknown',\n}\n\nexport type BridgeControllerMetricsLocation =\n | MetaMetricsSwapsEventSource\n | BatchSellMetricsLocation;\n\nexport enum InputAmountPreset {\n PERCENT_25 = '25%',\n PERCENT_50 = '50%',\n PERCENT_75 = '75%',\n PERCENT_90 = '90%',\n // \"Max\" may not equal 100% of balance (e.g. gas reserves are withheld)\n MAX = 'MAX',\n}\n\nexport enum MetricsActionType {\n /**\n * @deprecated new events should use SWAPBRIDGE_V1 instead\n */\n CROSSCHAIN_V1 = 'crosschain-v1',\n SWAPBRIDGE_V1 = 'swapbridge-v1',\n}\n\nexport enum MetricsSwapType {\n SINGLE = 'single_chain',\n CROSSCHAIN = 'crosschain',\n}\n"]}
1
+ {"version":3,"file":"constants.cjs","sourceRoot":"","sources":["../../../src/utils/metrics/constants.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nexport const UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY = 'Unified SwapBridge';\nexport const BATCH_SELL_EVENT_CATEGORY = 'Batch Sell';\n\n/**\n * These event names map to events defined in the segment-schema: https://github.com/Consensys/segment-schema/tree/main/libraries/events/metamask-cross-chain-swaps\n */\nexport enum UnifiedSwapBridgeEventName {\n ButtonClicked = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Button Clicked`,\n PageViewed = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Page Viewed`,\n InputChanged = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Input Changed`,\n FiatCryptoToggleClicked = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Fiat Crypto Toggle Clicked`,\n InputSourceDestinationSwitched = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Source Destination Switched`,\n QuotesRequested = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Quotes Requested`,\n QuotesReceived = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Quotes Received`,\n QuotesError = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Quotes Error`,\n Submitted = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Submitted`,\n Completed = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Completed`,\n Failed = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Failed`,\n AllQuotesOpened = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} All Quotes Opened`,\n AllQuotesSorted = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} All Quotes Sorted`,\n QuoteSelected = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Quote Selected`,\n AssetDetailTooltipClicked = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Asset Detail Tooltip Clicked`,\n QuotesValidationFailed = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Quotes Failed Validation`,\n StatusValidationFailed = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Status Failed Validation`,\n AssetPickerOpened = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Asset Picker Opened`,\n PollingStatusUpdated = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Polling Status Updated`,\n}\n\nexport enum BatchSellMetricsEventName {\n BatchSellTokenPageViewed = `${BATCH_SELL_EVENT_CATEGORY} Token Page Viewed`,\n BatchSellTokenPageContinueClicked = `${BATCH_SELL_EVENT_CATEGORY} Token Page Continue Clicked`,\n BatchSellQuotePageViewed = `${BATCH_SELL_EVENT_CATEGORY} Quote Page Viewed`,\n BatchSellQuotePageReviewClicked = `${BATCH_SELL_EVENT_CATEGORY} Quote Page Review Clicked`,\n BatchSellReviewModalSubmitted = `${BATCH_SELL_EVENT_CATEGORY} Review Modal Submitted`,\n}\n\nexport type BridgeControllerMetricsEventName =\n | UnifiedSwapBridgeEventName\n | BatchSellMetricsEventName;\n\nexport enum PollingStatus {\n MaxPollingReached = 'max_polling_reached',\n InvalidTransactionHash = 'invalid_transaction_hash',\n ManuallyRestarted = 'manually_restarted',\n}\n\nexport enum AbortReason {\n NewQuoteRequest = 'New Quote Request',\n QuoteRequestUpdated = 'Quote Request Updated',\n ResetState = 'Reset controller state',\n TransactionSubmitted = 'Transaction submitted',\n GaslessTxBatchFetched = 'Gasless transaction batch fetched',\n}\n\n/**\n * Identifies the entry point from which the user initiated a swap or bridge flow.\n * Included as the `location` property on every Unified SwapBridge event so\n * analytics can trace the user's origin regardless of where they are in the flow.\n */\nexport enum MetaMetricsSwapsEventSource {\n MainView = 'Main View',\n TokenView = 'Token View',\n TrendingExplore = 'Trending Explore',\n Rewards = 'Rewards',\n FollowTradingTokenScreen = 'Follow Trading Token Screen',\n FollowTradingFeedScreen = 'Follow Trading Feed Screen',\n ActivityTabEmptyState = 'Activity Tab Empty State',\n TransactionShield = 'Transaction Shield',\n TransactionDetails = 'Transaction Details',\n DeepLink = 'Deep Link',\n Unknown = 'Unknown',\n BottomNavBar = 'Bottom Nav Bar',\n}\n\nexport enum BatchSellMetricsLocation {\n TradeMenu = 'trade_menu',\n Deeplink = 'deeplink',\n AssetPicker = 'asset_picker',\n Unknown = 'Unknown',\n}\n\nexport type BridgeControllerMetricsLocation =\n | MetaMetricsSwapsEventSource\n | BatchSellMetricsLocation;\n\nexport enum InputAmountPreset {\n PERCENT_25 = '25%',\n PERCENT_50 = '50%',\n PERCENT_75 = '75%',\n PERCENT_90 = '90%',\n // \"Max\" may not equal 100% of balance (e.g. gas reserves are withheld)\n MAX = 'MAX',\n}\n\nexport enum MetricsActionType {\n /**\n * @deprecated new events should use SWAPBRIDGE_V1 instead\n */\n CROSSCHAIN_V1 = 'crosschain-v1',\n SWAPBRIDGE_V1 = 'swapbridge-v1',\n}\n\nexport enum MetricsSwapType {\n SINGLE = 'single_chain',\n CROSSCHAIN = 'crosschain',\n}\n\n/**\n * When a SwapBridge attempt failed. Derived from the failing code path plus\n * hash presence — never from `error_message` text.\n */\nexport enum FailurePhase {\n Quote = 'quote',\n Broadcast = 'broadcast',\n SourceExecution = 'source_execution',\n DestinationExecution = 'destination_execution',\n Poll = 'poll',\n Unknown = 'unknown',\n}\n\n/**\n * Stable Mixpanel reason for a SwapBridge failure. Independent of free-text\n * `error_message`.\n */\nexport enum SwapBridgeErrorCode {\n QuoteFetchFailed = 'quote_fetch_failed',\n MissingErrorObject = 'missing_error_object',\n NonErrorRejection = 'non_error_rejection',\n StatusFailedWithoutReason = 'status_failed_without_reason',\n Unknown = 'unknown',\n}\n"]}
@@ -88,4 +88,27 @@ export declare enum MetricsSwapType {
88
88
  SINGLE = "single_chain",
89
89
  CROSSCHAIN = "crosschain"
90
90
  }
91
+ /**
92
+ * When a SwapBridge attempt failed. Derived from the failing code path plus
93
+ * hash presence — never from `error_message` text.
94
+ */
95
+ export declare enum FailurePhase {
96
+ Quote = "quote",
97
+ Broadcast = "broadcast",
98
+ SourceExecution = "source_execution",
99
+ DestinationExecution = "destination_execution",
100
+ Poll = "poll",
101
+ Unknown = "unknown"
102
+ }
103
+ /**
104
+ * Stable Mixpanel reason for a SwapBridge failure. Independent of free-text
105
+ * `error_message`.
106
+ */
107
+ export declare enum SwapBridgeErrorCode {
108
+ QuoteFetchFailed = "quote_fetch_failed",
109
+ MissingErrorObject = "missing_error_object",
110
+ NonErrorRejection = "non_error_rejection",
111
+ StatusFailedWithoutReason = "status_failed_without_reason",
112
+ Unknown = "unknown"
113
+ }
91
114
  //# sourceMappingURL=constants.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.cts","sourceRoot":"","sources":["../../../src/utils/metrics/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,kCAAkC,uBAAuB,CAAC;AACvE,eAAO,MAAM,yBAAyB,eAAe,CAAC;AAEtD;;GAEG;AACH,oBAAY,0BAA0B;IACpC,aAAa,sCAAyD;IACtE,UAAU,mCAAsD;IAChE,YAAY,qCAAwD;IACpE,uBAAuB,kDAAqE;IAC5F,8BAA8B,mDAAsE;IACpG,eAAe,wCAA2D;IAC1E,cAAc,uCAA0D;IACxE,WAAW,oCAAuD;IAClE,SAAS,iCAAoD;IAC7D,SAAS,iCAAoD;IAC7D,MAAM,8BAAiD;IACvD,eAAe,yCAA4D;IAC3E,eAAe,yCAA4D;IAC3E,aAAa,sCAAyD;IACtE,yBAAyB,oDAAuE;IAChG,sBAAsB,gDAAmE;IACzF,sBAAsB,gDAAmE;IACzF,iBAAiB,2CAA8D;IAC/E,oBAAoB,8CAAiE;CACtF;AAED,oBAAY,yBAAyB;IACnC,wBAAwB,iCAAmD;IAC3E,iCAAiC,2CAA6D;IAC9F,wBAAwB,iCAAmD;IAC3E,+BAA+B,yCAA2D;IAC1F,6BAA6B,sCAAwD;CACtF;AAED,MAAM,MAAM,gCAAgC,GACxC,0BAA0B,GAC1B,yBAAyB,CAAC;AAE9B,oBAAY,aAAa;IACvB,iBAAiB,wBAAwB;IACzC,sBAAsB,6BAA6B;IACnD,iBAAiB,uBAAuB;CACzC;AAED,oBAAY,WAAW;IACrB,eAAe,sBAAsB;IACrC,mBAAmB,0BAA0B;IAC7C,UAAU,2BAA2B;IACrC,oBAAoB,0BAA0B;IAC9C,qBAAqB,sCAAsC;CAC5D;AAED;;;;GAIG;AACH,oBAAY,2BAA2B;IACrC,QAAQ,cAAc;IACtB,SAAS,eAAe;IACxB,eAAe,qBAAqB;IACpC,OAAO,YAAY;IACnB,wBAAwB,gCAAgC;IACxD,uBAAuB,+BAA+B;IACtD,qBAAqB,6BAA6B;IAClD,iBAAiB,uBAAuB;IACxC,kBAAkB,wBAAwB;IAC1C,QAAQ,cAAc;IACtB,OAAO,YAAY;IACnB,YAAY,mBAAmB;CAChC;AAED,oBAAY,wBAAwB;IAClC,SAAS,eAAe;IACxB,QAAQ,aAAa;IACrB,WAAW,iBAAiB;IAC5B,OAAO,YAAY;CACpB;AAED,MAAM,MAAM,+BAA+B,GACvC,2BAA2B,GAC3B,wBAAwB,CAAC;AAE7B,oBAAY,iBAAiB;IAC3B,UAAU,QAAQ;IAClB,UAAU,QAAQ;IAClB,UAAU,QAAQ;IAClB,UAAU,QAAQ;IAElB,GAAG,QAAQ;CACZ;AAED,oBAAY,iBAAiB;IAC3B;;OAEG;IACH,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;CAChC;AAED,oBAAY,eAAe;IACzB,MAAM,iBAAiB;IACvB,UAAU,eAAe;CAC1B"}
1
+ {"version":3,"file":"constants.d.cts","sourceRoot":"","sources":["../../../src/utils/metrics/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,kCAAkC,uBAAuB,CAAC;AACvE,eAAO,MAAM,yBAAyB,eAAe,CAAC;AAEtD;;GAEG;AACH,oBAAY,0BAA0B;IACpC,aAAa,sCAAyD;IACtE,UAAU,mCAAsD;IAChE,YAAY,qCAAwD;IACpE,uBAAuB,kDAAqE;IAC5F,8BAA8B,mDAAsE;IACpG,eAAe,wCAA2D;IAC1E,cAAc,uCAA0D;IACxE,WAAW,oCAAuD;IAClE,SAAS,iCAAoD;IAC7D,SAAS,iCAAoD;IAC7D,MAAM,8BAAiD;IACvD,eAAe,yCAA4D;IAC3E,eAAe,yCAA4D;IAC3E,aAAa,sCAAyD;IACtE,yBAAyB,oDAAuE;IAChG,sBAAsB,gDAAmE;IACzF,sBAAsB,gDAAmE;IACzF,iBAAiB,2CAA8D;IAC/E,oBAAoB,8CAAiE;CACtF;AAED,oBAAY,yBAAyB;IACnC,wBAAwB,iCAAmD;IAC3E,iCAAiC,2CAA6D;IAC9F,wBAAwB,iCAAmD;IAC3E,+BAA+B,yCAA2D;IAC1F,6BAA6B,sCAAwD;CACtF;AAED,MAAM,MAAM,gCAAgC,GACxC,0BAA0B,GAC1B,yBAAyB,CAAC;AAE9B,oBAAY,aAAa;IACvB,iBAAiB,wBAAwB;IACzC,sBAAsB,6BAA6B;IACnD,iBAAiB,uBAAuB;CACzC;AAED,oBAAY,WAAW;IACrB,eAAe,sBAAsB;IACrC,mBAAmB,0BAA0B;IAC7C,UAAU,2BAA2B;IACrC,oBAAoB,0BAA0B;IAC9C,qBAAqB,sCAAsC;CAC5D;AAED;;;;GAIG;AACH,oBAAY,2BAA2B;IACrC,QAAQ,cAAc;IACtB,SAAS,eAAe;IACxB,eAAe,qBAAqB;IACpC,OAAO,YAAY;IACnB,wBAAwB,gCAAgC;IACxD,uBAAuB,+BAA+B;IACtD,qBAAqB,6BAA6B;IAClD,iBAAiB,uBAAuB;IACxC,kBAAkB,wBAAwB;IAC1C,QAAQ,cAAc;IACtB,OAAO,YAAY;IACnB,YAAY,mBAAmB;CAChC;AAED,oBAAY,wBAAwB;IAClC,SAAS,eAAe;IACxB,QAAQ,aAAa;IACrB,WAAW,iBAAiB;IAC5B,OAAO,YAAY;CACpB;AAED,MAAM,MAAM,+BAA+B,GACvC,2BAA2B,GAC3B,wBAAwB,CAAC;AAE7B,oBAAY,iBAAiB;IAC3B,UAAU,QAAQ;IAClB,UAAU,QAAQ;IAClB,UAAU,QAAQ;IAClB,UAAU,QAAQ;IAElB,GAAG,QAAQ;CACZ;AAED,oBAAY,iBAAiB;IAC3B;;OAEG;IACH,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;CAChC;AAED,oBAAY,eAAe;IACzB,MAAM,iBAAiB;IACvB,UAAU,eAAe;CAC1B;AAED;;;GAGG;AACH,oBAAY,YAAY;IACtB,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,eAAe,qBAAqB;IACpC,oBAAoB,0BAA0B;IAC9C,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED;;;GAGG;AACH,oBAAY,mBAAmB;IAC7B,gBAAgB,uBAAuB;IACvC,kBAAkB,yBAAyB;IAC3C,iBAAiB,wBAAwB;IACzC,yBAAyB,iCAAiC;IAC1D,OAAO,YAAY;CACpB"}
@@ -88,4 +88,27 @@ export declare enum MetricsSwapType {
88
88
  SINGLE = "single_chain",
89
89
  CROSSCHAIN = "crosschain"
90
90
  }
91
+ /**
92
+ * When a SwapBridge attempt failed. Derived from the failing code path plus
93
+ * hash presence — never from `error_message` text.
94
+ */
95
+ export declare enum FailurePhase {
96
+ Quote = "quote",
97
+ Broadcast = "broadcast",
98
+ SourceExecution = "source_execution",
99
+ DestinationExecution = "destination_execution",
100
+ Poll = "poll",
101
+ Unknown = "unknown"
102
+ }
103
+ /**
104
+ * Stable Mixpanel reason for a SwapBridge failure. Independent of free-text
105
+ * `error_message`.
106
+ */
107
+ export declare enum SwapBridgeErrorCode {
108
+ QuoteFetchFailed = "quote_fetch_failed",
109
+ MissingErrorObject = "missing_error_object",
110
+ NonErrorRejection = "non_error_rejection",
111
+ StatusFailedWithoutReason = "status_failed_without_reason",
112
+ Unknown = "unknown"
113
+ }
91
114
  //# sourceMappingURL=constants.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../../../src/utils/metrics/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,kCAAkC,uBAAuB,CAAC;AACvE,eAAO,MAAM,yBAAyB,eAAe,CAAC;AAEtD;;GAEG;AACH,oBAAY,0BAA0B;IACpC,aAAa,sCAAyD;IACtE,UAAU,mCAAsD;IAChE,YAAY,qCAAwD;IACpE,uBAAuB,kDAAqE;IAC5F,8BAA8B,mDAAsE;IACpG,eAAe,wCAA2D;IAC1E,cAAc,uCAA0D;IACxE,WAAW,oCAAuD;IAClE,SAAS,iCAAoD;IAC7D,SAAS,iCAAoD;IAC7D,MAAM,8BAAiD;IACvD,eAAe,yCAA4D;IAC3E,eAAe,yCAA4D;IAC3E,aAAa,sCAAyD;IACtE,yBAAyB,oDAAuE;IAChG,sBAAsB,gDAAmE;IACzF,sBAAsB,gDAAmE;IACzF,iBAAiB,2CAA8D;IAC/E,oBAAoB,8CAAiE;CACtF;AAED,oBAAY,yBAAyB;IACnC,wBAAwB,iCAAmD;IAC3E,iCAAiC,2CAA6D;IAC9F,wBAAwB,iCAAmD;IAC3E,+BAA+B,yCAA2D;IAC1F,6BAA6B,sCAAwD;CACtF;AAED,MAAM,MAAM,gCAAgC,GACxC,0BAA0B,GAC1B,yBAAyB,CAAC;AAE9B,oBAAY,aAAa;IACvB,iBAAiB,wBAAwB;IACzC,sBAAsB,6BAA6B;IACnD,iBAAiB,uBAAuB;CACzC;AAED,oBAAY,WAAW;IACrB,eAAe,sBAAsB;IACrC,mBAAmB,0BAA0B;IAC7C,UAAU,2BAA2B;IACrC,oBAAoB,0BAA0B;IAC9C,qBAAqB,sCAAsC;CAC5D;AAED;;;;GAIG;AACH,oBAAY,2BAA2B;IACrC,QAAQ,cAAc;IACtB,SAAS,eAAe;IACxB,eAAe,qBAAqB;IACpC,OAAO,YAAY;IACnB,wBAAwB,gCAAgC;IACxD,uBAAuB,+BAA+B;IACtD,qBAAqB,6BAA6B;IAClD,iBAAiB,uBAAuB;IACxC,kBAAkB,wBAAwB;IAC1C,QAAQ,cAAc;IACtB,OAAO,YAAY;IACnB,YAAY,mBAAmB;CAChC;AAED,oBAAY,wBAAwB;IAClC,SAAS,eAAe;IACxB,QAAQ,aAAa;IACrB,WAAW,iBAAiB;IAC5B,OAAO,YAAY;CACpB;AAED,MAAM,MAAM,+BAA+B,GACvC,2BAA2B,GAC3B,wBAAwB,CAAC;AAE7B,oBAAY,iBAAiB;IAC3B,UAAU,QAAQ;IAClB,UAAU,QAAQ;IAClB,UAAU,QAAQ;IAClB,UAAU,QAAQ;IAElB,GAAG,QAAQ;CACZ;AAED,oBAAY,iBAAiB;IAC3B;;OAEG;IACH,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;CAChC;AAED,oBAAY,eAAe;IACzB,MAAM,iBAAiB;IACvB,UAAU,eAAe;CAC1B"}
1
+ {"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../../../src/utils/metrics/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,kCAAkC,uBAAuB,CAAC;AACvE,eAAO,MAAM,yBAAyB,eAAe,CAAC;AAEtD;;GAEG;AACH,oBAAY,0BAA0B;IACpC,aAAa,sCAAyD;IACtE,UAAU,mCAAsD;IAChE,YAAY,qCAAwD;IACpE,uBAAuB,kDAAqE;IAC5F,8BAA8B,mDAAsE;IACpG,eAAe,wCAA2D;IAC1E,cAAc,uCAA0D;IACxE,WAAW,oCAAuD;IAClE,SAAS,iCAAoD;IAC7D,SAAS,iCAAoD;IAC7D,MAAM,8BAAiD;IACvD,eAAe,yCAA4D;IAC3E,eAAe,yCAA4D;IAC3E,aAAa,sCAAyD;IACtE,yBAAyB,oDAAuE;IAChG,sBAAsB,gDAAmE;IACzF,sBAAsB,gDAAmE;IACzF,iBAAiB,2CAA8D;IAC/E,oBAAoB,8CAAiE;CACtF;AAED,oBAAY,yBAAyB;IACnC,wBAAwB,iCAAmD;IAC3E,iCAAiC,2CAA6D;IAC9F,wBAAwB,iCAAmD;IAC3E,+BAA+B,yCAA2D;IAC1F,6BAA6B,sCAAwD;CACtF;AAED,MAAM,MAAM,gCAAgC,GACxC,0BAA0B,GAC1B,yBAAyB,CAAC;AAE9B,oBAAY,aAAa;IACvB,iBAAiB,wBAAwB;IACzC,sBAAsB,6BAA6B;IACnD,iBAAiB,uBAAuB;CACzC;AAED,oBAAY,WAAW;IACrB,eAAe,sBAAsB;IACrC,mBAAmB,0BAA0B;IAC7C,UAAU,2BAA2B;IACrC,oBAAoB,0BAA0B;IAC9C,qBAAqB,sCAAsC;CAC5D;AAED;;;;GAIG;AACH,oBAAY,2BAA2B;IACrC,QAAQ,cAAc;IACtB,SAAS,eAAe;IACxB,eAAe,qBAAqB;IACpC,OAAO,YAAY;IACnB,wBAAwB,gCAAgC;IACxD,uBAAuB,+BAA+B;IACtD,qBAAqB,6BAA6B;IAClD,iBAAiB,uBAAuB;IACxC,kBAAkB,wBAAwB;IAC1C,QAAQ,cAAc;IACtB,OAAO,YAAY;IACnB,YAAY,mBAAmB;CAChC;AAED,oBAAY,wBAAwB;IAClC,SAAS,eAAe;IACxB,QAAQ,aAAa;IACrB,WAAW,iBAAiB;IAC5B,OAAO,YAAY;CACpB;AAED,MAAM,MAAM,+BAA+B,GACvC,2BAA2B,GAC3B,wBAAwB,CAAC;AAE7B,oBAAY,iBAAiB;IAC3B,UAAU,QAAQ;IAClB,UAAU,QAAQ;IAClB,UAAU,QAAQ;IAClB,UAAU,QAAQ;IAElB,GAAG,QAAQ;CACZ;AAED,oBAAY,iBAAiB;IAC3B;;OAEG;IACH,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;CAChC;AAED,oBAAY,eAAe;IACzB,MAAM,iBAAiB;IACvB,UAAU,eAAe;CAC1B;AAED;;;GAGG;AACH,oBAAY,YAAY;IACtB,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,eAAe,qBAAqB;IACpC,oBAAoB,0BAA0B;IAC9C,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED;;;GAGG;AACH,oBAAY,mBAAmB;IAC7B,gBAAgB,uBAAuB;IACvC,kBAAkB,yBAAyB;IAC3C,iBAAiB,wBAAwB;IACzC,yBAAyB,iCAAiC;IAC1D,OAAO,YAAY;CACpB"}
@@ -97,4 +97,29 @@ export var MetricsSwapType;
97
97
  MetricsSwapType["SINGLE"] = "single_chain";
98
98
  MetricsSwapType["CROSSCHAIN"] = "crosschain";
99
99
  })(MetricsSwapType || (MetricsSwapType = {}));
100
+ /**
101
+ * When a SwapBridge attempt failed. Derived from the failing code path plus
102
+ * hash presence — never from `error_message` text.
103
+ */
104
+ export var FailurePhase;
105
+ (function (FailurePhase) {
106
+ FailurePhase["Quote"] = "quote";
107
+ FailurePhase["Broadcast"] = "broadcast";
108
+ FailurePhase["SourceExecution"] = "source_execution";
109
+ FailurePhase["DestinationExecution"] = "destination_execution";
110
+ FailurePhase["Poll"] = "poll";
111
+ FailurePhase["Unknown"] = "unknown";
112
+ })(FailurePhase || (FailurePhase = {}));
113
+ /**
114
+ * Stable Mixpanel reason for a SwapBridge failure. Independent of free-text
115
+ * `error_message`.
116
+ */
117
+ export var SwapBridgeErrorCode;
118
+ (function (SwapBridgeErrorCode) {
119
+ SwapBridgeErrorCode["QuoteFetchFailed"] = "quote_fetch_failed";
120
+ SwapBridgeErrorCode["MissingErrorObject"] = "missing_error_object";
121
+ SwapBridgeErrorCode["NonErrorRejection"] = "non_error_rejection";
122
+ SwapBridgeErrorCode["StatusFailedWithoutReason"] = "status_failed_without_reason";
123
+ SwapBridgeErrorCode["Unknown"] = "unknown";
124
+ })(SwapBridgeErrorCode || (SwapBridgeErrorCode = {}));
100
125
  //# sourceMappingURL=constants.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../../../src/utils/metrics/constants.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,MAAM,CAAC,MAAM,kCAAkC,GAAG,oBAAoB,CAAC;AACvE,MAAM,CAAC,MAAM,yBAAyB,GAAG,YAAY,CAAC;AAEtD;;GAEG;AACH,MAAM,CAAN,IAAY,0BAoBX;AApBD,WAAY,0BAA0B;IACpC,iFAAsE,CAAA;IACtE,2EAAgE,CAAA;IAChE,+EAAoE,CAAA;IACpE,uGAA4F,CAAA;IAC5F,+GAAoG,CAAA;IACpG,qFAA0E,CAAA;IAC1E,mFAAwE,CAAA;IACxE,6EAAkE,CAAA;IAClE,wEAA6D,CAAA;IAC7D,wEAA6D,CAAA;IAC7D,kEAAuD,CAAA;IACvD,sFAA2E,CAAA;IAC3E,sFAA2E,CAAA;IAC3E,iFAAsE,CAAA;IACtE,2GAAgG,CAAA;IAChG,oGAAyF,CAAA;IACzF,oGAAyF,CAAA;IACzF,0FAA+E,CAAA;IAC/E,gGAAqF,CAAA;AACvF,CAAC,EApBW,0BAA0B,KAA1B,0BAA0B,QAoBrC;AAED,MAAM,CAAN,IAAY,yBAMX;AAND,WAAY,yBAAyB;IACnC,sFAA2E,CAAA;IAC3E,yGAA8F,CAAA;IAC9F,sFAA2E,CAAA;IAC3E,qGAA0F,CAAA;IAC1F,gGAAqF,CAAA;AACvF,CAAC,EANW,yBAAyB,KAAzB,yBAAyB,QAMpC;AAMD,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,0DAAyC,CAAA;IACzC,oEAAmD,CAAA;IACnD,yDAAwC,CAAA;AAC1C,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAED,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,oDAAqC,CAAA;IACrC,4DAA6C,CAAA;IAC7C,oDAAqC,CAAA;IACrC,6DAA8C,CAAA;IAC9C,0EAA2D,CAAA;AAC7D,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAED;;;;GAIG;AACH,MAAM,CAAN,IAAY,2BAaX;AAbD,WAAY,2BAA2B;IACrC,qDAAsB,CAAA;IACtB,uDAAwB,CAAA;IACxB,mEAAoC,CAAA;IACpC,kDAAmB,CAAA;IACnB,uFAAwD,CAAA;IACxD,qFAAsD,CAAA;IACtD,iFAAkD,CAAA;IAClD,uEAAwC,CAAA;IACxC,yEAA0C,CAAA;IAC1C,qDAAsB,CAAA;IACtB,kDAAmB,CAAA;IACnB,8DAA+B,CAAA;AACjC,CAAC,EAbW,2BAA2B,KAA3B,2BAA2B,QAatC;AAED,MAAM,CAAN,IAAY,wBAKX;AALD,WAAY,wBAAwB;IAClC,oDAAwB,CAAA;IACxB,iDAAqB,CAAA;IACrB,wDAA4B,CAAA;IAC5B,+CAAmB,CAAA;AACrB,CAAC,EALW,wBAAwB,KAAxB,wBAAwB,QAKnC;AAMD,MAAM,CAAN,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,uCAAkB,CAAA;IAClB,uCAAkB,CAAA;IAClB,uCAAkB,CAAA;IAClB,uCAAkB,CAAA;IAClB,uEAAuE;IACvE,gCAAW,CAAA;AACb,CAAC,EAPW,iBAAiB,KAAjB,iBAAiB,QAO5B;AAED,MAAM,CAAN,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B;;OAEG;IACH,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;AACjC,CAAC,EANW,iBAAiB,KAAjB,iBAAiB,QAM5B;AAED,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,0CAAuB,CAAA;IACvB,4CAAyB,CAAA;AAC3B,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nexport const UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY = 'Unified SwapBridge';\nexport const BATCH_SELL_EVENT_CATEGORY = 'Batch Sell';\n\n/**\n * These event names map to events defined in the segment-schema: https://github.com/Consensys/segment-schema/tree/main/libraries/events/metamask-cross-chain-swaps\n */\nexport enum UnifiedSwapBridgeEventName {\n ButtonClicked = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Button Clicked`,\n PageViewed = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Page Viewed`,\n InputChanged = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Input Changed`,\n FiatCryptoToggleClicked = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Fiat Crypto Toggle Clicked`,\n InputSourceDestinationSwitched = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Source Destination Switched`,\n QuotesRequested = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Quotes Requested`,\n QuotesReceived = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Quotes Received`,\n QuotesError = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Quotes Error`,\n Submitted = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Submitted`,\n Completed = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Completed`,\n Failed = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Failed`,\n AllQuotesOpened = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} All Quotes Opened`,\n AllQuotesSorted = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} All Quotes Sorted`,\n QuoteSelected = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Quote Selected`,\n AssetDetailTooltipClicked = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Asset Detail Tooltip Clicked`,\n QuotesValidationFailed = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Quotes Failed Validation`,\n StatusValidationFailed = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Status Failed Validation`,\n AssetPickerOpened = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Asset Picker Opened`,\n PollingStatusUpdated = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Polling Status Updated`,\n}\n\nexport enum BatchSellMetricsEventName {\n BatchSellTokenPageViewed = `${BATCH_SELL_EVENT_CATEGORY} Token Page Viewed`,\n BatchSellTokenPageContinueClicked = `${BATCH_SELL_EVENT_CATEGORY} Token Page Continue Clicked`,\n BatchSellQuotePageViewed = `${BATCH_SELL_EVENT_CATEGORY} Quote Page Viewed`,\n BatchSellQuotePageReviewClicked = `${BATCH_SELL_EVENT_CATEGORY} Quote Page Review Clicked`,\n BatchSellReviewModalSubmitted = `${BATCH_SELL_EVENT_CATEGORY} Review Modal Submitted`,\n}\n\nexport type BridgeControllerMetricsEventName =\n | UnifiedSwapBridgeEventName\n | BatchSellMetricsEventName;\n\nexport enum PollingStatus {\n MaxPollingReached = 'max_polling_reached',\n InvalidTransactionHash = 'invalid_transaction_hash',\n ManuallyRestarted = 'manually_restarted',\n}\n\nexport enum AbortReason {\n NewQuoteRequest = 'New Quote Request',\n QuoteRequestUpdated = 'Quote Request Updated',\n ResetState = 'Reset controller state',\n TransactionSubmitted = 'Transaction submitted',\n GaslessTxBatchFetched = 'Gasless transaction batch fetched',\n}\n\n/**\n * Identifies the entry point from which the user initiated a swap or bridge flow.\n * Included as the `location` property on every Unified SwapBridge event so\n * analytics can trace the user's origin regardless of where they are in the flow.\n */\nexport enum MetaMetricsSwapsEventSource {\n MainView = 'Main View',\n TokenView = 'Token View',\n TrendingExplore = 'Trending Explore',\n Rewards = 'Rewards',\n FollowTradingTokenScreen = 'Follow Trading Token Screen',\n FollowTradingFeedScreen = 'Follow Trading Feed Screen',\n ActivityTabEmptyState = 'Activity Tab Empty State',\n TransactionShield = 'Transaction Shield',\n TransactionDetails = 'Transaction Details',\n DeepLink = 'Deep Link',\n Unknown = 'Unknown',\n BottomNavBar = 'Bottom Nav Bar',\n}\n\nexport enum BatchSellMetricsLocation {\n TradeMenu = 'trade_menu',\n Deeplink = 'deeplink',\n AssetPicker = 'asset_picker',\n Unknown = 'Unknown',\n}\n\nexport type BridgeControllerMetricsLocation =\n | MetaMetricsSwapsEventSource\n | BatchSellMetricsLocation;\n\nexport enum InputAmountPreset {\n PERCENT_25 = '25%',\n PERCENT_50 = '50%',\n PERCENT_75 = '75%',\n PERCENT_90 = '90%',\n // \"Max\" may not equal 100% of balance (e.g. gas reserves are withheld)\n MAX = 'MAX',\n}\n\nexport enum MetricsActionType {\n /**\n * @deprecated new events should use SWAPBRIDGE_V1 instead\n */\n CROSSCHAIN_V1 = 'crosschain-v1',\n SWAPBRIDGE_V1 = 'swapbridge-v1',\n}\n\nexport enum MetricsSwapType {\n SINGLE = 'single_chain',\n CROSSCHAIN = 'crosschain',\n}\n"]}
1
+ {"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../../../src/utils/metrics/constants.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nexport const UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY = 'Unified SwapBridge';\nexport const BATCH_SELL_EVENT_CATEGORY = 'Batch Sell';\n\n/**\n * These event names map to events defined in the segment-schema: https://github.com/Consensys/segment-schema/tree/main/libraries/events/metamask-cross-chain-swaps\n */\nexport enum UnifiedSwapBridgeEventName {\n ButtonClicked = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Button Clicked`,\n PageViewed = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Page Viewed`,\n InputChanged = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Input Changed`,\n FiatCryptoToggleClicked = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Fiat Crypto Toggle Clicked`,\n InputSourceDestinationSwitched = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Source Destination Switched`,\n QuotesRequested = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Quotes Requested`,\n QuotesReceived = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Quotes Received`,\n QuotesError = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Quotes Error`,\n Submitted = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Submitted`,\n Completed = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Completed`,\n Failed = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Failed`,\n AllQuotesOpened = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} All Quotes Opened`,\n AllQuotesSorted = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} All Quotes Sorted`,\n QuoteSelected = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Quote Selected`,\n AssetDetailTooltipClicked = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Asset Detail Tooltip Clicked`,\n QuotesValidationFailed = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Quotes Failed Validation`,\n StatusValidationFailed = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Status Failed Validation`,\n AssetPickerOpened = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Asset Picker Opened`,\n PollingStatusUpdated = `${UNIFIED_SWAP_BRIDGE_EVENT_CATEGORY} Polling Status Updated`,\n}\n\nexport enum BatchSellMetricsEventName {\n BatchSellTokenPageViewed = `${BATCH_SELL_EVENT_CATEGORY} Token Page Viewed`,\n BatchSellTokenPageContinueClicked = `${BATCH_SELL_EVENT_CATEGORY} Token Page Continue Clicked`,\n BatchSellQuotePageViewed = `${BATCH_SELL_EVENT_CATEGORY} Quote Page Viewed`,\n BatchSellQuotePageReviewClicked = `${BATCH_SELL_EVENT_CATEGORY} Quote Page Review Clicked`,\n BatchSellReviewModalSubmitted = `${BATCH_SELL_EVENT_CATEGORY} Review Modal Submitted`,\n}\n\nexport type BridgeControllerMetricsEventName =\n | UnifiedSwapBridgeEventName\n | BatchSellMetricsEventName;\n\nexport enum PollingStatus {\n MaxPollingReached = 'max_polling_reached',\n InvalidTransactionHash = 'invalid_transaction_hash',\n ManuallyRestarted = 'manually_restarted',\n}\n\nexport enum AbortReason {\n NewQuoteRequest = 'New Quote Request',\n QuoteRequestUpdated = 'Quote Request Updated',\n ResetState = 'Reset controller state',\n TransactionSubmitted = 'Transaction submitted',\n GaslessTxBatchFetched = 'Gasless transaction batch fetched',\n}\n\n/**\n * Identifies the entry point from which the user initiated a swap or bridge flow.\n * Included as the `location` property on every Unified SwapBridge event so\n * analytics can trace the user's origin regardless of where they are in the flow.\n */\nexport enum MetaMetricsSwapsEventSource {\n MainView = 'Main View',\n TokenView = 'Token View',\n TrendingExplore = 'Trending Explore',\n Rewards = 'Rewards',\n FollowTradingTokenScreen = 'Follow Trading Token Screen',\n FollowTradingFeedScreen = 'Follow Trading Feed Screen',\n ActivityTabEmptyState = 'Activity Tab Empty State',\n TransactionShield = 'Transaction Shield',\n TransactionDetails = 'Transaction Details',\n DeepLink = 'Deep Link',\n Unknown = 'Unknown',\n BottomNavBar = 'Bottom Nav Bar',\n}\n\nexport enum BatchSellMetricsLocation {\n TradeMenu = 'trade_menu',\n Deeplink = 'deeplink',\n AssetPicker = 'asset_picker',\n Unknown = 'Unknown',\n}\n\nexport type BridgeControllerMetricsLocation =\n | MetaMetricsSwapsEventSource\n | BatchSellMetricsLocation;\n\nexport enum InputAmountPreset {\n PERCENT_25 = '25%',\n PERCENT_50 = '50%',\n PERCENT_75 = '75%',\n PERCENT_90 = '90%',\n // \"Max\" may not equal 100% of balance (e.g. gas reserves are withheld)\n MAX = 'MAX',\n}\n\nexport enum MetricsActionType {\n /**\n * @deprecated new events should use SWAPBRIDGE_V1 instead\n */\n CROSSCHAIN_V1 = 'crosschain-v1',\n SWAPBRIDGE_V1 = 'swapbridge-v1',\n}\n\nexport enum MetricsSwapType {\n SINGLE = 'single_chain',\n CROSSCHAIN = 'crosschain',\n}\n\n/**\n * When a SwapBridge attempt failed. Derived from the failing code path plus\n * hash presence — never from `error_message` text.\n */\nexport enum FailurePhase {\n Quote = 'quote',\n Broadcast = 'broadcast',\n SourceExecution = 'source_execution',\n DestinationExecution = 'destination_execution',\n Poll = 'poll',\n Unknown = 'unknown',\n}\n\n/**\n * Stable Mixpanel reason for a SwapBridge failure. Independent of free-text\n * `error_message`.\n */\nexport enum SwapBridgeErrorCode {\n QuoteFetchFailed = 'quote_fetch_failed',\n MissingErrorObject = 'missing_error_object',\n NonErrorRejection = 'non_error_rejection',\n StatusFailedWithoutReason = 'status_failed_without_reason',\n Unknown = 'unknown',\n}\n"]}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getStatusFailureTelemetry = exports.getSubmitFailureTelemetry = exports.getStatusFailurePhase = exports.getHashPresenceProperties = exports.getSubmitErrorCode = exports.getQuoteFetchErrorCode = void 0;
4
+ /* eslint-disable @typescript-eslint/naming-convention */
5
+ const constants_js_1 = require("./constants.cjs");
6
+ /**
7
+ * Classify a thrown value for Quotes Error. Quote fetch always stays in the
8
+ * `quote` phase; this only chooses `error_code`.
9
+ *
10
+ * @param error - The thrown value from quote fetch.
11
+ * @returns The Mixpanel `error_code`.
12
+ */
13
+ const getQuoteFetchErrorCode = (error) => {
14
+ if (error === undefined || error === null) {
15
+ return constants_js_1.SwapBridgeErrorCode.MissingErrorObject;
16
+ }
17
+ if (error instanceof Error) {
18
+ return constants_js_1.SwapBridgeErrorCode.QuoteFetchFailed;
19
+ }
20
+ return constants_js_1.SwapBridgeErrorCode.NonErrorRejection;
21
+ };
22
+ exports.getQuoteFetchErrorCode = getQuoteFetchErrorCode;
23
+ /**
24
+ * Classify a thrown value from submit (sign/broadcast) catch paths.
25
+ *
26
+ * @param error - The thrown value from submit.
27
+ * @returns The Mixpanel `error_code`.
28
+ */
29
+ const getSubmitErrorCode = (error) => {
30
+ if (error === undefined || error === null) {
31
+ return constants_js_1.SwapBridgeErrorCode.MissingErrorObject;
32
+ }
33
+ if (error instanceof Error) {
34
+ return constants_js_1.SwapBridgeErrorCode.Unknown;
35
+ }
36
+ return constants_js_1.SwapBridgeErrorCode.NonErrorRejection;
37
+ };
38
+ exports.getSubmitErrorCode = getSubmitErrorCode;
39
+ /**
40
+ * @param sourceHash - Source tx hash if known at emit time.
41
+ * @param destinationHash - Destination tx hash if known at emit time.
42
+ * @returns Boolean hash-presence properties.
43
+ */
44
+ const getHashPresenceProperties = (sourceHash, destinationHash) => {
45
+ return {
46
+ source_hash_present: Boolean(sourceHash),
47
+ destination_hash_present: Boolean(destinationHash),
48
+ };
49
+ };
50
+ exports.getHashPresenceProperties = getHashPresenceProperties;
51
+ /**
52
+ * Prefer destination_execution over source_execution over poll.
53
+ *
54
+ * @param hashPresence - Hash presence at emit time.
55
+ * @returns The Mixpanel `failure_phase` for a status/polling Failed event.
56
+ */
57
+ const getStatusFailurePhase = (hashPresence) => {
58
+ if (hashPresence.destination_hash_present) {
59
+ return constants_js_1.FailurePhase.DestinationExecution;
60
+ }
61
+ if (hashPresence.source_hash_present) {
62
+ return constants_js_1.FailurePhase.SourceExecution;
63
+ }
64
+ return constants_js_1.FailurePhase.Poll;
65
+ };
66
+ exports.getStatusFailurePhase = getStatusFailurePhase;
67
+ /**
68
+ * Telemetry for Failed events emitted from the submit catch (no tx hash yet).
69
+ *
70
+ * @param error - The thrown value from submit.
71
+ * @returns Phase, error code, and hash-presence flags.
72
+ */
73
+ const getSubmitFailureTelemetry = (error) => {
74
+ return {
75
+ failure_phase: constants_js_1.FailurePhase.Broadcast,
76
+ error_code: (0, exports.getSubmitErrorCode)(error),
77
+ source_hash_present: false,
78
+ destination_hash_present: false,
79
+ };
80
+ };
81
+ exports.getSubmitFailureTelemetry = getSubmitFailureTelemetry;
82
+ /**
83
+ * Telemetry for Failed events derived from a status poll.
84
+ *
85
+ * @param sourceHash - Source tx hash if known.
86
+ * @param destinationHash - Destination tx hash if known.
87
+ * @returns Phase, error code, and hash-presence flags.
88
+ */
89
+ const getStatusFailureTelemetry = (sourceHash, destinationHash) => {
90
+ const hashPresence = (0, exports.getHashPresenceProperties)(sourceHash, destinationHash);
91
+ return {
92
+ ...hashPresence,
93
+ failure_phase: (0, exports.getStatusFailurePhase)(hashPresence),
94
+ error_code: constants_js_1.SwapBridgeErrorCode.StatusFailedWithoutReason,
95
+ };
96
+ };
97
+ exports.getStatusFailureTelemetry = getStatusFailureTelemetry;
98
+ //# sourceMappingURL=failure-telemetry.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failure-telemetry.cjs","sourceRoot":"","sources":["../../../src/utils/metrics/failure-telemetry.ts"],"names":[],"mappings":";;;AAAA,yDAAyD;AACzD,kDAAmE;AAYnE;;;;;;GAMG;AACI,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAuB,EAAE;IAC5E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,kCAAmB,CAAC,kBAAkB,CAAC;IAChD,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,kCAAmB,CAAC,gBAAgB,CAAC;IAC9C,CAAC;IACD,OAAO,kCAAmB,CAAC,iBAAiB,CAAC;AAC/C,CAAC,CAAC;AARW,QAAA,sBAAsB,0BAQjC;AAEF;;;;;GAKG;AACI,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAuB,EAAE;IACxE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,kCAAmB,CAAC,kBAAkB,CAAC;IAChD,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,kCAAmB,CAAC,OAAO,CAAC;IACrC,CAAC;IACD,OAAO,kCAAmB,CAAC,iBAAiB,CAAC;AAC/C,CAAC,CAAC;AARW,QAAA,kBAAkB,sBAQ7B;AAEF;;;;GAIG;AACI,MAAM,yBAAyB,GAAG,CACvC,UAA0B,EAC1B,eAA+B,EACP,EAAE;IAC1B,OAAO;QACL,mBAAmB,EAAE,OAAO,CAAC,UAAU,CAAC;QACxC,wBAAwB,EAAE,OAAO,CAAC,eAAe,CAAC;KACnD,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,yBAAyB,6BAQpC;AAEF;;;;;GAKG;AACI,MAAM,qBAAqB,GAAG,CACnC,YAAoC,EACtB,EAAE;IAChB,IAAI,YAAY,CAAC,wBAAwB,EAAE,CAAC;QAC1C,OAAO,2BAAY,CAAC,oBAAoB,CAAC;IAC3C,CAAC;IACD,IAAI,YAAY,CAAC,mBAAmB,EAAE,CAAC;QACrC,OAAO,2BAAY,CAAC,eAAe,CAAC;IACtC,CAAC;IACD,OAAO,2BAAY,CAAC,IAAI,CAAC;AAC3B,CAAC,CAAC;AAVW,QAAA,qBAAqB,yBAUhC;AAEF;;;;;GAKG;AACI,MAAM,yBAAyB,GAAG,CACvC,KAAc,EACc,EAAE;IAC9B,OAAO;QACL,aAAa,EAAE,2BAAY,CAAC,SAAS;QACrC,UAAU,EAAE,IAAA,0BAAkB,EAAC,KAAK,CAAC;QACrC,mBAAmB,EAAE,KAAK;QAC1B,wBAAwB,EAAE,KAAK;KAChC,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,yBAAyB,6BASpC;AAEF;;;;;;GAMG;AACI,MAAM,yBAAyB,GAAG,CACvC,UAA0B,EAC1B,eAA+B,EACH,EAAE;IAC9B,MAAM,YAAY,GAAG,IAAA,iCAAyB,EAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAC5E,OAAO;QACL,GAAG,YAAY;QACf,aAAa,EAAE,IAAA,6BAAqB,EAAC,YAAY,CAAC;QAClD,UAAU,EAAE,kCAAmB,CAAC,yBAAyB;KAC1D,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,yBAAyB,6BAUpC","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { FailurePhase, SwapBridgeErrorCode } from './constants.js';\n\nexport type HashPresenceProperties = {\n source_hash_present: boolean;\n destination_hash_present: boolean;\n};\n\nexport type FailureTelemetryProperties = HashPresenceProperties & {\n failure_phase: FailurePhase;\n error_code: SwapBridgeErrorCode;\n};\n\n/**\n * Classify a thrown value for Quotes Error. Quote fetch always stays in the\n * `quote` phase; this only chooses `error_code`.\n *\n * @param error - The thrown value from quote fetch.\n * @returns The Mixpanel `error_code`.\n */\nexport const getQuoteFetchErrorCode = (error: unknown): SwapBridgeErrorCode => {\n if (error === undefined || error === null) {\n return SwapBridgeErrorCode.MissingErrorObject;\n }\n if (error instanceof Error) {\n return SwapBridgeErrorCode.QuoteFetchFailed;\n }\n return SwapBridgeErrorCode.NonErrorRejection;\n};\n\n/**\n * Classify a thrown value from submit (sign/broadcast) catch paths.\n *\n * @param error - The thrown value from submit.\n * @returns The Mixpanel `error_code`.\n */\nexport const getSubmitErrorCode = (error: unknown): SwapBridgeErrorCode => {\n if (error === undefined || error === null) {\n return SwapBridgeErrorCode.MissingErrorObject;\n }\n if (error instanceof Error) {\n return SwapBridgeErrorCode.Unknown;\n }\n return SwapBridgeErrorCode.NonErrorRejection;\n};\n\n/**\n * @param sourceHash - Source tx hash if known at emit time.\n * @param destinationHash - Destination tx hash if known at emit time.\n * @returns Boolean hash-presence properties.\n */\nexport const getHashPresenceProperties = (\n sourceHash?: string | null,\n destinationHash?: string | null,\n): HashPresenceProperties => {\n return {\n source_hash_present: Boolean(sourceHash),\n destination_hash_present: Boolean(destinationHash),\n };\n};\n\n/**\n * Prefer destination_execution over source_execution over poll.\n *\n * @param hashPresence - Hash presence at emit time.\n * @returns The Mixpanel `failure_phase` for a status/polling Failed event.\n */\nexport const getStatusFailurePhase = (\n hashPresence: HashPresenceProperties,\n): FailurePhase => {\n if (hashPresence.destination_hash_present) {\n return FailurePhase.DestinationExecution;\n }\n if (hashPresence.source_hash_present) {\n return FailurePhase.SourceExecution;\n }\n return FailurePhase.Poll;\n};\n\n/**\n * Telemetry for Failed events emitted from the submit catch (no tx hash yet).\n *\n * @param error - The thrown value from submit.\n * @returns Phase, error code, and hash-presence flags.\n */\nexport const getSubmitFailureTelemetry = (\n error: unknown,\n): FailureTelemetryProperties => {\n return {\n failure_phase: FailurePhase.Broadcast,\n error_code: getSubmitErrorCode(error),\n source_hash_present: false,\n destination_hash_present: false,\n };\n};\n\n/**\n * Telemetry for Failed events derived from a status poll.\n *\n * @param sourceHash - Source tx hash if known.\n * @param destinationHash - Destination tx hash if known.\n * @returns Phase, error code, and hash-presence flags.\n */\nexport const getStatusFailureTelemetry = (\n sourceHash?: string | null,\n destinationHash?: string | null,\n): FailureTelemetryProperties => {\n const hashPresence = getHashPresenceProperties(sourceHash, destinationHash);\n return {\n ...hashPresence,\n failure_phase: getStatusFailurePhase(hashPresence),\n error_code: SwapBridgeErrorCode.StatusFailedWithoutReason,\n };\n};\n"]}