Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@exodus/analytics-validation

Package Overview
Dependencies
Maintainers
1
Versions
166
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@exodus/analytics-validation - npm Package Compare versions

Comparing version
2.72.0
to
2.73.0
+1568
lib/events.d.ts
// AUTOGENERATED by scripts/build-types.mjs — DO NOT EDIT.
// Source of truth: src/**/*.schemasafe.json
export type AnalyticsCommonProperties = {
time?: number
navigationTime?: number
distinctId?: string
appBuild?: "dev" | "prod" | "mobile" | "nile" | "production" | "stage"
appPlatform?: "browser" | "mobile" | "desktop"
appVersion?: string
accountSource?: string
accountCompatibilityMode?: string
accountDeviceModel?: string
assetExchangedLast90?: boolean
assetPurchasedLast90?: boolean
assetSoldLast90?: boolean
assetReceivedLast90?: boolean
assetSentLast90?: boolean
assetStakedLast90?: boolean
childTelemetryIdentifiers?: Array<string>
isStaking?: boolean
stakedAssets?: Array<string>
deviceManufacturer?: string
deviceModel?: string
deviceArch?: string
experiments?: Array<string>
hasBalance?: boolean
hasNft?: boolean
locale?: Array<string> | string | "unknown_unknown" | "unknown-unknown"
mpLib?: "Segment: unknown"
mpProcessingTimeMs?: number
appId?: string
osName?: "A" | "android" | "darwin" | "I" | "ios" | "L" | "linux" | "M" | "W" | "win32" | "win" | "cros" | "mac"
osVersion?: string
screenHeight?: number
screenWidth?: number
selectedLanguage?: string
origin?: string
hasBackup?: boolean
country?: string
region?: string
onVpn?: boolean
walletAge?: number
deviceTzMatchesIp?: boolean
onPhoneCall?: boolean
restrictedDevice?: boolean
restrictedOs?: boolean
numberOfAssets?: number
numberOfAssetsEnabled?: number
numberOfAssetsFavorites?: number
trustScore?: number
adjustedTrustScore?: number
riskMetricsLoading?: boolean
totalBalanceUsd?: number
btcBalance?: number
btcBalanceUsd?: number
ethBalance?: number
ethBalanceUsd?: number
solBalance?: number
solBalanceUsd?: number
trxBalance?: number
trxBalanceUsd?: number
usdtBalance?: number
usdtBalanceUsd?: number
usdttrxBalance?: number
usdttrxBalanceUsd?: number
payTransactionHistoryCount?: number
payPhoneCountry?: string
payContactsAccess?: string
payHasProfilePicture?: boolean
payKycStatus?: string
payNotificationsAccess?: string
payHasAnyNotificationsOn?: boolean
payPhoneCountryCode?: string
payHasCard?: boolean
payBalanceUsd?: number
payHasBalance?: boolean
payCashPoints?: number
payCashPointsUsd?: number
payCashPointsTier?: string
payHasPayAsDefault?: boolean
payHasPayAvailable?: boolean
payHasSavedDepositMethod?: boolean
}
export type Web3Properties = {
dappDomain?: string
}
export interface AnalyticsEventMap {
"$experiment_started": {
"Experiment name": string
"Variant name": string
$experimentType?: string
}
"AdjustAttribution": {
network?: string
campaign?: string
adgroup?: string
creative?: string
trackerToken?: string
trackerName?: string
clickLabel?: string
costType?: string
costAmount?: number
costCurrency?: string
fbInstallReferrer?: string
}
"AndroidInstallReferrerAttribution": {
installContent?: string
installReferrer?: string
installSource?: string
installCampaign?: string
}
"AppSession": {
isFromBackground?: boolean
}
"AssetNetworkManualRefresh": {
balanceChanged?: boolean
category?: "BITCOIN_LIKE" | "ETHEREUM_LIKE" | "OTHER"
}
"BalanceFetchNetworkErrorNotice": {
network?: string
}
"BitrefillPay": {
success?: boolean
}
"CheckBackupQuizCompleted": {
invalidOptionClickCount?: number
}
"ClientMigrationRun": {
migrationId?: string
success?: boolean
}
"ConnectLedgerAccountConnectedView": {
network?: string
origin?: "onboarding" | "wallet" | "accounts" | "receive-menu" | "exchange" | "offramp" | "onramp" | "web3"
}
"ConnectLedgerConnectAccountView": {
origin?: "onboarding" | "wallet" | "accounts" | "receive-menu" | "exchange" | "offramp" | "onramp" | "web3"
network?: string
}
"ConnectLedgerConnectingAccountView": {
origin?: "onboarding" | "wallet" | "accounts" | "receive-menu" | "exchange" | "offramp" | "onramp" | "web3"
network?: string
}
"ConnectLedgerConnectionErrorView": {
network?: string
}
"ConnectLedgerDisconnect": {
origin?: "onboarding" | "wallet" | "accounts" | "receive-menu" | "exchange" | "offramp" | "onramp" | "web3"
}
"ConnectLedgerStopConnecting": {
network?: string
}
"DAppAutoApproveSet": {} & Web3Properties
"DAppAutoApproveUnset": {} & Web3Properties
"DAppConnectionDelete": {} & Web3Properties
"DAppConnectionRequest": {
approved?: boolean
connectionOrigin?: "banner" | "default" | "lucky-cat___en"
connectionProtocol?: "wallet-connect" | "solana-adapter" | "Solana Mobile Wallet Adapter" | "dApp Browser" | "Wallet Connect" | "WalletConnect"
} & Web3Properties
"DappEvmChainSet": {
chainId?: "0x1" | "0x1e" | "0x1E" | "0x38" | "0x89" | "0xa" | "0xa4b1" | "0xa4ba" | "0xa86a" | "0xfa"
} & Web3Properties
"DAppFavoriteSet": {} & Web3Properties
"DAppLaunch": {} & Web3Properties
"DAppNetworkSwitchRequest": {
approved?: boolean
} & Web3Properties
"DAppSignMessageRequest": {
approved?: boolean
connectionProtocol?: "wallet-connect" | "solana-adapter" | "Solana Mobile Wallet Adapter" | "dApp Browser" | "Wallet Connect" | "WalletConnect"
} & Web3Properties
"DAppSignTransactionNoGas": {
isZeroBalance: boolean
connectionProtocol: "WalletConnect"
network?: string
}
"DAppSignTransactionRequest": {
approved?: boolean
connectionProtocol?: "wallet-connect" | "solana-adapter" | "Solana Mobile Wallet Adapter" | "dApp Browser" | "Wallet Connect" | "WalletConnect"
} & Web3Properties
"DappWalletWatchAsset": {
options?: {
address?: string
decimals?: number
image?: string
symbol?: string
}
type?: string
} & Web3Properties
"DeepLinkLaunch": {
scheme: string
}
"ExchangeAssetSwap": {
success?: boolean
}
"ExchangeConfigureAssetSearchUnavailable": {
toOrFrom: string
content: string
}
"ExchangeConfigureAssetSwapBounce": {
userAssetTo: string
userAssetToNetwork: string
userAmountTo: number
userAmountToUsd?: number
userAssetFrom: string
userAssetFromNetwork: string
userAmountFrom: number
userAmountFromUsd?: number
spreadPercent: number
spreadAmountUsd?: number
maxNetworkFee?: number
hasMoreThanMin?: boolean
hasMoreThanMax?: boolean
allOrMax?: string
amountButtonsPressed?: Array<string>
userBalanceFrom?: number
userBalanceFromUsd?: number
userBalanceOverFees?: boolean
numberOfSwapDirectionChanges?: number
defaultPair?: boolean
}
"ExchangeNoGas": {
isZeroBalance: boolean
coinOrToken: "coin" | "token"
isAll: boolean
userAmountFromUsd: number
assetName?: string
network?: string
}
"ExchangeOnboardingScreenView": {
screenOrder?: number
}
"ExchangeOrderCreate": {
createdAt?: string
estimatedRevenueUsd?: number
exchangePair?: string
expectedUserAmountReceived?: number
expectedUserAmountReceivedUsd?: number
expectedUserAmountSent?: number
expectedUserAmountSentUsd?: number
flags?: string
message?: boolean
provider?: string
signingMethod?: string
slippageAmount?: number
slippageAmountUsd?: number
slippagePercent?: number
sourceApp?: string
spreadAmountUsd?: number
spreadPercent?: number
status?: string
userAmountReceived?: number
userAmountReceivedUsd?: number
userAmountSent?: number
userAmountSentUsd?: number
userAssetReceived?: string
userAssetSent?: string
walletExecutionTime?: number
userAssetReceivedNetwork?: string
userAssetSentNetwork?: string
exchangeRate?: number
sizeButtonUsed?: string
desiredExchangeRate?: number
legacyOrderId?: string
orderId?: string
}
"ExchangeOrderFlag": {
createdAt?: string
estimatedRevenueUsd?: number
exchangePair?: string
exchangeRate?: string
expectedUserAmountReceived?: number
expectedUserAmountReceivedUsd?: number
expectedUserAmountSent?: number
expectedUserAmountSentUsd?: number
flags?: string
legacyOrderId?: string
message?: boolean
orderId?: number
provider?: string
serviceExecutionTime?: number
signingMethod?: string
slippageAmount?: number
slippageAmountUsd?: number
slippagePercent?: number
sourceApp?: string
spreadAmountUsd?: number
spreadPercent?: number
status?: string
userAmountReceived?: number
userAmountReceivedUsd?: number
userAmountSent?: number
userAmountSentUsd?: number
userAssetReceived?: string
userAssetReceivedNetwork?: string
userAssetSent?: string
userAssetSentNetwork?: string
sizeButtonUsed?: string
}
"ExchangeOrderStatusChange": {
createdAt?: string
estimatedRevenueUsd?: number
exchangePair?: string
expectedUserAmountReceived?: number
expectedUserAmountReceivedUsd?: number
expectedUserAmountSent?: number
expectedUserAmountSentUsd?: number
flags?: string
message?: boolean
provider?: string
serviceExecutionTime?: number
signingMethod?: string
sizeButtonUsed?: string
slippageAmount?: number
slippageAmountUsd?: number
slippagePercent?: number
sourceApp?: string
spreadAmountUsd?: number
spreadPercent?: number
status?: string
userAmountReceived?: number
userAmountReceivedUsd?: number
userAmountSent?: number
userAmountSentUsd?: number
userAssetReceived?: string
userAssetReceivedNetwork?: string
userAssetSent?: string
userAssetSentNetwork?: string
legacyOrderId?: string
orderId?: number
}
"ExchangeSwap": {
isCrossPortfolio: boolean
portfolioFromAccountSource: string
portfolioToAccountSource: string
userAmountFromUsd: number
}
"ExchangeSwapUnavailableView": {
userAssetTo: string
userAssetToNetwork: string
userAssetFrom: string
userAssetFromNetwork: string
}
"ExchangeTemporaryUnavailableView": {}
"ExchangeTimeTrace": {
insertOrder?: number
createCexOrder?: number
getProviderOrder?: number
checkOrderIsValid?: number
getExchangeOpts?: number
createTx?: number
sendTx?: number
logDexOrder?: number
getDexQuote?: number
getTokenAccount?: number
getDexSwapTx?: number
updateBlockhash?: number
signTx?: number
broadcastTx?: number
getAllowance?: number
approveTokens?: number
providerName?: string
prepareExchange?: number
executeExchange?: number
totalExchange?: number
orderId?: string
createOrder?: number
updateOrder?: number
simulatingTx?: number
revokeTokens?: number
createTxBundle?: number
sendTxBundle?: number
}
"ExodusTransactionBroadcast": {
asset?: "SOL"
assetName?: "solana"
feature?: "solana-pay"
network?: "solana"
success?: boolean
type?: "transfer-request"
}
"ExodusTransactionBroadcastError": {
asset?: "SOL"
assetName?: "solana"
feature?: "solana-pay"
network?: "solana"
success?: boolean
type?: "transfer-request"
}
"FusionProfileCreate": {
platform?: "browserExtension" | "desktop" | "mobile"
}
"FusionProfileRead": {
platform?: "browserExtension" | "desktop" | "mobile"
}
"FusionProfileUpdate": {
platform?: "browserExtension" | "desktop" | "mobile"
}
"HomeBannerPageClose": {
pageOrder?: number
page?: string
}
"HomeBannerPageView": {
pageOrder?: number
page?: string
}
"HomeEditFavoritesToggle": {
toggledOn?: boolean
}
"HomeNewsTap": {
domain?: string
freshness?: number
link?: string
mediaSource?: string
}
"HomePortfolioTimeFrameSelect": {
timeframe?: string
}
"HomeSendToRobinhood": {
success?: boolean
}
"HomeSuggestionSkip": {
suggestionGroup?: "backup" | "buy_crypto" | "exchange" | "new_exodus"
suggestionPage?: "Best Support in Crypto" | "Big Changes" | "Cheaper Exchanges" | "Cheaper Swaps" | "Check Details" | "Get Started" | "It's Instant" | "Keep It Safe" | "Lost Device?" | "Low Rates" | "New Look" | "Non-Custodial" | "Open Exchange" | "Open Swap" | "Recover Wallet" | "Secret Phrase" | "Select Crypto" | "Self-custody" | "Start Exchange" | "Start Swap" | "You're Done!"
}
"HomeSuggestionsVideoTap": {
position?: number
link?: string
}
"HomeSuggestionView": {
suggestionGroup?: "backup" | "buy_crypto" | "exchange" | "new_exodus"
suggestionPage?: "Best Support in Crypto" | "Big Changes" | "Cheaper Exchanges" | "Cheaper Swaps" | "Check Details" | "Get Started" | "It's Instant" | "Keep It Safe" | "Lost Device?" | "Low Rates" | "New Look" | "Non-Custodial" | "Open Exchange" | "Open Swap" | "Recover Wallet" | "Secret Phrase" | "Select Crypto" | "Self-custody" | "Start Exchange" | "Start Swap" | "You're Done!"
}
"HomeTopMoverTap": {
rank?: number
}
"HomeView": {
banner?: string
hasFunds?: boolean
robinhoodDisplayed?: boolean
}
"HomeWidgetRerank": {
rank?: number
widget?: string
}
"HomeWidgetToggle": {
toggledOn?: boolean
widget?: string
}
"InstallReferrerAttribution": {
installContent?: string
installReferrer?: string
installSource?: string
installCampaign?: string
}
"InviteFriendsView": {
referralStatus?: string
}
"LedgerAccountConnect": {
network?: string
totalAmount?: string
totalAmountUsd?: string
numberOfCollectibles?: number
success?: boolean
}
"LedgerAccountDisconnect": {
network?: string
totalAmount?: string
amountUsd?: string
}
"LedgerAccountsView": {
network?: string
totalAmount?: string
totalAmountUsd?: string
numberOfAccounts?: number
}
"LedgerPair": {
success?: boolean
}
"LedgerPairConnectError": {
errorType?: string
}
"LightningDeposit": {
success?: boolean
}
"LightningInvoiceGenerated": {
success?: boolean
}
"LightningReceiveFunds": {
method?: "invoice" | "LNUR"
}
"LightningSend": {
success?: boolean
}
"LightningTermsAndConditions": {
approved?: boolean
}
"LightningWithdraw": {
success?: boolean
}
"MarketingBannerClick": {
bannerId: number
bannerType: "marketing" | "criticalAnnouncement"
}
"ModalDelistingAssetsView": {
assetNames?: Array<string>
amounts?: Array<number>
amountsUsd?: Array<number>
}
"ModalFirstFundView": {
assetName?: string
network?: string
amount?: number
amountUsd?: number
fundType?: "buy" | "receive"
paymentType?: string
}
"ModalMigrationWarningView": {
network: string
}
"MultiSeedChildSeedAdd": {
childTelemetryIdentifier?: string
}
"MultiSeedChildSeedRemove": {
childTelemetryIdentifier?: string
}
"NetworkEasterEggActivate": {
network?: "cardano"
}
"NewsArticleTap": {
domain?: string
freshness?: number
link?: string
mediaSource?: string
}
"NftsProxyServerGetImage": {
nftImageContentType?: string
nftNetwork?: string
success?: boolean
}
"NotificationAttributesTest": {
platform?: string
environment?: string
priceChangeThreshold?: string
topics?: Array<string>
enabledAssets?: Array<string>
hasBalanceAssets?: Array<string>
isReferrer?: boolean
viewedWeb3BrowserLast90?: boolean
walletCreatedAt?: string
web3BrowserLastViewedAt?: string
telemetryId?: string
}
"NotificationCtaTap": {
notificationId?: string
cta?: string
title?: string
exodusActivationTime?: string
exodusActivationTimeUser?: string
userTime?: string
deliveredTime?: string
deliveredTimeUser?: string
}
"NotificationModalView": {
notificationId?: string
cta?: string
title?: string
exodusActivationTime?: string
exodusActivationTimeUser?: string
userTime?: string
deliveredTime?: string
deliveredTimeUser?: string
}
"NotificationOpen": {
notificationId?: string
group?: string
pushOrInApp?: string
cta?: string
title?: string
exodusActivationTime?: string
exodusActivationTimeUser?: string
deliveredTime?: string
deliveredTimeUser?: string
userTime?: string
}
"NotificationReceive": {
notificationId?: string
group?: string
pushOrInApp?: string
cta?: string
title?: string
exodusActivationTime?: string
exodusActivationTimeUser?: string
userTime?: string
}
"NotificationSend": {
notificationId?: string
pushOrInApp?: string
cta?: string
title?: string
exodusActivationTime?: string
exodusActivationTimeUser?: string
deliveredTime?: string
deliveredTimeUser?: string
userTime?: string
}
"NotificationsSystemPermissionModalEnableTap": {
success?: boolean
}
"OffRampContinueTap": {
amountChoice?: string
paymentMethod?: string
provider?: string
}
"OffRampNoGas": {
isZeroBalance: boolean
coinOrToken: "coin" | "token"
assetName?: string
network?: string
}
"OffRampProviderStatusChange": {
createdAt?: string
exchangeRate?: number
fromAmount?: number
fromAmountUsd?: number
fromAsset?: string
paymentMethod?: string
provider?: string
status?: string
toAmountUsd?: string
toAsset?: string
totalFee?: number
type?: string
userId?: string
orderId?: string
toAmount?: number
providerFee?: number
}
"OffRampSaleConfirm": {
success?: boolean
}
"OnboardingConnectLedgerConnectAccountView": {
origin?: "onboarding" | "wallet" | "accounts" | "receive-menu" | "exchange" | "offramp" | "onramp" | "web3"
network?: string
}
"OnboardingConnectLedgerConnectionErrorView": {
errorType?: "error" | "update-firmware" | "update-ledger-app"
}
"OnboardingExistingWalletTap": {
inviteCode?: string
}
"OnboardingNewWalletTap": {
hasInviteCode?: boolean
inviteCode?: string
}
"OnboardingPageSkipped": {
page?: "Buy and Exchange" | "Buy and Swap" | "Collect NFTs" | "Crypto Made Simple" | "Earn Rewards" | "Get Help Anytime" | "Have an invite code?" | "Invite Code" | "More Than a Wallet" | "One home for all your NFTs" | "One home for\nall your NFTs" | "Secure Your Funds" | "The only Web3 wallet you'll ever need" | "The only Web3 wallet\nyou'll ever need" | "Trade crypto on the most popular networks" | "Trade crypto on the\nmost popular networks" | "Welcome to Exodus" | "Self-custody" | "Lost Device?" | "Secret Phrase" | "Recover Wallet" | "Keep It Safe" | "Get Started" | "Select Crypto" | "Check Details" | "You're Done!" | "Low Rates" | "Open Swap" | "Start Swap" | "It's Instant" | "Big Changes" | "New Look" | "Cheaper Swaps" | "Non-Custodial" | "Best Support in Crypto" | "We have your back with\n24/7 human support"
pageOrder?: number
}
"OnboardingPageView": {
page?: "Buy and Exchange" | "Buy and Swap" | "Collect NFTs" | "Crypto Made Simple" | "Earn Rewards" | "Get Help Anytime" | "Have an invite code?" | "Invite Code" | "More Than a Wallet" | "One home for all your NFTs" | "One home for\nall your NFTs" | "Secure Your Funds" | "The only Web3 wallet you'll ever need" | "The only Web3 wallet\nyou'll ever need" | "Trade crypto on the most popular networks" | "Trade crypto on the\nmost popular networks" | "Welcome to Exodus" | "Self-custody" | "Lost Device?" | "Secret Phrase" | "Recover Wallet" | "Keep It Safe" | "Get Started" | "Select Crypto" | "Check Details" | "You're Done!" | "Low Rates" | "Open Swap" | "Start Swap" | "It's Instant" | "Big Changes" | "New Look" | "Cheaper Swaps" | "Non-Custodial" | "Best Support in Crypto" | "We have your back with\n24/7 human support"
pageOrder?: number
}
"OnRampClientError": {
errorType?: "assets" | "countries" | "payment-method" | "quotes"
}
"OnRampContinueTap": {
amountChoice?: string
paymentMethod?: string
provider?: string
}
"OnRampPaymentMethodSelect": {
paymentMethodFrom?: string
paymentMethodTo?: string
}
"OnRampProviderSelect": {
bestPrice?: boolean
providerFrom?: string
providerTo?: string
}
"OnRampProviderStatusChange": {
createdAt?: string
exchangeRate?: number
fromAmount?: number
fromAmountUsd?: number
fromAsset?: string
networkFee?: number
paymentMethod?: string
provider?: string
providerFee?: number
status?: string
toAmount?: number
toAmountUsd?: number
toAsset?: string
totalFee?: number
type?: string
userId?: string
orderId?: string
quotedToAmount?: string
}
"OnRampPurchaseConfirm": {
success?: boolean
}
"PayActivityExpandedView": {}
"PayActivitySheetView": {}
"PayActivityTransactionDetailsView": {}
"PayAppSession": {}
"PayCardAddtoPhoneWallet": {
success?: boolean
}
"PayCardCreate": {}
"PayCardDetailsView": {}
"PayCardExpandedView": {}
"PayCardFund": {
success?: boolean
amountUsd?: number
}
"PayCardFundView": {}
"PayCardLegalDisclosureView": {}
"PayCardOnboardingView": {}
"PayCardSendToVerificationView": {}
"PayCardSettingsFreezeToggle": {
toggleOn?: boolean
}
"PayCardSettingsView": {}
"PayCardSheetView": {}
"PayCardTransactionDetailsView": {}
"PayCardTransferFunds": {
success?: boolean
amountUsd?: number
}
"PayCardTransferFundsView": {}
"PayCardVerificationView": {}
"PayCashPointsClaim": {
success?: boolean
amountUsd?: number
amountCashPoints?: number
}
"PayCashPointsConvertModalView": {}
"PayCashPointsExpandedView": {
canConvert?: boolean
pointsToConvert?: number
}
"PayCashPointsHistoryView": {}
"PayCashPointsInterestCalculatorDepositTap": {
amountUsd?: number
}
"PayCashPointsInterestCalculatorShareReportTap": {}
"PayCashPointsInterestCalculatorView": {}
"PayCashPointsInterestCalculatorVisualize": {}
"PayCashPointsSheetView": {}
"PayCashPointsTierDetailsView": {}
"PayContactsAdd": {}
"PayContactsEdit": {}
"PayContactsExpandedView": {}
"PayContactsFavouriteToggle": {
toggleOn?: boolean
}
"PayContactsInviteModalView": {}
"PayContactsInviteShareTap": {}
"PayContactsRemove": {}
"PayContactsSheetView": {}
"PayDeposit": {
depositType?: string
asset?: string
network?: string
bank?: string
amount?: number
amountUsd?: number
}
"PayDepositMethodAdd": {
depositType?: string
}
"PayDepositMethodsView": {}
"PayDepositProvidersView": {}
"PayDepositView": {
depositType?: string
paymentProvider?: string
}
"PayEarnExpandedView": {
earnUnlockingStage?: "deposit-500" | "hold-500-one-month" | "spend-3000-three-months"
}
"PayEarnRewardReceive": {
amountUsd?: string
}
"PayEarnSheetView": {
earnUnlockingStage?: "deposit-500" | "hold-500-one-month" | "spend-3000-three-months"
}
"PayHomeCardTap": {
homeCardName?: "unlock-reward" | "verify" | "add-friends" | "secure" | "notifications"
}
"PayHomeDepositOptionsView": {}
"PayHomeView": {}
"PayKycAcceptBridgeTermsView": {
origin?: string
taxCountry?: string
}
"PayKYCApprove": {
origin?: string
taxCountry?: string
neededMoreDetails?: boolean
feature?: string
}
"PayKycCountryTaxIDView": {
origin?: string
}
"PayKycEmailVerifyView": {
origin?: string
}
"PayKycEmailView": {
origin?: string
}
"PayKYCFail": {
origin?: string
taxCountry?: string
neededMoreDetails?: boolean
}
"PayKycMoreDetailsView": {
origin?: string
taxCountry?: string
}
"PayKYCOccupationView": {
origin?: string
taxCountry?: string
}
"PayKYCVerificationSubmit": {
origin?: string
taxCountry?: string
}
"PayOnboardingComplete": {
inviteCode?: number | null
origin?: "default-region" | "invite-code" | "xo-cash" | "wallet-banner" | "classic-wallet-menu" | "spend-card-promo"
}
"PayOnboardingScreenView": {
screenName?: string
screenIndex?: number
inviteCode?: string | number | null
origin?: "default-region" | "invite-code" | "xo-cash" | "wallet-banner" | "classic-wallet-menu" | "spend-card-promo"
}
"PayOnboardingSlidesView": {
origin?: "default-region" | "invite-code" | "xo-cash" | "wallet-banner" | "classic-wallet-menu" | "spend-card-promo"
}
"PayOpen": {
origin?: "default-region" | "invite-code" | "xo-cash" | "wallet-banner" | "classic-wallet-menu" | "spend-card-promo"
}
"PayPasskeysCreate": {}
"PayPasskeysOnboardingView": {}
"PayPay": {
receiverAccountType?: string
amountUsd?: number
hasNote?: boolean
success?: boolean
wasRequest?: boolean
}
"PayPayAmountView": {
receiverAccountType?: string
}
"PayPayConfirmView": {
receiverAccountType?: string
amountUsd?: number
}
"PayPayContactAdd": {
contactAccountType?: string
method?: string
}
"PayPayContactRemove": {
accountType?: string
}
"PayPayQRScan": {}
"PayPayQRScannerView": {}
"PayPayView": {}
"PayProfileDirectDepositShareTap": {}
"PayProfileDirectDepositView": {}
"PayProfilePaymentMethodsAdd": {
paymentMethodType?: string
}
"PayProfilePaymentMethodsRemove": {
paymentMethodType?: string
}
"PayProfilePaymentMethodsView": {}
"PayProfilePublicStatusUpdate": {}
"PayProfileQRShareTap": {}
"PayProfileQRView": {}
"PayProfileSettingsBackgroundAnimationToggle": {
toggleOn?: boolean
}
"PayProfileSettingsBiometricsToggle": {
toggleOn?: boolean
}
"PayProfileSettingsEditPhoneNumberUpdate": {}
"PayProfileSettingsEditPhoneNumberView": {}
"PayProfileSettingsLogout": {}
"PayProfileSettingsLogoutView": {}
"PayProfileSettingsNotificationsToggle": {
toggleOn?: boolean
}
"PayProfileSettingsPasscodeToggle": {
toggleOn?: boolean
}
"PayProfileSettingsSoundsToggle": {
toggleOn?: boolean
}
"PayProfileSettingsThemeChange": {
newThemeName?: "Gold" | "Cash"
}
"PayProfileSettingsView": {}
"PayProfileSupportMessageSend": {
hasSafeReport?: boolean
}
"PayProfileSupportView": {}
"PayProfileView": {}
"PayReceive": {
wasRequest?: boolean
amountUsd?: number
}
"PayRequestQrShareTap": {
amountUsd?: number | null
isAnyAmount?: boolean
}
"PayRequestQrView": {
amountUsd?: number | null
isAnyAmount?: boolean
}
"PayRequestView": {}
"PayWithdrawAddressView": {
tokenType?: "stablecoin" | "crypto"
}
"PayWithdrawAmountView": {
assetName?: string
network?: string
tokenType?: "stablecoin" | "crypto"
}
"PayWithdrawConfirmView": {
assetName?: string
network?: string
amountUsd?: number
tokenType?: "stablecoin" | "crypto"
}
"PayWithdrawTypeSelected": {
tokenType: "bank" | "stablecoin" | "crypto"
}
"PerformanceAppStartup": {
startTime: number
destination: string
stage?: string
isInstantStartup?: boolean
}
"PerformanceViewExit": {
duration: number
destination: string
origin: string
}
"PerformanceViewRender": {
renderTime?: number
renderState?: string
abortTime?: number
destination: string
}
"ProfileFeaturesOrderChange": {
orderFrom: number
orderTo: number
featureName: string
}
"ReferralCodeInput": {
success?: boolean
}
"ReferralOptIn": {
assetName?: string
}
"ReferralProgramBannerView": {
revShareVariant?: string
}
"ReferralProgramKycCompletion": {
isReferral?: boolean
revShareVariant?: string
}
"ReferralProgramKycPageView": {
revShareVariant?: string
}
"ReferralProgramPartnerAssignment": {
isReferee?: boolean
revShareVariant?: string
}
"ReferralProgramReferralActivation": {
referrerId?: string
revShareVariant?: string
}
"ReferralProgramReferralCodePageView": {
revShareVariant?: string
}
"ReferralProgramRevenueShareActivity": {
isReferral?: boolean
reasonNotPayable?: string
revShareVariant?: string
revenueShareActivity?: string
revenueShareAmountUsd?: number
}
"ReferralProgramSendToKyc": {
kycProvider?: string
revShareVariant?: string
}
"RemoteWalletBannerTap": {
bannerId: number
}
"RemoteWalletBannerView": {
bannerId: number
}
"RestoreWalletSeedInput": {
isOnboarding?: boolean
method?: string
backupType?: "passkeys" | "seed-phrase"
}
"RestoreWalletSeedInputComplete": {
restoreTime?: number
backupType?: "passkeys" | "seed-phrase"
restoredAssetCount?: number
restoredAsset1Name?: string
restoredAsset1Time?: number
restoredAsset2Name?: string
restoredAsset2Time?: number
restoredAsset3Name?: string
restoredAsset3Time?: number
}
"SecurityAutoLockTimeSet": {
timeout?: number
}
"SecurityBackupCreated": {
backupType?: "passkeys" | "seed-phrase"
}
"SecurityBackupCreationInitiated": {
backupType?: "passkeys" | "seed-phrase"
}
"SecurityBackupVaultView": {
screenType?: "no-backup" | "has-backup" | "user-consent-modal" | "confirm-email" | "creating-backup" | "backup-created" | "backup-created2" | "backup-error" | "backup-restart"
}
"SecurityFingerprintToggle": {
toggledOn?: boolean
}
"SecurityPasscodeToggle": {
toggledOn?: boolean
}
"SettingsAdvancedModeToggle": {
toggledOn?: boolean
}
"SettingsAutoConnectToggle": {
toggledOn?: boolean
}
"SettingsChooseConnectionWalletToggle": {
toggledOn?: boolean
}
"SettingsDefaultPayToggle": {
toggledOn?: boolean
}
"SettingsDefaultWalletToggle": {
toggledOn?: boolean
}
"SettingsLanguageTap": {
language?: string
}
"SettingsLightningHigherLimitsToggle": {
toggledOn?: boolean
}
"SettingsNotificationProductToggle": {
toggledOn?: boolean
}
"SettingsNotificationsActivityProductToggle": {
toggledOn?: boolean
}
"SettingsNotificationsActivityToggle": {
toggledOn?: boolean
}
"SettingsNotificationsAllowToggle": {
toggledOn?: boolean
}
"SettingsNotificationsPricesPercentageToggle": {
percentage?: "5" | "10"
}
"SettingsNotificationsPricesToggle": {
toggledOn?: boolean
}
"SettingsNotificationsSpecialOffersToggle": {
toggledOn?: boolean
}
"SettingsPortfolioAnimationToggle": {
toggledOn?: boolean
}
"SettingsPortfoliosToggle": {
toggledOn?: boolean
}
"SettingsPreferredCurrencySet": {
currency?: string
}
"SettingsRefreshNetworksRefresh": {
success?: boolean
}
"SettingsRestoreFromBackupView": {
screenType?: string
}
"SettingsShowRewardsInPortfolioToggle": {
toggledOn?: boolean
}
"SettingsSoundsToggle": {
toggledOn?: boolean
}
"SignerTransactionExpiry": {
baseAssetName: string
}
"SolanaMobileAdapterEnable": {
enable?: boolean
}
"SolanaPayQrCodeReaderView": {
asset?: string
assetName?: string
feature?: "solana-pay"
merchantName?: string
merchantAddress?: string
message?: string
}
"SolanaPayTransactionConfirm": {
asset?: string
assetName?: string
feature?: "solana-pay"
merchantName?: string
merchantAddress?: string
message?: string
}
"SolanaPayTransactionConfirmationView": {
asset?: string
assetName?: string
feature?: "solana-pay"
merchantName?: string
merchantAddress?: string
message?: string
}
"StocksAssetDetailView": {
asset?: string
}
"StocksBuy": {
asset?: string
amountUsd?: number
}
"StocksBuyAmountView": {
asset?: string
}
"StocksBuyConfirmView": {
asset?: string
}
"StocksBuyError": {
asset?: string
errorType?: string
failureReason?: string
}
"StocksBuyView": {
asset?: string
}
"StocksGeoBlockedView": {}
"StocksHomeView": {}
"StocksOnboardingComplete": {}
"StocksOnboardingView": {}
"StocksPortfolioAssetTap": {
asset?: string
}
"StocksPortfolioView": {}
"StocksSell": {
asset?: string
amountUsd?: number
}
"StocksSellConfirmView": {
asset?: string
}
"StocksSellError": {
asset?: string
errorType?: string
failureReason?: string
}
"StocksSellView": {
asset?: string
}
"SupportFeedbackTap": {
feedback?: number
}
"SupportTransactionHistoryGenerateCsvTap": {
success?: boolean
}
"TelemetryCollectionDecision": {
toggledOn?: boolean
}
"TrezorAccountConnect": {
network?: string
totalAmount?: string
totalAmountUsd?: string
success?: boolean
}
"TrezorAccountDisconnect": {
amountUsd?: string
}
"TrezorPairConnectError": {
errorType?: string
}
"WalletAssetAdvancedOptionsView": {
assetName?: string
network?: string
availableBalance?: number
frozenBalance?: number
availableEnergy?: number
availableBandwidth?: number
frozenForEnergy?: number
frozenForBandwidth?: number
}
"WalletAssetBitcoinLegacyAddressToggle": {
toggledOn?: boolean
}
"WalletAssetBitcoinMultipleAddressesToggle": {
toggledOn?: boolean
}
"WalletAssetBitcoinTaprootAddressToggle": {
toggledOn?: boolean
}
"WalletAssetCopyReceiveAddress": {
assetName?: string
network?: string
}
"WalletAssetFavoriteToggle": {
toggledOn?: boolean
network?: string
assetName?: string
}
"WalletAssetFreeze": {
amount?: number
forWhat?: string
success?: boolean
}
"WalletAssetFreezingView": {
forWhat?: string
}
"WalletAssetIrreversibleModalView": {
assetName: string
amount: number
amountUsd: number
network: string
}
"WalletAssetManagerToggle": {
toggledOn?: boolean
assetName?: string
network?: string
}
"WalletAssetMigrate": {
assetName?: string
amount?: number
amountUsd?: number
success?: boolean
network?: string
}
"WalletAssetMigrationModalView": {
assetName: string
network: string
}
"WalletAssetNetworkManualRefresh": {
balanceChanged?: boolean
category?: string
success?: boolean
network?: string
refreshType?: "full-monitor-refresh" | "monitor-tick"
}
"WalletAssetPriceBalanceToggle": {
assetName?: string
network?: string
priceOrBalance?: "price" | "balance" | "crypto-balance"
}
"WalletAssetReceiveStatusView": {
assetName: string
network: string
}
"WalletAssetReceiveView": {
assetName?: string
network?: string
}
"WalletAssetSend": {
success?: boolean
amount?: string
amountUsd?: string
assetName?: string
network?: string
networkFeeAmount?: number
networkFeeAmountUsd?: number
slidePosition?: string
changeFeeEnabled?: boolean
failureReason?: string
failureHint?: string
assetBalance?: number
assetBalanceUsd?: number
spendableBalance?: number
isRepeatedAddress?: boolean
}
"WalletAssetSendAdvancedOptionsSave": {
assetName?: string
network?: string
accelerationEnabled?: boolean
networkFeeRate?: number
networkFeeAmount?: number
networkFeeAmountUsd?: number
slidePosition?: string
}
"WalletAssetSendAdvancedOptionsView": {
assetName?: string
network?: string
}
"WalletAssetSendAmountView": {
amount?: string
amountUsd?: string
assetName?: string
network?: string
networkFeeAmount?: number
networkFeeAmountUsd?: number
slidePosition?: string
}
"WalletAssetSendConfirmationView": {
amount?: string
amountUsd?: string
assetName?: string
network?: string
networkFeeAmount?: number
networkFeeAmountUsd?: number
slidePosition?: string
}
"WalletAssetSendHardwareWalletView": {
assetName?: string
network?: string
amount?: string
amountUsd?: string
}
"WalletAssetSendNoGas": {
isZeroBalance: boolean
coinOrToken: "coin" | "token"
assetName?: string
network?: string
}
"WalletAssetSendQrScan": {
success?: boolean
includesAmounts?: boolean
}
"WalletAssetSendView": {
assetName?: string
network?: string
}
"WalletAssetTRXActivateTap": {}
"WalletAssetUnfreeze": {
amount?: number
forWhat?: string
success?: boolean
}
"WalletAssetView": {
assetName?: string
network?: string
priceOrBalance?: "price" | "balance" | "crypto-balance"
assetBalance?: number
assetBalanceUsd?: number
spendableBalance?: number
multipleAddressesOn?: boolean
legacyAddressOn?: boolean
taprootAddressOn?: boolean
}
"WalletAssetWithdrawUnfrozen": {
amount?: number
forWhat?: string
success?: boolean
}
"WalletConnectConnectionAdded": {
dappDomain?: string
isAuth?: boolean
}
"WalletConnectConnectionDeleted": {
dappDomain?: string
}
"WalletConnectDisconnectAll": {
dappsDomain?: Array<string>
}
"WalletConnectEditConnectionUpdate": {
dappDomain?: string
}
"WalletConnectEditConnectionView": {
dappDomain?: string
}
"WalletConnectFiatOnRampCtaTap": {
dappDomain?: string
}
"WalletCustomTokenAdd": {
assetName?: string
network?: string
}
"WalletExchangeDetailView": {
assetNameFrom?: string
networkFrom?: string
assetNameTo?: string
networkTo?: string
}
"WalletStakingClaim": {
success?: boolean
amount?: string
amountUsd?: string
stakedAmount?: string
stakedAmountUsd?: string
assetName?: string
network?: string
}
"WalletStakingEthLearnMoreView": {
assetName?: string
network?: string
}
"WalletStakingEthTermsView": {
assetName?: string
network?: string
}
"WalletStakingNoGas": {
isZeroBalance: boolean
assetName?: string
network?: string
}
"WalletStakingRestake": {
success?: boolean
toggledOn?: boolean
isExpiration?: boolean
isStaking?: boolean
stakedAmount?: string
stakedAmountUsd?: string
claimableRewardsAmount?: string
claimableRewardsAmountUsd?: string
assetName?: string
network?: string
}
"WalletStakingStake": {
success?: boolean
amount?: number
amountUsd?: number
assetName?: string
network?: string
}
"WalletStakingUnstake": {
success?: boolean
amount?: number
amountUsd?: number
assetName?: string
network?: string
}
"WalletStakingUnstakeClaim": {
success?: boolean
assetName?: string
network?: string
amount?: number
amountUsd?: number
}
"WalletStakingView": {
isActive?: boolean
assetName?: string
network?: string
stakedAmount?: number
stakedAmountUsd?: number
}
"WalletStyleCardsDonutToggle": {
modeActivated: "donut" | "cards"
}
"WalletTransactionDetailView": {
assetName?: string
network?: string
}
"WalletView": {
styleMode?: "cards" | "donut"
sortByOption?: "portfolio_value" | "market_cap" | "24h_change" | "24h_volume" | "name" | "with_balance"
}
"Web3BrowserConnectionDeleted": {
dappDomain: string
}
"Web3BrowserDisconnectAll": {
dappsDomain: Array<string>
}
"Web3BrowserFiatOnRampCTATap": {
dappDomain?: string
}
"Web3BrowserHardwareWalletEnableBlindSigningView": {
assetName?: string
network?: string
}
"Web3BrowserHardwareWalletView": {
assetName?: string
network?: string
}
"Web3BrowserLaunchDapp": {
dappDomain?: string
}
"Web3BrowserSearchInput": {
input: string
isUrl: boolean
matchesFound: boolean
isFinal?: boolean
}
"Web3browserWebsiteLoadingFail": {
error?: number
domain?: string
}
"WritePhraseScreenExit": {
phraseRevealedDurationMs?: number
}
"XopayCardDelete": {
defaultMethod?: boolean
}
"XopayCardSave": {
defaultMethod?: boolean
}
"XopayPaymentFailedView": {
selectAnotherPaymentOption?: boolean
}
"XopaySettingsView": {
verificationFailedWarning?: boolean
verificationDetailsCheckWarning?: boolean
verificationProcessingWarning?: boolean
}
"XopayTransactionConfirm": {
fromAsset?: string
fromAssetNetwork?: string
fromAssetAmount?: number
fromAssetAmountUsd?: number
toAsset?: string
toAssetNetwork?: string
toAssetAmount?: number
toAssetAmountUsd?: number
success?: boolean
}
"XopayVerificationComplete": {}
"XopayVerificationCompleteView": {}
"XopayVerificationDetailsConfirmationView": {
challengeMethod?: "magiclink" | "instantlink"
}
"XopayVerificationEditDetailsSave": {
nameModified?: boolean
dobModified?: boolean
addressModified?: boolean
ssnModified?: boolean
}
"XopayVerificationEmailInputView": {}
"XopayVerificationFailedCheckDetailsView": {}
"XopayVerificationFailedView": {}
"XopayVerificationInProgressView": {}
"XopayVerificationMobileChallengeView": {
challengeMethod?: "magiclink" | "instantlink"
}
"XopayVerificationPhoneNumberInputView": {}
"XopayVerificationProcessingView": {}
"XopayVerificationSsninputView": {}
"XopayVerificationStartView": {}
"XopayView": {
verificationFailedWarning?: boolean
verificationDetailsCheckWarning?: boolean
verificationProcessingWarning?: boolean
}
}
export type AnalyticsEventName = keyof AnalyticsEventMap
export type AnalyticsEventProperties<E extends AnalyticsEventName> =
AnalyticsEventMap[E] & AnalyticsCommonProperties
export type AnalyticsEventPayload =
| { [E in AnalyticsEventName]: { event: E; properties: AnalyticsEventProperties<E> } }[AnalyticsEventName]
| { event: string; properties: AnalyticsCommonProperties }
+6
-0

@@ -6,2 +6,8 @@ # Change Log

## [2.73.0](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/analytics-validation@2.72.0...@exodus/analytics-validation@2.73.0) (2026-05-12)
### Features
- feat: build analytic events types (#16382)
## [2.72.0](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/analytics-validation@2.71.0...@exodus/analytics-validation@2.72.0) (2026-05-12)

@@ -8,0 +14,0 @@

+1
-0
import validateEvent from './main.schemasafe.json';
export type * from '../lib/events.js';
export default validateEvent;
+3
-3
{
"name": "@exodus/analytics-validation",
"version": "2.72.0",
"version": "2.73.0",
"description": "JSON schemas for analytics events, to prevent sensitive data from being sent up to the infamous cloud",

@@ -31,3 +31,3 @@ "author": "Exodus Movement, Inc.",

"scripts": {
"build": "node scripts/build-schemasafe.js && run -T tsc -p tsconfig.build.json",
"build": "node scripts/build-schemasafe.js && node scripts/build-types.mjs && run -T tsc -p tsconfig.build.json",
"clean": "run -T tsc --build --clean",

@@ -56,3 +56,3 @@ "prepublishOnly": "yarn run -T build --scope @exodus/analytics-validation",

},
"gitHead": "51e8432dc9cb29e9e43b7cbb84b8a184b092c5ad"
"gitHead": "0c8281ab72b5973203c5ad8c3c64eca67d969171"
}