SYMBOL INDEX (658 symbols across 192 files) FILE: next.config.js constant ENABLE_CSP_HEADER (line 10) | const ENABLE_CSP_HEADER = true; constant FRAME_SRC_HOSTS (line 11) | const FRAME_SRC_HOSTS = [ constant STYLE_SRC_HOSTS (line 19) | const STYLE_SRC_HOSTS = ['https://js.refiner.io', 'https://storage.refin... constant IMG_SRC_HOSTS (line 20) | const IMG_SRC_HOSTS = [ constant SCRIPT_SRC_HOSTS (line 32) | const SCRIPT_SRC_HOSTS = [ constant MEDIA_SRC_HOSTS (line 39) | const MEDIA_SRC_HOSTS = [ method headers (line 165) | async headers() { FILE: scripts/fetch-fonts.mjs constant FONTS_DIR (line 8) | const FONTS_DIR = join(__dirname, '..', 'public', 'fonts'); constant FONTS (line 11) | const FONTS = ['PPValve-PlainVariable.woff2', 'PPFraktionMono-Variable.w... function fetchFonts (line 13) | async function fetchFonts() { FILE: scripts/link-monorepo.js constant MONOREPO_NAME (line 6) | const MONOREPO_NAME = 'hyperlane-monorepo'; constant REACT_APP_DIR (line 7) | const REACT_APP_DIR = process.cwd(); constant MONOREPO_PATH (line 8) | const MONOREPO_PATH = path.resolve(REACT_APP_DIR, '..', MONOREPO_NAME); constant TYPESCRIPT_DIR (line 9) | const TYPESCRIPT_DIR = path.join(MONOREPO_PATH, 'typescript'); constant SOLIDITY_DIR (line 10) | const SOLIDITY_DIR = path.join(MONOREPO_PATH, 'solidity'); constant LOCAL_TARBALLS_DIR (line 11) | const LOCAL_TARBALLS_DIR = path.join(REACT_APP_DIR, '.monorepo-tarballs'); constant DEFAULT_PACKAGES (line 14) | const DEFAULT_PACKAGES = [ function run (line 34) | function run(command, cwd = REACT_APP_DIR) { function validatePackagePath (line 47) | function validatePackagePath(folder) { function packPackage (line 104) | function packPackage(pkgPath) { FILE: scripts/unlink-monorepo.js constant REACT_APP_DIR (line 9) | const REACT_APP_DIR = process.cwd(); constant LOCAL_TARBALLS_DIR (line 11) | const LOCAL_TARBALLS_DIR = path.join(REACT_APP_DIR, '.monorepo-tarballs'); FILE: sentry.default.config.js method beforeSend (line 30) | beforeSend(event, hint) { FILE: src/components/banner/FormWarningBanner.tsx function FormWarningBanner (line 6) | function FormWarningBanner({ FILE: src/components/banner/RecipientWarningBanner.tsx function RecipientWarningBanner (line 3) | function RecipientWarningBanner({ FILE: src/components/banner/WarningBanner.tsx function WarningBanner (line 4) | function WarningBanner({ FILE: src/components/buttons/ConnectAwareSubmitButton.tsx type Props (line 15) | interface Props { function ConnectAwareSubmitButton (line 22) | function ConnectAwareSubmitButton({ FILE: src/components/buttons/SolidButton.tsx type ButtonProps (line 3) | interface ButtonProps { function SolidButton (line 11) | function SolidButton( FILE: src/components/errors/ErrorBoundary.tsx function ErrorBoundary (line 6) | function ErrorBoundary({ children }: PropsWithChildren) { function SupportLink (line 10) | function SupportLink() { FILE: src/components/icons/BookIcon.tsx function _BookIcon (line 6) | function _BookIcon({ color, ...props }: DefaultIconProps) { FILE: src/components/icons/ChainLogo.tsx function ChainLogo (line 8) | function ChainLogo({ FILE: src/components/icons/ChevronLargeIcon.tsx function _ChevronLargeIcon (line 6) | function _ChevronLargeIcon({ color, ...props }: DefaultIconProps) { FILE: src/components/icons/HamburgerIcon.tsx function _HamburgerIcon (line 4) | function _HamburgerIcon({ color, ...props }: DefaultIconProps) { FILE: src/components/icons/HyperlaneGradientLogo.tsx function _HyperlaneGradientLogo (line 4) | function _HyperlaneGradientLogo({ ...props }: DefaultIconProps) { FILE: src/components/icons/HyperlaneTransparentLogo.tsx function _HyperlaneTransparentLogo (line 3) | function _HyperlaneTransparentLogo() { FILE: src/components/icons/QuestionMarkIcon.tsx function _QuestionMarkIcon (line 6) | function _QuestionMarkIcon({ color, width = 20, height = 20, ...rest }: ... FILE: src/components/icons/StakeIcon.tsx function _StakeIcon (line 4) | function _StakeIcon({ ...props }: DefaultIconProps) { FILE: src/components/icons/SwapIcon.tsx function _SwapIcon (line 6) | function _SwapIcon({ color, ...props }: DefaultIconProps) { FILE: src/components/icons/TokenIcon.tsx type Props (line 14) | interface Props { function TokenIcon (line 19) | function TokenIcon({ token, size = 32 }: Props) { function getImageSrc (line 84) | function getImageSrc(token?: IToken | null) { FILE: src/components/icons/WebSimpleIcon.tsx function _WebSimpleIcon (line 6) | function _WebSimpleIcon({ color, ...props }: DefaultIconProps) { FILE: src/components/icons/XIcon.tsx function _XIcon (line 6) | function _XIcon({ color, ...props }: DefaultIconProps) { FILE: src/components/input/SearchInput.tsx function SearchInput (line 6) | function SearchInput({ FILE: src/components/input/TextField.tsx function TextField (line 5) | function TextField({ className, ...props }: FieldAttributes) { type InputProps (line 9) | type InputProps = Omit, 'onChange'... FILE: src/components/layout/AppLayout.tsx function AppLayout (line 17) | function AppLayout({ children }: PropsWithChildren) { FILE: src/components/layout/Card.tsx type Props (line 3) | interface Props { function Card (line 7) | function Card({ className = '', children }: PropsWithChildren) { FILE: src/components/layout/ModalHeader.tsx function ModalHeader (line 4) | function ModalHeader({ children, className }: { children?: ReactNode; cl... FILE: src/components/nav/Footer.tsx function Footer (line 4) | function Footer() { function FooterLogo (line 17) | function FooterLogo() { function FooterNav (line 29) | function FooterNav() { FILE: src/components/nav/Header.tsx function Header (line 13) | function Header() { FILE: src/components/nav/Nav.tsx type NavLinkItem (line 14) | interface NavLinkItem { type NavItemProps (line 41) | interface NavItemProps { FILE: src/components/tip/TipCard.tsx function TipCard (line 10) | function TipCard() { FILE: src/components/toast/IgpDetailsToast.tsx function toastIgpDetails (line 5) | function toastIgpDetails(igpFee: string, tokenName = 'native token') { function IgpDetailsToast (line 11) | function IgpDetailsToast({ tokenName, igpFee }: { tokenName: string; igp... FILE: src/components/toast/TxSuccessToast.tsx function toastTxSuccess (line 5) | function toastTxSuccess(msg: string, txHash: string, chain: ChainName) { function TxSuccessToast (line 11) | function TxSuccessToast({ FILE: src/components/toast/useToastError.tsx function useToastError (line 7) | function useToastError(error: any, errorMsg?: string) { FILE: src/consts/app.ts type UiThemeMode (line 3) | type UiThemeMode = 'light' | 'dark'; constant APP_NAME (line 5) | const APP_NAME = 'Hyperlane Warp UI Template'; constant APP_DESCRIPTION (line 6) | const APP_DESCRIPTION = 'A DApp for Hyperlane Warp Route transfers'; constant APP_URL (line 7) | const APP_URL = 'hyperlane-warp-template.vercel.app'; constant BRAND_COLOR (line 8) | const BRAND_COLOR = Color.primary['500']; constant UI_THEME_STORAGE_KEY (line 10) | const UI_THEME_STORAGE_KEY = 'warp-ui-theme'; constant DEFAULT_UI_THEME_MODE (line 11) | const DEFAULT_UI_THEME_MODE: UiThemeMode = 'light'; FILE: src/consts/args.ts type WARP_QUERY_PARAMS (line 3) | enum WARP_QUERY_PARAMS { constant ADD_ASSET_SUPPORTED_PROTOCOLS (line 10) | const ADD_ASSET_SUPPORTED_PROTOCOLS: ProtocolType[] = [ProtocolType.Ethe... FILE: src/consts/blacklist.ts constant ADDRESS_BLACKLIST (line 3) | const ADDRESS_BLACKLIST: string[] = []; FILE: src/consts/config.ts type Config (line 20) | interface Config { FILE: src/consts/warpRouteWhitelist.ts function getWarpRouteWhitelist (line 18) | function getWarpRouteWhitelist(): Array | null { FILE: src/features/WarpContextInitGate.tsx constant INIT_TIMEOUT (line 7) | const INIT_TIMEOUT = 10_000; function WarpContextInitGate (line 10) | function WarpContextInitGate({ children }: PropsWithChildren) { FILE: src/features/analytics/intercom.ts constant INTERCOM_APP_ID (line 5) | const INTERCOM_APP_ID = process.env.NEXT_PUBLIC_INTERCOM_APP_ID || ''; function initIntercom (line 13) | function initIntercom(): void { FILE: src/features/analytics/refiner.ts constant REFINER_PROJECT_ID (line 4) | const REFINER_PROJECT_ID = process.env.NEXT_PUBLIC_REFINER_PROJECT_ID ||... constant REFINER_TRANSFER_FORM_ID (line 5) | const REFINER_TRANSFER_FORM_ID = process.env.NEXT_PUBLIC_REFINER_TRANSFE... type RefinerFn (line 7) | type RefinerFn = (method: string, ...args: unknown[]) => void; function initRefiner (line 15) | async function initRefiner(): Promise { function refinerIdentifyAndShowTransferForm (line 29) | function refinerIdentifyAndShowTransferForm(params: { FILE: src/features/analytics/types.ts type EVENT_NAME (line 3) | enum EVENT_NAME { type AllowedPropertyValues (line 14) | type AllowedPropertyValues = string | number | boolean | null; type EventProperties (line 17) | type EventProperties = { FILE: src/features/analytics/useWalletConnectionTracking.tsx function useWalletConnectionTracking (line 17) | function useWalletConnectionTracking() { FILE: src/features/analytics/utils.ts function trackEvent (line 15) | function trackEvent(eventName: T, properties: Even... function trackTokenSelectionEvent (line 25) | function trackTokenSelectionEvent( function trackChainSelectionEvent (line 49) | function trackChainSelectionEvent( constant SKIPPED_ERRORS (line 64) | const SKIPPED_ERRORS = [ function trackTransactionFailedEvent (line 71) | function trackTransactionFailedEvent( function trackUnsupportedRouteEvent (line 117) | function trackUnsupportedRouteEvent( FILE: src/features/balances/UsdLabel.tsx function UsdLabel (line 6) | function UsdLabel({ FILE: src/features/balances/cosmos.ts type CosmosChainGroup (line 9) | interface CosmosChainGroup { constant BANK_DENOM_FROM_ADDRESS (line 16) | const BANK_DENOM_FROM_ADDRESS: TokenStandard[] = [ constant BANK_DENOM_FROM_COLLATERAL (line 25) | const BANK_DENOM_FROM_COLLATERAL: TokenStandard[] = [ function classifyCosmosToken (line 31) | function classifyCosmosToken(token: Token): { type: 'bank' | 'unknown'; ... function groupCosmosTokensByChain (line 48) | function groupCosmosTokensByChain(tokens: Token[]): Map; function classifyToken (line 49) | function classifyToken(token: Token): { type: TokenClassification; erc20... function getBatchAddress (line 65) | function getBatchAddress(chainName: string, chainAddresses: ChainMap; function resolveCoinGeckoId (line 15) | function resolveCoinGeckoId( function useFeePrices (line 38) | function useFeePrices( FILE: src/features/balances/utils.ts function formatBalance (line 6) | function formatBalance(balance: bigint, decimals: number): string { function formatUsd (line 10) | function formatUsd(value: number, approximate = false): string { function getUsdValue (line 16) | function getUsdValue( FILE: src/features/chains/ChainConnectionWarning.tsx function ChainConnectionWarning (line 12) | function ChainConnectionWarning({ function checkRpcHealth (line 67) | async function checkRpcHealth(chainMetadata: ChainMetadata) { FILE: src/features/chains/ChainEditModal.tsx type Props (line 9) | interface Props { function ChainEditModal (line 17) | function ChainEditModal({ isOpen, close, chainName, onClickBack }: Props) { FILE: src/features/chains/ChainFilterPanel.tsx type ChainFilterPanelProps (line 28) | interface ChainFilterPanelProps { function ChainFilterPanel (line 38) | function ChainFilterPanel({ function FilterButton (line 122) | function FilterButton({ function SortButton (line 221) | function SortButton({ function useClickOutside (line 295) | function useClickOutside(ref: React.RefObject, handl... FILE: src/features/chains/ChainList.tsx type ChainListProps (line 16) | interface ChainListProps { function ChainList (line 25) | function ChainList({ function ChainButton (line 85) | function ChainButton({ FILE: src/features/chains/ChainWalletWarning.tsx function ChainWalletWarning (line 15) | function ChainWalletWarning({ origin }: { origin: ChainName }) { FILE: src/features/chains/MobileChainQuickSelect.tsx constant DEFAULT_MAX_VISIBLE_CHAINS (line 7) | const DEFAULT_MAX_VISIBLE_CHAINS = 4; type MobileChainQuickSelectProps (line 9) | interface MobileChainQuickSelectProps { function MobileChainQuickSelect (line 17) | function MobileChainQuickSelect({ FILE: src/features/chains/addresses.ts function assembleChainAddresses (line 11) | async function assembleChainAddresses( FILE: src/features/chains/chainFilterSort.ts type ChainSortBy (line 6) | enum ChainSortBy { type SortOrder (line 12) | enum SortOrder { type SortState (line 17) | interface SortState { type FilterTestnet (line 28) | enum FilterTestnet { type ChainFilterState (line 33) | interface ChainFilterState { function isFilterActive (line 43) | function isFilterActive(filter: ChainFilterState): boolean { function chainSearch (line 50) | function chainSearch({ FILE: src/features/chains/hooks.ts function useMultiProvider (line 9) | function useMultiProvider() { function useReadyMultiProvider (line 15) | function useReadyMultiProvider() { function useChainMetadata (line 21) | function useChainMetadata(chainName?: ChainName) { function useChainProtocol (line 27) | function useChainProtocol(chainName?: ChainName) { function useChainDisplayName (line 32) | function useChainDisplayName(chainName: ChainName, shortName = false) { type ChainInfo (line 37) | interface ChainInfo { function useChainInfos (line 46) | function useChainInfos(): ChainInfo[] { function useDisabledChains (line 62) | function useDisabledChains(): Set { FILE: src/features/chains/metadata.ts function assembleChainMetadata (line 24) | async function assembleChainMetadata( FILE: src/features/chains/utils.ts type ChainMetadataProvider (line 8) | type ChainMetadataProvider = Pick< function getChainDisplayName (line 13) | function getChainDisplayName( function isPermissionlessChain (line 25) | function isPermissionlessChain(multiProvider: ChainMetadataProvider, cha... function hasPermissionlessChain (line 31) | function hasPermissionlessChain(multiProvider: ChainMetadataProvider, id... function getNumRoutesWithSelectedChain (line 39) | function getNumRoutesWithSelectedChain( function isChainDisabled (line 73) | function isChainDisabled(chainMetadata: ChainMetadata | null) { function tryGetValidChainName (line 82) | function tryGetValidChainName( FILE: src/features/limits/types.ts type RouteLimit (line 1) | type RouteLimit = { FILE: src/features/limits/utils.ts function getMultiCollateralTokenLimit (line 7) | function getMultiCollateralTokenLimit( function isMultiCollateralLimitExceeded (line 27) | function isMultiCollateralLimitExceeded( FILE: src/features/messages/graphqlClient.ts type GraphQLResult (line 3) | type GraphQLResult = { type: 'success'; data: T } | { type: 'error'; ... function executeGraphQLQuery (line 5) | async function executeGraphQLQuery( FILE: src/features/messages/queries/build.ts constant MESSAGE_HISTORY_QUERY (line 5) | const MESSAGE_HISTORY_QUERY = ` function buildMessageHistoryQuery (line 30) | function buildMessageHistoryQuery( constant MESSAGE_BY_ID_QUERY (line 73) | const MESSAGE_BY_ID_QUERY = ` function buildMessageByIdQuery (line 87) | function buildMessageByIdQuery(msgId: string): { FILE: src/features/messages/queries/encoding.ts function stringToPostgresBytea (line 12) | function stringToPostgresBytea(hexString: string): string { function postgresByteaToString (line 17) | function postgresByteaToString(byteString: string): string { function addressToPostgresBytea (line 22) | function addressToPostgresBytea(address: string): string { function postgresByteaToAddress (line 27) | function postgresByteaToAddress( function postgresByteaToTxHash (line 37) | function postgresByteaToTxHash( function parseTimestamp (line 47) | function parseTimestamp(t: string): number { FILE: src/features/messages/queries/fragments.ts type MessageStubEntry (line 37) | interface MessageStubEntry { FILE: src/features/messages/types.ts type MessageStatus (line 3) | enum MessageStatus { type MessageTxStub (line 10) | interface MessageTxStub { type WarpTransferInfo (line 17) | interface WarpTransferInfo { type MessageStub (line 22) | interface MessageStub { FILE: src/features/messages/useMergedTransferHistory.test.ts constant TEST_CHAIN_METADATA (line 11) | const TEST_CHAIN_METADATA: ChainMap>... FILE: src/features/messages/useMergedTransferHistory.ts type TransferItem (line 15) | type TransferItem = function messageToTransferContext (line 22) | function messageToTransferContext( function useMergedTransferHistory (line 67) | function useMergedTransferHistory( FILE: src/features/messages/useMessageDeliveryStatus.ts constant POLL_INTERVAL_MS (line 10) | const POLL_INTERVAL_MS = 10_000; type MessageDeliveryResult (line 12) | interface MessageDeliveryResult { function useMessageDeliveryStatus (line 29) | function useMessageDeliveryStatus( function parseDeliveryResult (line 71) | function parseDeliveryResult( FILE: src/features/messages/useMessageHistory.ts constant PAGE_LIMIT (line 23) | const PAGE_LIMIT = 15; constant REFRESH_INTERVAL_MS (line 24) | const REFRESH_INTERVAL_MS = 60_000; type UseMessageHistoryResult (line 26) | interface UseMessageHistoryResult { type PageResult (line 36) | interface PageResult { function useMessageHistory (line 41) | function useMessageHistory( function parseMessageEntry (line 133) | function parseMessageEntry( FILE: src/features/messages/useOriginFinality.ts constant POLL_INTERVAL_MS (line 7) | const POLL_INTERVAL_MS = 10_000; function useOriginFinality (line 13) | function useOriginFinality( FILE: src/features/routerAddresses.test.ts constant VALID_EVM_ADDRESS (line 8) | const VALID_EVM_ADDRESS = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'; FILE: src/features/sanctions/hooks/useIsAccountChainalysisSanctioned.ts constant ORACLE_ABI (line 8) | const ORACLE_ABI = [ constant ORACLE_ADDRESS (line 29) | const ORACLE_ADDRESS = '0x40C57923924B5c5c5455c48D93317139ADDaC8fb'; function useIsAccountChainalysisSanctioned (line 31) | function useIsAccountChainalysisSanctioned() { FILE: src/features/sanctions/hooks/useIsAccountOfacSanctioned.ts constant OFAC_SANCTIONED_ADDRESSES_ENDPOINT (line 7) | const OFAC_SANCTIONED_ADDRESSES_ENDPOINT = function useIsAccountOfacSanctioned (line 10) | function useIsAccountOfacSanctioned() { FILE: src/features/sanctions/hooks/useIsAccountSanctioned.ts function useIsAccountSanctioned (line 4) | function useIsAccountSanctioned() { FILE: src/features/store.ts constant PERSIST_STATE_VERSION (line 41) | const PERSIST_STATE_VERSION = 2; type WarpContext (line 43) | interface WarpContext { function buildE2ETokenSnapshot (line 61) | function buildE2ETokenSnapshot(tokens: Token[] | undefined): E2ETokenSna... type AppState (line 75) | interface AppState { function initWarpContext (line 304) | async function initWarpContext({ function getRouterAddressesByChain (line 396) | function getRouterAddressesByChain( FILE: src/features/theme/ThemeContext.tsx type ThemeContextValue (line 15) | interface ThemeContextValue { function getStoredThemeMode (line 22) | function getStoredThemeMode(): UiThemeMode | null { function persistThemeMode (line 31) | function persistThemeMode(mode: UiThemeMode) { function ThemeProvider (line 40) | function ThemeProvider({ children }: PropsWithChildren) { function useTheme (line 92) | function useTheme() { FILE: src/features/tokens/ImportTokenButton.tsx constant USER_REJECTED_ERROR (line 9) | const USER_REJECTED_ERROR = 'User rejected'; type ImportTokenButtonProps (line 11) | interface ImportTokenButtonProps { function ImportTokenButton (line 15) | function ImportTokenButton({ token }: ImportTokenButtonProps) { FILE: src/features/tokens/SelectOrInputTokenIds.tsx function SelectOrInputTokenIds (line 6) | function SelectOrInputTokenIds({ disabled }: { disabled: boolean }) { function InputTokenId (line 21) | function InputTokenId({ disabled }: { disabled: boolean }) { FILE: src/features/tokens/SelectTokenIdField.tsx type Props (line 5) | type Props = { function SelectTokenIdField (line 11) | function SelectTokenIdField({ name, disabled }: Props) { function SelectTokenIdModal (line 49) | function SelectTokenIdModal({ FILE: src/features/tokens/TokenChainIcon.tsx type Props (line 6) | interface Props { function TokenChainIcon (line 11) | function TokenChainIcon({ token, size = 32 }: Props) { FILE: src/features/tokens/TokenList.tsx function isFeaturedToken (line 18) | function isFeaturedToken(token: Token): boolean { function matchesSearch (line 22) | function matchesSearch( type TokenListProps (line 36) | interface TokenListProps { function TokenList (line 46) | function TokenList({ FILE: src/features/tokens/TokenListPanel.tsx type TokenListPanelProps (line 12) | interface TokenListPanelProps { function TokenListPanel (line 27) | function TokenListPanel({ FILE: src/features/tokens/TokenSelectField.tsx type Props (line 20) | type Props = { function TokenSelectField (line 29) | function TokenSelectField({ function TokenButton (line 174) | function TokenButton({ FILE: src/features/tokens/UnifiedTokenChainModal.tsx type Props (line 12) | interface Props { function UnifiedTokenChainModal (line 25) | function UnifiedTokenChainModal({ FILE: src/features/tokens/approval.ts function useIsApproveRequired (line 9) | function useIsApproveRequired( FILE: src/features/tokens/hooks.ts function useWarpCore (line 17) | function useWarpCore() { function getTokenByKey (line 23) | function getTokenByKey(tokens: Token[], key: string | undefined): Token ... function findTokenByChainSymbol (line 29) | function findTokenByChainSymbol(tokens: Token[], chainSymbol: string): T... function getInitialTokenKeys (line 41) | function getInitialTokenKeys( function useWarpCoreTokens (line 130) | function useWarpCoreTokens() { function useTokens (line 135) | function useTokens() { function useCollateralGroups (line 139) | function useCollateralGroups() { function useTokenByKeyMap (line 144) | function useTokenByKeyMap() { function getTokenByKeyFromMap (line 152) | function getTokenByKeyFromMap( function tryFindToken (line 160) | function tryFindToken( function tryFindTokenConnection (line 172) | function tryFindTokenConnection(token: Token, chainName: string) { function useAddToken (line 180) | function useAddToken(token?: IToken) { FILE: src/features/tokens/types.ts type TokensWithDestinationBalance (line 3) | interface TokensWithDestinationBalance { type TokenWithFee (line 9) | interface TokenWithFee { type TokenSelectionMode (line 15) | type TokenSelectionMode = 'origin' | 'destination'; type DefaultMultiCollateralRoutes (line 16) | type DefaultMultiCollateralRoutes = Record; function fetchPrices (line 11) | async function fetchPrices(ids: string[]): Promise) { function isCollateralizedToken (line 41) | function isCollateralizedToken(token: IToken): boolean { function isValidMultiCollateralToken (line 49) | function isValidMultiCollateralToken( function findConnectedDestinationToken (line 63) | function findConnectedDestinationToken( function matchesCollateral (line 93) | function matchesCollateral( function getTokensWithSameCollateralAddresses (line 108) | function getTokensWithSameCollateralAddresses( function getTokenKey (line 170) | function getTokenKey(token: IToken): string { function dedupeTokensByCollateral (line 186) | function dedupeTokensByCollateral(tokens: Token[]): Token[] { function buildTokensArray (line 212) | function buildTokensArray(warpCoreTokens: Token[]): Token[] { function groupTokensByCollateral (line 244) | function groupTokensByCollateral(tokens: Token[]): Map { function getCollateralKey (line 265) | function getCollateralKey(token: IToken): string { function checkTokenHasRoute (line 305) | function checkTokenHasRoute( function findRouteToken (line 325) | function findRouteToken( function tryGetDefaultOriginToken (line 365) | function tryGetDefaultOriginToken( FILE: src/features/tokens/wrappedTokenResolver.test.ts constant ADDR_1 (line 8) | const ADDR_1 = '0x1111111111111111111111111111111111111111'; constant ADDR_2 (line 9) | const ADDR_2 = '0x2222222222222222222222222222222222222222'; constant UNDERLYING (line 10) | const UNDERLYING = '0xdAC17F958D2ee523a2206206994597C13D831ec7'; FILE: src/features/tokens/wrappedTokenResolver.ts constant WRAPPED_COLLATERAL_STANDARDS (line 15) | const WRAPPED_COLLATERAL_STANDARDS: string[] = [ function resolveWrappedCollateralTokens (line 27) | async function resolveWrappedCollateralTokens( FILE: src/features/transfer/FeeSectionButton.tsx function useLoadingDots (line 10) | function useLoadingDots(isLoading: boolean, intervalMs = 1000) { function FeeSectionButton (line 28) | function FeeSectionButton({ FILE: src/features/transfer/RecipientConfirmationModal.tsx function RecipientConfirmationModal (line 13) | function RecipientConfirmationModal({ FILE: src/features/transfer/TransferFeeModal.tsx function TransferFeeModal (line 9) | function TransferFeeModal({ FILE: src/features/transfer/TransferSection.tsx type TransferSectionProps (line 3) | type TransferSectionProps = { function TransferSection (line 8) | function TransferSection({ label, children }: TransferSectionProps) { FILE: src/features/transfer/TransferTokenCard.tsx function TransferTokenCard (line 3) | function TransferTokenCard() { FILE: src/features/transfer/TransferTokenForm.tsx function TransferTokenForm (line 78) | function TransferTokenForm() { function SwapTokensButton (line 199) | function SwapTokensButton({ disabled }: { disabled?: boolean }) { function OriginTokenCard (line 257) | function OriginTokenCard({ function DestinationTokenCard (line 342) | function DestinationTokenCard({ isReview }: { isReview: boolean }) { function MaxButton (line 388) | function MaxButton({ function TokenBalance (line 436) | function TokenBalance({ function TransferCheckout (line 456) | function TransferCheckout({ function ButtonSection (line 513) | function ButtonSection({ function ReviewDetails (line 718) | function ReviewDetails({ function WarningBanners (line 906) | function WarningBanners() { function useFormInitialValues (line 925) | function useFormInitialValues(): TransferFormValues { function useIsRouteSupported (line 942) | function useIsRouteSupported(): boolean { function validateForm (line 958) | async function validateForm( function enrichBalanceError (line 1102) | async function enrichBalanceError( FILE: src/features/transfer/TransfersDetailsModal.tsx constant DEFAULT_TIMINGS (line 46) | const DEFAULT_TIMINGS: StageTimings = { function TransfersDetailsModal (line 52) | function TransfersDetailsModal({ function TransferProperty (line 386) | function TransferProperty({ name, value, url }: { name: string; value: s... function WideChevron (line 407) | function WideChevron() { function useSignIssueWarning (line 420) | function useSignIssueWarning(status: TransferStatus) { function fixDoubleSlash (line 432) | function fixDoubleSlash(url: string) { FILE: src/features/transfer/fees.test.ts constant MOCK_RECIPIENT (line 16) | const MOCK_RECIPIENT = '0xrecipient'; constant MOCK_SENDER (line 17) | const MOCK_SENDER = '0xsender'; constant TRANSFER_AMOUNT (line 18) | const TRANSFER_AMOUNT = '500000'; constant LARGE_TRANSFER_AMOUNT (line 19) | const LARGE_TRANSFER_AMOUNT = '1000000'; constant BALANCE_TINY (line 22) | const BALANCE_TINY = BigInt(100); constant BALANCE_SMALL (line 23) | const BALANCE_SMALL = BigInt(500); constant BALANCE_MEDIUM (line 24) | const BALANCE_MEDIUM = BigInt(1000); constant BALANCE_LARGE (line 25) | const BALANCE_LARGE = BigInt(1000000); constant BALANCE_XLARGE (line 26) | const BALANCE_XLARGE = BigInt(2000000); constant BALANCE_XXLARGE (line 27) | const BALANCE_XXLARGE = BigInt(5000000); constant FEE_LOW (line 30) | const FEE_LOW = BigInt(1000); constant FEE_MEDIUM (line 31) | const FEE_MEDIUM = BigInt(3000); constant FEE_HIGH (line 32) | const FEE_HIGH = BigInt(5000); FILE: src/features/transfer/fees.ts function compareByBalanceDesc (line 20) | function compareByBalanceDesc(a: { balance: bigint }, b: { balance: bigi... function filterAndSortTokensByBalance (line 27) | function filterAndSortTokensByBalance( function sortTokensByFee (line 35) | function sortTokensByFee(tokenFees: TokenWithFee[]): TokenWithFee[] { function getTotalFee (line 51) | function getTotalFee({ function getInterchainQuote (line 89) | function getInterchainQuote( function getTransferToken (line 103) | async function getTransferToken( FILE: src/features/transfer/maxAmount.ts type FetchMaxParams (line 16) | interface FetchMaxParams { function useFetchMaxAmount (line 24) | function useFetchMaxAmount() { function fetchMaxAmount (line 35) | async function fetchMaxAmount( FILE: src/features/transfer/predicate.ts type FetchAttestationParams (line 14) | interface FetchAttestationParams { type PredicateAttestationResult (line 24) | interface PredicateAttestationResult { function fetchPredicateAttestation (line 38) | async function fetchPredicateAttestation({ FILE: src/features/transfer/relayApi.ts constant MESSAGE_SENT_TOPIC (line 9) | const MESSAGE_SENT_TOPIC = '0x8c5261668696ce22758910d05bab8f186d6eb247ce... constant MESSAGE_TRANSMITTER_V2_ADDRESSES (line 13) | const MESSAGE_TRANSMITTER_V2_ADDRESSES = new Set([ type RelayResponse (line 19) | interface RelayResponse { function submitToRelayApi (line 32) | async function submitToRelayApi( FILE: src/features/transfer/scaleUtils.ts type ScaledToken (line 7) | interface ScaledToken { function computeDestAmount (line 18) | function computeDestAmount( function formatMessageAmount (line 42) | function formatMessageAmount(rawAmount: string, token: ScaledToken): str... FILE: src/features/transfer/types.ts type TransferFormValues (line 1) | interface TransferFormValues { type TransferStatus (line 8) | enum TransferStatus { type TransferContext (line 28) | interface TransferContext { FILE: src/features/transfer/useBalanceWatcher.ts function useRecipientBalanceWatcher (line 5) | function useRecipientBalanceWatcher(recipient?: Address, balance?: Token... FILE: src/features/transfer/useFeeQuotes.test.ts function mockOriginToken (line 20) | function mockOriginToken(protocol: ProtocolType): Token { function mockDestinationToken (line 28) | function mockDestinationToken(protocol: ProtocolType): IToken { FILE: src/features/transfer/useFeeQuotes.ts constant FEE_QUOTE_REFRESH_INTERVAL (line 26) | const FEE_QUOTE_REFRESH_INTERVAL = 30_000; constant EVM_FEE_QUOTE_FALLBACK_ADDRESS (line 27) | const EVM_FEE_QUOTE_FALLBACK_ADDRESS = '0x000000000000000000000000000000... function useFeeQuotes (line 29) | function useFeeQuotes( function fetchFeeQuotes (line 104) | async function fetchFeeQuotes( FILE: src/features/transfer/useQuotedCalls.ts constant FEE_QUOTE_REFRESH_INTERVAL (line 25) | const FEE_QUOTE_REFRESH_INTERVAL = 30_000; constant MAX_QUOTE_AGE_MS (line 29) | const MAX_QUOTE_AGE_MS = 4 * 60_000; type QuotedCallsFetchResult (line 31) | interface QuotedCallsFetchResult { type QuotedCallsFeeQuotesResult (line 39) | interface QuotedCallsFeeQuotesResult { function useQuotedCallsFeeQuotes (line 54) | function useQuotedCallsFeeQuotes( function generateClientSalt (line 173) | function generateClientSalt(): Hex { function fetchQuotedCallsFees (line 179) | async function fetchQuotedCallsFees( FILE: src/features/transfer/useTokenTransfer.ts constant CHAIN_MISMATCH_ERROR (line 34) | const CHAIN_MISMATCH_ERROR = 'ChainMismatchError'; constant TRANSFER_TIMEOUT_ERROR1 (line 35) | const TRANSFER_TIMEOUT_ERROR1 = 'block height exceeded'; constant TRANSFER_TIMEOUT_ERROR2 (line 36) | const TRANSFER_TIMEOUT_ERROR2 = 'timeout'; function useTokenTransfer (line 38) | function useTokenTransfer(onDone?: () => void) { function executeTransfer (line 95) | async function executeTransfer({ FILE: src/features/transfer/utils.ts type MultiProvider (line 18) | type MultiProvider = MultiProtocolCore['multiProvider']; function getTransferStatusLabel (line 20) | function getTransferStatusLabel( function isTransferSent (line 60) | function isTransferSent(status: TransferStatus) { function isTransferFailed (line 64) | function isTransferFailed(status: TransferStatus) { constant STATUSES_WITH_ICON (line 68) | const STATUSES_WITH_ICON = [ function getIconByTransferStatus (line 74) | function getIconByTransferStatus(status: TransferStatus) { function tryGetMsgIdFromTransferReceipt (line 86) | function tryGetMsgIdFromTransferReceipt( function isEvmContractAddress (line 139) | async function isEvmContractAddress( function isSmartContract (line 153) | async function isSmartContract( constant VALIDATION_TIME_EST (line 188) | const VALIDATION_TIME_EST = 5; constant DEFAULT_BLOCK_TIME_EST (line 189) | const DEFAULT_BLOCK_TIME_EST = 3; constant DEFAULT_FINALITY_BLOCKS (line 190) | const DEFAULT_FINALITY_BLOCKS = 3; function estimateDeliverySeconds (line 196) | function estimateDeliverySeconds( function formatEta (line 228) | function formatEta(seconds: number): string { function shouldClearAddress (line 235) | function shouldClearAddress( FILE: src/features/wallet/ConnectWalletButton.tsx function ConnectWalletButton (line 6) | function ConnectWalletButton() { FILE: src/features/wallet/RecipientAddressModal.tsx type RecipientAddressModalProps (line 7) | interface RecipientAddressModalProps { function RecipientAddressModal (line 15) | function RecipientAddressModal({ FILE: src/features/wallet/SideBarMenu.tsx function SideBarMenu (line 34) | function SideBarMenu({ function TransferSummary (line 269) | function TransferSummary({ FILE: src/features/wallet/WalletConnectionWarning.tsx function WalletConnectionWarning (line 8) | function WalletConnectionWarning({ origin }: { origin: ChainName }) { type WalletWarning (line 29) | type WalletWarning = Partial>>; FILE: src/features/wallet/WalletDropdown.tsx type WalletDropdownProps (line 16) | interface WalletDropdownProps { function WalletDropdown (line 24) | function WalletDropdown({ function ConnectWalletButton (line 142) | function ConnectWalletButton({ chainName }: { chainName?: string }) { function ConnectMenuItem (line 165) | function ConnectMenuItem({ protocol }: { protocol: ProtocolType }) { function DropdownWalletButton (line 180) | function DropdownWalletButton({ address }: { address: string }) { function MenuItemButton (line 199) | function MenuItemButton({ onClick, children }: { onClick: () => void; ch... function MenuSeparator (line 207) | function MenuSeparator() { FILE: src/features/wallet/WalletProtocolModal.tsx type WalletProtocolModalProps (line 8) | interface WalletProtocolModalProps { constant PROTOCOL_OPTIONS (line 15) | const PROTOCOL_OPTIONS = [ function WalletProtocolModal (line 30) | function WalletProtocolModal({ FILE: src/features/wallet/_e2e/E2EAutoConnectCosmos.tsx constant MOCK_WALLET_NAME (line 4) | const MOCK_WALLET_NAME = 'warp-e2e-mock-cosmos'; function E2EAutoConnectCosmos (line 13) | function E2EAutoConnectCosmos() { FILE: src/features/wallet/_e2e/E2EAutoConnectEvm.tsx function E2EAutoConnectEvm (line 6) | function E2EAutoConnectEvm() { FILE: src/features/wallet/_e2e/E2EAutoConnectRadix.tsx constant MOCK_RADIX_ADDRESS (line 5) | const MOCK_RADIX_ADDRESS = function E2EAutoConnectRadix (line 12) | function E2EAutoConnectRadix() { FILE: src/features/wallet/_e2e/E2EAutoConnectSolana.tsx constant MOCK_WALLET_NAME (line 4) | const MOCK_WALLET_NAME = 'WarpE2EMock'; function E2EAutoConnectSolana (line 6) | function E2EAutoConnectSolana() { FILE: src/features/wallet/_e2e/E2EAutoConnectStarknet.tsx constant MOCK_CONNECTOR_ID (line 4) | const MOCK_CONNECTOR_ID = 'warp-e2e-mock-starknet'; function E2EAutoConnectStarknet (line 6) | function E2EAutoConnectStarknet() { FILE: src/features/wallet/_e2e/E2EAutoConnectTron.tsx constant MOCK_ADAPTER_NAME (line 5) | const MOCK_ADAPTER_NAME = 'WarpE2EMockTron' as AdapterName; function E2EAutoConnectTron (line 11) | function E2EAutoConnectTron() { FILE: src/features/wallet/_e2e/MockCosmosWallet.test.fixtures.ts constant MOCK_COSMOS_MNEMONIC_ADDRESSES (line 4) | const MOCK_COSMOS_MNEMONIC_ADDRESSES = { FILE: src/features/wallet/_e2e/MockCosmosWallet.ts constant FIXED_MNEMONIC (line 17) | const FIXED_MNEMONIC = constant TRANSPARENT_ICON (line 21) | const TRANSPARENT_ICON = class MockCosmosClient (line 35) | class MockCosmosClient implements WalletClient { method getSignerFor (line 42) | private getSignerFor(prefix: string): Promise { method enable (line 50) | async enable(_chainIds: string | string[]): Promise { method disconnect (line 54) | async disconnect(): Promise { method addChain (line 58) | async addChain(chainInfo: ChainRecord): Promise { method getSimpleAccount (line 65) | async getSimpleAccount(chainId: string): Promise { method getAccount (line 78) | async getAccount(chainId: string): Promise { method getOfflineSigner (line 94) | getOfflineSigner(chainId: string): OfflineDirectSigner { method getOfflineSignerDirect (line 98) | getOfflineSignerDirect(chainId: string): OfflineDirectSigner { class MockCosmosChainWallet (line 130) | class MockCosmosChainWallet extends ChainWalletBase { method constructor (line 131) | constructor(walletInfo: Wallet, chainInfo: ChainRecord) { class MockCosmosWallet (line 136) | class MockCosmosWallet extends MainWalletBase { method constructor (line 137) | constructor(walletInfo: Wallet = mockCosmosWalletInfo) { method initClient (line 141) | async initClient(): Promise { FILE: src/features/wallet/_e2e/MockSolanaAdapter.ts constant FIXED_SEED (line 22) | const FIXED_SEED = new Uint8Array(32).fill(0xe2); constant MOCK_SIGNATURE (line 24) | const MOCK_SIGNATURE = 'e2e' + '1'.repeat(85); class MockSolanaAdapter (line 26) | class MockSolanaAdapter extends BaseMessageSignerWalletAdapter { method connect (line 37) | async connect(): Promise { method disconnect (line 54) | async disconnect(): Promise { method signTransaction (line 59) | async signTransaction(tr... method signMessage (line 64) | async signMessage(message: Uint8Array): Promise { method sendTransaction (line 71) | async sendTransaction( function captureTx (line 81) | function captureTx(transaction: Transaction | VersionedTransaction): void { function bufferToBase64 (line 106) | function bufferToBase64(buf: Uint8Array): string { FILE: src/features/wallet/_e2e/MockStarknetConnector.ts constant MOCK_STARKNET_ADDRESS (line 5) | const MOCK_STARKNET_ADDRESS = function buildFakeAccount (line 12) | function buildFakeAccount() { function createMockStarknetConnector (line 31) | function createMockStarknetConnector(): MockConnector { FILE: src/features/wallet/_e2e/MockTronAdapter.ts constant MOCK_TRON_ADDRESS (line 12) | const MOCK_TRON_ADDRESS = 'TE2EE2EE2EE2EE2EE2EE2EE2EE2EE2EE2E'; class MockTronAdapter (line 14) | class MockTronAdapter extends Adapter<'WarpE2EMockTron'> { method connected (line 23) | get connected(): boolean { method connect (line 27) | async connect(): Promise { method disconnect (line 43) | async disconnect(): Promise { method signMessage (line 53) | async signMessage(message: string): Promise { method signTransaction (line 59) | async signTransaction(transaction: Transaction): Promise { FILE: src/features/wallet/_e2e/constants.ts constant MOCK_EVM_ADDRESS (line 8) | const MOCK_EVM_ADDRESS = '0xE2eE2eE2eE2eE2eE2eE2eE2eE2eE2eE2eE2eE2eE' as... constant MOCK_SOLANA_ADDRESS (line 9) | const MOCK_SOLANA_ADDRESS = 'EY4LF4gq73QHyff6McmgPKU6UuPtErVU7vVAYcv2nwG... constant MOCK_COSMOS_ADDRESS (line 10) | const MOCK_COSMOS_ADDRESS = 'cosmos19rl4cm2hmr8afy4kldpxz3fka4jguq0auqda... constant MOCK_EVM_CONNECTOR_ID (line 12) | const MOCK_EVM_CONNECTOR_ID = 'mock'; FILE: src/features/wallet/_e2e/isE2E.ts function isE2EMode (line 3) | function isE2EMode(): boolean { FILE: src/features/wallet/_e2e/windowState.ts type CapturedEvmTx (line 3) | interface CapturedEvmTx { type CapturedSolanaTx (line 11) | interface CapturedSolanaTx { type CapturedCosmosTx (line 17) | interface CapturedCosmosTx { type E2ETokenSnapshot (line 24) | interface E2ETokenSnapshot { type WarpE2EState (line 37) | interface WarpE2EState { type Window (line 54) | interface Window { function initE2EStateIfEnabled (line 59) | function initE2EStateIfEnabled(): void { function pushSolanaTx (line 76) | function pushSolanaTx(tx: CapturedSolanaTx): void { function pushCosmosTx (line 81) | function pushCosmosTx(tx: CapturedCosmosTx): void { function markE2ERuntimeReady (line 86) | function markE2ERuntimeReady(buildTokens?: () => E2ETokenSnapshot[] | un... FILE: src/features/wallet/context/AleoWalletContext.tsx function AleoWalletContext (line 6) | function AleoWalletContext({ children }: PropsWithChildren) { FILE: src/features/wallet/context/CosmosWalletContext.tsx function CosmosWalletContext (line 27) | function CosmosWalletContext({ children }: PropsWithChildren) { FILE: src/features/wallet/context/EvmWalletContext.tsx function initWagmi (line 29) | function initWagmi(multiProvider: MultiProtocolProvider, e2e: boolean) { function EvmWalletContext (line 63) | function EvmWalletContext({ children }: PropsWithChildren) { FILE: src/features/wallet/context/RadixWalletContext.tsx function RadixWalletContext (line 16) | function RadixWalletContext({ children }: PropsWithChildren) { FILE: src/features/wallet/context/SolanaWalletContext.tsx function SolanaWalletContext (line 24) | function SolanaWalletContext({ children }: PropsWithChildren) { FILE: src/features/wallet/context/StarknetWalletContext.tsx constant READY_WALLET_ICON (line 15) | const READY_WALLET_ICON = `data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzI... function StarknetWalletContext (line 17) | function StarknetWalletContext({ children }: PropsWithChildren) { FILE: src/features/wallet/context/TronWalletContext.tsx function TronWalletContext (line 9) | function TronWalletContext({ children }: PropsWithChildren) { FILE: src/features/wallet/relativeTimeTicker.test.ts function createFakeDocument (line 5) | function createFakeDocument(initialVisibilityState: DocumentVisibilitySt... FILE: src/features/wallet/relativeTimeTicker.ts type VisibilityDocument (line 1) | interface VisibilityDocument { type StartRelativeTimeTickerOptions (line 15) | interface StartRelativeTimeTickerOptions { function startRelativeTimeTicker (line 22) | function startRelativeTimeTicker({ FILE: src/features/warpCore/AddWarpConfigModal.tsx function AddWarpConfigModal (line 14) | function AddWarpConfigModal({ isOpen, close }: { isOpen: boolean; close:... function Form (line 51) | function Form({ onAdd }: { onAdd: (warpCoreConfig: WarpCoreConfig) => vo... function ConfigList (line 101) | function ConfigList({ function tryParseConfigInput (line 124) | function tryParseConfigInput( FILE: src/features/warpCore/warpCoreConfig.ts type WarpCoreToken (line 21) | type WarpCoreToken = WarpCoreConfig['tokens'][number]; type NullableAddressWarpCoreToken (line 22) | type NullableAddressWarpCoreToken = Omit): W... function filterUnconnectedToken (line 222) | function filterUnconnectedToken(tokens: NullableAddressWarpCoreToken[]):... FILE: src/global.d.ts type Address (line 1) | type Address = string; type ChainName (line 2) | type ChainName = string; type ChainId (line 3) | type ChainId = number | string; type DomainId (line 4) | type DomainId = number; FILE: src/instrumentation.ts function register (line 3) | async function register() { FILE: src/lib/predicateClient.ts type AttestationRequest (line 3) | type AttestationRequest = PredicateAttestationRequest; constant PREDICATE_PROXY_URL (line 5) | const PREDICATE_PROXY_URL = '/api/predicate/attestation'; function fetchAttestation (line 11) | async function fetchAttestation( FILE: src/pages/_app.tsx function useEarlyEmbedMode (line 45) | function useEarlyEmbedMode(isEmbed: boolean) { function App (line 59) | function App({ Component, pageProps }: AppProps) { FILE: src/pages/_document.tsx function Document (line 5) | function Document() { FILE: src/pages/api/predicate/attestation.ts constant PREDICATE_API_KEY (line 6) | const PREDICATE_API_KEY = process.env.PREDICATE_API_KEY; constant PREDICATE_API_URL (line 7) | const PREDICATE_API_URL = process.env.PREDICATE_API_URL; constant ALLOWED_PREDICATE_DOMAINS (line 8) | const ALLOWED_PREDICATE_DOMAINS = ['api.predicate.io', 'predicate.io']; function validateApiUrl (line 11) | function validateApiUrl(url: string): boolean { function handler (line 29) | async function handler(req: NextApiRequest, res: NextApiResponse) { FILE: src/pages/api/quote.test.ts function mockReqRes (line 17) | function mockReqRes(method: string, query: Record = {}) { FILE: src/pages/api/quote.ts constant ALLOWED_COMMANDS (line 10) | const ALLOWED_COMMANDS = new Set(Object.values(FeeQuo... constant HEX_BYTES32 (line 14) | const HEX_BYTES32 = /^0x[0-9a-fA-F]{64}$/; function handler (line 22) | async function handler(req: NextApiRequest, res: NextApiResponse) { function firstString (line 83) | function firstString(v: string | string[] | undefined): string | undefin... FILE: src/pages/blocked.tsx function Page (line 3) | function Page() { FILE: src/pages/embed.tsx constant WIDGET_MESSAGE_TYPE (line 27) | const WIDGET_MESSAGE_TYPE = 'hyperlane-warp-widget'; function emitWidgetEvent (line 29) | function emitWidgetEvent(eventType: string, payload?: Record { FILE: src/styles/mediaQueries.ts type WindowSize (line 3) | interface WindowSize { function useWindowSize (line 9) | function useWindowSize() { function isWindowSizeMobile (line 34) | function isWindowSizeMobile(windowWidth: number | undefined) { function isWindowSizeSmallMobile (line 38) | function isWindowSizeSmallMobile(windowWidth: number | undefined) { function useIsMobile (line 42) | function useIsMobile() { FILE: src/utils/date.ts function formatTimestamp (line 1) | function formatTimestamp(timestamp: number): string { function toMs (line 6) | function toMs(timestamp: number): number { function formatTransferHistoryTimestamp (line 11) | function formatTransferHistoryTimestamp(timestamp: number, now = Date.no... FILE: src/utils/imageBrightness.test.ts class FakeImage (line 11) | class FakeImage { method constructor (line 16) | constructor(src: string) { method src (line 20) | get src() { method src (line 24) | set src(value: string) { method getAttribute (line 28) | getAttribute(name: string): string | null { method addEventListener (line 32) | addEventListener(name: string, callback: () => void) { method dispatch (line 37) | dispatch(name: string) { function setThemeMode (line 46) | function setThemeMode(themeMode: 'light' | 'dark') { function restoreDomGlobals (line 63) | function restoreDomGlobals() { FILE: src/utils/imageBrightness.ts function getImgSrc (line 1) | function getImgSrc(img: HTMLImageElement): string { constant DARK_LOGO_CACHE_MAX_ENTRIES (line 6) | const DARK_LOGO_CACHE_MAX_ENTRIES = 500; function setDarkLogoAvailability (line 8) | function setDarkLogoAvailability(key: string, value: 'ok' | 'missing') { function resetDarkLogoCache (line 20) | function resetDarkLogoCache() { function isDarkModeEnabled (line 24) | function isDarkModeEnabled(): boolean { function toDarkVariantSrc (line 37) | function toDarkVariantSrc(src: string): string | null { function toOriginalVariantSrc (line 50) | function toOriginalVariantSrc(src: string): string | null { function markDarkLogoMissing (line 64) | function markDarkLogoMissing(darkSrc: string) { function bindFallbackHandlers (line 68) | function bindFallbackHandlers(img: HTMLImageElement) { function syncOriginalSrc (line 97) | function syncOriginalSrc(img: HTMLImageElement): string { function hasReadyImg (line 113) | function hasReadyImg(container: Element): boolean { function processNodeImages (line 119) | function processNodeImages(node: Node) { function processDarkLogoImage (line 133) | function processDarkLogoImage(img: HTMLImageElement) { function processDarkLogosInContainer (line 165) | function processDarkLogosInContainer(container: Element) { function observeDarkLogosInContainer (line 171) | function observeDarkLogosInContainer( FILE: src/utils/links.ts function getHypExplorerLink (line 8) | function getHypExplorerLink( FILE: src/utils/logger.ts function isSafeSentryArg (line 22) | function isSafeSentryArg(arg: any) { FILE: src/utils/pino-noop.js function pino (line 15) | function pino() { FILE: src/utils/promises.ts function getPromisesFulfilledValues (line 4) | function getPromisesFulfilledValues(results: PromiseSettledResult) { FILE: src/utils/theme.ts function parseUiThemeMode (line 3) | function parseUiThemeMode(value: string | null | undefined): UiThemeMode... function getSystemUiThemeMode (line 8) | function getSystemUiThemeMode(): UiThemeMode { FILE: tests/e2e-wallet/approval/evm.spec.ts constant USDC_ETHEREUM (line 7) | const USDC_ETHEREUM = '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'; constant APPROVE_SELECTOR (line 8) | const APPROVE_SELECTOR = '0x095ea7b3'; constant TRANSFER_REMOTE_SELECTORS (line 12) | const TRANSFER_REMOTE_SELECTORS = [ FILE: tests/e2e-wallet/autoconnect/radix.spec.ts constant MOCK_RADIX_ADDRESS (line 6) | const MOCK_RADIX_ADDRESS = FILE: tests/e2e-wallet/autoconnect/solana.spec.ts constant MOCK_SOLANA_SHORT (line 8) | const MOCK_SOLANA_SHORT = 'EY4LF...nwGi'; FILE: tests/e2e-wallet/autoconnect/tron.spec.ts constant MOCK_TRON_ADDRESS (line 6) | const MOCK_TRON_ADDRESS = 'TE2EE2EE2EE2EE2EE2EE2EE2EE2EE2EE2E'; FILE: tests/e2e-wallet/balance-display/solana.spec.ts constant USDC_MINT_SOLANAMAINNET (line 6) | const USDC_MINT_SOLANAMAINNET = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwy... FILE: tests/e2e-wallet/destination-router/evm.spec.ts constant USDC_ETHEREUM (line 7) | const USDC_ETHEREUM = '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'; constant REMOTE_ADDRESS_RE (line 8) | const REMOTE_ADDRESS_RE = /0x[0-9a-fA-F]{40}/; function captureRemoteAddress (line 11) | async function captureRemoteAddress(page: Page, destPattern: RegExp) { FILE: tests/e2e-wallet/destination-router/solana.spec.ts constant SOLANAMAINNET_USDC_MINT (line 11) | const SOLANAMAINNET_USDC_MINT = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwy... constant EXPECTED_ROUTE_ENDPOINTS (line 12) | const EXPECTED_ROUTE_ENDPOINTS: Array<{ chain: string; addressOrDenom: s... FILE: tests/e2e-wallet/helpers/captured.ts type Window (line 5) | interface Window { function getE2EState (line 10) | async function getE2EState(page: Page): Promise { function getCapturedEvmTxs (line 16) | async function getCapturedEvmTxs(page: Page): Promise { function getCapturedSolanaTxs (line 20) | async function getCapturedSolanaTxs(page: Page): Promise { function clickContinue (line 54) | async function clickContinue(page: Page): Promise { function clickSendInReview (line 59) | async function clickSendInReview(page: Page): Promise { FILE: tests/e2e-wallet/helpers/page-setup.ts constant DEFAULT_BASE (line 3) | const DEFAULT_BASE = 'http://localhost:3000'; type OpenE2EAppOptions (line 5) | interface OpenE2EAppOptions { function openE2EApp (line 10) | async function openE2EApp(page: Page, opts: OpenE2EAppOptions = {}): Pro... function waitForWarpRuntime (line 21) | async function waitForWarpRuntime(page: Page, timeoutMs = 20_000): Promi... FILE: tests/e2e-wallet/helpers/solanaRpc.ts type SolanaSplFixture (line 10) | interface SolanaSplFixture { type InstallSolanaRpcMockOptions (line 20) | interface InstallSolanaRpcMockOptions { constant TOKEN_PROGRAM_ID (line 31) | const TOKEN_PROGRAM_ID = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'; constant TOKEN_2022_PROGRAM_ID (line 32) | const TOKEN_2022_PROGRAM_ID = 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxu... constant SOL_LAMPORTS (line 33) | const SOL_LAMPORTS = 1_000_000_000; function installSolanaRpcMock (line 35) | async function installSolanaRpcMock( function isSolanaMethod (line 75) | function isSolanaMethod(method?: string): boolean { type HandleCtx (line 98) | interface HandleCtx { function handleOne (line 104) | function handleOne(itemUnknown: unknown, ctx: HandleCtx): unknown { function buildParsedAccount (line 189) | function buildParsedAccount({ function deriveSyntheticAta (line 231) | function deriveSyntheticAta(owner: string, mint: string): string { function formatUiAmount (line 238) | function formatUiAmount( FILE: tests/e2e-wallet/helpers/types.ts type CapturedEvmTx (line 4) | interface CapturedEvmTx { type CapturedSolanaTx (line 12) | interface CapturedSolanaTx { type CapturedCosmosTx (line 18) | interface CapturedCosmosTx { type E2ETokenSnapshot (line 25) | interface E2ETokenSnapshot { type WarpE2EState (line 35) | interface WarpE2EState { FILE: tests/e2e-wallet/same-symbol-dedup/cosmos.spec.ts function openOriginAndSearch (line 4) | async function openOriginAndSearch(page: import('@playwright/test').Page... FILE: tests/e2e-wallet/same-symbol-dedup/evm.spec.ts constant USDC_ARBITRUM (line 7) | const USDC_ARBITRUM = '0xaf88d065e77c8cc2239327c5edb3a432268e5831'; FILE: tests/e2e-wallet/tx-payload/evm.spec.ts constant USDC_ETHEREUM (line 7) | const USDC_ETHEREUM = '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'; constant TRANSFER_REMOTE_SELECTORS (line 10) | const TRANSFER_REMOTE_SELECTORS = [ FILE: tests/helpers/constants.ts function resolveTestRoutes (line 5) | function resolveTestRoutes(): { primary: string; secondary: string; skip... FILE: tests/helpers/locators.ts function getOriginTokenButton (line 3) | function getOriginTokenButton(page: Page): Locator { function getDestinationTokenButton (line 7) | function getDestinationTokenButton(page: Page): Locator { function getTipCard (line 11) | function getTipCard(page: Page): Locator { FILE: tests/wallet-connect/protocol-wallet-modals.spec.ts function selectToken (line 5) | async function selectToken(