{"version":3,"file":"static/chunks/pages/index-26783e79db04807c.js","mappings":"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","sources":["webpack://_N_E/","webpack://_N_E/./lib/block/getBlockTotalReward.ts","webpack://_N_E/./lib/hooks/useGradualIncrement.tsx","webpack://_N_E/./lib/hooks/useIsSticky.tsx","webpack://_N_E/./lib/hooks/useNewTxsSocket.tsx","webpack://_N_E/./lib/hooks/useRedirectForInvalidAuthToken.tsx","webpack://_N_E/./lib/networks/getNetworkValidatorTitle.ts","webpack://_N_E/./ui/home/indicators/ChainIndicatorChart.tsx","webpack://_N_E/./ui/home/indicators/ChainIndicatorChartContainer.tsx","webpack://_N_E/./ui/home/indicators/ChainIndicatorItem.tsx","webpack://_N_E/./ui/home/indicators/useFetchChartData.tsx","webpack://_N_E/./ui/shared/chart/utils/sorts.tsx","webpack://_N_E/./ui/home/indicators/utils/indicators.tsx","webpack://_N_E/./ui/home/indicators/ChainIndicators.tsx","webpack://_N_E/./ui/home/latestBatches/LatestBatchItem.tsx","webpack://_N_E/./ui/home/latestBatches/LatestArbitrumL2Batches.tsx","webpack://_N_E/./ui/home/latestBatches/LatestZkEvmL2Batches.tsx","webpack://_N_E/./ui/home/LatestBlocksItem.tsx","webpack://_N_E/./ui/home/LatestBlocks.tsx","webpack://_N_E/./ui/home/Stats.tsx","webpack://_N_E/./ui/home/latestDeposits/LatestDeposits.tsx","webpack://_N_E/./ui/home/latestDeposits/LatestOptimisticDeposits.tsx","webpack://_N_E/./ui/home/LatestTxsItem.tsx","webpack://_N_E/./ui/home/LatestTxsItemMobile.tsx","webpack://_N_E/./ui/home/LatestTxs.tsx","webpack://_N_E/./ui/home/LatestWatchlistTxs.tsx","webpack://_N_E/./ui/home/latestDeposits/LatestArbitrumDeposits.tsx","webpack://_N_E/./ui/home/Transactions.tsx","webpack://_N_E/./ui/pages/Home.tsx","webpack://_N_E/./ui/shared/layout/LayoutHome.tsx","webpack://_N_E/./pages/index.tsx","webpack://_N_E/./stubs/L2.ts","webpack://_N_E/./stubs/addressParams.ts","webpack://_N_E/./stubs/arbitrumL2.ts","webpack://_N_E/./stubs/block.ts","webpack://_N_E/./stubs/token.ts","webpack://_N_E/./stubs/tx.ts","webpack://_N_E/./stubs/zkEvmL2.ts","webpack://_N_E/./ui/shared/DataFetchAlert.tsx","webpack://_N_E/./ui/shared/Hint.tsx","webpack://_N_E/./ui/shared/NativeTokenIcon.tsx","webpack://_N_E/./ui/shared/Tabs/TabCounter.tsx","webpack://_N_E/./ui/shared/Tabs/utils.ts","webpack://_N_E/./ui/shared/Tabs/TabsMenu.tsx","webpack://_N_E/./ui/shared/Tabs/useAdaptiveTabs.tsx","webpack://_N_E/./ui/shared/Tabs/useScrollToActiveTab.tsx","webpack://_N_E/./ui/shared/Tabs/AdaptiveTabsList.tsx","webpack://_N_E/./ui/shared/Tabs/TabsWithScroll.tsx","webpack://_N_E/./ui/shared/TruncatedValue.tsx","webpack://_N_E/./ui/shared/ad/AdBanner.tsx","webpack://_N_E/./ui/shared/entities/block/BatchEntityL2.tsx","webpack://_N_E/./ui/shared/entities/block/BlockEntityL1.tsx","webpack://_N_E/./ui/shared/entities/tx/TxEntityL1.tsx","webpack://_N_E/./ui/shared/stats/StatsWidget.tsx","webpack://_N_E/./ui/shared/statusTag/TxStatus.tsx","webpack://_N_E/./ui/shared/statusTag/ZkEvmL2TxnBatchStatus.tsx","webpack://_N_E/./ui/shared/tx/TxWatchListTags.tsx","webpack://_N_E/./ui/txs/TxType.tsx","webpack://_N_E/./node_modules/@chakra-ui/transition/dist/chunk-Z2TCYYTS.mjs","webpack://_N_E/./node_modules/@chakra-ui/transition/dist/chunk-462CPKWM.mjs","webpack://_N_E/./node_modules/@chakra-ui/modal/dist/chunk-XV7ZWFID.mjs","webpack://_N_E/./node_modules/@chakra-ui/modal/dist/chunk-6TYU4DP7.mjs","webpack://_N_E/./node_modules/@chakra-ui/modal/dist/chunk-XY72533R.mjs","webpack://_N_E/./node_modules/@chakra-ui/table/dist/chunk-B3MS3L3D.mjs","webpack://_N_E/./node_modules/@chakra-ui/table/dist/chunk-BLRPLYZO.mjs","webpack://_N_E/./node_modules/@chakra-ui/table/dist/chunk-L7UVV2ML.mjs"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/\",\n function () {\n return require(\"private-next-pages/index.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/\"])\n });\n }\n ","import BigNumber from 'bignumber.js';\n\nimport type { Block } from 'types/api/block';\n\nimport { WEI, ZERO } from 'lib/consts';\n\nexport default function getBlockTotalReward(block: Block) {\n const totalReward = block.rewards\n ?.map(({ reward }) => BigNumber(reward))\n .reduce((result, item) => result.plus(item), ZERO) || ZERO;\n\n return totalReward.div(WEI);\n}\n","import React from 'react';\n\nconst DURATION = 300;\n\nexport default function useGradualIncrement(initialValue: number): [number, (inc: number) => void] {\n const [ num, setNum ] = React.useState(initialValue);\n const queue = React.useRef(0);\n const timeoutId = React.useRef(0);\n const delay = React.useRef(0);\n\n const incrementDelayed = React.useCallback(() => {\n if (queue.current === 0) {\n return;\n }\n\n queue.current--;\n setNum(prev => prev + 1);\n timeoutId.current = 0;\n }, []);\n\n const increment = React.useCallback((inc: number) => {\n if (inc < 1) {\n return;\n }\n\n queue.current += inc;\n\n if (!timeoutId.current) {\n timeoutId.current = window.setTimeout(incrementDelayed, 0);\n }\n }, [ incrementDelayed ]);\n\n React.useEffect(() => {\n if (queue.current > 0 && !timeoutId.current) {\n if (!delay.current) {\n delay.current = DURATION / queue.current;\n } else if (delay.current > DURATION / queue.current) {\n // in case if queue size is increased since last DOM update\n delay.current = DURATION / queue.current;\n }\n timeoutId.current = window.setTimeout(incrementDelayed, delay.current);\n }\n }, [ incrementDelayed, num ]);\n\n React.useEffect(() => {\n return () => {\n window.clearTimeout(timeoutId.current);\n };\n }, []);\n\n return [ num, increment ];\n}\n","import throttle from 'lodash/throttle';\nimport React from 'react';\n\nexport default function useIsSticky(ref: React.RefObject, offset = 0, isEnabled = true) {\n const [ isSticky, setIsSticky ] = React.useState(false);\n\n const handleScroll = React.useCallback(() => {\n if (\n Number(ref.current?.getBoundingClientRect().y) < offset\n ) {\n setIsSticky(true);\n } else {\n setIsSticky(false);\n }\n }, [ ref, offset ]);\n\n React.useEffect(() => {\n if (!isEnabled) {\n return;\n }\n\n const throttledHandleScroll = throttle(handleScroll, 300);\n\n window.addEventListener('scroll', throttledHandleScroll);\n\n return () => {\n window.removeEventListener('scroll', throttledHandleScroll);\n };\n // replicate componentDidMount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ isEnabled ]);\n\n return isSticky;\n}\n","import type { NextRouter } from 'next/router';\nimport { useRouter } from 'next/router';\nimport React from 'react';\n\nimport useGradualIncrement from 'lib/hooks/useGradualIncrement';\nimport useSocketChannel from 'lib/socket/useSocketChannel';\nimport useSocketMessage from 'lib/socket/useSocketMessage';\n\nfunction getSocketParams(router: NextRouter) {\n\n if (\n router.pathname === '/txs' &&\n (router.query.tab === 'validated' || router.query.tab === undefined) &&\n !router.query.block_number &&\n !router.query.page\n ) {\n return { topic: 'transactions:new_transaction' as const, event: 'transaction' as const };\n }\n\n if (router.pathname === '/') {\n return { topic: 'transactions:new_transaction' as const, event: 'transaction' as const };\n }\n\n if (\n router.pathname === '/txs' &&\n router.query.tab === 'pending' &&\n !router.query.block_number &&\n !router.query.page\n ) {\n return { topic: 'transactions:new_pending_transaction' as const, event: 'pending_transaction' as const };\n }\n\n return {};\n}\n\nfunction assertIsNewTxResponse(response: unknown): response is { transaction: number } {\n return typeof response === 'object' && response !== null && 'transaction' in response;\n}\nfunction assertIsNewPendingTxResponse(response: unknown): response is { pending_transaction: number } {\n return typeof response === 'object' && response !== null && 'pending_transaction' in response;\n}\n\nexport default function useNewTxsSocket() {\n const router = useRouter();\n const [ num, setNum ] = useGradualIncrement(0);\n const [ socketAlert, setSocketAlert ] = React.useState('');\n\n const { topic, event } = getSocketParams(router);\n\n const handleNewTxMessage = React.useCallback((response: { transaction: number } | { pending_transaction: number } | unknown) => {\n if (assertIsNewTxResponse(response)) {\n setNum(response.transaction);\n }\n if (assertIsNewPendingTxResponse(response)) {\n setNum(response.pending_transaction);\n }\n }, [ setNum ]);\n\n const handleSocketClose = React.useCallback(() => {\n setSocketAlert('Connection is lost. Please reload the page.');\n }, []);\n\n const handleSocketError = React.useCallback(() => {\n setSocketAlert('An error has occurred while fetching new transactions. Please reload the page.');\n }, []);\n\n const channel = useSocketChannel({\n topic,\n onSocketClose: handleSocketClose,\n onSocketError: handleSocketError,\n isDisabled: !topic,\n });\n\n useSocketMessage({\n channel,\n event,\n handler: handleNewTxMessage,\n });\n\n if (!topic && !event) {\n return {};\n }\n\n return { num, socketAlert };\n}\n","import * as Sentry from '@sentry/react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport React from 'react';\n\nimport { resourceKey } from 'lib/api/resources';\nimport type { ResourceError } from 'lib/api/resources';\nimport * as cookies from 'lib/cookies';\nimport useLoginUrl from 'lib/hooks/useLoginUrl';\n\nexport default function useRedirectForInvalidAuthToken() {\n const queryClient = useQueryClient();\n\n const state = queryClient.getQueryState([ resourceKey('user_info') ]);\n const errorStatus = state?.error?.status;\n const loginUrl = useLoginUrl();\n\n React.useEffect(() => {\n if (errorStatus === 401) {\n const apiToken = cookies.get(cookies.NAMES.API_TOKEN);\n\n if (apiToken && loginUrl) {\n Sentry.captureException(new Error('Invalid API token'), { tags: { source: 'invalid_api_token' } });\n window.location.assign(loginUrl);\n }\n }\n }, [ errorStatus, loginUrl ]);\n}\n","import config from 'configs/app';\n\nexport default function getNetworkValidatorTitle() {\n switch (config.chain.verificationType) {\n case 'validation': {\n return 'validator';\n }\n case 'mining': {\n return 'miner';\n }\n case 'posting': {\n return 'poster';\n }\n case 'sequencing': {\n return 'sequencer';\n }\n default: {\n return 'miner';\n }\n }\n}\n","import { useToken } from '@chakra-ui/react';\nimport React from 'react';\n\nimport type { TimeChartData } from 'ui/shared/chart/types';\n\nimport ChartArea from 'ui/shared/chart/ChartArea';\nimport ChartLine from 'ui/shared/chart/ChartLine';\nimport ChartOverlay from 'ui/shared/chart/ChartOverlay';\nimport ChartTooltip from 'ui/shared/chart/ChartTooltip';\nimport useTimeChartController from 'ui/shared/chart/useTimeChartController';\n\ninterface Props {\n data: TimeChartData;\n caption?: string;\n}\n\nconst CHART_MARGIN = { bottom: 5, left: 10, right: 10, top: 5 };\n\nconst ChainIndicatorChart = ({ data }: Props) => {\n const overlayRef = React.useRef(null);\n const lineColor = useToken('colors', 'blue.500');\n\n const axesConfig = React.useMemo(() => {\n return {\n x: { ticks: 4 },\n y: { ticks: 3, nice: true, noLabel: true },\n };\n }, [ ]);\n\n const { rect, ref, axes, innerWidth, innerHeight, chartMargin } = useTimeChartController({\n data,\n margin: CHART_MARGIN,\n axesConfig,\n });\n\n return (\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default React.memo(ChainIndicatorChart);\n","import { chakra, Flex, Box } from '@chakra-ui/react';\nimport type { UseQueryResult } from '@tanstack/react-query';\nimport React from 'react';\n\nimport type { TimeChartData } from 'ui/shared/chart/types';\n\nimport ContentLoader from 'ui/shared/ContentLoader';\nimport DataFetchAlert from 'ui/shared/DataFetchAlert';\n\nimport ChainIndicatorChart from './ChainIndicatorChart';\n\ntype Props = UseQueryResult;\n\nconst ChainIndicatorChartContainer = ({ data, isError, isPending }: Props) => {\n\n const content = (() => {\n if (isPending) {\n return ;\n }\n\n if (isError) {\n return ;\n }\n\n if (data[0].items.length === 0) {\n return no data;\n }\n\n return (\n \n \n \n );\n })();\n\n return { content };\n};\n\nexport default React.memo(ChainIndicatorChartContainer);\n","import { Text, Flex, Box, Skeleton, useColorModeValue } from '@chakra-ui/react';\nimport type { UseQueryResult } from '@tanstack/react-query';\nimport React from 'react';\n\nimport type { HomeStats } from 'types/api/stats';\nimport type { ChainIndicatorId } from 'types/homepage';\n\nimport type { ResourceError } from 'lib/api/resources';\n\ninterface Props {\n id: ChainIndicatorId;\n title: string;\n value: (stats: HomeStats) => string;\n valueDiff?: (stats?: HomeStats) => number | null | undefined;\n icon: React.ReactNode;\n isSelected: boolean;\n onClick: (id: ChainIndicatorId) => void;\n stats: UseQueryResult>;\n}\n\nconst ChainIndicatorItem = ({ id, title, value, valueDiff, icon, isSelected, onClick, stats }: Props) => {\n const activeColor = useColorModeValue('gray.500', 'gray.400');\n const activeBgColor = useColorModeValue('white', 'black');\n\n const handleClick = React.useCallback(() => {\n onClick(id);\n }, [ id, onClick ]);\n\n const valueContent = (() => {\n if (!stats.data) {\n return no data;\n }\n\n return (\n \n { value(stats.data) }\n \n );\n })();\n\n const valueDiffContent = (() => {\n if (!valueDiff) {\n return null;\n }\n const diff = valueDiff(stats.data);\n if (diff === undefined || diff === null) {\n return null;\n }\n\n const diffColor = diff >= 0 ? 'green.500' : 'red.500';\n\n return (\n \n { diff >= 0 ? '+' : '-' }\n { Math.abs(diff) }%\n \n );\n })();\n\n return (\n \n { icon }\n \n { title }\n \n { valueContent }\n { valueDiffContent }\n \n \n \n );\n};\n\nexport default React.memo(ChainIndicatorItem);\n","import type { UseQueryResult } from '@tanstack/react-query';\nimport React from 'react';\n\nimport type { TChainIndicator, ChartsResources } from './types';\nimport type { TimeChartData } from 'ui/shared/chart/types';\n\nimport type { ResourcePayload } from 'lib/api/resources';\nimport useApiQuery from 'lib/api/useApiQuery';\n\nexport default function useFetchChartData(indicator: TChainIndicator | undefined): UseQueryResult {\n const queryResult = useApiQuery(indicator?.api.resourceName || 'stats_charts_txs', {\n queryOptions: { enabled: Boolean(indicator) },\n });\n\n return React.useMemo(() => {\n return {\n ...queryResult,\n data: queryResult.data && indicator ? indicator.api.dataFn(queryResult.data as ResourcePayload) : queryResult.data,\n } as UseQueryResult;\n }, [ indicator, queryResult ]);\n}\n","import type { TimeChartItem } from '../types';\n\nexport const sortByDateDesc = (a: Pick, b: Pick) => {\n return a.date.getTime() - b.date.getTime();\n};\n","import React from 'react';\n\nimport type { TChainIndicator } from '../types';\nimport type { TimeChartItem, TimeChartItemRaw } from 'ui/shared/chart/types';\n\nimport config from 'configs/app';\nimport { sortByDateDesc } from 'ui/shared/chart/utils/sorts';\nimport IconSvg from 'ui/shared/IconSvg';\nimport NativeTokenIcon from 'ui/shared/NativeTokenIcon';\nimport TokenLogoPlaceholder from 'ui/shared/TokenLogoPlaceholder';\n\nconst nonNullTailReducer = (result: Array, item: TimeChartItemRaw) => {\n if (item.value === null && result.length === 0) {\n return result;\n }\n result.unshift(item);\n return result;\n};\n\nconst mapNullToZero: (item: TimeChartItemRaw) => TimeChartItem = (item) => ({ ...item, value: Number(item.value) });\n\nconst dailyTxsIndicator: TChainIndicator<'stats_charts_txs'> = {\n id: 'daily_txs',\n title: 'Daily transactions',\n value: (stats) => stats.transactions_today === null ?\n 'N/A' :\n Number(stats.transactions_today).toLocaleString(undefined, { maximumFractionDigits: 2, notation: 'compact' }),\n icon: ,\n hint: `Number of transactions yesterday (0:00 - 23:59 UTC). The chart displays daily transactions for the past 30 days.`,\n api: {\n resourceName: 'stats_charts_txs',\n dataFn: (response) => ([ {\n items: response.chart_data\n .map((item) => ({ date: new Date(item.date), value: item.tx_count }))\n .sort(sortByDateDesc)\n .reduceRight(nonNullTailReducer, [] as Array)\n .map(mapNullToZero),\n name: 'Tx/day',\n valueFormatter: (x: number) => x.toLocaleString(undefined, { maximumFractionDigits: 2, notation: 'compact' }),\n } ]),\n },\n};\n\nconst coinPriceIndicator: TChainIndicator<'stats_charts_market'> = {\n id: 'coin_price',\n title: `${ config.chain.currency.symbol } price`,\n value: (stats) => stats.coin_price === null ?\n '$N/A' :\n '$' + Number(stats.coin_price).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 6 }),\n valueDiff: (stats) => stats?.coin_price !== null ? stats?.coin_price_change_percentage : null,\n icon: ,\n hint: `${ config.chain.currency.symbol } token daily price in USD.`,\n api: {\n resourceName: 'stats_charts_market',\n dataFn: (response) => ([ {\n items: response.chart_data\n .map((item) => ({ date: new Date(item.date), value: item.closing_price }))\n .sort(sortByDateDesc)\n .reduceRight(nonNullTailReducer, [] as Array)\n .map(mapNullToZero),\n name: `${ config.chain.currency.symbol } price`,\n valueFormatter: (x: number) => '$' + x.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 6 }),\n } ]),\n },\n};\n\nconst secondaryCoinPriceIndicator: TChainIndicator<'stats_charts_secondary_coin_price'> = {\n id: 'secondary_coin_price',\n title: `${ config.chain.secondaryCoin.symbol } price`,\n value: (stats) => !stats.secondary_coin_price || stats.secondary_coin_price === null ?\n '$N/A' :\n '$' + Number(stats.secondary_coin_price).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 6 }),\n valueDiff: () => null,\n icon: ,\n hint: `${ config.chain.secondaryCoin.symbol } token daily price in USD.`,\n api: {\n resourceName: 'stats_charts_secondary_coin_price',\n dataFn: (response) => ([ {\n items: response.chart_data\n .map((item) => ({ date: new Date(item.date), value: item.closing_price }))\n .sort(sortByDateDesc)\n .reduceRight(nonNullTailReducer, [] as Array)\n .map(mapNullToZero),\n name: `${ config.chain.secondaryCoin.symbol } price`,\n valueFormatter: (x: number) => '$' + x.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 6 }),\n } ]),\n },\n};\n\nconst marketPriceIndicator: TChainIndicator<'stats_charts_market'> = {\n id: 'market_cap',\n title: 'Market cap',\n value: (stats) => stats.market_cap === null ?\n '$N/A' :\n '$' + Number(stats.market_cap).toLocaleString(undefined, { maximumFractionDigits: 2, notation: 'compact' }),\n icon: ,\n // eslint-disable-next-line max-len\n hint: 'The total market value of a cryptocurrency\\'s circulating supply. It is analogous to the free-float capitalization in the stock market. Market Cap = Current Price x Circulating Supply.',\n api: {\n resourceName: 'stats_charts_market',\n dataFn: (response) => ([ {\n items: response.chart_data\n .map((item) => (\n {\n date: new Date(item.date),\n value: (() => {\n if (item.market_cap !== undefined) {\n return item.market_cap;\n }\n\n if (item.closing_price === null) {\n return null;\n }\n\n return Number(item.closing_price) * Number(response.available_supply);\n })(),\n }))\n .sort(sortByDateDesc)\n .reduceRight(nonNullTailReducer, [] as Array)\n .map(mapNullToZero),\n name: 'Market cap',\n valueFormatter: (x: number) => '$' + x.toLocaleString(undefined, { maximumFractionDigits: 2 }),\n } ]),\n },\n};\n\nconst tvlIndicator: TChainIndicator<'stats_charts_market'> = {\n id: 'tvl',\n title: 'Total value locked',\n value: (stats) => stats.tvl === null ?\n '$N/A' :\n '$' + Number(stats.tvl).toLocaleString(undefined, { maximumFractionDigits: 2, notation: 'compact' }),\n icon: ,\n // eslint-disable-next-line max-len\n hint: 'Total value of digital assets locked or staked in a chain',\n api: {\n resourceName: 'stats_charts_market',\n dataFn: (response) => ([ {\n items: response.chart_data\n .map((item) => (\n {\n date: new Date(item.date),\n value: item.tvl !== undefined ? item.tvl : 0,\n }))\n .sort(sortByDateDesc)\n .reduceRight(nonNullTailReducer, [] as Array)\n .map(mapNullToZero),\n name: 'TVL',\n valueFormatter: (x: number) => '$' + x.toLocaleString(undefined, { maximumFractionDigits: 2, notation: 'compact' }),\n } ]),\n },\n};\n\nconst INDICATORS = [\n dailyTxsIndicator,\n coinPriceIndicator,\n secondaryCoinPriceIndicator,\n marketPriceIndicator,\n tvlIndicator,\n];\n\nexport default INDICATORS;\n","import { Flex, Skeleton, Text, useColorModeValue } from '@chakra-ui/react';\nimport React from 'react';\n\nimport config from 'configs/app';\nimport useApiQuery from 'lib/api/useApiQuery';\nimport { HOMEPAGE_STATS } from 'stubs/stats';\nimport Hint from 'ui/shared/Hint';\nimport IconSvg from 'ui/shared/IconSvg';\n\nimport ChainIndicatorChartContainer from './ChainIndicatorChartContainer';\nimport ChainIndicatorItem from './ChainIndicatorItem';\nimport useFetchChartData from './useFetchChartData';\nimport INDICATORS from './utils/indicators';\n\nconst indicators = INDICATORS\n .filter(({ id }) => config.UI.homepage.charts.includes(id))\n .sort((a, b) => {\n if (config.UI.homepage.charts.indexOf(a.id) > config.UI.homepage.charts.indexOf(b.id)) {\n return 1;\n }\n\n if (config.UI.homepage.charts.indexOf(a.id) < config.UI.homepage.charts.indexOf(b.id)) {\n return -1;\n }\n\n return 0;\n });\n\nconst ChainIndicators = () => {\n const [ selectedIndicator, selectIndicator ] = React.useState(indicators[0]?.id);\n const indicator = indicators.find(({ id }) => id === selectedIndicator);\n\n const queryResult = useFetchChartData(indicator);\n const statsQueryResult = useApiQuery('stats', {\n queryOptions: {\n refetchOnMount: false,\n placeholderData: HOMEPAGE_STATS,\n },\n });\n\n const bgColor = useColorModeValue('gray.50', 'whiteAlpha.100');\n\n if (indicators.length === 0) {\n return null;\n }\n\n const valueTitle = (() => {\n if (statsQueryResult.isPlaceholderData) {\n return ;\n }\n\n if (!statsQueryResult.data) {\n return There is no data;\n }\n\n return (\n \n { indicator?.value(statsQueryResult.data) }\n \n );\n })();\n\n const valueDiff = (() => {\n if (!statsQueryResult.data || !indicator?.valueDiff) {\n return null;\n }\n\n const diff = indicator.valueDiff(statsQueryResult.data);\n if (diff === undefined || diff === null) {\n return null;\n }\n\n const diffColor = diff >= 0 ? 'green.500' : 'red.500';\n\n return (\n \n \n { diff }%\n \n );\n })();\n\n return (\n \n \n \n { indicator?.title }\n { indicator?.hint && }\n \n \n { valueTitle }\n { valueDiff }\n \n \n \n { indicators.length > 1 && (\n \n { indicators.map((indicator) => (\n \n )) }\n \n ) }\n \n );\n};\n\nexport default ChainIndicators;\n","import {\n Box,\n Flex,\n Skeleton,\n} from '@chakra-ui/react';\nimport { motion } from 'framer-motion';\nimport React from 'react';\n\nimport { route } from 'nextjs-routes';\n\nimport BatchEntityL2 from 'ui/shared/entities/block/BatchEntityL2';\nimport LinkInternal from 'ui/shared/links/LinkInternal';\nimport TimeAgoWithTooltip from 'ui/shared/TimeAgoWithTooltip';\n\ntype Props = {\n number: number;\n timestamp: string | null;\n txCount: number;\n status?: React.ReactNode;\n isLoading: boolean;\n}\n\nconst LatestBatchItem = ({ number, timestamp, txCount, status, isLoading }: Props) => {\n return (\n \n \n \n \n \n \n \n Txn\n \n \n { txCount }\n \n \n \n { status }\n \n \n );\n};\n\nexport default LatestBatchItem;\n","import { Box, Heading, Flex, Text, VStack } from '@chakra-ui/react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { AnimatePresence } from 'framer-motion';\nimport React from 'react';\n\nimport type { SocketMessage } from 'lib/socket/types';\nimport type { ArbitrumL2TxnBatchesItem } from 'types/api/arbitrumL2';\n\nimport { route } from 'nextjs-routes';\n\nimport useApiQuery, { getResourceKey } from 'lib/api/useApiQuery';\nimport useIsMobile from 'lib/hooks/useIsMobile';\nimport useSocketChannel from 'lib/socket/useSocketChannel';\nimport useSocketMessage from 'lib/socket/useSocketMessage';\nimport { ARBITRUM_L2_TXN_BATCHES_ITEM } from 'stubs/arbitrumL2';\nimport LinkInternal from 'ui/shared/links/LinkInternal';\n\nimport LatestBatchItem from './LatestBatchItem';\n\nconst LatestArbitrumL2Batches = () => {\n const isMobile = useIsMobile();\n const batchesMaxCount = isMobile ? 2 : 5;\n const queryClient = useQueryClient();\n\n const { data, isPlaceholderData, isError } = useApiQuery('homepage_arbitrum_l2_batches', {\n queryOptions: {\n placeholderData: { items: Array(batchesMaxCount).fill(ARBITRUM_L2_TXN_BATCHES_ITEM) },\n },\n });\n\n const handleNewBatchMessage: SocketMessage.NewArbitrumL2Batch['handler'] = React.useCallback((payload) => {\n queryClient.setQueryData(getResourceKey('homepage_arbitrum_l2_batches'), (prevData: { items: Array } | undefined) => {\n const newItems = prevData?.items ? [ ...prevData.items ] : [];\n\n if (newItems.some((batch => batch.number === payload.batch.number))) {\n return { items: newItems };\n }\n\n return { items: [ payload.batch, ...newItems ].sort((b1, b2) => b2.number - b1.number).slice(0, batchesMaxCount) };\n });\n }, [ queryClient, batchesMaxCount ]);\n\n const channel = useSocketChannel({\n topic: 'arbitrum:new_batch',\n isDisabled: isPlaceholderData || isError,\n });\n useSocketMessage({\n channel,\n event: 'new_arbitrum_batch',\n handler: handleNewBatchMessage,\n });\n\n let content;\n\n if (isError) {\n content = No data. Please reload the page.;\n }\n\n if (data) {\n const dataToShow = data.items.slice(0, batchesMaxCount);\n\n content = (\n <>\n \n \n { dataToShow.map(((batch, index) => (\n \n ))) }\n \n \n \n View all batches\n \n \n );\n }\n\n return (\n \n Latest batches\n { content }\n \n );\n};\n\nexport default LatestArbitrumL2Batches;\n","import { Box, Heading, Flex, Text, VStack } from '@chakra-ui/react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { AnimatePresence } from 'framer-motion';\nimport React from 'react';\n\nimport type { SocketMessage } from 'lib/socket/types';\nimport type { ZkEvmL2TxnBatchesItem } from 'types/api/zkEvmL2';\n\nimport { route } from 'nextjs-routes';\n\nimport useApiQuery, { getResourceKey } from 'lib/api/useApiQuery';\nimport useIsMobile from 'lib/hooks/useIsMobile';\nimport useSocketChannel from 'lib/socket/useSocketChannel';\nimport useSocketMessage from 'lib/socket/useSocketMessage';\nimport { ZKEVM_L2_TXN_BATCHES_ITEM } from 'stubs/zkEvmL2';\nimport LinkInternal from 'ui/shared/links/LinkInternal';\nimport ZkEvmL2TxnBatchStatus from 'ui/shared/statusTag/ZkEvmL2TxnBatchStatus';\n\nimport LatestBatchItem from './LatestBatchItem';\n\nconst LatestZkEvmL2Batches = () => {\n const isMobile = useIsMobile();\n const batchesMaxCount = isMobile ? 2 : 5;\n const queryClient = useQueryClient();\n\n const { data, isPlaceholderData, isError } = useApiQuery('homepage_zkevm_l2_batches', {\n queryOptions: {\n placeholderData: { items: Array(batchesMaxCount).fill(ZKEVM_L2_TXN_BATCHES_ITEM) },\n },\n });\n\n const handleNewBatchMessage: SocketMessage.NewZkEvmL2Batch['handler'] = React.useCallback((payload) => {\n queryClient.setQueryData(getResourceKey('homepage_zkevm_l2_batches'), (prevData: { items: Array } | undefined) => {\n const newItems = prevData?.items ? [ ...prevData.items ] : [];\n\n if (newItems.some((batch => batch.number === payload.batch.number))) {\n return { items: newItems };\n }\n\n return { items: [ payload.batch, ...newItems ].sort((b1, b2) => b2.number - b1.number).slice(0, batchesMaxCount) };\n });\n }, [ queryClient, batchesMaxCount ]);\n\n const channel = useSocketChannel({\n topic: 'zkevm_batches:new_zkevm_confirmed_batch',\n isDisabled: isPlaceholderData || isError,\n });\n useSocketMessage({\n channel,\n event: 'new_zkevm_confirmed_batch',\n handler: handleNewBatchMessage,\n });\n\n let content;\n\n if (isError) {\n content = No data. Please reload the page.;\n }\n\n if (data) {\n const dataToShow = data.items.slice(0, batchesMaxCount);\n\n content = (\n <>\n \n \n { dataToShow.map(((batch, index) => {\n const status = ;\n return (\n \n );\n })) }\n \n \n \n View all batches\n \n \n );\n }\n\n return (\n \n Latest batches\n { content }\n \n );\n};\n\nexport default LatestZkEvmL2Batches;\n","import {\n Box,\n Flex,\n Grid,\n Skeleton,\n Tooltip,\n} from '@chakra-ui/react';\nimport { motion } from 'framer-motion';\nimport React from 'react';\n\nimport type { Block } from 'types/api/block';\n\nimport config from 'configs/app';\nimport getBlockTotalReward from 'lib/block/getBlockTotalReward';\nimport getNetworkValidatorTitle from 'lib/networks/getNetworkValidatorTitle';\nimport AddressEntity from 'ui/shared/entities/address/AddressEntity';\nimport BlockEntity from 'ui/shared/entities/block/BlockEntity';\nimport IconSvg from 'ui/shared/IconSvg';\nimport TimeAgoWithTooltip from 'ui/shared/TimeAgoWithTooltip';\n\ntype Props = {\n block: Block;\n isLoading?: boolean;\n}\n\nconst LatestBlocksItem = ({ block, isLoading }: Props) => {\n const totalReward = getBlockTotalReward(block);\n return (\n \n \n \n { block.celo?.is_epoch_block && (\n \n \n \n ) }\n \n \n \n Txn\n { block.tx_count }\n\n { !config.features.rollup.isEnabled && !config.UI.views.block.hiddenFields?.total_reward && (\n <>\n Reward\n { totalReward.dp(10).toFixed() }\n \n ) }\n\n { !config.features.rollup.isEnabled && !config.UI.views.block.hiddenFields?.miner && (\n <>\n { getNetworkValidatorTitle() }\n \n \n ) }\n \n \n );\n};\n\nexport default LatestBlocksItem;\n","import { chakra, Box, Heading, Flex, Text, VStack, Skeleton } from '@chakra-ui/react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { AnimatePresence } from 'framer-motion';\nimport React from 'react';\n\nimport type { SocketMessage } from 'lib/socket/types';\nimport type { Block } from 'types/api/block';\n\nimport { route } from 'nextjs-routes';\n\nimport config from 'configs/app';\nimport useApiQuery, { getResourceKey } from 'lib/api/useApiQuery';\nimport useIsMobile from 'lib/hooks/useIsMobile';\nimport { nbsp } from 'lib/html-entities';\nimport useSocketChannel from 'lib/socket/useSocketChannel';\nimport useSocketMessage from 'lib/socket/useSocketMessage';\nimport { BLOCK } from 'stubs/block';\nimport { HOMEPAGE_STATS } from 'stubs/stats';\nimport LinkInternal from 'ui/shared/links/LinkInternal';\n\nimport LatestBlocksItem from './LatestBlocksItem';\n\nconst LatestBlocks = () => {\n const isMobile = useIsMobile();\n // const blocksMaxCount = isMobile ? 2 : 3;\n let blocksMaxCount: number;\n if (config.features.rollup.isEnabled || config.UI.views.block.hiddenFields?.total_reward) {\n blocksMaxCount = isMobile ? 4 : 5;\n } else {\n blocksMaxCount = isMobile ? 2 : 3;\n }\n const { data, isPlaceholderData, isError } = useApiQuery('homepage_blocks', {\n queryOptions: {\n placeholderData: Array(blocksMaxCount).fill(BLOCK),\n },\n });\n\n const queryClient = useQueryClient();\n const statsQueryResult = useApiQuery('stats', {\n queryOptions: {\n refetchOnMount: false,\n placeholderData: HOMEPAGE_STATS,\n },\n });\n\n const handleNewBlockMessage: SocketMessage.NewBlock['handler'] = React.useCallback((payload) => {\n queryClient.setQueryData(getResourceKey('homepage_blocks'), (prevData: Array | undefined) => {\n\n const newData = prevData ? [ ...prevData ] : [];\n\n if (newData.some((block => block.height === payload.block.height))) {\n return newData;\n }\n\n return [ payload.block, ...newData ].sort((b1, b2) => b2.height - b1.height).slice(0, blocksMaxCount);\n });\n }, [ queryClient, blocksMaxCount ]);\n\n const channel = useSocketChannel({\n topic: 'blocks:new_block',\n isDisabled: isPlaceholderData || isError,\n });\n useSocketMessage({\n channel,\n event: 'new_block',\n handler: handleNewBlockMessage,\n });\n\n let content;\n\n if (isError) {\n content = No data. Please reload the page.;\n }\n\n if (data) {\n const dataToShow = data.slice(0, blocksMaxCount);\n\n content = (\n <>\n \n \n { dataToShow.map(((block, index) => (\n \n ))) }\n \n \n \n View all blocks\n \n \n );\n }\n\n return (\n \n Latest blocks\n { statsQueryResult.data?.network_utilization_percentage !== undefined && (\n \n \n Network utilization:{ nbsp }\n \n \n { statsQueryResult.data?.network_utilization_percentage.toFixed(2) }%\n \n \n ) }\n { statsQueryResult.data?.celo && (\n \n Current epoch: \n #{ statsQueryResult.data.celo.epoch_number }\n \n ) }\n \n { content }\n \n \n );\n};\n\nexport default LatestBlocks;\n","import { Grid } from '@chakra-ui/react';\nimport BigNumber from 'bignumber.js';\nimport React from 'react';\n\nimport config from 'configs/app';\nimport useApiQuery from 'lib/api/useApiQuery';\nimport { WEI } from 'lib/consts';\nimport { HOMEPAGE_STATS } from 'stubs/stats';\nimport GasInfoTooltip from 'ui/shared/gas/GasInfoTooltip';\nimport GasPrice from 'ui/shared/gas/GasPrice';\nimport IconSvg from 'ui/shared/IconSvg';\nimport type { Props as StatsWidgetProps } from 'ui/shared/stats/StatsWidget';\nimport StatsWidget from 'ui/shared/stats/StatsWidget';\n\nconst hasAvgBlockTime = config.UI.homepage.showAvgBlockTime;\nconst rollupFeature = config.features.rollup;\n\nconst Stats = () => {\n const [ hasGasTracker, setHasGasTracker ] = React.useState(config.features.gasTracker.isEnabled);\n const { data, isPlaceholderData, isError, dataUpdatedAt } = useApiQuery('stats', {\n queryOptions: {\n refetchOnMount: false,\n placeholderData: HOMEPAGE_STATS,\n },\n });\n\n React.useEffect(() => {\n if (!isPlaceholderData && !data?.gas_prices?.average) {\n setHasGasTracker(false);\n }\n // should run only after initial fetch\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ isPlaceholderData ]);\n\n const zkEvmLatestBatchQuery = useApiQuery('homepage_zkevm_latest_batch', {\n queryOptions: {\n placeholderData: 12345,\n enabled: rollupFeature.isEnabled && rollupFeature.type === 'zkEvm',\n },\n });\n\n const zkSyncLatestBatchQuery = useApiQuery('homepage_zksync_latest_batch', {\n queryOptions: {\n placeholderData: 12345,\n enabled: rollupFeature.isEnabled && rollupFeature.type === 'zkSync',\n },\n });\n\n const arbitrumLatestBatchQuery = useApiQuery('homepage_arbitrum_latest_batch', {\n queryOptions: {\n placeholderData: 12345,\n enabled: rollupFeature.isEnabled && rollupFeature.type === 'arbitrum',\n },\n });\n\n if (isError || zkEvmLatestBatchQuery.isError || zkSyncLatestBatchQuery.isError || arbitrumLatestBatchQuery.isError) {\n return null;\n }\n\n const isLoading = isPlaceholderData ||\n (rollupFeature.isEnabled && rollupFeature.type === 'zkEvm' && zkEvmLatestBatchQuery.isPlaceholderData) ||\n (rollupFeature.isEnabled && rollupFeature.type === 'zkSync' && zkSyncLatestBatchQuery.isPlaceholderData) ||\n (rollupFeature.isEnabled && rollupFeature.type === 'arbitrum' && arbitrumLatestBatchQuery.isPlaceholderData);\n\n const content = (() => {\n if (!data) {\n return null;\n }\n const gasInfoTooltip = hasGasTracker && data.gas_prices && data.gas_prices.average ? (\n \n \n \n ) : null;\n\n const hasBatches = rollupFeature.isEnabled && (rollupFeature.type === 'zkEvm' || rollupFeature.type === 'zkSync' || rollupFeature.type === 'arbitrum');\n const latestBatch =\n (hasBatches && rollupFeature.type === 'zkEvm' ? zkEvmLatestBatchQuery.data : null) ||\n (hasBatches && rollupFeature.type === 'zkSync' ? zkSyncLatestBatchQuery.data : null) ||\n (hasBatches && rollupFeature.type === 'arbitrum' ? arbitrumLatestBatchQuery.data : null) || 0;\n\n const items: Array = [\n hasBatches && {\n icon: 'txn_batches_slim' as const,\n label: 'Latest batch',\n value: latestBatch.toLocaleString(),\n href: { pathname: '/batches' as const },\n isLoading,\n },\n !hasBatches && {\n icon: 'block_slim' as const,\n label: 'Total blocks',\n value: Number(data.total_blocks).toLocaleString(),\n href: { pathname: '/blocks' as const },\n isLoading,\n },\n hasAvgBlockTime && {\n icon: 'clock-light' as const,\n label: 'Average block time',\n value: `${ (data.average_block_time / 1000).toFixed(1) }s`,\n isLoading,\n },\n {\n icon: 'transactions_slim' as const,\n label: 'Total transactions',\n value: Number(data.total_transactions).toLocaleString(),\n href: { pathname: '/txs' as const },\n isLoading,\n },\n rollupFeature.isEnabled && data.last_output_root_size && {\n icon: 'txn_batches_slim' as const,\n label: 'Latest L1 state batch',\n value: data.last_output_root_size,\n href: { pathname: '/batches' as const },\n isLoading,\n },\n {\n icon: 'wallet' as const,\n label: 'Wallet addresses',\n value: Number(data.total_addresses).toLocaleString(),\n isLoading,\n },\n hasGasTracker && data.gas_prices && {\n icon: 'gas' as const,\n label: 'Gas tracker',\n value: data.gas_prices.average ? : 'N/A',\n hint: gasInfoTooltip,\n isLoading,\n },\n data.rootstock_locked_btc && {\n icon: 'coins/bitcoin' as const,\n label: 'BTC Locked in 2WP',\n value: `${ BigNumber(data.rootstock_locked_btc).div(WEI).dp(0).toFormat() } RBTC`,\n isLoading,\n },\n data.celo && {\n icon: 'hourglass' as const,\n label: 'Current epoch',\n value: `#${ data.celo.epoch_number }`,\n isLoading,\n },\n ].filter(Boolean);\n\n return (\n <>\n { items.map((item, index) => (\n \n ),\n ) }\n \n );\n })();\n\n return (\n \n { content }\n \n\n );\n};\n\nexport default Stats;\n","import {\n Box,\n Flex,\n Grid,\n Skeleton,\n} from '@chakra-ui/react';\nimport React from 'react';\n\nimport { route } from 'nextjs-routes';\n\nimport useIsMobile from 'lib/hooks/useIsMobile';\nimport BlockEntityL1 from 'ui/shared/entities/block/BlockEntityL1';\nimport TxEntity from 'ui/shared/entities/tx/TxEntity';\nimport TxEntityL1 from 'ui/shared/entities/tx/TxEntityL1';\nimport LinkInternal from 'ui/shared/links/LinkInternal';\nimport SocketNewItemsNotice from 'ui/shared/SocketNewItemsNotice';\nimport TimeAgoWithTooltip from 'ui/shared/TimeAgoWithTooltip';\n\ntype DepositsItem = {\n l1BlockNumber: number;\n l1TxHash: string;\n l2TxHash: string | null;\n timestamp: string | null;\n}\n\ntype Props = {\n isLoading?: boolean;\n items: Array;\n socketItemsNum: number;\n socketAlert?: string;\n}\n\ntype ItemProps = {\n item: DepositsItem;\n isLoading?: boolean;\n}\n\nconst LatestDepositsItem = ({ item, isLoading }: ItemProps) => {\n const isMobile = useIsMobile();\n\n const l1BlockLink = (\n \n );\n\n const l1TxLink = (\n \n );\n\n const l2TxLink = item.l2TxHash ? (\n \n ) : null;\n\n const content = (() => {\n if (isMobile) {\n return (\n <>\n \n { l1BlockLink }\n \n \n \n \n L1 txn\n \n { l1TxLink }\n \n L2 txn\n \n { l2TxLink }\n \n \n );\n }\n\n return (\n \n { l1BlockLink }\n \n L1 txn\n \n { l1TxLink }\n \n \n L2 txn\n \n { l2TxLink }\n \n );\n })();\n\n return (\n \n { content }\n \n );\n};\n\nconst LatestDeposits = ({ isLoading, items, socketAlert, socketItemsNum }: Props) => {\n const depositsUrl = route({ pathname: '/deposits' });\n return (\n <>\n \n \n { items.map(((item, index) => (\n \n ))) }\n \n \n View all deposits\n \n \n );\n};\n\nexport default LatestDeposits;\n","import { Text } from '@chakra-ui/react';\nimport React from 'react';\n\nimport type { SocketMessage } from 'lib/socket/types';\n\nimport useApiQuery from 'lib/api/useApiQuery';\nimport useGradualIncrement from 'lib/hooks/useGradualIncrement';\nimport useIsMobile from 'lib/hooks/useIsMobile';\nimport useSocketChannel from 'lib/socket/useSocketChannel';\nimport useSocketMessage from 'lib/socket/useSocketMessage';\nimport { L2_DEPOSIT_ITEM } from 'stubs/L2';\n\nimport LatestDeposits from './LatestDeposits';\n\nconst LatestOptimisticDeposits = () => {\n const isMobile = useIsMobile();\n const itemsCount = isMobile ? 2 : 6;\n const { data, isPlaceholderData, isError } = useApiQuery('homepage_optimistic_deposits', {\n queryOptions: {\n placeholderData: Array(itemsCount).fill(L2_DEPOSIT_ITEM),\n },\n });\n\n const [ num, setNum ] = useGradualIncrement(0);\n const [ socketAlert, setSocketAlert ] = React.useState('');\n\n const handleSocketClose = React.useCallback(() => {\n setSocketAlert('Connection is lost. Please reload the page.');\n }, []);\n\n const handleSocketError = React.useCallback(() => {\n setSocketAlert('An error has occurred while fetching new transactions. Please reload the page.');\n }, []);\n\n const handleNewDepositMessage: SocketMessage.NewOptimisticDeposits['handler'] = React.useCallback((payload) => {\n setNum(payload.deposits);\n }, [ setNum ]);\n\n const channel = useSocketChannel({\n topic: 'optimism_deposits:new_deposits',\n onSocketClose: handleSocketClose,\n onSocketError: handleSocketError,\n isDisabled: false,\n });\n\n useSocketMessage({\n channel,\n event: 'deposits',\n handler: handleNewDepositMessage,\n });\n\n if (isError) {\n return No data. Please reload the page.;\n }\n\n if (data) {\n return (\n (\n { l1BlockNumber: item.l1_block_number, l1TxHash: item.l1_tx_hash, l2TxHash: item.l2_tx_hash, timestamp: item.l1_block_timestamp }\n )) }\n isLoading={ isPlaceholderData }\n socketItemsNum={ num }\n socketAlert={ socketAlert }\n />\n );\n }\n\n return null;\n};\n\nexport default LatestOptimisticDeposits;\n","import {\n Box,\n Flex,\n HStack,\n Text,\n Grid,\n Skeleton,\n} from '@chakra-ui/react';\nimport React from 'react';\n\nimport type { Transaction } from 'types/api/transaction';\n\nimport config from 'configs/app';\nimport getValueWithUnit from 'lib/getValueWithUnit';\nimport { currencyUnits } from 'lib/units';\nimport AddressFromTo from 'ui/shared/address/AddressFromTo';\nimport TxEntity from 'ui/shared/entities/tx/TxEntity';\nimport TxStatus from 'ui/shared/statusTag/TxStatus';\nimport TimeAgoWithTooltip from 'ui/shared/TimeAgoWithTooltip';\nimport TxFee from 'ui/shared/tx/TxFee';\nimport TxWatchListTags from 'ui/shared/tx/TxWatchListTags';\nimport TxAdditionalInfo from 'ui/txs/TxAdditionalInfo';\nimport TxType from 'ui/txs/TxType';\n\ntype Props = {\n tx: Transaction;\n isLoading?: boolean;\n}\n\nconst LatestTxsItem = ({ tx, isLoading }: Props) => {\n const dataTo = tx.to ? tx.to : tx.created_contract;\n const columnNum = config.UI.views.tx.hiddenFields?.value && config.UI.views.tx.hiddenFields?.tx_fee ? 2 : 3;\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n { !config.UI.views.tx.hiddenFields?.value && (\n \n Value \n { getValueWithUnit(tx.value).dp(5).toFormat() } { currencyUnits.ether }\n \n ) }\n { !config.UI.views.tx.hiddenFields?.tx_fee && (\n \n Fee \n \n \n ) }\n \n \n );\n};\n\nexport default React.memo(LatestTxsItem);\n","import {\n Box,\n Flex,\n HStack,\n Text,\n Skeleton,\n} from '@chakra-ui/react';\nimport React from 'react';\n\nimport type { Transaction } from 'types/api/transaction';\n\nimport config from 'configs/app';\nimport getValueWithUnit from 'lib/getValueWithUnit';\nimport { currencyUnits } from 'lib/units';\nimport AddressFromTo from 'ui/shared/address/AddressFromTo';\nimport TxEntity from 'ui/shared/entities/tx/TxEntity';\nimport TxStatus from 'ui/shared/statusTag/TxStatus';\nimport TimeAgoWithTooltip from 'ui/shared/TimeAgoWithTooltip';\nimport TxFee from 'ui/shared/tx/TxFee';\nimport TxWatchListTags from 'ui/shared/tx/TxWatchListTags';\nimport TxAdditionalInfo from 'ui/txs/TxAdditionalInfo';\nimport TxType from 'ui/txs/TxType';\n\ntype Props = {\n tx: Transaction;\n isLoading?: boolean;\n}\n\nconst LatestTxsItem = ({ tx, isLoading }: Props) => {\n const dataTo = tx.to ? tx.to : tx.created_contract;\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n { !config.UI.views.tx.hiddenFields?.value && (\n \n Value \n { getValueWithUnit(tx.value).dp(5).toFormat() } { currencyUnits.ether }\n \n ) }\n { !config.UI.views.tx.hiddenFields?.tx_fee && (\n \n Fee \n \n \n ) }\n \n );\n};\n\nexport default React.memo(LatestTxsItem);\n","import { Box, Flex, Text } from '@chakra-ui/react';\nimport React from 'react';\n\nimport { route } from 'nextjs-routes';\n\nimport useApiQuery from 'lib/api/useApiQuery';\nimport { AddressHighlightProvider } from 'lib/contexts/addressHighlight';\nimport useIsMobile from 'lib/hooks/useIsMobile';\nimport useNewTxsSocket from 'lib/hooks/useNewTxsSocket';\nimport { TX } from 'stubs/tx';\nimport LinkInternal from 'ui/shared/links/LinkInternal';\nimport SocketNewItemsNotice from 'ui/shared/SocketNewItemsNotice';\n\nimport LatestTxsItem from './LatestTxsItem';\nimport LatestTxsItemMobile from './LatestTxsItemMobile';\n\nconst LatestTransactions = () => {\n const isMobile = useIsMobile();\n const txsCount = isMobile ? 2 : 6;\n const { data, isPlaceholderData, isError } = useApiQuery('homepage_txs', {\n queryOptions: {\n placeholderData: Array(txsCount).fill(TX),\n },\n });\n\n const { num, socketAlert } = useNewTxsSocket();\n\n if (isError) {\n return No data. Please reload the page.;\n }\n\n if (data) {\n const txsUrl = route({ pathname: '/txs' });\n return (\n <>\n \n \n { data.slice(0, txsCount).map(((tx, index) => (\n \n ))) }\n \n \n \n { data.slice(0, txsCount).map(((tx, index) => (\n \n ))) }\n \n \n \n View all transactions\n \n \n );\n }\n\n return null;\n};\n\nexport default LatestTransactions;\n","import { Box, Flex, Text } from '@chakra-ui/react';\nimport React from 'react';\n\nimport { route } from 'nextjs-routes';\n\nimport useApiQuery from 'lib/api/useApiQuery';\nimport useIsMobile from 'lib/hooks/useIsMobile';\nimport useRedirectForInvalidAuthToken from 'lib/hooks/useRedirectForInvalidAuthToken';\nimport { TX } from 'stubs/tx';\nimport LinkInternal from 'ui/shared/links/LinkInternal';\n\nimport LatestTxsItem from './LatestTxsItem';\nimport LatestTxsItemMobile from './LatestTxsItemMobile';\n\nconst LatestWatchlistTxs = () => {\n useRedirectForInvalidAuthToken();\n const isMobile = useIsMobile();\n const txsCount = isMobile ? 2 : 6;\n const { data, isPlaceholderData, isError } = useApiQuery('homepage_txs_watchlist', {\n queryOptions: {\n placeholderData: Array(txsCount).fill(TX),\n },\n });\n\n if (isError) {\n return No data. Please reload the page.;\n }\n\n if (!data?.length) {\n return There are no transactions.;\n }\n\n if (data) {\n const txsUrl = route({ pathname: '/txs', query: { tab: 'watchlist' } });\n return (\n <>\n \n { data.slice(0, txsCount).map(((tx, index) => (\n \n ))) }\n \n \n { data.slice(0, txsCount).map(((tx, index) => (\n \n ))) }\n \n \n View all watch list transactions\n \n \n );\n }\n\n return null;\n};\n\nexport default LatestWatchlistTxs;\n","import { Text } from '@chakra-ui/react';\nimport React from 'react';\n\nimport type { SocketMessage } from 'lib/socket/types';\n\nimport useApiQuery from 'lib/api/useApiQuery';\nimport useGradualIncrement from 'lib/hooks/useGradualIncrement';\nimport useIsMobile from 'lib/hooks/useIsMobile';\nimport useSocketChannel from 'lib/socket/useSocketChannel';\nimport useSocketMessage from 'lib/socket/useSocketMessage';\nimport { ARBITRUM_MESSAGES_ITEM } from 'stubs/arbitrumL2';\n\nimport LatestDeposits from './LatestDeposits';\n\nconst LatestArbitrumDeposits = () => {\n const isMobile = useIsMobile();\n const itemsCount = isMobile ? 2 : 6;\n const { data, isPlaceholderData, isError } = useApiQuery('homepage_arbitrum_deposits', {\n queryOptions: {\n placeholderData: { items: Array(itemsCount).fill(ARBITRUM_MESSAGES_ITEM) },\n },\n });\n\n const [ num, setNum ] = useGradualIncrement(0);\n const [ socketAlert, setSocketAlert ] = React.useState('');\n\n const handleSocketClose = React.useCallback(() => {\n setSocketAlert('Connection is lost. Please reload the page.');\n }, []);\n\n const handleSocketError = React.useCallback(() => {\n setSocketAlert('An error has occurred while fetching new transactions. Please reload the page.');\n }, []);\n\n const handleNewDepositMessage: SocketMessage.NewArbitrumDeposits['handler'] = React.useCallback((payload) => {\n setNum(payload.new_messages_to_rollup_amount);\n }, [ setNum ]);\n\n const channel = useSocketChannel({\n topic: 'arbitrum:new_messages_to_rollup_amount',\n onSocketClose: handleSocketClose,\n onSocketError: handleSocketError,\n isDisabled: false,\n });\n\n useSocketMessage({\n channel,\n event: 'new_messages_to_rollup_amount',\n handler: handleNewDepositMessage,\n });\n\n if (isError) {\n return No data. Please reload the page.;\n }\n\n if (data) {\n return (\n (\n {\n l1BlockNumber: item.origination_transaction_block_number,\n l1TxHash: item.origination_transaction_hash,\n l2TxHash: item.completion_transaction_hash,\n timestamp: item.origination_timestamp,\n }\n )) }\n isLoading={ isPlaceholderData }\n socketItemsNum={ num }\n socketAlert={ socketAlert }\n />\n );\n }\n\n return null;\n};\n\nexport default LatestArbitrumDeposits;\n","import { Heading } from '@chakra-ui/react';\nimport React from 'react';\n\nimport config from 'configs/app';\nimport useHasAccount from 'lib/hooks/useHasAccount';\nimport LatestOptimisticDeposits from 'ui/home/latestDeposits/LatestOptimisticDeposits';\nimport LatestTxs from 'ui/home/LatestTxs';\nimport LatestWatchlistTxs from 'ui/home/LatestWatchlistTxs';\nimport TabsWithScroll from 'ui/shared/Tabs/TabsWithScroll';\n\nimport LatestArbitrumDeposits from './latestDeposits/LatestArbitrumDeposits';\n\nconst rollupFeature = config.features.rollup;\n\nconst TAB_LIST_PROPS = {\n mb: { base: 3, lg: 3 },\n};\n\nconst TransactionsHome = () => {\n const hasAccount = useHasAccount();\n if ((rollupFeature.isEnabled && (rollupFeature.type === 'optimistic' || rollupFeature.type === 'arbitrum')) || hasAccount) {\n const tabs = [\n { id: 'txn', title: 'Latest txn', component: },\n rollupFeature.isEnabled && rollupFeature.type === 'optimistic' &&\n { id: 'deposits', title: 'Deposits (L1→L2 txn)', component: },\n rollupFeature.isEnabled && rollupFeature.type === 'arbitrum' &&\n { id: 'deposits', title: 'Deposits (L1→L2 txn)', component: },\n hasAccount && { id: 'watchlist', title: 'Watch list', component: },\n ].filter(Boolean);\n return (\n <>\n Transactions\n \n \n );\n }\n\n return (\n <>\n Latest transactions\n \n \n );\n};\n\nexport default TransactionsHome;\n","import { Box, Flex, Heading } from '@chakra-ui/react';\nimport React from 'react';\n\nimport config from 'configs/app';\nimport ChainIndicators from 'ui/home/indicators/ChainIndicators';\nimport LatestArbitrumL2Batches from 'ui/home/latestBatches/LatestArbitrumL2Batches';\nimport LatestZkEvmL2Batches from 'ui/home/latestBatches/LatestZkEvmL2Batches';\nimport LatestBlocks from 'ui/home/LatestBlocks';\nimport Stats from 'ui/home/Stats';\nimport Transactions from 'ui/home/Transactions';\nimport AdBanner from 'ui/shared/ad/AdBanner';\nimport ProfileMenuDesktop from 'ui/snippets/profileMenu/ProfileMenuDesktop';\nimport SearchBar from 'ui/snippets/searchBar/SearchBar';\nimport WalletMenuDesktop from 'ui/snippets/walletMenu/WalletMenuDesktop';\n\nconst rollupFeature = config.features.rollup;\n\nconst Home = () => {\n return (\n \n \n \n \n \n {\n config.meta.seo.enhancedDataEnabled ?\n `${ config.chain.name } blockchain explorer` :\n `${ config.chain.name } explorer`\n }\n \n { config.UI.navigation.layout === 'vertical' && (\n \n { config.features.account.isEnabled && }\n { config.features.blockchainInteraction.isEnabled && }\n \n ) }\n \n \n \n \n \n \n \n \n \n \n \n { rollupFeature.isEnabled && rollupFeature.type === 'zkEvm' && }\n { rollupFeature.isEnabled && rollupFeature.type === 'arbitrum' && }\n { !(rollupFeature.isEnabled && (rollupFeature.type === 'arbitrum' || rollupFeature.type === 'zkEvm')) && }\n \n \n \n \n \n );\n};\n\nexport default Home;\n","import React from 'react';\n\nimport type { Props } from './types';\n\nimport AppErrorBoundary from 'ui/shared/AppError/AppErrorBoundary';\nimport HeaderAlert from 'ui/snippets/header/HeaderAlert';\nimport HeaderMobile from 'ui/snippets/header/HeaderMobile';\n\nimport * as Layout from './components';\n\nconst LayoutHome = ({ children }: Props) => {\n return (\n \n \n \n \n \n \n \n \n \n { children }\n \n \n \n \n \n );\n};\n\nexport default LayoutHome;\n","import React from 'react';\n\nimport type { NextPageWithLayout } from 'nextjs/types';\n\nimport PageNextJs from 'nextjs/PageNextJs';\n\nimport Home from 'ui/pages/Home';\nimport LayoutHome from 'ui/shared/layout/LayoutHome';\n\nconst Page: NextPageWithLayout = () => {\n return (\n \n \n \n );\n};\n\nPage.getLayout = function getLayout(page: React.ReactElement) {\n return (\n \n { page }\n \n );\n};\n\nexport default Page;\n\nexport { base as getServerSideProps } from 'nextjs/getServerSideProps';\n","import type {\n OptimisticL2DepositsItem,\n OptimisticL2DisputeGamesItem,\n OptimisticL2OutputRootsItem,\n OptimisticL2TxnBatchesItem,\n OptimisticL2WithdrawalsItem,\n} from 'types/api/optimisticL2';\n\nimport { ADDRESS_HASH, ADDRESS_PARAMS } from './addressParams';\nimport { TX_HASH } from './tx';\n\nexport const L2_DEPOSIT_ITEM: OptimisticL2DepositsItem = {\n l1_block_number: 9045233,\n l1_block_timestamp: '2023-05-22T18:00:36.000000Z',\n l1_tx_hash: TX_HASH,\n l1_tx_origin: ADDRESS_HASH,\n l2_tx_gas_limit: '100000',\n l2_tx_hash: TX_HASH,\n};\n\nexport const L2_WITHDRAWAL_ITEM: OptimisticL2WithdrawalsItem = {\n challenge_period_end: null,\n from: ADDRESS_PARAMS,\n l1_tx_hash: TX_HASH,\n l2_timestamp: '2023-06-01T13:44:56.000000Z',\n l2_tx_hash: TX_HASH,\n msg_nonce: 2393,\n msg_nonce_version: 1,\n status: 'Ready to prove',\n};\n\nexport const L2_TXN_BATCHES_ITEM: OptimisticL2TxnBatchesItem = {\n l1_timestamp: '2023-06-01T14:46:48.000000Z',\n l1_tx_hashes: [\n TX_HASH,\n ],\n l2_block_number: 5218590,\n tx_count: 9,\n};\n\nexport const L2_OUTPUT_ROOTS_ITEM: OptimisticL2OutputRootsItem = {\n l1_block_number: 9103684,\n l1_timestamp: '2023-06-01T15:26:12.000000Z',\n l1_tx_hash: TX_HASH,\n l2_block_number: 10102468,\n l2_output_index: 50655,\n output_root: TX_HASH,\n};\n\nexport const L2_DISPUTE_GAMES_ITEM: OptimisticL2DisputeGamesItem = {\n contract_address: ADDRESS_HASH,\n created_at: '2023-06-01T15:26:12.000000Z',\n game_type: 0,\n index: 6594,\n l2_block_number: 50655,\n resolved_at: null,\n status: 'In progress',\n};\n","import type { AddressParam } from 'types/api/addressParams';\n\nexport const ADDRESS_HASH = '0x2B51Ae4412F79c3c1cB12AA40Ea4ECEb4e80511a';\n\nexport const ADDRESS_PARAMS: AddressParam = {\n hash: ADDRESS_HASH,\n implementations: null,\n is_contract: false,\n is_verified: null,\n name: null,\n private_tags: [],\n public_tags: [],\n watchlist_names: [],\n ens_domain_name: null,\n};\n","import type { ArbitrumL2TxnBatchesItem, ArbitrumL2TxnBatch, ArbitrumL2MessagesItem } from 'types/api/arbitrumL2';\n\nimport { ADDRESS_HASH } from './addressParams';\nimport { TX_HASH } from './tx';\n\nexport const ARBITRUM_MESSAGES_ITEM: ArbitrumL2MessagesItem = {\n completion_transaction_hash: TX_HASH,\n id: 181920,\n origination_address: ADDRESS_HASH,\n origination_transaction_block_number: 123456,\n origination_transaction_hash: TX_HASH,\n origination_timestamp: '2023-06-01T14:46:48.000000Z',\n status: 'relayed',\n};\n\nexport const ARBITRUM_L2_TXN_BATCHES_ITEM: ArbitrumL2TxnBatchesItem = {\n number: 12345,\n blocks_count: 12345,\n transactions_count: 10000,\n commitment_transaction: {\n block_number: 12345,\n timestamp: '2024-04-17T08:51:58.000000Z',\n hash: TX_HASH,\n status: 'finalized',\n },\n batch_data_container: 'in_blob4844',\n};\n\nexport const ARBITRUM_L2_TXN_BATCH: ArbitrumL2TxnBatch = {\n ...ARBITRUM_L2_TXN_BATCHES_ITEM,\n after_acc: '0xcd064f3409015e8e6407e492e5275a185e492c6b43ccf127f22092d8057a9ffb',\n before_acc: '0x2ed7c4985eb778d76ec400a43805e7feecc8c2afcdb492dbe5caf227de6d37bc',\n start_block: 1245209,\n end_block: 1245490,\n data_availability: {\n batch_data_container: 'in_blob4844',\n },\n};\n","import type { Block, BlockEpochElectionReward, BlockEpoch } from 'types/api/block';\n\nimport { ADDRESS_PARAMS } from './addressParams';\nimport { TOKEN_INFO_ERC_20, TOKEN_TRANSFER_ERC_20 } from './token';\n\nexport const BLOCK_HASH = '0x8fa7b9e5e5e79deeb62d608db22ba9a5cb45388c7ebb9223ae77331c6080dc70';\n\nexport const BLOCK: Block = {\n base_fee_per_gas: '14',\n burnt_fees: '92834504000000000',\n burnt_fees_percentage: 42.2,\n difficulty: '340282366920938463463374607431768211451',\n extra_data: 'TODO',\n gas_limit: '30000000',\n gas_target_percentage: 55.79,\n gas_used: '6631036',\n gas_used_percentage: 22.10,\n hash: BLOCK_HASH,\n height: 8988736,\n miner: ADDRESS_PARAMS,\n nonce: '0x0000000000000000',\n parent_hash: BLOCK_HASH,\n priority_fee: '19241635454943109',\n rewards: [\n {\n reward: '19241635454943109',\n type: 'Validator Reward',\n },\n ],\n size: 46406,\n state_root: 'TODO',\n timestamp: '2023-05-12T19:29:12.000000Z',\n total_difficulty: '10837812015930321201107455268036056402048391639',\n tx_count: 142,\n tx_fees: '19241635547777613',\n type: 'block',\n uncles_hashes: [],\n};\n\nconst BLOCK_EPOCH_REWARD: BlockEpochElectionReward = {\n count: 10,\n total: '157705500305820107521',\n token: TOKEN_INFO_ERC_20,\n};\n\nexport const BLOCK_EPOCH: BlockEpoch = {\n number: 1486,\n aggregated_election_rewards: {\n group: BLOCK_EPOCH_REWARD,\n validator: BLOCK_EPOCH_REWARD,\n voter: BLOCK_EPOCH_REWARD,\n delegated_payment: BLOCK_EPOCH_REWARD,\n },\n distribution: {\n carbon_offsetting_transfer: TOKEN_TRANSFER_ERC_20,\n community_transfer: TOKEN_TRANSFER_ERC_20,\n reserve_bolster_transfer: TOKEN_TRANSFER_ERC_20,\n },\n};\n","import type {\n TokenCounters,\n TokenHolder,\n TokenHolders,\n TokenHoldersPagination,\n TokenInfo,\n TokenInstance,\n TokenType,\n} from 'types/api/token';\nimport type { TokenInstanceTransferPagination, TokenInstanceTransferResponse } from 'types/api/tokens';\nimport type { TokenTransfer, TokenTransferPagination, TokenTransferResponse } from 'types/api/tokenTransfer';\n\nimport { ADDRESS_PARAMS, ADDRESS_HASH } from './addressParams';\nimport { TX_HASH } from './tx';\nimport { generateListStub } from './utils';\n\nexport const BLOCK_HASH = '0x8fa7b9e5e5e79deeb62d608db22ba9a5cb45388c7ebb9223ae77331c6080dc70';\n\nexport const TOKEN_INFO_ERC_20: TokenInfo<'ERC-20'> = {\n address: ADDRESS_HASH,\n circulating_market_cap: '117629601.61913824',\n decimals: '18',\n exchange_rate: '0.999997',\n holders: '16026',\n name: 'Stub Token (goerli)',\n symbol: 'STUB',\n total_supply: '60000000000000000000000',\n type: 'ERC-20',\n icon_url: null,\n};\n\nexport const TOKEN_INFO_ERC_721: TokenInfo<'ERC-721'> = {\n ...TOKEN_INFO_ERC_20,\n circulating_market_cap: null,\n type: 'ERC-721',\n};\n\nexport const TOKEN_INFO_ERC_1155: TokenInfo<'ERC-1155'> = {\n ...TOKEN_INFO_ERC_20,\n circulating_market_cap: null,\n type: 'ERC-1155',\n};\n\nexport const TOKEN_INFO_ERC_404: TokenInfo<'ERC-404'> = {\n ...TOKEN_INFO_ERC_20,\n circulating_market_cap: null,\n type: 'ERC-404',\n};\n\nexport const TOKEN_COUNTERS: TokenCounters = {\n token_holders_count: '123456',\n transfers_count: '123456',\n};\n\nexport const TOKEN_HOLDER_ERC_20: TokenHolder = {\n address: ADDRESS_PARAMS,\n value: '1021378038331138520',\n};\n\nexport const TOKEN_HOLDER_ERC_1155: TokenHolder = {\n address: ADDRESS_PARAMS,\n token_id: '12345',\n value: '1021378038331138520',\n};\n\nexport const getTokenHoldersStub = (type?: TokenType, pagination: TokenHoldersPagination | null = null): TokenHolders => {\n switch (type) {\n case 'ERC-721':\n return generateListStub<'token_holders'>(TOKEN_HOLDER_ERC_20, 50, { next_page_params: pagination });\n case 'ERC-1155':\n return generateListStub<'token_holders'>(TOKEN_HOLDER_ERC_1155, 50, { next_page_params: pagination });\n case 'ERC-404':\n return generateListStub<'token_holders'>(TOKEN_HOLDER_ERC_1155, 50, { next_page_params: pagination });\n default:\n return generateListStub<'token_holders'>(TOKEN_HOLDER_ERC_20, 50, { next_page_params: pagination });\n }\n};\n\nexport const getTokenInstanceHoldersStub = (type?: TokenType, pagination: TokenHoldersPagination | null = null): TokenHolders => {\n switch (type) {\n case 'ERC-721':\n return generateListStub<'token_instance_holders'>(TOKEN_HOLDER_ERC_20, 10, { next_page_params: pagination });\n case 'ERC-1155':\n return generateListStub<'token_instance_holders'>(TOKEN_HOLDER_ERC_1155, 10, { next_page_params: pagination });\n case 'ERC-404':\n return generateListStub<'token_instance_holders'>(TOKEN_HOLDER_ERC_1155, 10, { next_page_params: pagination });\n default:\n return generateListStub<'token_instance_holders'>(TOKEN_HOLDER_ERC_20, 10, { next_page_params: pagination });\n }\n};\n\nexport const TOKEN_TRANSFER_ERC_20: TokenTransfer = {\n block_hash: BLOCK_HASH,\n from: ADDRESS_PARAMS,\n log_index: '4',\n method: 'addLiquidity',\n timestamp: '2022-06-24T10:22:11.000000Z',\n to: ADDRESS_PARAMS,\n token: TOKEN_INFO_ERC_20,\n total: {\n decimals: '18',\n value: '9851351626684503',\n },\n tx_hash: TX_HASH,\n type: 'token_minting',\n};\n\nexport const TOKEN_TRANSFER_ERC_721: TokenTransfer = {\n ...TOKEN_TRANSFER_ERC_20,\n total: {\n token_id: '35870',\n },\n token: TOKEN_INFO_ERC_721,\n};\n\nexport const TOKEN_TRANSFER_ERC_1155: TokenTransfer = {\n ...TOKEN_TRANSFER_ERC_20,\n total: {\n token_id: '35870',\n value: '123',\n decimals: '18',\n },\n token: TOKEN_INFO_ERC_1155,\n};\n\nexport const TOKEN_TRANSFER_ERC_404: TokenTransfer = {\n ...TOKEN_TRANSFER_ERC_20,\n total: {\n token_id: '35870',\n value: '123',\n decimals: '18',\n },\n token: TOKEN_INFO_ERC_404,\n};\n\nexport const getTokenTransfersStub = (type?: TokenType, pagination: TokenTransferPagination | null = null): TokenTransferResponse => {\n switch (type) {\n case 'ERC-721':\n return generateListStub<'token_transfers'>(TOKEN_TRANSFER_ERC_721, 50, { next_page_params: pagination });\n case 'ERC-1155':\n return generateListStub<'token_transfers'>(TOKEN_TRANSFER_ERC_1155, 50, { next_page_params: pagination });\n case 'ERC-404':\n return generateListStub<'token_transfers'>(TOKEN_TRANSFER_ERC_404, 50, { next_page_params: pagination });\n default:\n return generateListStub<'token_transfers'>(TOKEN_TRANSFER_ERC_20, 50, { next_page_params: pagination });\n }\n};\n\nexport const getTokenInstanceTransfersStub = (type?: TokenType, pagination: TokenInstanceTransferPagination | null = null): TokenInstanceTransferResponse => {\n switch (type) {\n case 'ERC-721':\n return generateListStub<'token_instance_transfers'>(TOKEN_TRANSFER_ERC_721, 10, { next_page_params: pagination });\n case 'ERC-1155':\n return generateListStub<'token_instance_transfers'>(TOKEN_TRANSFER_ERC_1155, 10, { next_page_params: pagination });\n case 'ERC-404':\n return generateListStub<'token_instance_transfers'>(TOKEN_TRANSFER_ERC_404, 10, { next_page_params: pagination });\n default:\n return generateListStub<'token_instance_transfers'>(TOKEN_TRANSFER_ERC_20, 10, { next_page_params: pagination });\n }\n};\n\nexport const TOKEN_INSTANCE: TokenInstance = {\n animation_url: null,\n external_app_url: 'https://vipsland.com/nft/collections/genesis/188882',\n id: '188882',\n image_url: 'https://ipfs.vipsland.com/nft/collections/genesis/188882.gif',\n is_unique: true,\n metadata: {\n attributes: Array(3).fill({ trait_type: 'skin tone', value: 'very light skin tone' }),\n description: '**GENESIS #188882**, **8a77ca1bcaa4036f** :: *844th* generation of *#57806 and #57809* :: **eGenetic Hash Code (eDNA)** = *2822355e953a462d*',\n external_url: 'https://vipsland.com/nft/collections/genesis/188882',\n image: 'https://ipfs.vipsland.com/nft/collections/genesis/188882.gif',\n name: 'GENESIS #188882, 8a77ca1bcaa4036f',\n },\n owner: ADDRESS_PARAMS,\n holder_address_hash: ADDRESS_HASH,\n};\n","import type { RawTracesResponse } from 'types/api/rawTrace';\nimport type { Transaction, TransactionsStats } from 'types/api/transaction';\n\nimport { ADDRESS_PARAMS } from './addressParams';\n\nexport const TX_HASH = '0x3ed9d81e7c1001bdda1caa1dc62c0acbbe3d2c671cdc20dc1e65efdaa4186967';\n\nexport const TX: Transaction = {\n timestamp: '2022-11-11T11:11:11.000000Z',\n fee: {\n type: 'actual',\n value: '2100000000000000',\n },\n gas_limit: '21000',\n block: 9004925,\n status: 'ok',\n method: 'placeholder',\n confirmations: 71,\n type: 0,\n exchange_rate: '1828.71',\n to: ADDRESS_PARAMS,\n tx_burnt_fee: null,\n max_fee_per_gas: null,\n result: 'success',\n hash: '0x2b824349b320cfa72f292ab26bf525adb00083ba9fa097141896c3c8c74567cc',\n gas_price: '100000000000',\n priority_fee: null,\n base_fee_per_gas: '24',\n from: ADDRESS_PARAMS,\n token_transfers: null,\n tx_types: [\n 'coin_transfer',\n ],\n gas_used: '21000',\n created_contract: null,\n position: 0,\n nonce: 295929,\n has_error_in_internal_txs: false,\n actions: [],\n decoded_input: null,\n token_transfers_overflow: false,\n raw_input: '0x',\n value: '42000420000000000000',\n max_priority_fee_per_gas: null,\n revert_reason: null,\n confirmation_duration: [\n 0,\n 14545,\n ],\n tx_tag: null,\n};\n\nexport const TX_ZKEVM_L2: Transaction = {\n ...TX,\n zkevm_batch_number: 12345,\n zkevm_sequence_hash: '0x2b824349b320cfa72f292ab26bf525adb00083ba9fa097141896c3c8c74567cc',\n zkevm_status: 'Confirmed by Sequencer',\n zkevm_verify_hash: '0x2b824349b320cfa72f292ab26bf525adb00083ba9fa097141896c3c8c74567cc',\n};\n\nexport const TX_RAW_TRACE: RawTracesResponse = [];\n\nexport const TXS_STATS: TransactionsStats = {\n pending_transactions_count: '4200',\n transaction_fees_avg_24h: '22342870314428',\n transaction_fees_sum_24h: '22184012506492688277',\n transactions_count_24h: '992890',\n};\n","import type { ZkEvmL2DepositsItem, ZkEvmL2TxnBatch, ZkEvmL2TxnBatchesItem, ZkEvmL2WithdrawalsItem } from 'types/api/zkEvmL2';\n\nimport { TX_HASH } from './tx';\n\nexport const ZKEVM_DEPOSITS_ITEM: ZkEvmL2DepositsItem = {\n block_number: 19674901,\n index: 181920,\n l1_transaction_hash: '0xa74edfa5824a07a5f95ca1145140ed589df7f05bb17796bf18090b14c4566b5d',\n l2_transaction_hash: '0x436d1c7ada270466ca0facdb96ecc22934d68d13b8a08f541b8df11b222967b5',\n symbol: 'ETH',\n timestamp: '2023-06-01T14:46:48.000000Z',\n value: '0.13040262',\n};\n\nexport const ZKEVM_WITHDRAWALS_ITEM: ZkEvmL2WithdrawalsItem = {\n block_number: 11692968,\n index: 47003,\n l1_transaction_hash: '0x230cf46dabea287ac7d0ba83b8ea120bb83c1de58a81d34f44788f0459096c52',\n l2_transaction_hash: '0x519d9f025ec47f08a48d708964d177189d2246ddf988686c481f5debcf097e34',\n symbol: 'ETH',\n timestamp: '2024-04-17T08:51:58.000000Z',\n value: '110.35',\n};\n\nexport const ZKEVM_L2_TXN_BATCHES_ITEM: ZkEvmL2TxnBatchesItem = {\n timestamp: '2023-06-01T14:46:48.000000Z',\n status: 'Finalized',\n verify_tx_hash: TX_HASH,\n sequence_tx_hash: TX_HASH,\n number: 5218590,\n tx_count: 9,\n};\n\nexport const ZKEVM_L2_TXN_BATCH: ZkEvmL2TxnBatch = {\n acc_input_hash: '0xb815fe2832977f1324ad0124a019b938f189f7b470292f40a21284f15774b3b3',\n global_exit_root: '0x0000000000000000000000000000000000000000000000000000000000000000',\n number: 1,\n sequence_tx_hash: '0x57b9b95db5f94f125710bdc8fbb3fabaac10125b44b0cb61dbc69daddf06d0cd',\n state_root: '0xb9a589d6b3ae44d3b250a9993caa5e3721568197f56e4743989ecb2285d80ec4',\n status: 'Finalized',\n timestamp: '2023-09-15T06:22:48.000000Z',\n transactions: [ '0xff99dd67646b8f3d657cc6f19eb33abc346de2dbaccd03e45e7726cc28e3e186' ],\n verify_tx_hash: '0x093276fa65c67d7b12dd96f4fefafba9d9ad2f1c23c6e53f96583971ce75352d',\n};\n","import { Alert, AlertDescription, chakra } from '@chakra-ui/react';\nimport React from 'react';\n\nconst DataFetchAlert = ({ className }: { className?: string }) => {\n return (\n \n \n Something went wrong. Try refreshing the page or come back later.\n \n \n );\n};\n\nexport default chakra(DataFetchAlert);\n","import type { TooltipProps } from '@chakra-ui/react';\nimport { chakra, IconButton, Tooltip, useDisclosure, Skeleton } from '@chakra-ui/react';\nimport React from 'react';\n\nimport IconSvg from 'ui/shared/IconSvg';\n\ninterface Props {\n label: string | React.ReactNode;\n className?: string;\n tooltipProps?: Partial;\n isLoading?: boolean;\n}\n\nconst Hint = ({ label, className, tooltipProps, isLoading }: Props) => {\n // have to implement controlled tooltip because of the issue - https://github.com/chakra-ui/chakra-ui/issues/7107\n const { isOpen, onOpen, onToggle, onClose } = useDisclosure();\n\n const handleClick = React.useCallback((event: React.MouseEvent) => {\n event.stopPropagation();\n onToggle();\n }, [ onToggle ]);\n\n if (isLoading) {\n return ;\n }\n\n return (\n \n }\n boxSize={ 5 }\n variant=\"simple\"\n display=\"inline-block\"\n flexShrink={ 0 }\n className={ className }\n onMouseEnter={ onOpen }\n onMouseLeave={ onClose }\n onClick={ handleClick }\n />\n \n );\n};\n\nexport default React.memo(chakra(Hint));\n","import { Skeleton, Image, chakra } from '@chakra-ui/react';\nimport React from 'react';\n\nimport config from 'configs/app';\nimport useApiQuery from 'lib/api/useApiQuery';\nimport { HOMEPAGE_STATS } from 'stubs/stats';\n\nimport TokenLogoPlaceholder from './TokenLogoPlaceholder';\n\ntype Props = {\n isLoading?: boolean;\n className?: string;\n}\n\nconst NativeTokenIcon = (props: Props) => {\n const statsQueryResult = useApiQuery('stats', {\n queryOptions: {\n refetchOnMount: false,\n placeholderData: HOMEPAGE_STATS,\n },\n });\n\n if (props.isLoading || statsQueryResult.isPlaceholderData) {\n return ;\n }\n\n return (\n }\n fallbackStrategy={ statsQueryResult.data?.coin_image ? 'onError' : 'beforeLoadOrError' }\n />\n );\n};\n\nexport default chakra(NativeTokenIcon);\n","import { chakra, useColorModeValue } from '@chakra-ui/react';\nimport React from 'react';\n\nimport getDefaultTransitionProps from 'theme/utils/getDefaultTransitionProps';\n\nconst COUNTER_OVERLOAD = 50;\n\ntype Props = {\n count?: number | null;\n}\n\nconst TabCounter = ({ count }: Props) => {\n\n const zeroCountColor = useColorModeValue('blackAlpha.400', 'whiteAlpha.400');\n\n if (count === undefined || count === null) {\n return null;\n }\n\n return (\n 0 ? 'text_secondary' : zeroCountColor }\n ml={ 1 }\n { ...getDefaultTransitionProps() }\n >\n { count > COUNTER_OVERLOAD ? `${ COUNTER_OVERLOAD }+` : count }\n \n );\n};\n\nexport default TabCounter;\n","import type { MenuButton } from './types';\n\nimport { middot } from 'lib/html-entities';\n\nexport const menuButton: MenuButton = {\n id: null,\n title: `${ middot }${ middot }${ middot }`,\n component: null,\n};\n","import type {\n ButtonProps } from '@chakra-ui/react';\nimport {\n PopoverTrigger,\n PopoverContent,\n PopoverBody,\n Button,\n useDisclosure,\n} from '@chakra-ui/react';\nimport type { StyleProps } from '@chakra-ui/styled-system';\nimport React from 'react';\n\nimport type { MenuButton, TabItem } from './types';\n\nimport Popover from 'ui/shared/chakra/Popover';\n\nimport TabCounter from './TabCounter';\nimport { menuButton } from './utils';\n\ninterface Props {\n tabs: Array;\n activeTab?: TabItem;\n tabsCut: number;\n isActive: boolean;\n styles?: StyleProps;\n onItemClick: (index: number) => void;\n buttonRef: React.RefObject;\n size: ButtonProps['size'];\n}\n\nconst TabsMenu = ({ tabs, tabsCut, isActive, styles, onItemClick, buttonRef, activeTab, size }: Props) => {\n const { isOpen, onClose, onOpen } = useDisclosure();\n\n const handleItemClick = React.useCallback((event: React.MouseEvent) => {\n onClose();\n const tabIndex = event.currentTarget.getAttribute('data-index');\n if (tabIndex) {\n onItemClick(tabsCut + Number(tabIndex));\n }\n }, [ onClose, onItemClick, tabsCut ]);\n\n return (\n \n \n \n { menuButton.title }\n \n \n \n \n { tabs.slice(tabsCut).map((tab, index) => (\n \n { typeof tab.title === 'function' ? tab.title() : tab.title }\n \n \n )) }\n \n \n \n );\n};\n\nexport default React.memo(TabsMenu);\n","import React from 'react';\n\nimport type { MenuButton, RoutedTab } from './types';\n\nexport default function useAdaptiveTabs(tabs: Array, disabled?: boolean) {\n // to avoid flickering we set initial value to 0\n // so there will be no displayed tabs initially\n const [ tabsCut, setTabsCut ] = React.useState(disabled ? tabs.length : 0);\n const [ tabsRefs, setTabsRefs ] = React.useState>>([]);\n const listRef = React.useRef(null);\n const rightSlotRef = React.useRef(null);\n\n const calculateCut = React.useCallback(() => {\n const listWidth = listRef.current?.getBoundingClientRect().width;\n const rightSlotWidth = rightSlotRef.current?.getBoundingClientRect().width || 0;\n const tabWidths = tabsRefs.map((tab) => tab.current?.getBoundingClientRect().width);\n const menuWidth = tabWidths[tabWidths.length - 1];\n\n if (!listWidth || !menuWidth) {\n return tabs.length;\n }\n\n const { visibleNum } = tabWidths.slice(0, -1).reduce((result, item, index, array) => {\n if (!item) {\n return result;\n }\n\n if (result.visibleNum < index) {\n // means that we haven't increased visibleNum on the previous iteration, so there is no space left\n // we skip now till the end of the loop\n return result;\n }\n\n if (index === array.length - 1) {\n // last element\n if (result.accWidth + item < listWidth - rightSlotWidth) {\n return { visibleNum: result.visibleNum + 1, accWidth: result.accWidth + item };\n }\n } else {\n if (result.accWidth + item + menuWidth < listWidth - rightSlotWidth) {\n return { visibleNum: result.visibleNum + 1, accWidth: result.accWidth + item };\n }\n }\n\n return result;\n }, { visibleNum: 0, accWidth: 0 });\n\n return visibleNum;\n }, [ tabs.length, tabsRefs ]);\n\n React.useEffect(() => {\n setTabsRefs(tabs.map((_, index) => tabsRefs[index] || React.createRef()));\n setTabsCut(disabled ? tabs.length : 0);\n // update refs only when disabled prop changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ disabled ]);\n\n React.useEffect(() => {\n if (tabsRefs.length > 0 && !disabled) {\n setTabsCut(calculateCut());\n }\n }, [ calculateCut, disabled, tabsRefs ]);\n\n return React.useMemo(() => {\n return {\n tabsCut,\n tabsRefs,\n listRef,\n rightSlotRef,\n };\n }, [ tabsCut, tabsRefs ]);\n}\n","import React from 'react';\n\ninterface Props {\n activeTabIndex: number;\n tabsRefs: Array>;\n listRef: React.RefObject;\n isMobile?: boolean;\n isLoading?: boolean;\n}\n\nexport default function useScrollToActiveTab({ activeTabIndex, tabsRefs, listRef, isMobile, isLoading }: Props) {\n React.useEffect(() => {\n if (isLoading) {\n return;\n }\n\n if (activeTabIndex < tabsRefs.length && isMobile) {\n window.setTimeout(() => {\n const activeTabRef = tabsRefs[activeTabIndex];\n\n if (activeTabRef.current && listRef.current) {\n const activeTabRect = activeTabRef.current.getBoundingClientRect();\n listRef.current.scrollTo({\n left: activeTabRect.left,\n behavior: 'smooth',\n });\n }\n\n // have to wait until DOM is updated and all styles to tabs is applied\n }, 300);\n }\n // run only when tab index or device type is changed\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ activeTabIndex, isMobile, isLoading ]);\n}\n","import type { StyleProps, ThemingProps } from '@chakra-ui/react';\nimport { Box, Skeleton, Tab, TabList, useColorModeValue } from '@chakra-ui/react';\nimport React from 'react';\n\nimport { useScrollDirection } from 'lib/contexts/scrollDirection';\nimport useIsMobile from 'lib/hooks/useIsMobile';\nimport useIsSticky from 'lib/hooks/useIsSticky';\n\nimport TabCounter from './TabCounter';\nimport TabsMenu from './TabsMenu';\nimport type { Props as TabsProps } from './TabsWithScroll';\nimport useAdaptiveTabs from './useAdaptiveTabs';\nimport useScrollToActiveTab from './useScrollToActiveTab';\nimport { menuButton } from './utils';\n\nconst hiddenItemStyles: StyleProps = {\n position: 'absolute',\n top: '-9999px',\n left: '-9999px',\n visibility: 'hidden',\n};\n\ninterface Props extends TabsProps {\n activeTabIndex: number;\n onItemClick: (index: number) => void;\n themeProps: ThemingProps<'Tabs'>;\n isLoading?: boolean;\n}\n\nconst AdaptiveTabsList = (props: Props) => {\n\n const scrollDirection = useScrollDirection();\n const listBgColor = useColorModeValue('white', 'black');\n const isMobile = useIsMobile();\n\n const tabsList = React.useMemo(() => {\n return [ ...props.tabs, menuButton ];\n }, [ props.tabs ]);\n\n const { tabsCut, tabsRefs, listRef, rightSlotRef } = useAdaptiveTabs(tabsList, isMobile);\n const isSticky = useIsSticky(listRef, 5, props.stickyEnabled);\n useScrollToActiveTab({ activeTabIndex: props.activeTabIndex, listRef, tabsRefs, isMobile, isLoading: props.isLoading });\n\n return (\n \n { tabsList.slice(0, props.isLoading ? 5 : Infinity).map((tab, index) => {\n if (!tab.id) {\n if (props.isLoading) {\n return null;\n }\n\n return (\n = tabsCut }\n styles={ tabsCut < props.tabs.length ?\n // initially our cut is 0 and we don't want to show the menu button too\n // but we want to keep it in the tabs row so it won't collapse\n // that's why we only change opacity but not the position itself\n { opacity: tabsCut === 0 ? 0 : 1 } :\n hiddenItemStyles\n }\n onItemClick={ props.onItemClick }\n buttonRef={ tabsRefs[index] }\n size={ props.themeProps.size || 'md' }\n />\n );\n }\n\n return (\n \n \n { typeof tab.title === 'function' ? tab.title() : tab.title }\n \n \n \n );\n }) }\n {\n props.rightSlot && tabsCut > 0 ?\n { props.rightSlot } :\n null\n }\n \n );\n};\n\nexport default React.memo(AdaptiveTabsList);\n","import type { LazyMode } from '@chakra-ui/lazy-utils';\nimport type { ChakraProps, ThemingProps } from '@chakra-ui/react';\nimport {\n Tabs,\n TabPanel,\n TabPanels,\n chakra,\n} from '@chakra-ui/react';\nimport _debounce from 'lodash/debounce';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport type { TabItem } from './types';\n\nimport isBrowser from 'lib/isBrowser';\n\nimport AdaptiveTabsList from './AdaptiveTabsList';\nimport { menuButton } from './utils';\n\nexport interface Props extends ThemingProps<'Tabs'> {\n tabs: Array;\n lazyBehavior?: LazyMode;\n tabListProps?: ChakraProps | (({ isSticky, activeTabIndex }: { isSticky: boolean; activeTabIndex: number }) => ChakraProps);\n rightSlot?: React.ReactNode;\n rightSlotProps?: ChakraProps;\n stickyEnabled?: boolean;\n onTabChange?: (index: number) => void;\n defaultTabIndex?: number;\n isLoading?: boolean;\n className?: string;\n}\n\nconst TabsWithScroll = ({\n tabs,\n lazyBehavior,\n tabListProps,\n rightSlot,\n rightSlotProps,\n stickyEnabled,\n onTabChange,\n defaultTabIndex,\n isLoading,\n className,\n ...themeProps\n}: Props) => {\n const [ activeTabIndex, setActiveTabIndex ] = useState(defaultTabIndex || 0);\n const [ screenWidth, setScreenWidth ] = React.useState(isBrowser() ? window.innerWidth : 0);\n\n const tabsRef = useRef(null);\n\n const tabsList = React.useMemo(() => {\n return [ ...tabs, menuButton ];\n }, [ tabs ]);\n\n const handleTabChange = React.useCallback((index: number) => {\n if (isLoading) {\n return;\n }\n onTabChange ? onTabChange(index) : setActiveTabIndex(index);\n }, [ isLoading, onTabChange ]);\n\n useEffect(() => {\n if (defaultTabIndex !== undefined) {\n setActiveTabIndex(defaultTabIndex);\n }\n }, [ defaultTabIndex ]);\n\n React.useEffect(() => {\n const resizeHandler = _debounce(() => {\n setScreenWidth(window.innerWidth);\n }, 100);\n const resizeObserver = new ResizeObserver(resizeHandler);\n\n resizeObserver.observe(document.body);\n return function cleanup() {\n resizeObserver.unobserve(document.body);\n };\n }, []);\n\n if (tabs.length === 1) {\n return
{ tabs[0].component }
;\n }\n\n return (\n \n tab.id).join(':') }\n tabs={ tabs }\n tabListProps={ tabListProps }\n rightSlot={ rightSlot }\n rightSlotProps={ rightSlotProps }\n stickyEnabled={ stickyEnabled }\n activeTabIndex={ activeTabIndex }\n onItemClick={ handleTabChange }\n themeProps={ themeProps }\n isLoading={ isLoading }\n />\n \n { tabsList.map((tab) => { tab.component }) }\n \n \n );\n};\n\nexport default React.memo(chakra(TabsWithScroll));\n","import type { PlacementWithLogical } from '@chakra-ui/react';\nimport { Skeleton, chakra } from '@chakra-ui/react';\nimport React from 'react';\n\nimport TruncatedTextTooltip from 'ui/shared/TruncatedTextTooltip';\n\ninterface Props {\n className?: string;\n isLoading?: boolean;\n value: string;\n tooltipPlacement?: PlacementWithLogical;\n}\n\nconst TruncatedValue = ({ className, isLoading, value, tooltipPlacement }: Props) => {\n return (\n \n \n { value }\n
\n \n );\n};\n\nexport default React.memo(chakra(TruncatedValue));\n","import { chakra } from '@chakra-ui/react';\nimport React from 'react';\n\nimport type { BannerPlatform } from './types';\n\nimport config from 'configs/app';\nimport { useAppContext } from 'lib/contexts/app';\nimport * as cookies from 'lib/cookies';\n\nimport AdBannerContent from './AdBannerContent';\n\nconst feature = config.features.adsBanner;\n\ninterface Props {\n className?: string;\n isLoading?: boolean;\n platform?: BannerPlatform;\n}\n\nconst AdBanner = ({ className, isLoading, platform }: Props) => {\n const provider = useAppContext().adBannerProvider;\n\n const hasAdblockCookie = cookies.get(cookies.NAMES.ADBLOCK_DETECTED, useAppContext().cookies);\n\n if (!feature.isEnabled || hasAdblockCookie === 'true' || !provider) {\n return null;\n }\n\n return (\n \n );\n};\n\nexport default chakra(AdBanner);\n","import { chakra } from '@chakra-ui/react';\nimport _omit from 'lodash/omit';\nimport React from 'react';\n\nimport { route } from 'nextjs-routes';\n\nimport config from 'configs/app';\n\nimport * as BlockEntity from './BlockEntity';\n\nconst rollupFeature = config.features.rollup;\n\nconst BatchEntityL2 = (props: BlockEntity.EntityProps) => {\n const linkProps = _omit(props, [ 'className' ]);\n const partsProps = _omit(props, [ 'className', 'onClick' ]);\n\n if (!rollupFeature.isEnabled) {\n return null;\n }\n\n return (\n \n \n \n \n \n \n );\n};\n\nexport default chakra(BatchEntityL2);\n","import { chakra } from '@chakra-ui/react';\nimport _omit from 'lodash/omit';\nimport React from 'react';\n\nimport { route } from 'nextjs-routes';\n\nimport config from 'configs/app';\n\nimport * as BlockEntity from './BlockEntity';\n\nconst rollupFeature = config.features.rollup;\n\nconst BlockEntityL1 = (props: BlockEntity.EntityProps) => {\n const linkProps = _omit(props, [ 'className' ]);\n const partsProps = _omit(props, [ 'className', 'onClick' ]);\n\n if (!rollupFeature.isEnabled) {\n return null;\n }\n\n return (\n \n \n \n \n \n \n );\n};\n\nexport default chakra(BlockEntityL1);\n","import { chakra } from '@chakra-ui/react';\nimport _omit from 'lodash/omit';\nimport React from 'react';\n\nimport { route } from 'nextjs-routes';\n\nimport config from 'configs/app';\n\nimport * as TxEntity from './TxEntity';\n\nconst rollupFeature = config.features.rollup;\n\nconst TxEntityL1 = (props: TxEntity.EntityProps) => {\n const partsProps = _omit(props, [ 'className', 'onClick' ]);\n const linkProps = _omit(props, [ 'className' ]);\n\n if (!rollupFeature.isEnabled) {\n return null;\n }\n\n return (\n \n \n \n \n \n \n \n );\n};\n\nexport default chakra(TxEntityL1);\n","import { Box, Flex, Text, Skeleton, useColorModeValue, chakra } from '@chakra-ui/react';\nimport NextLink from 'next/link';\nimport React from 'react';\n\nimport type { Route } from 'nextjs-routes';\n\nimport Hint from 'ui/shared/Hint';\nimport IconSvg, { type IconName } from 'ui/shared/IconSvg';\nimport TruncatedValue from 'ui/shared/TruncatedValue';\n\nexport type Props = {\n className?: string;\n label: string;\n value: string | React.ReactNode;\n valuePrefix?: string;\n valuePostfix?: string;\n hint?: string | React.ReactNode;\n isLoading?: boolean;\n diff?: string | number;\n diffFormatted?: string;\n diffPeriod?: '24h';\n period?: '1h' | '24h';\n href?: Route;\n icon?: IconName;\n}\n\nconst Container = ({ href, children }: { href?: Route; children: JSX.Element }) => {\n if (href) {\n return (\n \n { children }\n \n );\n }\n\n return children;\n};\n\nconst StatsWidget = ({\n className,\n icon,\n label,\n value,\n valuePrefix,\n valuePostfix,\n isLoading,\n hint,\n diff,\n diffPeriod = '24h',\n diffFormatted,\n period,\n href,\n}: Props) => {\n const bgColor = useColorModeValue('gray.50', 'whiteAlpha.100');\n const skeletonBgColor = useColorModeValue('blackAlpha.50', 'whiteAlpha.50');\n const hintColor = useColorModeValue('gray.600', 'gray.400');\n\n return (\n \n \n { icon && (\n \n ) }\n \n \n

{ label }

\n
\n \n { valuePrefix && { valuePrefix } }\n { typeof value === 'string' ? (\n \n ) : (\n value\n ) }\n { valuePostfix && { valuePostfix } }\n { diff && Number(diff) > 0 && (\n <>\n \n +{ diffFormatted || Number(diff).toLocaleString() }\n \n ({ diffPeriod })\n \n ) }\n { period && ({ period }) }\n
\n \n { typeof hint === 'string' ? (\n \n \n \n ) : hint }\n \n \n );\n};\n\nexport default chakra(StatsWidget);\n","import React from 'react';\n\nimport type { Transaction } from 'types/api/transaction';\n\nimport type { StatusTagType } from './StatusTag';\nimport StatusTag from './StatusTag';\n\nexport interface Props {\n status: Transaction['status'];\n errorText?: string | null;\n isLoading?: boolean;\n}\n\nconst TxStatus = ({ status, errorText, isLoading }: Props) => {\n if (status === undefined) {\n return null;\n }\n\n let text;\n let type: StatusTagType;\n\n switch (status) {\n case 'ok':\n text = 'Success';\n type = 'ok';\n break;\n case 'error':\n text = 'Failed';\n type = 'error';\n break;\n case null:\n text = 'Pending';\n type = 'pending';\n break;\n }\n\n return ;\n};\n\nexport default TxStatus;\n","import React from 'react';\n\nimport type { ZkEvmL2TxnBatchesItem } from 'types/api/zkEvmL2';\n\nimport type { StatusTagType } from './StatusTag';\nimport StatusTag from './StatusTag';\n\nexport interface Props {\n status: ZkEvmL2TxnBatchesItem['status'];\n isLoading?: boolean;\n}\n\nconst ZkEvmL2TxnBatchStatus = ({ status, isLoading }: Props) => {\n let type: StatusTagType;\n\n switch (status) {\n case 'L1 Sequence Confirmed':\n case 'Finalized':\n type = 'ok';\n break;\n default:\n type = 'pending';\n break;\n }\n\n return ;\n};\n\nexport default ZkEvmL2TxnBatchStatus;\n","import { Flex } from '@chakra-ui/react';\nimport React from 'react';\n\nimport type { Transaction } from 'types/api/transaction';\n\nimport Tag from 'ui/shared/chakra/Tag';\n\ninterface Props {\n tx: Transaction;\n isLoading?: boolean;\n}\n\nconst TxWatchListTags = ({ tx, isLoading }: Props) => {\n const tags = [\n ...(tx.from?.watchlist_names || []),\n ...(tx.to?.watchlist_names || []),\n ].filter(Boolean);\n\n if (tags.length === 0) {\n return null;\n }\n\n return (\n \n { tags.map((tag) => (\n \n { tag.display_name }\n \n )) }\n \n );\n};\n\nexport default React.memo(TxWatchListTags);\n","import React from 'react';\n\nimport type { TransactionType } from 'types/api/transaction';\n\nimport Tag from 'ui/shared/chakra/Tag';\n\nexport interface Props {\n types: Array;\n isLoading?: boolean;\n}\n\nconst TYPES_ORDER: Array = [\n 'blob_transaction',\n 'rootstock_remasc',\n 'rootstock_bridge',\n 'token_creation',\n 'contract_creation',\n 'token_transfer',\n 'contract_call',\n 'coin_transfer',\n];\n\nconst TxType = ({ types, isLoading }: Props) => {\n const typeToShow = types.sort((t1, t2) => TYPES_ORDER.indexOf(t1) - TYPES_ORDER.indexOf(t2))[0];\n\n let label;\n let colorScheme;\n\n switch (typeToShow) {\n case 'contract_call':\n label = 'Contract call';\n colorScheme = 'blue';\n break;\n case 'blob_transaction':\n label = 'Blob txn';\n colorScheme = 'yellow';\n break;\n case 'contract_creation':\n label = 'Contract creation';\n colorScheme = 'blue';\n break;\n case 'token_transfer':\n label = 'Token transfer';\n colorScheme = 'orange';\n break;\n case 'token_creation':\n label = 'Token creation';\n colorScheme = 'orange';\n break;\n case 'coin_transfer':\n label = 'Coin transfer';\n colorScheme = 'orange';\n break;\n case 'rootstock_remasc':\n label = 'REMASC';\n colorScheme = 'blue';\n break;\n case 'rootstock_bridge':\n label = 'Bridge';\n colorScheme = 'blue';\n break;\n default:\n label = 'Transaction';\n colorScheme = 'purple';\n\n }\n\n return (\n \n { label }\n \n );\n};\n\nexport default TxType;\n","import {\n TRANSITION_DEFAULTS,\n withDelay\n} from \"./chunk-LB6CWFOC.mjs\";\n\n// src/slide-fade.tsx\nimport { cx } from \"@chakra-ui/shared-utils\";\nimport {\n AnimatePresence,\n motion\n} from \"framer-motion\";\nimport { forwardRef } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar variants = {\n initial: ({ offsetX, offsetY, transition, transitionEnd, delay }) => {\n var _a;\n return {\n opacity: 0,\n x: offsetX,\n y: offsetY,\n transition: (_a = transition == null ? void 0 : transition.exit) != null ? _a : withDelay.exit(TRANSITION_DEFAULTS.exit, delay),\n transitionEnd: transitionEnd == null ? void 0 : transitionEnd.exit\n };\n },\n enter: ({ transition, transitionEnd, delay }) => {\n var _a;\n return {\n opacity: 1,\n x: 0,\n y: 0,\n transition: (_a = transition == null ? void 0 : transition.enter) != null ? _a : withDelay.enter(TRANSITION_DEFAULTS.enter, delay),\n transitionEnd: transitionEnd == null ? void 0 : transitionEnd.enter\n };\n },\n exit: ({ offsetY, offsetX, transition, transitionEnd, reverse, delay }) => {\n var _a;\n const offset = { x: offsetX, y: offsetY };\n return {\n opacity: 0,\n transition: (_a = transition == null ? void 0 : transition.exit) != null ? _a : withDelay.exit(TRANSITION_DEFAULTS.exit, delay),\n ...reverse ? { ...offset, transitionEnd: transitionEnd == null ? void 0 : transitionEnd.exit } : { transitionEnd: { ...offset, ...transitionEnd == null ? void 0 : transitionEnd.exit } }\n };\n }\n};\nvar slideFadeConfig = {\n initial: \"initial\",\n animate: \"enter\",\n exit: \"exit\",\n variants\n};\nvar SlideFade = forwardRef(\n function SlideFade2(props, ref) {\n const {\n unmountOnExit,\n in: isOpen,\n reverse = true,\n className,\n offsetX = 0,\n offsetY = 8,\n transition,\n transitionEnd,\n delay,\n ...rest\n } = props;\n const show = unmountOnExit ? isOpen && unmountOnExit : true;\n const animate = isOpen || unmountOnExit ? \"enter\" : \"exit\";\n const custom = {\n offsetX,\n offsetY,\n reverse,\n transition,\n transitionEnd,\n delay\n };\n return /* @__PURE__ */ jsx(AnimatePresence, { custom, children: show && /* @__PURE__ */ jsx(\n motion.div,\n {\n ref,\n className: cx(\"chakra-offset-slide\", className),\n custom,\n ...slideFadeConfig,\n animate,\n ...rest\n }\n ) });\n }\n);\nSlideFade.displayName = \"SlideFade\";\n\nexport {\n slideFadeConfig,\n SlideFade\n};\n","import {\n TRANSITION_DEFAULTS,\n withDelay\n} from \"./chunk-LB6CWFOC.mjs\";\n\n// src/scale-fade.tsx\nimport { cx } from \"@chakra-ui/shared-utils\";\nimport {\n AnimatePresence,\n motion\n} from \"framer-motion\";\nimport { forwardRef } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar variants = {\n exit: ({ reverse, initialScale, transition, transitionEnd, delay }) => {\n var _a;\n return {\n opacity: 0,\n ...reverse ? { scale: initialScale, transitionEnd: transitionEnd == null ? void 0 : transitionEnd.exit } : { transitionEnd: { scale: initialScale, ...transitionEnd == null ? void 0 : transitionEnd.exit } },\n transition: (_a = transition == null ? void 0 : transition.exit) != null ? _a : withDelay.exit(TRANSITION_DEFAULTS.exit, delay)\n };\n },\n enter: ({ transitionEnd, transition, delay }) => {\n var _a;\n return {\n opacity: 1,\n scale: 1,\n transition: (_a = transition == null ? void 0 : transition.enter) != null ? _a : withDelay.enter(TRANSITION_DEFAULTS.enter, delay),\n transitionEnd: transitionEnd == null ? void 0 : transitionEnd.enter\n };\n }\n};\nvar scaleFadeConfig = {\n initial: \"exit\",\n animate: \"enter\",\n exit: \"exit\",\n variants\n};\nvar ScaleFade = forwardRef(\n function ScaleFade2(props, ref) {\n const {\n unmountOnExit,\n in: isOpen,\n reverse = true,\n initialScale = 0.95,\n className,\n transition,\n transitionEnd,\n delay,\n ...rest\n } = props;\n const show = unmountOnExit ? isOpen && unmountOnExit : true;\n const animate = isOpen || unmountOnExit ? \"enter\" : \"exit\";\n const custom = { initialScale, reverse, transition, transitionEnd, delay };\n return /* @__PURE__ */ jsx(AnimatePresence, { custom, children: show && /* @__PURE__ */ jsx(\n motion.div,\n {\n ref,\n className: cx(\"chakra-offset-slide\", className),\n ...scaleFadeConfig,\n animate,\n custom,\n ...rest\n }\n ) });\n }\n);\nScaleFade.displayName = \"ScaleFade\";\n\nexport {\n scaleFadeConfig,\n ScaleFade\n};\n","// src/modal-transition.tsx\nimport { chakra } from \"@chakra-ui/system\";\nimport { scaleFadeConfig, slideFadeConfig } from \"@chakra-ui/transition\";\nimport { motion } from \"framer-motion\";\nimport { forwardRef } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar transitions = {\n slideInBottom: {\n ...slideFadeConfig,\n custom: { offsetY: 16, reverse: true }\n },\n slideInRight: {\n ...slideFadeConfig,\n custom: { offsetX: 16, reverse: true }\n },\n scale: {\n ...scaleFadeConfig,\n custom: { initialScale: 0.95, reverse: true }\n },\n none: {}\n};\nvar MotionSection = chakra(motion.section);\nvar getMotionProps = (preset) => {\n return transitions[preset || \"none\"];\n};\nvar ModalTransition = forwardRef(\n (props, ref) => {\n const { preset, motionProps = getMotionProps(preset), ...rest } = props;\n return /* @__PURE__ */ jsx(MotionSection, { ref, ...motionProps, ...rest });\n }\n);\nModalTransition.displayName = \"ModalTransition\";\n\nexport {\n ModalTransition\n};\n","import {\n ModalTransition\n} from \"./chunk-XV7ZWFID.mjs\";\nimport {\n ModalFocusScope\n} from \"./chunk-RJF6J4BE.mjs\";\nimport {\n useModalContext,\n useModalStyles\n} from \"./chunk-LBED2F7B.mjs\";\n\n// src/modal-content.tsx\nimport { cx } from \"@chakra-ui/shared-utils\";\nimport {\n chakra,\n forwardRef\n} from \"@chakra-ui/system\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ModalContent = forwardRef(\n (props, ref) => {\n const {\n className,\n children,\n containerProps: rootProps,\n motionProps,\n ...rest\n } = props;\n const { getDialogProps, getDialogContainerProps } = useModalContext();\n const dialogProps = getDialogProps(rest, ref);\n const containerProps = getDialogContainerProps(rootProps);\n const _className = cx(\"chakra-modal__content\", className);\n const styles = useModalStyles();\n const dialogStyles = {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"relative\",\n width: \"100%\",\n outline: 0,\n ...styles.dialog\n };\n const dialogContainerStyles = {\n display: \"flex\",\n width: \"100vw\",\n height: \"$100vh\",\n position: \"fixed\",\n left: 0,\n top: 0,\n ...styles.dialogContainer\n };\n const { motionPreset } = useModalContext();\n return /* @__PURE__ */ jsx(ModalFocusScope, { children: /* @__PURE__ */ jsx(\n chakra.div,\n {\n ...containerProps,\n className: \"chakra-modal__content-container\",\n tabIndex: -1,\n __css: dialogContainerStyles,\n children: /* @__PURE__ */ jsx(\n ModalTransition,\n {\n preset: motionPreset,\n motionProps,\n className: _className,\n ...dialogProps,\n __css: dialogStyles,\n children\n }\n )\n }\n ) });\n }\n);\nModalContent.displayName = \"ModalContent\";\n\nexport {\n ModalContent\n};\n","import {\n useModalContext,\n useModalStyles\n} from \"./chunk-LBED2F7B.mjs\";\n\n// src/modal-close-button.tsx\nimport { CloseButton } from \"@chakra-ui/close-button\";\nimport { cx, callAllHandlers } from \"@chakra-ui/shared-utils\";\nimport { forwardRef } from \"@chakra-ui/system\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ModalCloseButton = forwardRef(\n (props, ref) => {\n const { onClick, className, ...rest } = props;\n const { onClose } = useModalContext();\n const _className = cx(\"chakra-modal__close-btn\", className);\n const styles = useModalStyles();\n return /* @__PURE__ */ jsx(\n CloseButton,\n {\n ref,\n __css: styles.closeButton,\n className: _className,\n onClick: callAllHandlers(onClick, (event) => {\n event.stopPropagation();\n onClose();\n }),\n ...rest\n }\n );\n }\n);\nModalCloseButton.displayName = \"ModalCloseButton\";\n\nexport {\n ModalCloseButton\n};\n","// src/table.tsx\nimport {\n chakra,\n forwardRef,\n omitThemingProps,\n useMultiStyleConfig\n} from \"@chakra-ui/system\";\nimport { cx } from \"@chakra-ui/shared-utils\";\nimport { createContext } from \"@chakra-ui/react-context\";\nimport { jsx } from \"react/jsx-runtime\";\nvar [TableStylesProvider, useTableStyles] = createContext({\n name: `TableStylesContext`,\n errorMessage: `useTableStyles returned is 'undefined'. Seems you forgot to wrap the components in \"\" `\n});\nvar Table = forwardRef((props, ref) => {\n const styles = useMultiStyleConfig(\"Table\", props);\n const { className, layout, ...tableProps } = omitThemingProps(props);\n return /* @__PURE__ */ jsx(TableStylesProvider, { value: styles, children: /* @__PURE__ */ jsx(\n chakra.table,\n {\n ref,\n __css: { tableLayout: layout, ...styles.table },\n className: cx(\"chakra-table\", className),\n ...tableProps\n }\n ) });\n});\nTable.displayName = \"Table\";\n\nexport {\n useTableStyles,\n Table\n};\n","import {\n useTableStyles\n} from \"./chunk-B3MS3L3D.mjs\";\n\n// src/td.tsx\nimport { chakra, forwardRef } from \"@chakra-ui/system\";\nimport { jsx } from \"react/jsx-runtime\";\nvar Td = forwardRef(\n ({ isNumeric, ...rest }, ref) => {\n const styles = useTableStyles();\n return /* @__PURE__ */ jsx(\n chakra.td,\n {\n ...rest,\n ref,\n __css: styles.td,\n \"data-is-numeric\": isNumeric\n }\n );\n }\n);\n\nexport {\n Td\n};\n","import {\n useTableStyles\n} from \"./chunk-B3MS3L3D.mjs\";\n\n// src/tr.tsx\nimport { chakra, forwardRef } from \"@chakra-ui/system\";\nimport { jsx } from \"react/jsx-runtime\";\nvar Tr = forwardRef((props, ref) => {\n const styles = useTableStyles();\n return /* @__PURE__ */ jsx(chakra.tr, { ...props, ref, __css: styles.tr });\n});\n\nexport {\n Tr\n};\n"],"names":["window","__NEXT_P","push","__webpack_require__","getBlockTotalReward","block","totalReward","rewards","map","reward","param","BigNumber","reduce","result","item","plus","ZERO","div","WEI","useGradualIncrement","initialValue","num","setNum","React","queue","timeoutId","delay","incrementDelayed","current","prev","increment","inc","setTimeout","DURATION","clearTimeout","useIsSticky","ref","offset","isEnabled","isSticky","setIsSticky","handleScroll","Number","getBoundingClientRect","y","throttledHandleScroll","throttle","addEventListener","removeEventListener","useNewTxsSocket","router","useRouter","socketAlert","setSocketAlert","topic","event","pathname","query","tab","undefined","block_number","page","handleNewTxMessage","response","transaction","pending_transaction","handleSocketClose","handleSocketError","channel","useSocketChannel","onSocketClose","onSocketError","isDisabled","useSocketMessage","handler","useRedirectForInvalidAuthToken","state","queryClient","useQueryClient","getQueryState","resourceKey","errorStatus","error","status","loginUrl","useLoginUrl","cookies","API_TOKEN","Sentry","tags","source","location","assign","getNetworkValidatorTitle","config","chain","verificationType","CHART_MARGIN","bottom","left","right","top","indicators_ChainIndicatorChart","data","overlayRef","lineColor","useToken","axesConfig","x","ticks","nice","noLabel","rect","axes","innerWidth","innerHeight","chartMargin","useTimeChartController","margin","jsx_runtime","jsx","svg","width","height","cursor","jsxs","g","transform","concat","opacity","ChartArea","items","xScale","scale","yScale","ChartLine","stroke","animation","strokeWidth","ChartOverlay","ChartTooltip","anchorEl","indicators_ChainIndicatorChartContainer","isError","isPending","content","ContentLoader","mt","fontSize","DataFetchAlert","p","length","chakra","span","Box","mx","my","h","w","ChainIndicatorChart","Flex","base","lg","alignItems","flexGrow","indicators_ChainIndicatorItem","id","title","value","valueDiff","icon","isSelected","onClick","stats","activeColor","useColorModeValue","activeBgColor","handleClick","valueContent","Skeleton","isLoaded","isPlaceholderData","variant","fontWeight","minW","Text","valueDiffContent","diff","diffColor","ml","display","color","Math","abs","columnGap","px","py","as","borderRadius","bgColor","_hover","zIndex","sortByDateDesc","a","b","date","getTime","nonNullTailReducer","unshift","mapNullToZero","dailyTxsIndicator","transactions_today","toLocaleString","maximumFractionDigits","notation","IconSvg","name","boxSize","hint","api","resourceName","dataFn","chart_data","Date","tx_count","sort","reduceRight","valueFormatter","coinPriceIndicator","currency","symbol","coin_price","minimumFractionDigits","coin_price_change_percentage","NativeTokenIcon","closing_price","secondaryCoinPriceIndicator","secondaryCoin","secondary_coin_price","TokenLogoPlaceholder","indicators","INDICATORS","market_cap","available_supply","tvl","filter","UI","homepage","charts","includes","indexOf","indicators_ChainIndicators","selectedIndicator","selectIndicator","indicator","find","queryResult","useFetchChartData","useApiQuery","queryOptions","enabled","Boolean","statsQueryResult","refetchOnMount","placeholderData","HOMEPAGE_STATS","valueTitle","lineHeight","mr","rowGap","flexBasis","flexDir","Hint","label","mb","ChainIndicatorChartContainer","flexShrink","m","ChainIndicatorItem","latestBatches_LatestBatchItem","number","timestamp","txCount","isLoading","motion","initial","animate","exit","transitionDuration","transitionTimingFunction","border","borderColor","overflow","BatchEntityL2","tailLength","TimeAgoWithTooltip","enableIncrement","justifyContent","flexWrap","LinkInternal","href","route","toString","latestBatches_LatestArbitrumL2Batches","batchesMaxCount","isMobile","useIsMobile","Array","fill","ARBITRUM_L2_TXN_BATCHES_ITEM","handleNewBatchMessage","setQueryData","getResourceKey","newItems","prevData","some","batch","payload","b1","b2","slice","dataToShow","Fragment","VStack","spacing","AnimatePresence","index","LatestBatchItem","commitment_transaction","transactions_count","String","Heading","size","latestBatches_LatestZkEvmL2Batches","ZKEVM_L2_TXN_BATCHES_ITEM","ZkEvmL2TxnBatchStatus","home_LatestBlocksItem","BlockEntity","celo","is_epoch_block","Tooltip","epoch_number","Grid","gridGap","templateColumns","features","rollup","views","hiddenFields","total_reward","dp","toFixed","miner","textTransform","AddressEntity","address","noIcon","noCopy","truncation","home_LatestBlocks","blocksMaxCount","BLOCK","handleNewBlockMessage","newData","LatestBlocksItem","network_utilization_percentage","nbsp","whiteSpace","hasAvgBlockTime","showAvgBlockTime","rollupFeature","home_Stats","hasGasTracker","setHasGasTracker","gasTracker","dataUpdatedAt","gas_prices","average","zkEvmLatestBatchQuery","type","zkSyncLatestBatchQuery","arbitrumLatestBatchQuery","gasInfoTooltip","GasInfoTooltip","hasBatches","latestBatch","total_blocks","average_block_time","total_transactions","last_output_root_size","total_addresses","GasPrice","rootstock_locked_btc","toFormat","StatsWidget","_last","gridColumn","gridTemplateColumns","LatestDepositsItem","l1BlockLink","BlockEntityL1","l1BlockNumber","l1TxLink","TxEntityL1","hash","l1TxHash","l2TxLink","l2TxHash","TxEntity","borderTop","borderBottom","latestDeposits_LatestDeposits","socketItemsNum","depositsUrl","SocketNewItemsNotice","borderBottomRadius","url","alert","latestDeposits_LatestOptimisticDeposits","itemsCount","L2_DEPOSIT_ITEM","handleNewDepositMessage","deposits","LatestDeposits","l1_block_number","l1_tx_hash","l2_tx_hash","l1_block_timestamp","home_LatestTxsItem","tx","dataTo","to","created_contract","columnNum","tx_fee","xl","TxAdditionalInfo","HStack","TxType","types","tx_types","TxStatus","errorText","TxWatchListTags","AddressFromTo","from","mode","getValueWithUnit","currencyUnits","ether","TxFee","accuracy","LatestTxsItemMobile","LatestTxs","txsCount","TX","txsUrl","AddressHighlightProvider","LatestTxsItem","home_LatestWatchlistTxs","latestDeposits_LatestArbitrumDeposits","ARBITRUM_MESSAGES_ITEM","new_messages_to_rollup_amount","origination_transaction_block_number","origination_transaction_hash","completion_transaction_hash","origination_timestamp","TAB_LIST_PROPS","Transactions","hasAccount","useHasAccount","Transactions_rollupFeature","tabs","component","LatestOptimisticDeposits","LatestArbitrumDeposits","LatestWatchlistTxs","TabsWithScroll","lazyBehavior","tabListProps","pages_Home","background","plate","data-label","textColor","meta","seo","enhancedDataEnabled","navigation","layout","account","ProfileMenuDesktop","isHomePage","blockchainInteraction","WalletMenuDesktop","SearchBar","isHomepage","AdBanner","platform","_empty","Stats","ChainIndicators","direction","LatestZkEvmL2Batches","LatestArbitrumL2Batches","LatestBlocks","layout_LayoutHome","children","Layout","HeaderMobile","hideSearchBar","paddingTop","HeaderAlert","AppErrorBoundary","Page","PageNextJs","Home","getLayout","LayoutHome","pages","TX_HASH","l1_tx_origin","ADDRESS_HASH","l2_tx_gas_limit","L2_WITHDRAWAL_ITEM","challenge_period_end","ADDRESS_PARAMS","l2_timestamp","msg_nonce","msg_nonce_version","L2_TXN_BATCHES_ITEM","l1_timestamp","l1_tx_hashes","l2_block_number","L2_OUTPUT_ROOTS_ITEM","l2_output_index","output_root","L2_DISPUTE_GAMES_ITEM","contract_address","created_at","game_type","resolved_at","implementations","is_contract","is_verified","private_tags","public_tags","watchlist_names","ens_domain_name","origination_address","blocks_count","batch_data_container","ARBITRUM_L2_TXN_BATCH","after_acc","before_acc","start_block","end_block","data_availability","BLOCK_HASH","base_fee_per_gas","burnt_fees","burnt_fees_percentage","difficulty","extra_data","gas_limit","gas_target_percentage","gas_used","gas_used_percentage","nonce","parent_hash","priority_fee","state_root","total_difficulty","tx_fees","uncles_hashes","BLOCK_EPOCH_REWARD","count","total","token","TOKEN_INFO_ERC_20","BLOCK_EPOCH","aggregated_election_rewards","group","validator","voter","delegated_payment","distribution","carbon_offsetting_transfer","TOKEN_TRANSFER_ERC_20","community_transfer","reserve_bolster_transfer","circulating_market_cap","decimals","exchange_rate","holders","total_supply","icon_url","TOKEN_INFO_ERC_721","TOKEN_INFO_ERC_1155","TOKEN_INFO_ERC_404","TOKEN_COUNTERS","token_holders_count","transfers_count","TOKEN_HOLDER_ERC_20","TOKEN_HOLDER_ERC_1155","token_id","getTokenHoldersStub","pagination","generateListStub","next_page_params","getTokenInstanceHoldersStub","block_hash","log_index","method","tx_hash","TOKEN_TRANSFER_ERC_721","TOKEN_TRANSFER_ERC_1155","TOKEN_TRANSFER_ERC_404","getTokenTransfersStub","getTokenInstanceTransfersStub","TOKEN_INSTANCE","animation_url","external_app_url","image_url","is_unique","metadata","attributes","trait_type","description","external_url","image","owner","holder_address_hash","fee","confirmations","tx_burnt_fee","max_fee_per_gas","gas_price","token_transfers","position","has_error_in_internal_txs","actions","decoded_input","token_transfers_overflow","raw_input","max_priority_fee_per_gas","revert_reason","confirmation_duration","tx_tag","TX_ZKEVM_L2","zkevm_batch_number","zkevm_sequence_hash","zkevm_status","zkevm_verify_hash","TX_RAW_TRACE","TXS_STATS","pending_transactions_count","transaction_fees_avg_24h","transaction_fees_sum_24h","transactions_count_24h","ZKEVM_DEPOSITS_ITEM","l1_transaction_hash","l2_transaction_hash","ZKEVM_WITHDRAWALS_ITEM","verify_tx_hash","sequence_tx_hash","ZKEVM_L2_TXN_BATCH","acc_input_hash","global_exit_root","transactions","__webpack_exports__","Z","className","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","Alert","AlertDescription","tooltipProps","isOpen","onOpen","onToggle","onClose","useDisclosure","stopPropagation","placement","maxW","IconButton","colorScheme","aria-label","onMouseEnter","onMouseLeave","props","Image","src","coin_image","alt","fallback","fallbackStrategy","Tabs_TabCounter","zeroCountColor","getDefaultTransitionProps","menuButton","middot","Tabs_TabsMenu","tabsCut","isActive","styles","onItemClick","buttonRef","activeTab","handleItemClick","tabIndex","currentTarget","getAttribute","Popover","isLazy","closeDelay","PopoverTrigger","Button","PopoverContent","PopoverBody","data-index","sx","TabCounter","hiddenItemStyles","visibility","Tabs_AdaptiveTabsList","scrollDirection","useScrollDirection","listBgColor","tabsList","tabsRefs","listRef","rightSlotRef","useAdaptiveTabs","disabled","setTabsCut","setTabsRefs","calculateCut","listWidth","rightSlotWidth","tabWidths","menuWidth","visibleNum","array","accWidth","_","stickyEnabled","useScrollToActiveTab","activeTabIndex","activeTabRef","activeTabRect","scrollTo","behavior","TabList","marginBottom","overflowX","overscrollBehaviorX","css","transitionProperty","boxShadow","Infinity","Tab","scrollSnapAlign","TabsMenu","themeProps","rightSlot","rightSlotProps","Tabs_TabsWithScroll","onTabChange","defaultTabIndex","setActiveTabIndex","useState","screenWidth","setScreenWidth","isBrowser","tabsRef","useRef","handleTabChange","useEffect","resizeObserver","ResizeObserver","_debounce","observe","document","body","unobserve","Tabs","onChange","AdaptiveTabsList","join","TabPanels","TabPanel","padding","tooltipPlacement","TruncatedTextTooltip","textOverflow","feature","adsBanner","provider","useAppContext","adBannerProvider","hasAdblockCookie","ADBLOCK_DETECTED","AdBannerContent","linkProps","_omit","partsProps","isExternal","L1BaseUrl","height_or_hash","Container","NextLink","passHref","legacyBehavior","valuePrefix","valuePostfix","diffPeriod","diffFormatted","period","skeletonBgColor","hintColor","h2","TruncatedValue","alignSelf","text","StatusTag","Tag","isTruncated","tag","display_name","TYPES_ORDER","t1","t2","slideFadeConfig","variants","offsetX","offsetY","transition","transitionEnd","_a","chunk_LB6CWFOC","p$","Sh","enter","reverse","SlideFade","react","forwardRef","unmountOnExit","in","rest","show","custom","M","E","dist","cx","displayName","scaleFadeConfig","initialScale","ScaleFade","transitions","slideInBottom","slideInRight","none","MotionSection","chunk_3LE6AY5Q","section","getMotionProps","preset","ModalTransition","motionProps","ModalContent","chunk_QEVFQ4EU","G","containerProps","rootProps","getDialogProps","getDialogContainerProps","chunk_LBED2F7B","vR","dialogProps","_className","I_","dialogStyles","flexDirection","outline","dialog","dialogContainerStyles","dialogContainer","motionPreset","chunk_RJF6J4BE","__css","ModalCloseButton","_chakra_ui_system__WEBPACK_IMPORTED_MODULE_1__","_chunk_LBED2F7B_mjs__WEBPACK_IMPORTED_MODULE_2__","_chakra_ui_shared_utils__WEBPACK_IMPORTED_MODULE_3__","_chakra_ui_close_button__WEBPACK_IMPORTED_MODULE_4__","P","closeButton","v0","TableStylesProvider","useTableStyles","_chakra_ui_react_context__WEBPACK_IMPORTED_MODULE_1__","k","errorMessage","Table","_chakra_ui_system__WEBPACK_IMPORTED_MODULE_2__","_chakra_ui_system__WEBPACK_IMPORTED_MODULE_3__","jC","tableProps","_chakra_ui_system__WEBPACK_IMPORTED_MODULE_4__","Lr","_chakra_ui_system__WEBPACK_IMPORTED_MODULE_5__","table","tableLayout","_chakra_ui_shared_utils__WEBPACK_IMPORTED_MODULE_6__","Td","isNumeric","_chunk_B3MS3L3D_mjs__WEBPACK_IMPORTED_MODULE_2__","td","Tr","tr"],"sourceRoot":""}