web3bio-profile-kit 0.1.2 → 0.1.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/utils/constants.ts","../src/utils/types.ts","../src/utils/helpers.ts","../src/hooks/useBaseQuery.ts","../src/hooks/useProfile.ts","../src/hooks/useNS.ts","../src/hooks/useUniversalProfile.ts","../src/hooks/useUniversalNS.ts","../src/hooks/useBatchProfile.ts","../src/hooks/useBatchNS.ts","../src/hooks/useDomain.ts"],"sourcesContent":["export const API_ENDPOINT = \"https://api.web3.bio\";\n\nexport enum ErrorMessages {\n NOT_FOUND = \"Not Found\",\n INVALID_RESOLVER = \"Invalid Resolver Address\",\n INVALID_RESOLVED = \"Invalid Resolved Address\",\n NOT_EXIST = \"Does Not Exist\",\n INVALID_IDENTITY = \"Invalid Identity or Domain\",\n INVALID_ADDRESS = \"Invalid Address\",\n UNKNOWN_ERROR = \"Unknown Error Occurred\",\n NETWORK_ERROR = \"Network Error\",\n}\n\nexport enum QueryEndpoint {\n NS = \"ns\",\n PROFILE = \"profile\",\n DOMAIN = \"domain\",\n}\n\n// Regular expressions for identity detection\nexport const REGEX = {\n ENS: /^.+\\.(eth|xyz|bio|app|luxe|kred|art|ceo|club|box)$/i,\n BASENAMES: /^.+\\.base(\\.eth)?$/i,\n LINEA: /^.+\\.linea(\\.eth)?$/i,\n FARCASTER:\n /^(?:[A-Za-z0-9_-]{1,61}(?:(?:\\.eth)?(?:\\.farcaster|\\.fcast\\.id|\\.farcaster\\.eth)?)?|farcaster,#\\d+)$/i,\n LENS: /^(?:.+\\.lens)$/i,\n CLUSTER: /^[\\w-]+\\/[\\w-]+$/,\n SPACE_ID: /^.+\\.(bnb|arb)$/i,\n GENOME: /^.+\\.gno$/i,\n UNSTOPPABLE_DOMAINS:\n /^.+\\.(crypto|888|nft|blockchain|bitcoin|dao|x|klever|hi|zil|kresus|polygon|wallet|binanceus|anime|go|manga|eth)$/i,\n CROSSBELL: /^.+\\.csb$/i,\n DOTBIT: /^.+\\.bit$/i,\n SNS: /^.+\\.sol$/i,\n ETH_ADDRESS: /^0x[a-fA-F0-9]{40}$/i,\n BTC_ADDRESS: /\\b([13][a-km-zA-HJ-NP-Z1-9]{25,34}|bc1[qp][a-z0-9]{11,71})\\b/,\n SOLANA_ADDRESS: /^[1-9A-HJ-NP-Za-km-z]{32,44}$/,\n LOWERCASE_EXEMPT:\n /\\b(?:(?:[13][a-km-zA-HJ-NP-Z1-9]{25,34}|bc1[qp][a-z0-9]{11,71})|(?:[1-9A-HJ-NP-Za-km-z]{32,44}))\\b/,\n TWITTER: /^[A-Za-z0-9_]{1,15}(?:\\.twitter)?$/i,\n NEXT_ID: /^0x[a-f0-9]{66}(?:\\.nextid)?$/i,\n};\n","export enum PlatformType {\n ens = \"ens\",\n farcaster = \"farcaster\",\n lens = \"lens\",\n ethereum = \"ethereum\",\n twitter = \"twitter\",\n github = \"github\",\n bitcoin = \"bitcoin\",\n unstoppableDomains = \"unstoppabledomains\",\n basenames = \"basenames\",\n linea = \"linea\",\n space_id = \"space_id\",\n solana = \"solana\",\n sns = \"sns\",\n nextid = \"nextid\",\n dotbit = \"dotbit\",\n}\n\nexport enum SourceType {\n ethereum = \"ethereum\",\n ens = \"ens\",\n twitter = \"twitter\",\n nextid = \"nextid\",\n dotbit = \"dotbit\",\n unstoppabledomains = \"unstoppabledomains\",\n lens = \"lens\",\n farcaster = \"farcaster\",\n space_id = \"space_id\",\n solana = \"solana\",\n sns = \"sns\",\n}\n\nexport type SocialLinksItem = {\n link: string | null;\n handle: string | null;\n sources: SourceType[];\n};\n\nexport type SocialLinks = Record<string, SocialLinksItem>;\n\nexport interface ProfileResponse {\n identity: string;\n address: string | null;\n avatar: string | null;\n description: string | null;\n platform: string;\n displayName: string | null;\n email: string | null;\n contenthash: string | null;\n header: string | null;\n location: string | null;\n createdAt: string | null;\n status: string | null;\n error?: string;\n links: SocialLinks;\n aliases?: string[];\n social:\n | {\n uid: number | null;\n follower: number;\n following: number;\n }\n | {};\n}\n\nexport interface NSResponse {\n identity: string;\n address: string | null;\n avatar: string | null;\n description: string | null;\n platform: string;\n displayName: string | null;\n aliases?: string[];\n}\n\nexport interface DomainResponse {\n identity: string;\n platform: PlatformType;\n resolvedAddress: string | null;\n ownerAddress: string | null;\n managerAddress: string | null;\n displayName: string | null;\n isPrimary: boolean;\n status: string;\n createdAt: string | null;\n updatedAt: string | null;\n expiredAt: string | null;\n contenthash: string | null;\n texts: Record<string, string>;\n addresses: Record<string, string>;\n}\n\nexport type QueryOptions = {\n /** API Key for authentication */\n apiKey?: string;\n /** Whether the query should execute */\n enabled?: boolean;\n};\n\nexport type IdentityString = string | `${PlatformType},${string}`;\n\nexport type QueryResult<T> = {\n data: T | null;\n isLoading: boolean;\n error: Error | null;\n};\n\n// Query-specific result types for better type safety\nexport type ProfileResult = QueryResult<ProfileResponse>;\nexport type NSResult = QueryResult<NSResponse>;\nexport type ProfileBatchResult = QueryResult<ProfileResponse[]>;\nexport type NSBatchResult = QueryResult<NSResponse[]>;\nexport type ProfileUniversalResult = QueryResult<ProfileResponse[]>;\nexport type NSUniversalResult = QueryResult<NSResponse[]>;\nexport type DomainResult = QueryResult<DomainResponse>;\n","import { REGEX } from \"./constants\";\nimport { PlatformType } from \"./types\";\n\n/**\n * Resolves an identity string to a platform and identifier\n * @param input The identity to resolve\n * @returns A formatted identity string or null if invalid\n */\nexport const resolveIdentity = (input: string): string | null => {\n if (!input) return null;\n\n const parts = input.split(\",\");\n\n let platform: PlatformType;\n let identity: string;\n\n if (parts.length === 2) {\n // Format is already \"platform,identity\"\n platform = parts[0] as PlatformType;\n identity = prettify(parts[1]);\n } else if (parts.length === 1) {\n // Auto-detect platform from the identity string\n platform = detectPlatform(input);\n identity = prettify(input);\n } else {\n return null;\n }\n\n if (!isSupportedPlatform(platform) || !identity) return null;\n\n // Normalize case except for case-sensitive identities\n const normalizedIdentity = REGEX.LOWERCASE_EXEMPT.test(identity)\n ? identity\n : identity.toLowerCase();\n\n return `${platform},${normalizedIdentity}`;\n};\n\n/**\n * Clean up and standardize identity format\n */\nexport const prettify = (input: string): string => {\n if (!input) return \"\";\n if (input.endsWith(\".twitter\")) return input.replace(\".twitter\", \"\");\n if (input.endsWith(\".nextid\")) return input.replace(\".nextid\", \"\");\n if (input.startsWith(\"farcaster,#\"))\n return input.replace(/^(farcaster),/, \"\");\n if (\n input.endsWith(\".farcaster\") ||\n input.endsWith(\".fcast.id\") ||\n input.endsWith(\".farcaster.eth\")\n ) {\n return input.replace(/(\\.farcaster|\\.fcast\\.id|\\.farcaster\\.eth)$/, \"\");\n }\n if (input.endsWith(\".base\") || input.endsWith(\".linea\")) {\n return input.split(\".\")[0] + \".\" + input.split(\".\").pop() + \".eth\";\n }\n return input;\n};\n\n/**\n * Check if the platform is supported for API queries\n */\nexport const isSupportedPlatform = (\n platform?: PlatformType | null,\n): boolean => {\n if (!platform) return false;\n return Object.values(PlatformType).includes(platform as PlatformType);\n};\n\n/**\n * Detect platform from identity string based on regex patterns\n */\nexport const detectPlatform = (term: string): PlatformType => {\n if (term.endsWith(\".farcaster.eth\")) return PlatformType.farcaster;\n\n const platformMap: [RegExp, PlatformType][] = [\n [REGEX.BASENAMES, PlatformType.basenames],\n [REGEX.LINEA, PlatformType.linea],\n [REGEX.ENS, PlatformType.ens],\n [REGEX.ETH_ADDRESS, PlatformType.ethereum],\n [REGEX.LENS, PlatformType.lens],\n [REGEX.UNSTOPPABLE_DOMAINS, PlatformType.unstoppableDomains],\n [REGEX.SPACE_ID, PlatformType.space_id],\n [REGEX.DOTBIT, PlatformType.dotbit],\n [REGEX.SNS, PlatformType.sns],\n [REGEX.BTC_ADDRESS, PlatformType.bitcoin],\n [REGEX.SOLANA_ADDRESS, PlatformType.solana],\n [REGEX.FARCASTER, PlatformType.farcaster],\n [REGEX.TWITTER, PlatformType.twitter],\n [REGEX.NEXT_ID, PlatformType.nextid],\n ];\n\n for (const [regex, platformType] of platformMap) {\n if (regex.test(term)) {\n return platformType;\n }\n }\n\n // Default fallback\n return term.includes(\".\") ? PlatformType.ens : PlatformType.farcaster;\n};\n\n/**\n * Get API key from various environment sources or user provided value\n */\nexport const getApiKey = (userProvidedKey?: string): string | undefined => {\n return (\n userProvidedKey ||\n process.env.WEB3BIO_API_KEY ||\n process.env.REACT_APP_WEB3BIO_API_KEY ||\n process.env.NEXT_PUBLIC_WEB3BIO_API_KEY ||\n process.env.VITE_WEB3BIO_API_KEY\n );\n};\n","import type { IdentityString, QueryOptions, QueryResult } from \"../utils/types\";\nimport { useState, useEffect, useRef } from \"react\";\nimport { API_ENDPOINT, ErrorMessages, QueryEndpoint } from \"../utils/constants\";\nimport { getApiKey, resolveIdentity } from \"../utils/helpers\";\n\n/**\n * Constructs the API URL based on query parameters\n */\nconst buildApiUrl = (\n identity: IdentityString | IdentityString[],\n endpoint: QueryEndpoint,\n universal: boolean,\n): string | null => {\n // Handle batch requests\n if (Array.isArray(identity)) {\n return `${API_ENDPOINT}/${endpoint}/batch/${encodeURIComponent(JSON.stringify(identity))}`;\n }\n\n // Handle universal queries\n if (universal) {\n return `${API_ENDPOINT}/${endpoint}/${identity}`;\n }\n\n // Handle platform-specific queries\n const resolvedId = resolveIdentity(identity);\n if (!resolvedId) return null;\n\n // Domain endpoint uses resolved ID directly\n if (endpoint === QueryEndpoint.DOMAIN) {\n return `${API_ENDPOINT}/${endpoint}/${resolvedId}`;\n }\n\n // Other endpoints need platform/handle split\n const [platform, handle] = resolvedId.split(\",\");\n return `${API_ENDPOINT}/${endpoint}/${platform}/${handle}`;\n};\n\n// Generate a stable cache key for this request\nconst getCacheKey = (\n identity: IdentityString | IdentityString[],\n endpoint: QueryEndpoint,\n universal: boolean,\n): string => {\n return JSON.stringify({\n identity,\n endpoint,\n universal,\n });\n};\n\n// Create a cache to store results across component instances and re-renders\nconst globalRequestCache = new Map<string, any>();\n\n/**\n * Core hook for querying Web3.bio Profile API\n */\nexport function useBaseQuery<T>(\n identity: IdentityString | IdentityString[],\n endpoint: QueryEndpoint,\n universal: boolean = false,\n options: QueryOptions = {},\n): QueryResult<T> {\n const { apiKey: userApiKey, enabled = true } = options;\n const apiKey = getApiKey(userApiKey);\n\n const [data, setData] = useState<T | null>(() => {\n // Initialize state from cache if available\n const cacheKey = getCacheKey(identity, endpoint, universal);\n return (globalRequestCache.get(cacheKey) as T) || null;\n });\n const [isLoading, setIsLoading] = useState<boolean>(false);\n const [error, setError] = useState<Error | null>(null);\n\n // Use ref to track in-flight requests and prevent race conditions\n const requestIdRef = useRef<number>(0);\n const prevParamsRef = useRef<string>(\"\");\n\n // Current request parameters as a string for comparison\n const currentParams = JSON.stringify({\n identity,\n endpoint,\n universal,\n });\n\n useEffect(() => {\n // Don't run the query if disabled or no identity\n if (!enabled || !identity) return;\n\n // Skip if parameters haven't changed\n if (currentParams === prevParamsRef.current && data !== null) {\n return;\n }\n\n // Update previous parameters\n prevParamsRef.current = currentParams;\n\n // Generate cache key\n const cacheKey = getCacheKey(identity, endpoint, universal);\n\n // Check if we already have cached data\n const cachedData = globalRequestCache.get(cacheKey) as T | undefined;\n if (cachedData) {\n setData(cachedData);\n return;\n }\n\n // Increment request ID to track the latest request\n const requestId = ++requestIdRef.current;\n\n setIsLoading(true);\n setError(null);\n\n const fetchData = async () => {\n try {\n const url = buildApiUrl(identity, endpoint, universal);\n\n if (!url) {\n throw new Error(ErrorMessages.INVALID_IDENTITY);\n }\n\n const headers: HeadersInit = apiKey ? { \"x-api-key\": apiKey } : {};\n\n const fetchOptions: RequestInit = {\n method: \"GET\",\n headers,\n };\n\n const response = await fetch(url, fetchOptions);\n\n if (!response.ok) {\n throw new Error(`API error: ${response.status}`);\n }\n\n const responseData = await response.json();\n\n if (responseData?.error) {\n throw new Error(responseData.error);\n }\n\n if (requestId === requestIdRef.current) {\n globalRequestCache.set(cacheKey, responseData);\n setData(responseData as T);\n setIsLoading(false);\n }\n } catch (err) {\n if (requestId === requestIdRef.current) {\n setError(err instanceof Error ? err : new Error(String(err)));\n setIsLoading(false);\n }\n }\n };\n\n fetchData();\n }, [currentParams, enabled]);\n\n return { data, isLoading, error };\n}\n","import type {\n IdentityString,\n ProfileResponse,\n ProfileResult,\n QueryOptions,\n} from \"../utils/types\";\nimport { QueryEndpoint } from \"../utils/constants\";\nimport { useBaseQuery } from \"./useBaseQuery\";\n\n/**\n * Hook to query Web3.bio profile data by identity\n *\n * @param identity - Identity string\n * @param options - Optional configuration options\n * @returns Object containing profile data, loading state, and any errors\n *\n * @example\n * // Query by ENS name\n * const { data, isLoading, error } = useProfile(\"vitalik.eth\");\n *\n * // Query with platform specification\n * const { data } = useProfile(\"farcaster,dwr\");\n */\nexport function useProfile(\n identity: IdentityString,\n options: QueryOptions = {},\n): ProfileResult {\n return useBaseQuery<ProfileResponse>(\n identity,\n QueryEndpoint.PROFILE,\n false,\n options,\n );\n}\n","import type {\n NSResponse,\n QueryOptions,\n IdentityString,\n NSResult,\n} from \"../utils/types\";\nimport { QueryEndpoint } from \"../utils/constants\";\nimport { useBaseQuery } from \"./useBaseQuery\";\n\n/**\n * Hook to query Web3.bio name service (NS) data by identity\n *\n * @param identity - Identity string\n * @param options - Optional configuration options\n * @returns Object containing NS data, loading state, and any errors\n *\n * @example\n * // Query by ENS name\n * const { data, isLoading, error } = useNS(\"vitalik.eth\");\n *\n * // Query by Ethereum address\n * const { data } = useNS(\"0x123...\");\n */\nexport function useNS(\n identity: IdentityString,\n options: QueryOptions = {},\n): NSResult {\n return useBaseQuery<NSResponse>(identity, QueryEndpoint.NS, false, options);\n}\n","import type {\n IdentityString,\n ProfileResponse,\n ProfileUniversalResult,\n QueryOptions,\n} from \"../utils/types\";\nimport { QueryEndpoint } from \"../utils/constants\";\nimport { useBaseQuery } from \"./useBaseQuery\";\n\n/**\n * Hook to query Web3.bio profile data using universal identity lookup\n *\n * @param identity - Identity string\n * @param options - Optional configuration options\n * @returns Object containing profile data, loading state, and any errors\n *\n * @example\n * // Query by ENS name with universal lookup\n * const { data, isLoading, error } = useUniversalProfile(\"vitalik.eth\");\n *\n * // Query by any identity type with universal lookup\n * const { data } = useUniversalProfile(\"dwr.farcaster\");\n */\nexport function useUniversalProfile(\n identity: IdentityString,\n options: QueryOptions = {},\n): ProfileUniversalResult {\n return useBaseQuery<ProfileResponse[]>(\n identity,\n QueryEndpoint.PROFILE,\n true,\n options,\n );\n}\n","import type {\n NSResponse,\n QueryOptions,\n IdentityString,\n NSUniversalResult,\n} from \"../utils/types\";\nimport { QueryEndpoint } from \"../utils/constants\";\nimport { useBaseQuery } from \"./useBaseQuery\";\n\n/**\n * Hook to query Web3.bio name service (NS) data using universal identity lookup\n *\n * @param identity - Identity string\n * @param options - Optional configuration options\n * @returns Object containing NS data, loading state, and any errors\n *\n * @example\n * // Query by ENS name with universal lookup\n * const { data, isLoading, error } = useUniversalNS(\"vitalik.eth\");\n *\n * // Query by any identity type with universal lookup\n * const { data } = useUniversalNS(\"dwr.farcaster\");\n */\nexport function useUniversalNS(\n identity: IdentityString,\n options: QueryOptions = {},\n): NSUniversalResult {\n return useBaseQuery<NSResponse[]>(identity, QueryEndpoint.NS, true, options);\n}\n","import type {\n IdentityString,\n ProfileBatchResult,\n ProfileResponse,\n QueryOptions,\n} from \"../utils/types\";\nimport { QueryEndpoint } from \"../utils/constants\";\nimport { useBaseQuery } from \"./useBaseQuery\";\n\n/**\n * Hook to query Web3.bio profile data using batch identity lookup\n *\n * @param identity - array of Identity string\n * @param options - Optional configuration options\n * @returns Object containing profile data, loading state, and any errors\n *\n * @example\n * // Query by any identity type with batch lookup\n * const { data } = useBatchProfile([\"dwr.farcaster\",\"ens,vitalik.eth\",\"sujiyan.eth\",\"stani.lens\"]);\n */\nexport function useBatchProfile(\n identity: IdentityString[],\n options: QueryOptions = {},\n): ProfileBatchResult {\n return useBaseQuery<ProfileResponse[]>(\n identity,\n QueryEndpoint.PROFILE,\n false,\n options,\n );\n}\n","import type {\n IdentityString,\n NSBatchResult,\n NSResponse,\n QueryOptions,\n} from \"../utils/types\";\nimport { QueryEndpoint } from \"../utils/constants\";\nimport { useBaseQuery } from \"./useBaseQuery\";\n\n/**\n * Hook to query Web3.bio profile data using batch(NS) identity lookup\n *\n * @param identity - array of Identity string\n * @param options - Optional configuration options\n * @returns Object containing profile data, loading state, and any errors\n *\n * @example\n * // Query by any identity type with batch lookup\n * const { data } = useBatchNS([\"dwr.farcaster\",\"ens,vitalik.eth\",\"sujiyan.eth\",\"stani.lens\"]);\n */\nexport function useBatchNS(\n identity: IdentityString[],\n options: QueryOptions = {},\n): NSBatchResult {\n return useBaseQuery<NSResponse[]>(identity, QueryEndpoint.NS, false, options);\n}\n","import type {\n DomainResponse,\n DomainResult,\n IdentityString,\n QueryOptions,\n} from \"../utils/types\";\nimport { QueryEndpoint } from \"../utils/constants\";\nimport { useBaseQuery } from \"./useBaseQuery\";\n\n/**\n * Hook to query Web3.bio domain data by identity\n *\n * @param identity - Identity string\n * @param options - Optional configuration options\n * @returns Object containing domain data, loading state, and any errors\n *\n * @example\n * // Query by ENS name\n * const { data, isLoading, error } = useDomain(\"vitalik.eth\");\n *\n * // Query by domain name with platform\n * const { data } = useDomain(\"ens,vitalik.eth\");\n */\nexport function useDomain(\n identity: IdentityString,\n options: QueryOptions = {},\n): DomainResult {\n return useBaseQuery<DomainResponse>(\n identity,\n QueryEndpoint.DOMAIN,\n false,\n options,\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/utils/constants.ts","../src/utils/platform.ts","../src/utils/helpers.ts","../src/hooks/useBaseQuery.ts","../src/hooks/useProfile.ts","../src/hooks/useNS.ts","../src/hooks/useUniversalProfile.ts","../src/hooks/useUniversalNS.ts","../src/hooks/useBatchProfile.ts","../src/hooks/useBatchNS.ts","../src/hooks/useDomain.ts","../src/utils/source.ts","../src/utils/cointype.ts","../src/utils/network.ts"],"sourcesContent":["export const API_ENDPOINT = \"https://api.web3.bio\";\n\nexport enum ErrorMessages {\n NOT_FOUND = \"Not Found\",\n INVALID_RESOLVER = \"Invalid Resolver Address\",\n INVALID_RESOLVED = \"Invalid Resolved Address\",\n NOT_EXIST = \"Does Not Exist\",\n INVALID_IDENTITY = \"Invalid Identity or Domain\",\n INVALID_ADDRESS = \"Invalid Address\",\n UNKNOWN_ERROR = \"Unknown Error Occurred\",\n NETWORK_ERROR = \"Network Error\",\n}\n\nexport enum QueryEndpoint {\n NS = \"ns\",\n PROFILE = \"profile\",\n DOMAIN = \"domain\",\n}\n\n// Regular expressions for identity detection\nexport const REGEX = {\n ENS: /^.+\\.(?:eth|xyz|bio|app|luxe|kred|art|ceo|club|box|uni\\.eth|cb\\.id)$/i,\n BASENAMES: /^.+\\.base(?:\\.eth)?$/i,\n LINEA: /^.+\\.linea(?:\\.eth)?$/i,\n FARCASTER:\n /^(?:[A-Za-z0-9_-]{1,61}(?:\\.(?:eth|farcaster|fcast\\.id|farcaster\\.eth))?|farcaster,#\\d+)$/i,\n LENS: /^.+\\.lens$/i,\n CLUSTER: /^[\\w-]+\\/[\\w-]+$/,\n SPACE_ID: /^.+\\.(?:bnb|arb)$/i,\n GENOME: /^.+\\.gno$/i,\n UNSTOPPABLE_DOMAINS:\n /^.+\\.(?:crypto|888|nft|blockchain|bitcoin|dao|x|klever|hi|zil|kresus|polygon|wallet|binanceus|anime|go|manga|eth)$/i,\n CROSSBELL: /^.+\\.csb$/i,\n DOTBIT: /^.+\\.bit$/i,\n SNS: /^.+\\.sol$/i,\n ETH_ADDRESS: /^0x[a-fA-F0-9]{40}$/,\n BTC_ADDRESS: /^(?:[13][a-km-zA-HJ-NP-Z1-9]{25,34}|bc1[qp][a-z0-9]{11,71})$/,\n SOLANA_ADDRESS: /^[1-9A-HJ-NP-Za-km-z]{32,44}$/,\n LOWERCASE_EXEMPT:\n /^(?:[13][a-km-zA-HJ-NP-Z1-9]{25,34}|bc1[qp][a-z0-9]{11,71}|[1-9A-HJ-NP-Za-km-z]{32,44})$/,\n TWITTER: /^[A-Za-z0-9_]{1,15}(?:\\.twitter)?$/i,\n NEXT_ID: /^0x[a-f0-9]{66}(?:\\.nextid)?$/i,\n};\n","export enum PlatformType {\n ens = \"ens\",\n dotbit = \"dotbit\",\n lens = \"lens\",\n box = \"box\",\n ethereum = \"ethereum\",\n twitter = \"twitter\",\n nextid = \"nextid\",\n bitcoin = \"bitcoin\",\n keybase = \"keybase\",\n reddit = \"reddit\",\n github = \"github\",\n unstoppableDomains = \"unstoppabledomains\",\n basenames = \"basenames\",\n linea = \"linea\",\n ckb = \"ckb\",\n farcaster = \"farcaster\",\n space_id = \"space_id\",\n telegram = \"telegram\",\n instagram = \"instagram\",\n cyberconnect = \"cyberconnect\",\n opensea = \"opensea\",\n discord = \"discord\",\n calendly = \"calendly\",\n url = \"url\",\n website = \"website\",\n linkedin = \"linkedin\",\n dns = \"dns\",\n tron = \"tron\",\n hey = \"hey\",\n facebook = \"facebook\",\n threads = \"threads\",\n whatsapp = \"whatsapp\",\n weibo = \"weibo\",\n youtube = \"youtube\",\n tiktok = \"tiktok\",\n bilibili = \"bilibili\",\n medium = \"medium\",\n mirror = \"mirror\",\n zerion = \"zerion\",\n aave = \"aave\",\n rainbow = \"rainbow\",\n bluesky = \"bluesky\",\n nostr = \"nostr\",\n poap = \"poap\",\n uniswap = \"uniswap\",\n degenscore = \"degenscore\",\n firefly = \"firefly\",\n solana = \"solana\",\n sns = \"sns\",\n mstdnjp = \"mstdnjp\",\n lobsters = \"lobsters\",\n hackernews = \"hackernews\",\n crossbell = \"crossbell\",\n minds = \"minds\",\n paragraph = \"paragraph\",\n genome = \"genome\",\n gnosis = \"gnosis\",\n webacy = \"webacy\",\n clusters = \"clusters\",\n guild = \"guild\",\n ton = \"ton\",\n snapshot = \"snapshot\",\n coingecko = \"coingecko\",\n gitcoin = \"gitcoin\",\n humanpassport = \"humanpassport\",\n talent = \"talentprotocol\",\n doge = \"doge\",\n bsc = \"bsc\",\n aptos = \"aptos\",\n near = \"near\",\n stacks = \"stacks\",\n cosmos = \"cosmos\",\n zeta = \"zeta\",\n mode = \"mode\",\n arbitrum = \"arbitrum\",\n scroll = \"scroll\",\n taiko = \"taiko\",\n mint = \"mint\",\n zkfair = \"zkfair\",\n manta = \"manta\",\n lightlink = \"lightlink\",\n merlin = \"merlin\",\n alienx = \"alienx\",\n edgeless = \"edgeless\",\n tomo = \"tomo\",\n ailayer = \"ailayer\",\n philand = \"philand\",\n efp = \"efp\",\n gravity = \"gravity\",\n}\n\nexport type SocialPlatform = {\n color?: string;\n icon?: string;\n label: string;\n description?: string;\n urlPrefix?: string;\n ensText?: string[];\n registerlink?: string;\n editUrlPrefix?: string;\n system: PlatformSystem;\n};\n\nexport enum PlatformSystem {\n web2 = 0,\n web3 = 1,\n}\n\nexport const DEFAULT_PLATFORM: Readonly<SocialPlatform> = {\n color: \"#000000\",\n icon: \"\",\n label: \"\",\n description: \"\",\n urlPrefix: \"\",\n ensText: [],\n registerlink: \"\",\n editUrlPrefix: \"\",\n system: PlatformSystem.web3,\n};\n\nexport const PLATFORM_DATA: ReadonlyMap<\n PlatformType,\n Readonly<SocialPlatform>\n> = new Map([\n [\n PlatformType.twitter,\n {\n color: \"#000000\",\n icon: \"icons/icon-x.svg\",\n label: \"Twitter (X)\",\n urlPrefix: \"https://x.com/\",\n ensText: [\"com.twitter\", \"com.x\", \"vnd.twitter\", \"twitter\"],\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.ens,\n {\n color: \"#0080bc\",\n icon: \"icons/icon-ens.svg\",\n label: \"ENS\",\n description: \"Ethereum Name Service (ENS and .eth domain)\",\n urlPrefix: \"https://app.ens.domains/\",\n registerlink: \"https://app.ens.domains/{name}\",\n editUrlPrefix: \"https://app.ens.domains/{name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.ethereum,\n {\n color: \"#3741ba\",\n icon: \"icons/icon-ethereum.svg\",\n label: \"Ethereum\",\n urlPrefix: \"https://etherscan.io/address/\",\n editUrlPrefix: \"https://app.ens.domains/{name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.farcaster,\n {\n color: \"#432C8D\",\n icon: \"icons/icon-farcaster.svg\",\n label: \"Farcaster\",\n description: \"Farcaster social identity (Fname handle)\",\n urlPrefix: \"https://farcaster.xyz/\",\n editUrlPrefix: \"https://farcaster.xyz/~/settings\",\n ensText: [\"farcaster\", \"xyz.farcaster\"],\n registerlink:\n \"https://farcaster.xyz/~/invite-page/1000?id=8ebad588&name={name}\",\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.github,\n {\n color: \"#000000\",\n icon: \"icons/icon-github.svg\",\n label: \"GitHub\",\n urlPrefix: \"https://github.com/\",\n ensText: [\"com.github\", \"vnd.github\", \"github\"],\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.keybase,\n {\n color: \"#4162E2\",\n icon: \"icons/icon-keybase.svg\",\n label: \"Keybase\",\n urlPrefix: \"https://keybase.io/\",\n ensText: [\"io.keybase\", \"keybase\"],\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.lens,\n {\n color: \"#2CC256\",\n icon: \"icons/icon-lens.svg\",\n label: \"Lens\",\n description: \"Lens social identity (.lens handle)\",\n urlPrefix: \"https://hey.xyz/u/\",\n editUrlPrefix: \"https://hey.xyz/settings\",\n ensText: [\"lens\"],\n registerlink: \"https://www.lens.xyz/mint?name={name}\",\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.box,\n {\n color: \"#1a1a1a\",\n icon: \"icons/icon-box.svg\",\n label: \"Box\",\n registerlink: \"https://my.box/buy/configure?domain={name}&ref=web3bio\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.nextid,\n {\n color: \"#000000\",\n icon: \"icons/icon-nextid.svg\",\n label: \"Next.ID\",\n urlPrefix: \"https://web3.bio/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.bitcoin,\n {\n color: \"#F7931A\",\n icon: \"icons/icon-bitcoin.svg\",\n label: \"Bitcoin\",\n urlPrefix: \"https://explorer.cloverpool.com/btc/address/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.reddit,\n {\n color: \"#ff4500\",\n icon: \"icons/icon-reddit.svg\",\n label: \"Reddit\",\n urlPrefix: \"https://www.reddit.com/user/\",\n ensText: [\"com.reddit\"],\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.space_id,\n {\n color: \"#71EBAA\",\n icon: \"icons/icon-spaceid.svg\",\n label: \"SPACE ID\",\n registerlink: \"https://space.id/search?query={name}\",\n urlPrefix: \"https://web3.bio/?s=\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.unstoppableDomains,\n {\n color: \"#2E65F5\",\n icon: \"icons/icon-unstoppabledomains.svg\",\n label: \"Unstoppable Domains\",\n description:\n \"Unstoppable Domains (.x, .crypto and other Web3 domains), and ud.me Unstoppable Profiles\",\n urlPrefix: \"https://web3.bio/\",\n editUrlPrefix: \"https://unstoppabledomains.com/d/{name}\",\n registerlink: \"https://unstoppabledomains.com/search?searchTerm={name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.basenames,\n {\n color: \"#0052ff\",\n icon: \"icons/icon-base.svg\",\n label: \"Basenames\",\n description: \"Basenames (.base.eth domains) based on ENS\",\n urlPrefix: \"https://www.base.org/name/\",\n editUrlPrefix: \"https://www.base.org/name/{name}\",\n registerlink: \"https://www.base.org/names?claim={name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.linea,\n {\n color: \"#591FE6\",\n icon: \"icons/icon-linea.svg\",\n label: \"Linea Name Service\",\n description: \"Linea Name Service (.linea.eth domains) based on ENS\",\n urlPrefix: \"https://names.linea.build/\",\n editUrlPrefix: \"https://names.linea.build/{name}\",\n registerlink: \"https://names.linea.build/{name}/register\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.ckb,\n {\n color: \"#000000\",\n icon: \"icons/icon-ckb.svg\",\n label: \"Nervos\",\n urlPrefix: \"https://explorer.nervos.org/address/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.telegram,\n {\n color: \"#0088cc\",\n icon: \"icons/icon-telegram.svg\",\n label: \"Telegram\",\n ensText: [\"org.telegram\", \"vnd.telegram\", \"telegram\"],\n urlPrefix: \"https://t.me/\",\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.instagram,\n {\n color: \"#E1306C\",\n icon: \"icons/icon-instagram.svg\",\n label: \"Instagram\",\n ensText: [\"com.instagram\", \"instagram\"],\n urlPrefix: \"https://www.instagram.com/\",\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.weibo,\n {\n color: \"#df2029\",\n label: \"Weibo\",\n urlPrefix: \"https://weibo.com/\",\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.dotbit,\n {\n color: \"#0e7dff\",\n icon: \"icons/icon-dotbit.svg\",\n label: \".bit\",\n urlPrefix: \"https://d.id/\",\n registerlink: \"https://d.id/bit/account/create/{name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.cyberconnect,\n {\n color: \"#000000\",\n icon: \"icons/icon-cyberconnect.svg\",\n label: \"CyberConnect\",\n urlPrefix: \"https://link3.to/\",\n registerlink: \"\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.opensea,\n {\n color: \"#407FDB\",\n icon: \"icons/icon-opensea.svg\",\n label: \"OpenSea\",\n urlPrefix: \"https://opensea.io/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.discord,\n {\n color: \"#5865f2\",\n icon: \"icons/icon-discord.svg\",\n label: \"Discord\",\n urlPrefix: \"\",\n ensText: [\"discord\", \"com.discord\"],\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.calendly,\n {\n color: \"#2F69F6\",\n icon: \"icons/icon-calendly.svg\",\n label: \"Calendly\",\n urlPrefix: \"https://calendly.com/\",\n ensText: [\"calendly\", \"com.calendly\"],\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.url,\n {\n color: \"#121212\",\n icon: \"icons/icon-web.svg\",\n label: \"Website\",\n urlPrefix: \"\",\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.website,\n {\n color: \"#121212\",\n icon: \"icons/icon-web.svg\",\n label: \"Website\",\n urlPrefix: \"\",\n ensText: [\"url\", \"website\"],\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.linkedin,\n {\n color: \"#195DB4\",\n icon: \"icons/icon-linkedin.svg\",\n label: \"LinkedIn\",\n ensText: [\"com.linkedin\", \"linkedin\"],\n urlPrefix: \"https://www.linkedin.com/in/\",\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.dns,\n {\n color: \"#000000\",\n icon: \"icons/icon-web.svg\",\n label: \"DNS\",\n urlPrefix: \"https://\",\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.tron,\n {\n color: \"#EB0029\",\n icon: \"icons/icon-tron.svg\",\n label: \"Tron\",\n urlPrefix: \"https://tronscan.org/#/address/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.hey,\n {\n color: \"#E84F64\",\n icon: \"icons/icon-hey.svg\",\n label: \"Hey\",\n urlPrefix: \"https://hey.xyz/u/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.facebook,\n {\n color: \"#385898\",\n icon: \"icons/icon-facebook.svg\",\n label: \"Facebook\",\n urlPrefix: \"https://www.facebook.com/\",\n ensText: [\"com.facebook\", \"facebook\"],\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.threads,\n {\n color: \"#000000\",\n icon: \"icons/icon-threads.svg\",\n label: \"Threads\",\n urlPrefix: \"https://www.threads.net/\",\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.whatsapp,\n {\n color: \"#25d366\",\n icon: \"icons/icon-whatsapp.svg\",\n label: \"WhatsApp\",\n urlPrefix: \"https://wa.me/\",\n ensText: [\"com.whatsapp\", \"whatsapp\"],\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.youtube,\n {\n color: \"#FF0000\",\n icon: \"icons/icon-youtube.svg\",\n label: \"Youtube\",\n urlPrefix: \"https://www.youtube.com/\",\n ensText: [\"com.youtube\", \"youtube\"],\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.tiktok,\n {\n color: \"#000000\",\n icon: \"icons/icon-tiktok.svg\",\n label: \"TikTok\",\n urlPrefix: \"https://www.tiktok.com/@\",\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.bilibili,\n {\n color: \"#00aeec\",\n icon: \"icons/icon-bilibili.svg\",\n label: \"Bilibili\",\n urlPrefix: \"https://www.bilibili.com/\",\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.medium,\n {\n color: \"#000000\",\n icon: \"icons/icon-medium.svg\",\n label: \"Medium\",\n urlPrefix: \"https://medium.com/\",\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.mirror,\n {\n color: \"#007aff\",\n icon: \"icons/icon-mirror.svg\",\n label: \"Mirror\",\n urlPrefix: \"https://mirror.xyz/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.zerion,\n {\n color: \"#3560E5\",\n icon: \"icons/icon-zerion.svg\",\n label: \"Zerion\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.aave,\n {\n color: \"#9896FF\",\n icon: \"icons/icon-aave.svg\",\n label: \"AAVE\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.rainbow,\n {\n color: \"#000000\",\n icon: \"icons/icon-rainbow.svg\",\n label: \"Rainbow\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.bluesky,\n {\n color: \"#0085ff\",\n icon: \"icons/icon-bluesky.svg\",\n label: \"Bluesky\",\n urlPrefix: \"https://bsky.app/profile/\",\n ensText: [\"app.bsky\", \"bluesky\"],\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.nostr,\n {\n color: \"#5E287D\",\n icon: \"icons/icon-nostr.svg\",\n label: \"Nostr\",\n urlPrefix: \"https://app.coracle.social/\",\n ensText: [\"nostr\"],\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.poap,\n {\n color: \"#5E58A5\",\n icon: \"icons/icon-poap.svg\",\n label: \"POAP\",\n urlPrefix: \"https://app.poap.xyz/scan/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.uniswap,\n {\n color: \"#ff007a\",\n icon: \"icons/icon-uniswap.svg\",\n label: \"Uniswap\",\n urlPrefix: \"https://uniswap.org/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.degenscore,\n {\n color: \"#a855f7\",\n icon: \"icons/icon-degenscore.svg\",\n label: \"DegenScore\",\n urlPrefix: \"https://degenscore.com/beacon/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.webacy,\n {\n color: \"#000000\",\n icon: \"icons/icon-webacy.svg\",\n label: \"Webacy\",\n urlPrefix: \"https://dapp.webacy.com/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.firefly,\n {\n color: \"#1A183D\",\n icon: \"icons/icon-firefly.svg\",\n label: \"Firefly\",\n urlPrefix: \"https://firefly.social/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.solana,\n {\n color: \"#9945FF\",\n icon: \"icons/icon-solana.svg\",\n label: \"Solana\",\n urlPrefix: \"https://solscan.io/address/\",\n editUrlPrefix: \"https://www.sns.id/domain?domain={name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.sns,\n {\n color: \"#6363E1\",\n icon: \"icons/icon-sns.svg\",\n label: \"SNS\",\n description: \"Solana Name Service (SNS and .sol domain)\",\n urlPrefix: \"https://www.sns.id/search?search=\",\n registerlink: \"https://www.sns.id/search?search={name}\",\n editUrlPrefix: \"https://www.sns.id/domain?domain={name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.mstdnjp,\n {\n color: \"#595aff\",\n icon: \"icons/icon-mastodon.svg\",\n label: \"mstdn.jp\",\n urlPrefix: \"https://mstdn.jp/@\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.lobsters,\n {\n color: \"#ac130d\",\n icon: \"icons/icon-lobsters.svg\",\n label: \"Lobsters\",\n urlPrefix: \"https://lobste.rs/~\",\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.hackernews,\n {\n color: \"#ff6600\",\n icon: \"icons/icon-hackernews.svg\",\n label: \"Hacker News\",\n urlPrefix: \"https://news.ycombinator.com/user?id=\",\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.crossbell,\n {\n color: \"#FFCF55\",\n icon: \"icons/icon-crossbell.svg\",\n label: \"Crossbell\",\n urlPrefix: \"https://crossbell.io/@\",\n registerlink: \"https://crossbell.io\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.minds,\n {\n color: \"#f7d354\",\n icon: \"icons/icon-minds.svg\",\n label: \"Minds\",\n urlPrefix: \"https://www.minds.com/\",\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.paragraph,\n {\n color: \"#2563eb\",\n icon: \"icons/icon-paragraph.svg\",\n label: \"Paragraph\",\n urlPrefix: \"https://paragraph.xyz/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.genome,\n {\n color: \"#6DD85D\",\n icon: \"icons/icon-gnosis.svg\",\n label: \"Genome\",\n urlPrefix: \"https://genomedomains.com/name/\",\n registerlink: \"https://space.id/tld/14/domains?query={name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.gnosis,\n {\n color: \"#1c352a\",\n icon: \"icons/icon-gnosis.svg\",\n label: \"Gnosis\",\n urlPrefix: \"https://gnosisscan.io/address/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.clusters,\n {\n color: \"#f0555d\",\n icon: \"icons/icon-clusters.svg\",\n label: \"Clusters\",\n urlPrefix: \"https://clusters.xyz/\",\n registerlink: \"https://clusters.xyz/register/{name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.guild,\n {\n color: \"#6062eb\",\n icon: \"icons/icon-guild.svg\",\n label: \"Guild\",\n urlPrefix: \"https://guild.xyz/\",\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.ton,\n {\n color: \"#0098EA\",\n icon: \"icons/icon-ton.svg\",\n label: \"TON\",\n urlPrefix: \"https://tonscan.org/address/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.snapshot,\n {\n color: \"#ffb503\",\n icon: \"icons/icon-snapshot.svg\",\n label: \"Snapshot\",\n urlPrefix: \"https://snapshot.org/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.coingecko,\n {\n color: \"#4BCC00\",\n icon: \"icons/icon-coingecko.svg\",\n label: \"CoinGecko\",\n urlPrefix: \"https://www.coingecko.com/en/coins/\",\n system: PlatformSystem.web2,\n },\n ],\n [\n PlatformType.gitcoin,\n {\n color: \"#4A47D3\",\n icon: \"icons/icon-gitcoin.svg\",\n label: \"Gitcoin Passport\",\n urlPrefix: \"https://passport.gitcoin.co/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.humanpassport,\n {\n color: \"#006b57\",\n icon: \"icons/icon-humanpassport.svg\",\n label: \"Human Passport\",\n urlPrefix: \"https://passport.human.tech/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.talent,\n {\n color: \"#715AE4\",\n icon: \"icons/icon-talent.svg\",\n label: \"Talent\",\n urlPrefix: \"https://passport.talentprotocol.com/profile/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.doge,\n {\n color: \"#dfc66d\",\n icon: \"icons/icon-doge.svg\",\n label: \"Dogecoin\",\n urlPrefix: \"https://dogechain.info/address/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.bsc,\n {\n color: \"#f0b90b\",\n icon: \"icons/icon-bsc.svg\",\n label: \"Binance Smart Chain\",\n urlPrefix: \"https://bscscan.com/address/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.aptos,\n {\n color: \"#6fe0b2\",\n icon: \"icons/icon-aptos.svg\",\n label: \"Aptos\",\n urlPrefix: \"https://explorer.aptoslabs.com/account/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.near,\n {\n color: \"#000000\",\n icon: \"icons/icon-near.svg\",\n label: \"NEAR Protocol\",\n urlPrefix: \"https://nearblocks.io/address/\",\n registerlink: \"https://app.mynearwallet.com/create/?name={name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.stacks,\n {\n color: \"#725DF6\",\n icon: \"icons/icon-stacks.svg\",\n label: \"Stacks\",\n urlPrefix: \"https://explorer.hiro.so/address/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.cosmos,\n {\n color: \"#000000\",\n icon: \"icons/icon-cosmos.svg\",\n label: \"Cosmos\",\n urlPrefix: \"https://www.mintscan.io/cosmos/account/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.zeta,\n {\n color: \"#005741\",\n icon: \"icons/icon-zeta.svg\",\n label: \"Zeta Name Service\",\n urlPrefix: \"https://explorer.zetachain.com/address/\",\n registerlink: \"https://space.id/tld/11/domains?query={name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.mode,\n {\n color: \"#E5FD52\",\n icon: \"icons/icon-mode.svg\",\n label: \"Mode Name Service\",\n urlPrefix: \"https://explorer.mode.network/address/\",\n registerlink: \"https://space.id/tld/6/domains?query={name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.arbitrum,\n {\n color: \"#2949d4\",\n icon: \"icons/icon-arbitrum.svg\",\n label: \".arb Name Service\",\n urlPrefix: \"https://arbiscan.io/address/\",\n registerlink: \"https://space.id/tld/2/domains?query={name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.scroll,\n {\n color: \"#b78544\",\n icon: \"icons/icon-scroll.svg\",\n label: \"Scroll\",\n urlPrefix: \"https://scrollscan.com/address/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.taiko,\n {\n color: \"#E81899\",\n icon: \"icons/icon-taiko.svg\",\n label: \"DotTaiko Name Service\",\n urlPrefix: \"https://taikoscan.io/address/\",\n registerlink: \"https://space.id/tld/16/domains?query={name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.mint,\n {\n color: \"#00A57C\",\n icon: \"icons/icon-mint.svg\",\n label: \"Mint Name Service\",\n urlPrefix: \"https://explorer.mintchain.io/address/\",\n registerlink: \"https://space.id/tld/18/domains?query={name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.zkfair,\n {\n color: \"#D43F36\",\n icon: \"icons/icon-zkfair.svg\",\n label: \"zkFair\",\n urlPrefix: \"https://scan.zkfair.io/address/\",\n registerlink: \"https://space.id/tld/8/domains?query={name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.manta,\n {\n color: \"#0091ff\",\n icon: \"icons/icon-manta.svg\",\n label: \"Manta Name Service\",\n urlPrefix: \"https://pacific-explorer.manta.network/address/\",\n registerlink: \"https://space.id/tld/3/domains?query={name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.lightlink,\n {\n color: \"#00BFFF\",\n icon: \"icons/icon-lightlink.svg\",\n label: \"LightLink Name Service\",\n urlPrefix: \"https://phoenix.lightlink.io/address/\",\n registerlink: \"https://space.id/tld/9/domains?query={name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.merlin,\n {\n color: \"#5A32A3\",\n icon: \"icons/icon-merlin.svg\",\n label: \"Merlin Name Service\",\n urlPrefix: \"https://scan.merlinchain.io/address/\",\n registerlink: \"https://space.id/tld/12/domains?query={name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.alienx,\n {\n color: \"#D5F462\",\n icon: \"icons/icon-alienx.svg\",\n label: \"AlienX Name Service\",\n urlPrefix: \"https://explorer.alienxchain.io/address/\",\n registerlink: \"https://space.id/tld/17/domains?query={name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.edgeless,\n {\n color: \"#a0eb67\",\n icon: \"icons/icon-edgeless.svg\",\n label: \"Edgeless\",\n urlPrefix: \"https://explorer.edgeless.network/address/\",\n registerlink: \"\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.tomo,\n {\n color: \"#DE3A7E\",\n icon: \"icons/icon-tomo.svg\",\n label: \"Tomo Name Service\",\n registerlink: \"https://space.id/tld/10/domains?query={name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.ailayer,\n {\n color: \"#A283FF\",\n icon: \"icons/icon-ailayer.svg\",\n label: \"AILayer Name Service\",\n urlPrefix: \"https://mainnet-explorer.ailayer.xyz/address/\",\n registerlink: \"https://space.id/tld/19/domains?query={name}\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.philand,\n {\n color: \"#8080F7\",\n icon: \"icons/icon-phi.svg\",\n label: \"Phi\",\n urlPrefix: \"https://land.philand.xyz/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.efp,\n {\n color: \"#FFE067\",\n icon: \"icons/icon-efp.svg\",\n label: \"Ethereum Follow Protocol\",\n urlPrefix: \"https://ethfollow.xyz/\",\n system: PlatformSystem.web3,\n },\n ],\n [\n PlatformType.gravity,\n {\n color: \"#FFAC43\",\n icon: \"icons/icon-gravity.svg\",\n label: \"Gravity Name Service\",\n registerlink: \"https://space.id/tld/23/domains?query={name}\",\n system: PlatformSystem.web3,\n },\n ],\n]);\n","import { REGEX } from \"./constants\";\nimport { PlatformType } from \"./platform\";\n\n/**\n * Resolves an identity string to a platform and identifier\n * @param input The identity to resolve\n * @returns A formatted identity string or null if invalid\n */\nexport const resolveIdentity = (input: string): string | null => {\n if (!input) return null;\n\n const parts = input.split(\",\");\n\n let platform: PlatformType;\n let identity: string;\n\n if (parts.length === 2) {\n // Format is already \"platform,identity\"\n platform = parts[0] as PlatformType;\n identity = prettify(parts[1]);\n } else if (parts.length === 1) {\n // Auto-detect platform from the identity string\n platform = detectPlatform(input);\n identity = prettify(input);\n } else {\n return null;\n }\n\n if (!isSupportedPlatform(platform) || !identity) return null;\n\n // Normalize case except for case-sensitive identities\n const normalizedIdentity = REGEX.LOWERCASE_EXEMPT.test(identity)\n ? identity\n : identity.toLowerCase();\n\n return `${platform},${normalizedIdentity}`;\n};\n\n/**\n * Clean up and standardize identity format\n */\nexport const prettify = (input: string): string => {\n if (!input) return \"\";\n if (input.endsWith(\".twitter\")) return input.replace(\".twitter\", \"\");\n if (input.endsWith(\".nextid\")) return input.replace(\".nextid\", \"\");\n if (input.startsWith(\"farcaster,#\"))\n return input.replace(/^(farcaster),/, \"\");\n if (\n input.endsWith(\".farcaster\") ||\n input.endsWith(\".fcast.id\") ||\n input.endsWith(\".farcaster.eth\")\n ) {\n return input.replace(/(\\.farcaster|\\.fcast\\.id|\\.farcaster\\.eth)$/, \"\");\n }\n if (input.endsWith(\".base\") || input.endsWith(\".linea\")) {\n return input.split(\".\")[0] + \".\" + input.split(\".\").pop() + \".eth\";\n }\n return input;\n};\n\n/**\n * Check if the platform is supported for API queries\n */\nexport const isSupportedPlatform = (\n platform?: PlatformType | null,\n): boolean => {\n if (!platform) return false;\n return Object.values(PlatformType).includes(platform as PlatformType);\n};\n\n/**\n * Detect platform from identity string based on regex patterns\n */\nexport const detectPlatform = (term: string): PlatformType => {\n if (term.endsWith(\".farcaster.eth\")) return PlatformType.farcaster;\n\n const platformMap: [RegExp, PlatformType][] = [\n [REGEX.BASENAMES, PlatformType.basenames],\n [REGEX.LINEA, PlatformType.linea],\n [REGEX.ENS, PlatformType.ens],\n [REGEX.ETH_ADDRESS, PlatformType.ethereum],\n [REGEX.LENS, PlatformType.lens],\n [REGEX.UNSTOPPABLE_DOMAINS, PlatformType.unstoppableDomains],\n [REGEX.SPACE_ID, PlatformType.space_id],\n [REGEX.DOTBIT, PlatformType.dotbit],\n [REGEX.SNS, PlatformType.sns],\n [REGEX.BTC_ADDRESS, PlatformType.bitcoin],\n [REGEX.SOLANA_ADDRESS, PlatformType.solana],\n [REGEX.FARCASTER, PlatformType.farcaster],\n [REGEX.TWITTER, PlatformType.twitter],\n [REGEX.NEXT_ID, PlatformType.nextid],\n ];\n\n for (const [regex, platformType] of platformMap) {\n if (regex.test(term)) {\n return platformType;\n }\n }\n\n // Default fallback\n return term.includes(\".\") ? PlatformType.ens : PlatformType.farcaster;\n};\n\n/**\n * Get API key from various environment sources or user provided value\n */\nexport const getApiKey = (userProvidedKey?: string): string | undefined => {\n return (\n userProvidedKey ||\n process.env.WEB3BIO_API_KEY ||\n process.env.REACT_APP_WEB3BIO_API_KEY ||\n process.env.NEXT_PUBLIC_WEB3BIO_API_KEY ||\n process.env.VITE_WEB3BIO_API_KEY\n );\n};\n","import type { IdentityString, QueryOptions, QueryResult } from \"../utils/types\";\nimport { useState, useEffect, useRef } from \"react\";\nimport { API_ENDPOINT, ErrorMessages, QueryEndpoint } from \"../utils/constants\";\nimport { getApiKey, resolveIdentity } from \"../utils/helpers\";\n\n/**\n * Constructs the API URL based on query parameters\n */\nconst buildApiUrl = (\n identity: IdentityString | IdentityString[],\n endpoint: QueryEndpoint,\n universal: boolean,\n): string | null => {\n // Handle batch requests\n if (Array.isArray(identity)) {\n return `${API_ENDPOINT}/${endpoint}/batch/${encodeURIComponent(JSON.stringify(identity))}`;\n }\n\n // Handle universal queries\n if (universal) {\n return `${API_ENDPOINT}/${endpoint}/${identity}`;\n }\n\n // Handle platform-specific queries\n const resolvedId = resolveIdentity(identity);\n if (!resolvedId) return null;\n\n // Domain endpoint uses resolved ID directly\n if (endpoint === QueryEndpoint.DOMAIN) {\n return `${API_ENDPOINT}/${endpoint}/${resolvedId}`;\n }\n\n // Other endpoints need platform/handle split\n const [platform, handle] = resolvedId.split(\",\");\n return `${API_ENDPOINT}/${endpoint}/${platform}/${handle}`;\n};\n\n// Generate a stable cache key for this request\nconst getCacheKey = (\n identity: IdentityString | IdentityString[],\n endpoint: QueryEndpoint,\n universal: boolean,\n): string => {\n return JSON.stringify({\n identity,\n endpoint,\n universal,\n });\n};\n\n// Create a cache to store results across component instances and re-renders\nconst globalRequestCache = new Map<string, any>();\n\n/**\n * Core hook for querying Web3.bio Profile API\n */\nexport function useBaseQuery<T>(\n identity: IdentityString | IdentityString[],\n endpoint: QueryEndpoint,\n universal: boolean = false,\n options: QueryOptions = {},\n): QueryResult<T> {\n const { apiKey: userApiKey, enabled = true } = options;\n const apiKey = getApiKey(userApiKey);\n\n const [data, setData] = useState<T | null>(() => {\n // Initialize state from cache if available\n const cacheKey = getCacheKey(identity, endpoint, universal);\n return (globalRequestCache.get(cacheKey) as T) || null;\n });\n const [isLoading, setIsLoading] = useState<boolean>(false);\n const [error, setError] = useState<Error | null>(null);\n\n // Use ref to track in-flight requests and prevent race conditions\n const requestIdRef = useRef<number>(0);\n const prevParamsRef = useRef<string>(\"\");\n\n // Current request parameters as a string for comparison\n const currentParams = JSON.stringify({\n identity,\n endpoint,\n universal,\n });\n\n useEffect(() => {\n // Don't run the query if disabled or no identity\n if (!enabled || !identity) return;\n\n // Skip if parameters haven't changed\n if (currentParams === prevParamsRef.current && data !== null) {\n return;\n }\n\n // Update previous parameters\n prevParamsRef.current = currentParams;\n\n // Generate cache key\n const cacheKey = getCacheKey(identity, endpoint, universal);\n\n // Check if we already have cached data\n const cachedData = globalRequestCache.get(cacheKey) as T | undefined;\n if (cachedData) {\n setData(cachedData);\n return;\n }\n\n // Increment request ID to track the latest request\n const requestId = ++requestIdRef.current;\n\n setIsLoading(true);\n setError(null);\n\n const fetchData = async () => {\n try {\n const url = buildApiUrl(identity, endpoint, universal);\n\n if (!url) {\n throw new Error(ErrorMessages.INVALID_IDENTITY);\n }\n\n const headers: HeadersInit = apiKey ? { \"x-api-key\": apiKey } : {};\n\n const fetchOptions: RequestInit = {\n method: \"GET\",\n headers,\n };\n\n const response = await fetch(url, fetchOptions);\n\n if (!response.ok) {\n throw new Error(`API error: ${response.status}`);\n }\n\n const responseData = await response.json();\n\n if (responseData?.error) {\n throw new Error(responseData.error);\n }\n\n if (requestId === requestIdRef.current) {\n globalRequestCache.set(cacheKey, responseData);\n setData(responseData as T);\n setIsLoading(false);\n }\n } catch (err) {\n if (requestId === requestIdRef.current) {\n setError(err instanceof Error ? err : new Error(String(err)));\n setIsLoading(false);\n }\n }\n };\n\n fetchData();\n }, [currentParams, enabled]);\n\n return { data, isLoading, error };\n}\n","import type {\n IdentityString,\n ProfileResponse,\n ProfileResult,\n QueryOptions,\n} from \"../utils/types\";\nimport { QueryEndpoint } from \"../utils/constants\";\nimport { useBaseQuery } from \"./useBaseQuery\";\n\n/**\n * Hook to query Web3.bio profile data by identity\n *\n * @param identity - Identity string\n * @param options - Optional configuration options\n * @returns Object containing profile data, loading state, and any errors\n *\n * @example\n * // Query by ENS name\n * const { data, isLoading, error } = useProfile(\"vitalik.eth\");\n *\n * // Query with platform specification\n * const { data } = useProfile(\"farcaster,dwr\");\n */\nexport function useProfile(\n identity: IdentityString,\n options: QueryOptions = {},\n): ProfileResult {\n return useBaseQuery<ProfileResponse>(\n identity,\n QueryEndpoint.PROFILE,\n false,\n options,\n );\n}\n","import type {\n NSResponse,\n QueryOptions,\n IdentityString,\n NSResult,\n} from \"../utils/types\";\nimport { QueryEndpoint } from \"../utils/constants\";\nimport { useBaseQuery } from \"./useBaseQuery\";\n\n/**\n * Hook to query Web3.bio name service (NS) data by identity\n *\n * @param identity - Identity string\n * @param options - Optional configuration options\n * @returns Object containing NS data, loading state, and any errors\n *\n * @example\n * // Query by ENS name\n * const { data, isLoading, error } = useNS(\"vitalik.eth\");\n *\n * // Query by Ethereum address\n * const { data } = useNS(\"0x123...\");\n */\nexport function useNS(\n identity: IdentityString,\n options: QueryOptions = {},\n): NSResult {\n return useBaseQuery<NSResponse>(identity, QueryEndpoint.NS, false, options);\n}\n","import type {\n IdentityString,\n ProfileResponse,\n ProfileUniversalResult,\n QueryOptions,\n} from \"../utils/types\";\nimport { QueryEndpoint } from \"../utils/constants\";\nimport { useBaseQuery } from \"./useBaseQuery\";\n\n/**\n * Hook to query Web3.bio profile data using universal identity lookup\n *\n * @param identity - Identity string\n * @param options - Optional configuration options\n * @returns Object containing profile data, loading state, and any errors\n *\n * @example\n * // Query by ENS name with universal lookup\n * const { data, isLoading, error } = useUniversalProfile(\"vitalik.eth\");\n *\n * // Query by any identity type with universal lookup\n * const { data } = useUniversalProfile(\"dwr.farcaster\");\n */\nexport function useUniversalProfile(\n identity: IdentityString,\n options: QueryOptions = {},\n): ProfileUniversalResult {\n return useBaseQuery<ProfileResponse[]>(\n identity,\n QueryEndpoint.PROFILE,\n true,\n options,\n );\n}\n","import type {\n NSResponse,\n QueryOptions,\n IdentityString,\n NSUniversalResult,\n} from \"../utils/types\";\nimport { QueryEndpoint } from \"../utils/constants\";\nimport { useBaseQuery } from \"./useBaseQuery\";\n\n/**\n * Hook to query Web3.bio name service (NS) data using universal identity lookup\n *\n * @param identity - Identity string\n * @param options - Optional configuration options\n * @returns Object containing NS data, loading state, and any errors\n *\n * @example\n * // Query by ENS name with universal lookup\n * const { data, isLoading, error } = useUniversalNS(\"vitalik.eth\");\n *\n * // Query by any identity type with universal lookup\n * const { data } = useUniversalNS(\"dwr.farcaster\");\n */\nexport function useUniversalNS(\n identity: IdentityString,\n options: QueryOptions = {},\n): NSUniversalResult {\n return useBaseQuery<NSResponse[]>(identity, QueryEndpoint.NS, true, options);\n}\n","import type {\n IdentityString,\n ProfileBatchResult,\n ProfileResponse,\n QueryOptions,\n} from \"../utils/types\";\nimport { QueryEndpoint } from \"../utils/constants\";\nimport { useBaseQuery } from \"./useBaseQuery\";\n\n/**\n * Hook to query Web3.bio profile data using batch identity lookup\n *\n * @param identity - array of Identity string\n * @param options - Optional configuration options\n * @returns Object containing profile data, loading state, and any errors\n *\n * @example\n * // Query by any identity type with batch lookup\n * const { data } = useBatchProfile([\"dwr.farcaster\",\"ens,vitalik.eth\",\"sujiyan.eth\",\"stani.lens\"]);\n */\nexport function useBatchProfile(\n identity: IdentityString[],\n options: QueryOptions = {},\n): ProfileBatchResult {\n return useBaseQuery<ProfileResponse[]>(\n identity,\n QueryEndpoint.PROFILE,\n false,\n options,\n );\n}\n","import type {\n IdentityString,\n NSBatchResult,\n NSResponse,\n QueryOptions,\n} from \"../utils/types\";\nimport { QueryEndpoint } from \"../utils/constants\";\nimport { useBaseQuery } from \"./useBaseQuery\";\n\n/**\n * Hook to query Web3.bio profile data using batch(NS) identity lookup\n *\n * @param identity - array of Identity string\n * @param options - Optional configuration options\n * @returns Object containing profile data, loading state, and any errors\n *\n * @example\n * // Query by any identity type with batch lookup\n * const { data } = useBatchNS([\"dwr.farcaster\",\"ens,vitalik.eth\",\"sujiyan.eth\",\"stani.lens\"]);\n */\nexport function useBatchNS(\n identity: IdentityString[],\n options: QueryOptions = {},\n): NSBatchResult {\n return useBaseQuery<NSResponse[]>(identity, QueryEndpoint.NS, false, options);\n}\n","import type {\n DomainResponse,\n DomainResult,\n IdentityString,\n QueryOptions,\n} from \"../utils/types\";\nimport { QueryEndpoint } from \"../utils/constants\";\nimport { useBaseQuery } from \"./useBaseQuery\";\n\n/**\n * Hook to query Web3.bio domain data by identity\n *\n * @param identity - Identity string\n * @param options - Optional configuration options\n * @returns Object containing domain data, loading state, and any errors\n *\n * @example\n * // Query by ENS name\n * const { data, isLoading, error } = useDomain(\"vitalik.eth\");\n *\n * // Query by domain name with platform\n * const { data } = useDomain(\"ens,vitalik.eth\");\n */\nexport function useDomain(\n identity: IdentityString,\n options: QueryOptions = {},\n): DomainResult {\n return useBaseQuery<DomainResponse>(\n identity,\n QueryEndpoint.DOMAIN,\n false,\n options,\n );\n}\n","export enum SourceType {\n ethereum = \"ethereum\",\n ens = \"ens\",\n twitter = \"twitter\",\n keybase = \"keybase\",\n nextid = \"nextid\",\n rss3 = \"rss3\",\n dotbit = \"dotbit\",\n unstoppabledomains = \"unstoppabledomains\",\n lens = \"lens\",\n farcaster = \"farcaster\",\n space_id = \"space_id\",\n crossbell = \"crossbell\",\n clusters = \"clusters\",\n solana = \"solana\",\n sns = \"sns\",\n opensea = \"opensea\",\n firefly = \"firefly\",\n basenames = \"basenames\",\n dentity = \"dentity\",\n nftd = \"nftd\",\n mirror = \"mirror\",\n paragraph = \"paragraph\",\n foundation = \"foundation\",\n rarible = \"rarible\",\n soundxyz = \"soundxyz\",\n gravity = \"gravity\",\n linea = \"linea\",\n gmgn = \"gmgn\",\n nostr = \"nostr\",\n talentprotocol = \"talentprotocol\",\n crowdsourcing = \"crowdsourcing\",\n particle = \"particle\",\n tally = \"tally\",\n icebreaker = \"icebreaker\",\n}\n\nexport interface SourceInfo {\n name: string;\n description: string;\n}\n\nexport const SOURCE_DATA: Readonly<Record<SourceType, SourceInfo>> = {\n [SourceType.ethereum]: {\n name: \"Ethereum\",\n description: \"Ethereum\",\n },\n [SourceType.ens]: {\n name: \"ENS\",\n description: \"Ethereum Name Service\",\n },\n [SourceType.twitter]: {\n name: \"Twitter (X)\",\n description: \"Twitter (X) social platform\",\n },\n [SourceType.keybase]: {\n name: \"Keybase\",\n description: \"Secure messaging and file-sharing\",\n },\n [SourceType.nextid]: {\n name: \"Next.ID\",\n description: \"Decentralized identity protocol\",\n },\n [SourceType.rss3]: {\n name: \"RSS3\",\n description: \"Open information syndication protocol\",\n },\n [SourceType.dotbit]: {\n name: \".bit\",\n description: \"Decentralized cross-chain identity system\",\n },\n [SourceType.unstoppabledomains]: {\n name: \"Unstoppable Domains\",\n description: \"Blockchain domain name provider\",\n },\n [SourceType.lens]: {\n name: \"Lens\",\n description: \"Web3 social graph protocol\",\n },\n [SourceType.farcaster]: {\n name: \"Farcaster\",\n description: \"Decentralized social network protocol\",\n },\n [SourceType.space_id]: {\n name: \"SpaceID\",\n description: \"Multi-chain name service\",\n },\n [SourceType.gravity]: {\n name: \"Gravity\",\n description: \"Gravity alpha mainnet name service\",\n },\n [SourceType.crossbell]: {\n name: \"Crossbell\",\n description: \"Decentralized publishing protocol\",\n },\n [SourceType.clusters]: {\n name: \"Clusters\",\n description: \"On-chain social protocol\",\n },\n [SourceType.solana]: {\n name: \"Solana\",\n description: \"High-performance blockchain\",\n },\n [SourceType.sns]: {\n name: \"SNS\",\n description: \"Solana Name Service\",\n },\n [SourceType.opensea]: {\n name: \"OpenSea\",\n description: \"NFT marketplace\",\n },\n [SourceType.firefly]: {\n name: \"Firefly\",\n description: \"Web3 social platform\",\n },\n [SourceType.basenames]: {\n name: \"Basenames\",\n description: \"The domain system on Base\",\n },\n [SourceType.dentity]: {\n name: \"Dentity\",\n description: \"Digital Credentials\",\n },\n [SourceType.nftd]: {\n name: \"NF.TD\",\n description: \"Be your own checkmark\",\n },\n [SourceType.mirror]: {\n name: \"Mirror\",\n description: \"Decentralized publishing protocol\",\n },\n [SourceType.paragraph]: {\n name: \"Paragraph\",\n description: \"Decentralized publishing protocol\",\n },\n [SourceType.foundation]: {\n name: \"Foundation\",\n description: \"NFT marketplace\",\n },\n [SourceType.rarible]: {\n name: \"Rarible\",\n description: \"NFT marketplace\",\n },\n [SourceType.soundxyz]: {\n name: \"Sound.xyz\",\n description: \"Decentralized audio platform\",\n },\n [SourceType.linea]: {\n name: \"Linea\",\n description: \"L2 based on ZK\",\n },\n [SourceType.gmgn]: {\n name: \"GMGN\",\n description: \"Web3 social platform\",\n },\n [SourceType.nostr]: {\n name: \"Nostr\",\n description: \"Web3 social platform\",\n },\n [SourceType.talentprotocol]: {\n name: \"Talent\",\n description: \"Decentralized onchain passport\",\n },\n [SourceType.crowdsourcing]: {\n name: \"Crowdsourcing\",\n description: \"Crowdsourcing\",\n },\n [SourceType.particle]: {\n name: \"Particle\",\n description: \"Particle\",\n },\n [SourceType.tally]: {\n name: \"Tally\",\n description: \"Launch, manage, and grow the value of your token\",\n },\n [SourceType.icebreaker]: {\n name: \"Icebreaker\",\n description: \"Open professional network\",\n },\n} as const;\n","// referer SLIP-0044: https://github.com/satoshilabs/slips/blob/master/slip-0044.md\nexport const CoinType = {\n btc: 0,\n ltc: 2,\n doge: 3,\n dash: 5,\n monacoin: 22,\n eth: 60,\n etc: 61,\n xrp: 145,\n atom: 118,\n rootstock: 137,\n ripple: 144,\n bch: 145,\n bnb: 714,\n xlm: 148,\n rsk: 137,\n eos: 194,\n xem: 43,\n trx: 195,\n xdai: 700,\n matic: 2147483785,\n};\n","export enum Network {\n aptos = \"aptos\",\n arbitrum = \"arbitrum\",\n arbitrum_nova = \"arbitrum_nova\",\n arbitrum_one = \"arbitrum_one\",\n apechain = \"apechain\",\n arweave = \"arweave\",\n avalanche = \"avalanche\",\n base = \"base\",\n bitcoin = \"bitcoin\",\n binanceSmartChain = \"binance-smart-chain\",\n bsc = \"bsc\",\n conflux = \"conflux\",\n crossbell = \"crossbell\",\n erc1577 = \"erc1577\",\n ethereum = \"ethereum\",\n fantom = \"fantom\",\n farcaster = \"farcaster\",\n flow = \"flow\",\n gnosis = \"gnosis\",\n lens = \"lens\",\n linea = \"linea\",\n mastodon = \"mastodon\",\n optimism = \"optimism\",\n polygon = \"polygon\",\n scroll = \"scroll\",\n snapshot = \"snapshot\",\n solana = \"solana\",\n vsl = \"vsl\",\n xLayer = \"x-layer\",\n zksync_era = \"zksync_era\",\n zora = \"zora\",\n unichain = \"unichain\",\n}\n\nexport interface NetworkMetaData {\n assetPrefix?: string;\n bgColor: string;\n chainId?: number;\n icon: string;\n key: string;\n label: string;\n primaryColor: string;\n scanLabel?: string;\n scanPrefix: string;\n scanPrefixTx?: string;\n short?: string;\n}\n\nexport const NETWORK_DATA: { [key in Network]: NetworkMetaData } = {\n [Network.ethereum]: {\n assetPrefix: \"https://app.zerion.io/\",\n bgColor: \"#ebecf8\",\n chainId: 1,\n icon: \"icons/icon-ethereum.svg\",\n key: Network.ethereum,\n label: \"Ethereum\",\n primaryColor: \"#3741ba\",\n scanLabel: \"Etherscan\",\n scanPrefix: \"https://etherscan.io/address/\",\n scanPrefixTx: \"https://etherscan.io/tx/\",\n short: \"eth\",\n },\n [Network.polygon]: {\n bgColor: \"#ece5fa\",\n chainId: 137,\n icon: \"icons/icon-polygon.svg\",\n key: Network.polygon,\n label: \"Polygon\",\n primaryColor: \"#7a4add\",\n scanLabel: \"Polygonscan\",\n scanPrefix: \"https://polygonscan.com/address/\",\n scanPrefixTx: \"https://polygonscan.com/tx/\",\n short: \"matic\",\n },\n [Network.avalanche]: {\n bgColor: \"#ffefef\",\n chainId: 43114,\n icon: \"icons/icon-avalanche.svg\",\n key: Network.avalanche,\n label: \"Avalanche\",\n primaryColor: \"#e84142\",\n scanLabel: \"AVASCAN\",\n scanPrefix: \"https://avascan.info/blockchain/dfk/address/\",\n scanPrefixTx: \"https://avascan.info/blockchain/x/tx/\",\n short: \"avax\",\n },\n [Network.aptos]: {\n bgColor: \"#e9faf3\",\n icon: \"icons/icon-aptos.svg\",\n key: Network.aptos,\n label: \"Aptos\",\n primaryColor: \"#6fe0b2\",\n scanLabel: \"Aptoscan\",\n scanPrefix: \"https://aptoscan.com/account/\",\n scanPrefixTx: \"https://aptoscan.com/transaction/\",\n },\n [Network.arbitrum]: {\n bgColor: \"#eaedfb\",\n chainId: 42161,\n icon: \"icons/icon-arbitrum.svg\",\n key: Network.arbitrum,\n label: \"Arbitrum\",\n primaryColor: \"#2949d4\",\n scanLabel: \"Arbitrum One Explorer\",\n scanPrefix: \"https://arbiscan.io/address/\",\n scanPrefixTx: \"https://arbiscan.io/tx/\",\n short: \"arb\",\n },\n [Network.arbitrum_one]: {\n bgColor: \"#eaedfb\",\n chainId: 42161,\n icon: \"icons/icon-arbitrum.svg\",\n key: Network.arbitrum_one,\n label: \"Arbitrum One\",\n primaryColor: \"#2949d4\",\n scanLabel: \"Arbitrum One Explorer\",\n scanPrefix: \"https://arbiscan.io/address/\",\n scanPrefixTx: \"https://arbiscan.io/tx/\",\n short: \"arb\",\n },\n [Network.arbitrum_nova]: {\n bgColor: \"#fdf2ea\",\n chainId: 42170,\n icon: \"icons/icon-arbitrum.svg\",\n key: Network.arbitrum_nova,\n label: \"Arbitrum Nova\",\n primaryColor: \"#ee7c31\",\n scanLabel: \"Arbitrum Nova Explorer\",\n scanPrefix: \"https://nova.arbiscan.io/address/\",\n scanPrefixTx: \"https://nova.arbiscan.io/tx/\",\n short: \"arb\",\n },\n [Network.apechain]: {\n bgColor: \"#DEE5FD\",\n icon: \"icons/icon-apechain.svg\",\n key: Network.apechain,\n label: \"ApeChain\",\n primaryColor: \"#2253F1\",\n scanLabel: \"ApeChain Explorer\",\n scanPrefix: \"https://apescan.io/address/\",\n scanPrefixTx: \"https://apescan.io/tx/\",\n short: \"apechain-mainnet\",\n },\n [Network.arweave]: {\n bgColor: \"#e1e1e1\",\n icon: \"icons/icon-arweave.svg\",\n key: Network.arweave,\n label: \"Arweave\",\n primaryColor: \"#222326\",\n scanLabel: \"Arweave Explorer\",\n scanPrefix: \"https://viewblock.io/arweave/address/\",\n scanPrefixTx: \"https://viewblock.io/arweave/tx/\",\n },\n [Network.bsc]: {\n bgColor: \"#fdf3d4\",\n chainId: 56,\n icon: \"icons/icon-bsc.svg\",\n key: Network.bsc,\n label: \"BNB Chain\",\n primaryColor: \"#f0b90b\",\n scanLabel: \"BscScan\",\n scanPrefix: \"https://bscscan.com/address/\",\n scanPrefixTx: \"https://bscscan.com/tx/\",\n short: \"bsc\",\n },\n [Network.binanceSmartChain]: {\n bgColor: \"#fdf3d4\",\n chainId: 56,\n icon: \"icons/icon-bsc.svg\",\n key: Network.binanceSmartChain,\n label: \"BNB Chain\",\n primaryColor: \"#f0b90b\",\n scanLabel: \"BscScan\",\n scanPrefix: \"https://bscscan.com/address/\",\n scanPrefixTx: \"https://bscscan.com/tx/\",\n short: \"bsc\",\n },\n [Network.base]: {\n bgColor: \"#e9eefe\",\n chainId: 8453,\n icon: \"icons/icon-base.svg\",\n key: Network.base,\n label: \"Base\",\n primaryColor: \"#2151f5\",\n scanLabel: \"BaseScan\",\n scanPrefix: \"https://basescan.org/address/\",\n scanPrefixTx: \"https://basescan.org/tx/\",\n short: \"base\",\n },\n [Network.flow]: {\n bgColor: \"#e5fdf3\",\n icon: \"icons/icon-flow.svg\",\n key: Network.flow,\n label: \"Flow\",\n primaryColor: \"#00ef8b\",\n scanLabel: \"Flow Explorer\",\n scanPrefix: \"https://evm.flowscan.io/address/\",\n scanPrefixTx: \"https://evm.flowscan.io/tx/\",\n },\n [Network.conflux]: {\n bgColor: \"#e8e8ea\",\n chainId: 1030,\n icon: \"icons/icon-conflux.svg\",\n key: Network.conflux,\n label: \"Conflux\",\n primaryColor: \"#1e1e2b\",\n scanLabel: \"ConfluxScan\",\n scanPrefix: \"https://www.confluxscan.io/address/cfx:\",\n scanPrefixTx: \"https://www.confluxscan.io/transaction/\",\n },\n [Network.crossbell]: {\n bgColor: \"#fef8e9\",\n chainId: 3737,\n icon: \"icons/icon-crossbell.svg\",\n key: Network.crossbell,\n label: \"Crossbell\",\n primaryColor: \"#f7d16a\",\n scanLabel: \"Crossbell Explorer\",\n scanPrefix: \"https://scan.crossbell.io/address/\",\n scanPrefixTx: \"https://scan.crossbell.io/tx/\",\n },\n [Network.fantom]: {\n bgColor: \"#e6e7fd\",\n chainId: 250,\n icon: \"icons/icon-fantom.svg\",\n key: Network.fantom,\n label: \"Fantom\",\n primaryColor: \"#0810ef\",\n scanLabel: \"FTMScan\",\n scanPrefix: \"https://ftmscan.com/address/\",\n scanPrefixTx: \"https://ftmscan.com/tx/\",\n },\n [Network.farcaster]: {\n bgColor: \"#efeaf8\",\n icon: \"icons/icon-farcaster.svg\",\n key: Network.farcaster,\n label: \"Farcaster\",\n primaryColor: \"#432C8D\",\n scanPrefix: \"\",\n },\n [Network.optimism]: {\n bgColor: \"#fdebea\",\n chainId: 10,\n icon: \"icons/icon-optimism.svg\",\n key: Network.optimism,\n label: \"Optimism\",\n primaryColor: \"#ea3431\",\n scanLabel: \"OP Explorer\",\n scanPrefix: \"https://optimistic.etherscan.io/address/\",\n scanPrefixTx: \"https://optimistic.etherscan.io/tx/\",\n short: \"op\",\n },\n [Network.zksync_era]: {\n bgColor: \"#ebf0fe\",\n chainId: 324,\n icon: \"icons/icon-zksync.svg\",\n key: Network.zksync_era,\n label: \"zkSync Era\",\n primaryColor: \"#3567f6\",\n scanLabel: \"zkSync Era Explorer\",\n scanPrefix: \"https://explorer.zksync.io/address/\",\n scanPrefixTx: \"https://explorer.zksync.io/tx/\",\n },\n [Network.gnosis]: {\n bgColor: \"#e8ebea\",\n chainId: 100,\n icon: \"icons/icon-gnosis.svg\",\n key: Network.gnosis,\n label: \"Gnosis\",\n primaryColor: \"#1c352a\",\n scanLabel: \"GnosisScan\",\n scanPrefix: \"https://gnosisscan.io/address/\",\n scanPrefixTx: \"https://gnosisscan.io/tx/\",\n short: \"xdai\",\n },\n [Network.scroll]: {\n bgColor: \"#f1e7db\",\n chainId: 534352,\n icon: \"icons/icon-scroll.svg\",\n key: Network.scroll,\n label: \"Scroll\",\n primaryColor: \"#b78544\",\n scanLabel: \"Scrollscan\",\n scanPrefix: \"https://scrollscan.com/address/\",\n scanPrefixTx: \"https://scrollscan.com/tx/\",\n },\n [Network.solana]: {\n assetPrefix: \"https://portfolio.jup.ag/portfolio/\",\n bgColor: \"#F0E3FF\",\n chainId: 534352,\n icon: \"icons/icon-solana.svg\",\n key: Network.solana,\n label: \"Solana\",\n primaryColor: \"#9945FF\",\n scanLabel: \"Solscan\",\n scanPrefix: \"https://solscan.io/account/\",\n scanPrefixTx: \"https://solscan.io/tx/\",\n },\n [Network.zora]: {\n bgColor: \"#efefef\",\n chainId: 7777777,\n icon: \"icons/icon-zora.svg\",\n key: Network.zora,\n label: \"Zora\",\n primaryColor: \"#141414\",\n scanLabel: \"Zora Explorer\",\n scanPrefix: \"https://explorer.zora.energy/address/\",\n scanPrefixTx: \"https://explorer.zora.energy/tx/\",\n short: \"zora\",\n },\n [Network.mastodon]: {\n bgColor: \"#e8e8fe\",\n icon: \"icons/icon-mastodon.svg\",\n key: Network.mastodon,\n label: \"Mastodon\",\n primaryColor: \"#6364f6\",\n scanPrefix: \"\",\n },\n [Network.lens]: {\n bgColor: \"#d9f1dc\",\n chainId: 137,\n icon: \"icons/icon-lens.svg\",\n key: Network.lens,\n label: \"Lens\",\n primaryColor: \"#2CC256\",\n scanPrefix: \"https://momoka.lens.xyz/\",\n },\n [Network.linea]: {\n bgColor: \"#efefef\",\n icon: \"icons/icon-linea.svg\",\n key: Network.linea,\n label: \"Linea\",\n primaryColor: \"#000000\",\n scanLabel: \"Linea Explorer\",\n scanPrefix: \"https://lineascan.build/address/\",\n scanPrefixTx: \"https://lineascan.build/tx/\",\n },\n [Network.snapshot]: {\n bgColor: \"#fef7ed\",\n icon: \"icons/icon-snapshot.svg\",\n key: Network.snapshot,\n label: \"Snapshot\",\n primaryColor: \"#f3b04e\",\n scanPrefix: \"\",\n },\n [Network.erc1577]: {\n bgColor: \"#ebecf8\",\n icon: \"icons/icon-ethereum.svg\",\n key: Network.erc1577,\n label: \"ERC-1577\",\n primaryColor: \"#3741ba\",\n scanPrefix: \"\",\n },\n [Network.bitcoin]: {\n bgColor: \"#FDE9D1\",\n icon: \"icons/icon-bitcoin.svg\",\n key: Network.bitcoin,\n label: \"Bitcoin\",\n primaryColor: \"#F7931A\",\n scanLabel: \"Bitcoin Explorer\",\n scanPrefix: \"https://www.blockchain.com/explorer/addresses/btc/\",\n scanPrefixTx: \"https://www.blockchain.com/explorer/transactions/btc/\",\n },\n [Network.vsl]: {\n bgColor: \"#ebecf8\",\n chainId: 12553,\n icon: \"icons/icon-vsl.svg\",\n key: Network.vsl,\n label: \"RSS3 VSL Mainnet\",\n primaryColor: \"#1477F9\",\n scanLabel: \"VSL Scan\",\n scanPrefix: \"https://scan.rss3.io/address/\",\n scanPrefixTx: \"https://scan.rss3.io/tx/\",\n },\n [Network.xLayer]: {\n bgColor: \"#efefef\",\n chainId: 196,\n icon: \"icons/icon-xlayer.svg\",\n key: Network.xLayer,\n label: \"X Layer\",\n primaryColor: \"#000000\",\n scanLabel: \"X Layer Explorer\",\n scanPrefix: \"https://www.okx.com/web3/explorer/xlayer/address/\",\n scanPrefixTx: \"https://www.okx.com/web3/explorer/xlayer/tx/\",\n },\n [Network.unichain]: {\n bgColor: \"#FEAFF0\",\n chainId: 130,\n icon: \"icons/icon-unichain.svg\",\n key: Network.unichain,\n label: \"Unichain\",\n primaryColor: \"#F50DB4\",\n scanLabel: \"Unichain Explorer\",\n scanPrefix: \"https://uniscan.xyz/address/\",\n scanPrefixTx: \"https://uniscan.xyz/tx/\",\n },\n};\n"],"names":[],"mappings":"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"}