{"version":3,"file":"static/chunks/pages/index-13db54d8485922be.js","mappings":"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","sources":["webpack://_N_E/./node_modules/@slise/embed-react/lib/SliseAd.js","webpack://_N_E/./node_modules/@slise/embed-react/lib/index.js","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/getNetworkTitle.ts","webpack://_N_E/./lib/metadata/compileValue.ts","webpack://_N_E/./lib/metadata/getPageOgType.ts","webpack://_N_E/./lib/metadata/templates/title.ts","webpack://_N_E/./lib/metadata/templates/description.ts","webpack://_N_E/./lib/metadata/templates/index.ts","webpack://_N_E/./lib/metadata/generate.ts","webpack://_N_E/./lib/metadata/update.ts","webpack://_N_E/./lib/metadata/index.ts","webpack://_N_E/./lib/networks/getNetworkValidatorTitle.ts","webpack://_N_E/./lib/hooks/useAdblockDetect.tsx","webpack://_N_E/./lib/hooks/useGetCsrfToken.tsx","webpack://_N_E/./lib/sentry/config.ts","webpack://_N_E/./nextjs/PageNextJs.tsx","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/LatestBlocksItem.tsx","webpack://_N_E/./ui/home/LatestBlocks.tsx","webpack://_N_E/./ui/home/LatestZkevmL2BatchItem.tsx","webpack://_N_E/./ui/home/LatestZkEvmL2Batches.tsx","webpack://_N_E/./ui/home/StatsItem.tsx","webpack://_N_E/./ui/home/Stats.tsx","webpack://_N_E/./ui/home/LatestDepositsItem.tsx","webpack://_N_E/./ui/home/LatestDeposits.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/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/block.ts","webpack://_N_E/./stubs/zkEvmL2.ts","webpack://_N_E/./ui/blocks/BlockTimestamp.tsx","webpack://_N_E/./ui/shared/DataFetchAlert.tsx","webpack://_N_E/./ui/shared/Hint.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/ad/adbutlerScript.ts","webpack://_N_E/./ui/shared/ad/AdbutlerBanner.tsx","webpack://_N_E/./ui/shared/ad/CoinzillaBanner.tsx","webpack://_N_E/./ui/shared/ad/SliseBanner.tsx","webpack://_N_E/./ui/shared/ad/AdBanner.tsx","webpack://_N_E/./ui/shared/entities/block/BlockEntityL1.tsx","webpack://_N_E/./ui/shared/entities/block/ZkEvmBatchEntityL2.tsx","webpack://_N_E/./ui/shared/entities/tx/TxEntityL1.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/react-script-hook/lib/index.js","webpack://_N_E/./node_modules/react-script-hook/lib/use-script.js","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","webpack://_N_E/"],"sourcesContent":["\"use strict\";\n'use client';\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SliseAd = void 0;\nconst react_1 = __importDefault(require(\"react\"));\nconst react_script_hook_1 = __importDefault(require(\"react-script-hook\"));\nconst DEFAULT_SLISE_HOST = \"https://v1.slise.xyz\";\nconst SliseAd = props => {\n var _a, _b, _c, _d, _e, _f;\n const addSlot = react_1.default.useCallback(() => {\n const wnd = window;\n (wnd.adsbyslise = wnd.adsbyslise || []).push({ slot: props.slotId });\n wnd.adsbyslisesync && wnd.adsbyslisesync();\n }, [props.slotId, props.format]);\n react_1.default.useEffect(() => {\n addSlot();\n }, [addSlot]);\n const [_loading, _error] = (0, react_script_hook_1.default)({\n src: `${props.__overrideSliseHost || DEFAULT_SLISE_HOST}/scripts/embed.js`,\n checkForExisting: true,\n async: true,\n });\n return (react_1.default.createElement(\"ins\", { className: \"adsbyslise\", style: props.style, \"data-ad-slot\": props.slotId, \"data-ad-pub\": props.pub, \"data-ad-format\": props.format },\n react_1.default.createElement(\"div\", { style: {\n width: (_a = props.style) === null || _a === void 0 ? void 0 : _a.width,\n height: (_b = props.style) === null || _b === void 0 ? void 0 : _b.height,\n maxWidth: (_c = props.style) === null || _c === void 0 ? void 0 : _c.maxWidth,\n maxHeight: (_d = props.style) === null || _d === void 0 ? void 0 : _d.maxHeight,\n minWidth: (_e = props.style) === null || _e === void 0 ? void 0 : _e.minWidth,\n minHeight: (_f = props.style) === null || _f === void 0 ? void 0 : _f.minHeight,\n } })));\n};\nexports.SliseAd = SliseAd;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./SliseAd\"), exports);\n","\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 page.');\n }, []);\n\n const handleSocketError = React.useCallback(() => {\n setSocketAlert('An error has occurred while fetching new transactions. Please reload 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\n// TODO delete when page descriptions is refactored\nexport default function getNetworkTitle() {\n return config.chain.name + (config.chain.shortName ? ` (${ config.chain.shortName })` : '') + ' Explorer';\n}\n","export default function compileValue(template: string, params: Record | undefined>) {\n const PLACEHOLDER_REGEX = /%(\\w+)%/g;\n return template.replaceAll(PLACEHOLDER_REGEX, (match, p1) => {\n const value = params[p1];\n\n if (Array.isArray(value)) {\n return value.join(', ');\n }\n\n if (value === undefined) {\n return '';\n }\n\n return value;\n });\n}\n","import type { Route } from 'nextjs-routes';\n\ntype OGPageType = 'Homepage' | 'Root page' | 'Regular page';\n\nconst OG_TYPE_DICT: Record = {\n '/': 'Homepage',\n '/txs': 'Root page',\n '/txs/kettle/[hash]': 'Regular page',\n '/tx/[hash]': 'Regular page',\n '/blocks': 'Root page',\n '/block/[height_or_hash]': 'Regular page',\n '/accounts': 'Root page',\n '/address/[hash]': 'Regular page',\n '/verified-contracts': 'Root page',\n '/contract-verification': 'Root page',\n '/address/[hash]/contract-verification': 'Regular page',\n '/tokens': 'Root page',\n '/token/[hash]': 'Regular page',\n '/token/[hash]/instance/[id]': 'Regular page',\n '/apps': 'Root page',\n '/apps/[id]': 'Regular page',\n '/stats': 'Root page',\n '/api-docs': 'Regular page',\n '/graphiql': 'Regular page',\n '/search-results': 'Regular page',\n '/auth/profile': 'Root page',\n '/account/watchlist': 'Regular page',\n '/account/api-key': 'Regular page',\n '/account/custom-abi': 'Regular page',\n '/account/public-tags-request': 'Regular page',\n '/account/tag-address': 'Regular page',\n '/account/verified-addresses': 'Root page',\n '/withdrawals': 'Root page',\n '/visualize/sol2uml': 'Regular page',\n '/csv-export': 'Regular page',\n '/l2-deposits': 'Root page',\n '/l2-output-roots': 'Root page',\n '/l2-txn-batches': 'Root page',\n '/l2-withdrawals': 'Root page',\n '/zkevm-l2-txn-batches': 'Root page',\n '/zkevm-l2-txn-batch/[number]': 'Regular page',\n '/404': 'Regular page',\n\n // service routes, added only to make typescript happy\n '/login': 'Regular page',\n '/api/media-type': 'Regular page',\n '/api/proxy': 'Regular page',\n '/api/csrf': 'Regular page',\n '/api/healthz': 'Regular page',\n '/auth/auth0': 'Regular page',\n '/auth/unverified-email': 'Regular page',\n};\n\nexport default function getPageOgType(pathname: Route['pathname']) {\n return OG_TYPE_DICT[pathname];\n}\n","import type { Route } from 'nextjs-routes';\n\nconst TEMPLATE_MAP: Record = {\n '/': 'blockchain explorer',\n '/txs': 'transactions',\n '/txs/kettle/[hash]': 'kettle %hash% transactions',\n '/tx/[hash]': 'transaction %hash%',\n '/blocks': 'blocks',\n '/block/[height_or_hash]': 'block %height_or_hash%',\n '/accounts': 'top accounts',\n '/address/[hash]': 'address details for %hash%',\n '/verified-contracts': 'verified contracts',\n '/contract-verification': 'verify contract',\n '/address/[hash]/contract-verification': 'contract verification for %hash%',\n '/tokens': 'tokens',\n '/token/[hash]': '%symbol% token details',\n '/token/[hash]/instance/[id]': 'token instance for %symbol%',\n '/apps': 'apps marketplace',\n '/apps/[id]': '- %app_name%',\n '/stats': 'statistics',\n '/api-docs': 'REST API',\n '/graphiql': 'GraphQL',\n '/search-results': 'search result for %q%',\n '/auth/profile': '- my profile',\n '/account/watchlist': '- watchlist',\n '/account/api-key': '- API keys',\n '/account/custom-abi': '- custom ABI',\n '/account/public-tags-request': '- public tag requests',\n '/account/tag-address': '- private tags',\n '/account/verified-addresses': '- my verified addresses',\n '/withdrawals': 'withdrawals',\n '/visualize/sol2uml': 'Solidity UML diagram',\n '/csv-export': 'export data to CSV',\n '/l2-deposits': 'deposits (L1 > L2)',\n '/l2-output-roots': 'output roots',\n '/l2-txn-batches': 'Tx batches (L2 blocks)',\n '/l2-withdrawals': 'withdrawals (L2 > L1)',\n '/zkevm-l2-txn-batches': 'zkEvm L2 Tx batches',\n '/zkevm-l2-txn-batch/[number]': 'zkEvm L2 Tx batch %number%',\n '/404': 'error - page not found',\n\n // service routes, added only to make typescript happy\n '/login': 'login',\n '/api/media-type': 'node API media type',\n '/api/proxy': 'node API proxy',\n '/api/csrf': 'node API CSRF token',\n '/api/healthz': 'node API health check',\n '/auth/auth0': 'authentication',\n '/auth/unverified-email': 'unverified email',\n};\n\nexport function make(pathname: Route['pathname']) {\n const template = TEMPLATE_MAP[pathname];\n\n return `%network_name% ${ template }`;\n}\n","import type { Route } from 'nextjs-routes';\n\n// equal og:description\n// eslint-disable-next-line max-len\nconst DEFAULT_TEMPLATE = 'Blockscout is the #1 open-source blockchain explorer available today. 100+ chains and counting rely on Blockscout data availability, APIs, and ecosystem tools to support their networks.';\n\n// FIXME all page descriptions will be updated later\nconst TEMPLATE_MAP: Record = {\n '/': DEFAULT_TEMPLATE,\n '/txs': DEFAULT_TEMPLATE,\n '/txs/kettle/[hash]': DEFAULT_TEMPLATE,\n '/tx/[hash]': 'View transaction %hash% on %network_title%',\n '/blocks': DEFAULT_TEMPLATE,\n '/block/[height_or_hash]': 'View the transactions, token transfers, and uncles for block %height_or_hash%',\n '/accounts': DEFAULT_TEMPLATE,\n '/address/[hash]': 'View the account balance, transactions, and other data for %hash% on the %network_title%',\n '/verified-contracts': DEFAULT_TEMPLATE,\n '/contract-verification': DEFAULT_TEMPLATE,\n '/address/[hash]/contract-verification': 'View the account balance, transactions, and other data for %hash% on the %network_title%',\n '/tokens': DEFAULT_TEMPLATE,\n '/token/[hash]': '%hash%, balances and analytics on the %network_title%',\n '/token/[hash]/instance/[id]': '%hash%, balances and analytics on the %network_title%',\n '/apps': DEFAULT_TEMPLATE,\n '/apps/[id]': DEFAULT_TEMPLATE,\n '/stats': DEFAULT_TEMPLATE,\n '/api-docs': DEFAULT_TEMPLATE,\n '/graphiql': DEFAULT_TEMPLATE,\n '/search-results': DEFAULT_TEMPLATE,\n '/auth/profile': DEFAULT_TEMPLATE,\n '/account/watchlist': DEFAULT_TEMPLATE,\n '/account/api-key': DEFAULT_TEMPLATE,\n '/account/custom-abi': DEFAULT_TEMPLATE,\n '/account/public-tags-request': DEFAULT_TEMPLATE,\n '/account/tag-address': DEFAULT_TEMPLATE,\n '/account/verified-addresses': DEFAULT_TEMPLATE,\n '/withdrawals': DEFAULT_TEMPLATE,\n '/visualize/sol2uml': DEFAULT_TEMPLATE,\n '/csv-export': DEFAULT_TEMPLATE,\n '/l2-deposits': DEFAULT_TEMPLATE,\n '/l2-output-roots': DEFAULT_TEMPLATE,\n '/l2-txn-batches': DEFAULT_TEMPLATE,\n '/l2-withdrawals': DEFAULT_TEMPLATE,\n '/zkevm-l2-txn-batches': DEFAULT_TEMPLATE,\n '/zkevm-l2-txn-batch/[number]': DEFAULT_TEMPLATE,\n '/404': DEFAULT_TEMPLATE,\n\n // service routes, added only to make typescript happy\n '/login': DEFAULT_TEMPLATE,\n '/api/media-type': DEFAULT_TEMPLATE,\n '/api/proxy': DEFAULT_TEMPLATE,\n '/api/csrf': DEFAULT_TEMPLATE,\n '/api/healthz': DEFAULT_TEMPLATE,\n '/auth/auth0': DEFAULT_TEMPLATE,\n '/auth/unverified-email': DEFAULT_TEMPLATE,\n};\n\nexport function make(pathname: Route['pathname']) {\n const template = TEMPLATE_MAP[pathname];\n\n return template ?? '';\n}\n","export * as title from './title';\nexport * as description from './description';\n","import type { ApiData, Metadata } from './types';\n\nimport type { Route } from 'nextjs-routes';\n\nimport config from 'configs/app';\nimport getNetworkTitle from 'lib/networks/getNetworkTitle';\n\nimport compileValue from './compileValue';\nimport getPageOgType from './getPageOgType';\nimport * as templates from './templates';\n\nexport default function generate(route: R, apiData?: ApiData): Metadata {\n const params = {\n ...route.query,\n ...apiData,\n network_name: config.chain.name,\n network_title: getNetworkTitle(),\n };\n\n const compiledTitle = compileValue(templates.title.make(route.pathname), params);\n const title = compiledTitle ? compiledTitle + (config.meta.promoteBlockscoutInTitle ? ' | Blockscout' : '') : '';\n const description = compileValue(templates.description.make(route.pathname), params);\n\n const pageOgType = getPageOgType(route.pathname);\n\n return {\n title: title,\n description,\n opengraph: {\n title: title,\n description: pageOgType !== 'Regular page' ? config.meta.og.description : '',\n imageUrl: pageOgType !== 'Regular page' ? config.meta.og.imageUrl : '',\n },\n };\n}\n","import type { ApiData } from './types';\n\nimport type { Route } from 'nextjs-routes';\n\nimport generate from './generate';\n\nexport default function update(route: R, apiData: ApiData) {\n const { title, description } = generate(route, apiData);\n\n window.document.title = title;\n window.document.querySelector('meta[name=\"description\"]')?.setAttribute('content', description);\n}\n","export { default as generate } from './generate';\nexport { default as update } from './update';\n","import config from 'configs/app';\n\nexport default function getNetworkValidatorTitle() {\n return config.chain.verificationType === 'validation' ? 'validator' : 'miner';\n}\n","import { useEffect } from 'react';\n\nimport { useAppContext } from 'lib/contexts/app';\nimport * as cookies from 'lib/cookies';\nimport isBrowser from 'lib/isBrowser';\n\nexport default function useAdblockDetect() {\n const hasAdblockCookie = cookies.get(cookies.NAMES.ADBLOCK_DETECTED, useAppContext().cookies);\n\n useEffect(() => {\n if (isBrowser() && !hasAdblockCookie) {\n const url = 'https://request-global.czilladx.com';\n fetch(url, {\n method: 'HEAD',\n mode: 'no-cors',\n cache: 'no-store',\n }).catch(() => {\n cookies.set(cookies.NAMES.ADBLOCK_DETECTED, 'true', { expires: 1 });\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n}\n","import * as Sentry from '@sentry/react';\nimport { useQuery } from '@tanstack/react-query';\n\nimport buildUrl from 'lib/api/buildUrl';\nimport isNeedProxy from 'lib/api/isNeedProxy';\nimport { getResourceKey } from 'lib/api/useApiQuery';\nimport * as cookies from 'lib/cookies';\nimport useFetch from 'lib/hooks/useFetch';\n\nexport default function useGetCsrfToken() {\n const nodeApiFetch = useFetch();\n\n useQuery({\n queryKey: getResourceKey('csrf'),\n queryFn: async() => {\n if (!isNeedProxy()) {\n const url = buildUrl('csrf');\n const apiResponse = await fetch(url, { credentials: 'include' });\n const csrfFromHeader = apiResponse.headers.get('x-bs-account-csrf');\n\n if (!csrfFromHeader) {\n Sentry.captureException(new Error('Client fetch failed'), { tags: {\n source: 'fetch',\n 'source.resource': 'csrf',\n 'status.code': 500,\n 'status.text': 'Unable to obtain csrf token from header',\n } });\n return;\n }\n\n return { token: csrfFromHeader };\n }\n\n return nodeApiFetch('/node-api/csrf');\n },\n enabled: Boolean(cookies.get(cookies.NAMES.API_TOKEN)),\n });\n}\n","import * as Sentry from '@sentry/react';\nimport { BrowserTracing } from '@sentry/tracing';\n\nimport appConfig from 'configs/app';\n\nconst feature = appConfig.features.sentry;\n\nexport const config: Sentry.BrowserOptions | undefined = (() => {\n if (!feature.isEnabled) {\n return;\n }\n\n const tracesSampleRate: number | undefined = (() => {\n switch (feature.environment) {\n case 'development':\n return 1;\n case 'staging':\n return 0.75;\n case 'production':\n return 0.2;\n }\n })();\n\n return {\n environment: feature.environment,\n dsn: feature.dsn,\n release: feature.release,\n enableTracing: feature.enableTracing,\n tracesSampleRate,\n integrations: feature.enableTracing ? [ new BrowserTracing() ] : undefined,\n\n // error filtering settings\n // were taken from here - https://docs.sentry.io/platforms/node/guides/azure-functions/configuration/filtering/#decluttering-sentry\n ignoreErrors: [\n // Random plugins/extensions\n 'top.GLOBALS',\n // See: http://blog.errorception.com/2012/03/tale-of-unfindable-js-error.html\n 'originalCreateNotification',\n 'canvas.contentDocument',\n 'MyApp_RemoveAllHighlights',\n 'http://tt.epicplay.com',\n 'Can\\'t find variable: ZiteReader',\n 'jigsaw is not defined',\n 'ComboSearch is not defined',\n 'http://loading.retry.widdit.com/',\n 'atomicFindClose',\n // Facebook borked\n 'fb_xd_fragment',\n // ISP \"optimizing\" proxy - `Cache-Control: no-transform` seems to reduce this. (thanks @acdha)\n // See http://stackoverflow.com/questions/4113268/how-to-stop-javascript-injection-from-vodafone-proxy\n 'bmi_SafeAddOnload',\n 'EBCallBackMessageReceived',\n // See http://toolbar.conduit.com/Developer/HtmlAndGadget/Methods/JSInjection.aspx\n 'conduitPage',\n // Generic error code from errors outside the security sandbox\n 'Script error.',\n\n // Relay and WalletConnect errors\n 'The quota has been exceeded',\n 'Attempt to connect to relay via',\n 'WebSocket connection failed for URL: wss://relay.walletconnect.com',\n ],\n denyUrls: [\n // Facebook flakiness\n /graph\\.facebook\\.com/i,\n // Facebook blocked\n /connect\\.facebook\\.net\\/en_US\\/all\\.js/i,\n // Woopra flakiness\n /eatdifferent\\.com\\.woopra-ns\\.com/i,\n /static\\.woopra\\.com\\/js\\/woopra\\.js/i,\n // Chrome and other extensions\n /extensions\\//i,\n /^chrome:\\/\\//i,\n /^chrome-extension:\\/\\//i,\n /^moz-extension:\\/\\//i,\n // Other plugins\n /127\\.0\\.0\\.1:4001\\/isrunning/i, // Cacaoweb\n /webappstoolbarba\\.texthelp\\.com\\//i,\n /metrics\\.itunes\\.apple\\.com\\.edgesuite\\.net\\//i,\n\n // AD fetch failed errors\n /czilladx\\.com/i,\n /coinzilla\\.com/i,\n /coinzilla\\.io/i,\n /slise\\.xyz/i,\n ],\n };\n})();\n\nexport function configureScope(scope: Sentry.Scope) {\n if (!feature.isEnabled) {\n return;\n }\n scope.setTag('app_instance', feature.instance);\n}\n\nexport function init() {\n if (!config) {\n return;\n }\n\n Sentry.init(config);\n Sentry.configureScope(configureScope);\n}\n","import Head from 'next/head';\nimport React from 'react';\n\nimport type { Route } from 'nextjs-routes';\n\nimport useAdblockDetect from 'lib/hooks/useAdblockDetect';\nimport useGetCsrfToken from 'lib/hooks/useGetCsrfToken';\nimport * as metadata from 'lib/metadata';\nimport * as mixpanel from 'lib/mixpanel';\nimport { init as initSentry } from 'lib/sentry/config';\n\ntype Props = Route & {\n children: React.ReactNode;\n}\n\ninitSentry();\n\nconst PageNextJs = (props: Props) => {\n const { title, description, opengraph } = metadata.generate(props);\n\n useGetCsrfToken();\n useAdblockDetect();\n\n const isMixpanelInited = mixpanel.useInit();\n mixpanel.useLogPageView(isMixpanelInited);\n\n return (\n <>\n \n { title }\n \n\n { /* OG TAGS */ }\n \n { opengraph.description && }\n \n \n \n \n \n { props.children }\n \n );\n};\n\nexport default React.memo(PageNextJs);\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: 0 };\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 },\n };\n }, [ ]);\n\n const { rect, ref, axis, innerWidth, innerHeight } = 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 { Flex } 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 return ;\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';\nimport useIsMobile from 'lib/hooks/useIsMobile';\n\ninterface Props {\n id: ChainIndicatorId;\n title: string;\n value: (stats: HomeStats) => string;\n icon: React.ReactNode;\n isSelected: boolean;\n onClick: (id: ChainIndicatorId) => void;\n stats: UseQueryResult>;\n}\n\nconst ChainIndicatorItem = ({ id, title, value, icon, isSelected, onClick, stats }: Props) => {\n const isMobile = useIsMobile();\n\n const activeBgColorDesktop = useColorModeValue('white', 'gray.900');\n const activeBgColorMobile = useColorModeValue('white', 'black');\n const activeBgColor = isMobile ? activeBgColorMobile : activeBgColorDesktop;\n\n const handleClick = React.useCallback(() => {\n onClick(id);\n }, [ id, onClick ]);\n\n const valueContent = (() => {\n if (isMobile) {\n return null;\n }\n\n if (stats.isPending) {\n return (\n \n );\n }\n\n if (stats.isError) {\n return no data;\n }\n\n return { value(stats.data) };\n })();\n\n return (\n \n { icon }\n \n { title }\n { valueContent }\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 || 'homepage_chart_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: TimeChartItem, b: TimeChartItem) => {\n return a.date.getTime() - b.date.getTime();\n};\n","import React from 'react';\n\nimport type { TChainIndicator } from '../types';\n\nimport config from 'configs/app';\nimport { sortByDateDesc } from 'ui/shared/chart/utils/sorts';\nimport * as TokenEntity from 'ui/shared/entities/token/TokenEntity';\nimport IconSvg from 'ui/shared/IconSvg';\n\nconst dailyTxsIndicator: TChainIndicator<'homepage_chart_txs'> = {\n id: 'daily_txs',\n title: 'Daily transactions',\n value: (stats) => 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: 'homepage_chart_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 name: 'Tx/day',\n valueFormatter: (x: number) => x.toLocaleString(undefined, { maximumFractionDigits: 2, notation: 'compact' }),\n } ]),\n },\n};\n\nconst nativeTokenData = {\n name: config.chain.currency.name || '',\n icon_url: '',\n symbol: '',\n address: '',\n type: 'ERC-20' as const,\n};\n\nconst coinPriceIndicator: TChainIndicator<'homepage_chart_market'> = {\n id: 'coin_price',\n title: `${ config.chain.governanceToken.symbol || config.chain.currency.symbol } price`,\n value: (stats) => '$' + Number(stats.coin_price).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 6 }),\n icon: ,\n hint: `${ config.chain.governanceToken.symbol || config.chain.currency.symbol } token daily price in USD.`,\n api: {\n resourceName: 'homepage_chart_market',\n dataFn: (response) => ([ {\n items: response.chart_data\n .map((item) => ({ date: new Date(item.date), value: Number(item.closing_price) }))\n .sort(sortByDateDesc),\n name: `${ config.chain.governanceToken.symbol || config.chain.currency.symbol } price`,\n valueFormatter: (x: number) => '$' + x.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 6 }),\n } ]),\n },\n};\n\nconst marketPriceIndicator: TChainIndicator<'homepage_chart_market'> = {\n id: 'market_cap',\n title: 'Market cap',\n value: (stats) => '$' + Number(stats.market_cap).toLocaleString(undefined, { maximumFractionDigits: 0, 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: 'homepage_chart_market',\n dataFn: (response) => ([ {\n items: response.chart_data\n .map((item) => (\n {\n date: new Date(item.date),\n value: item.market_cap ? Number(item.market_cap) : Number(item.closing_price) * Number(response.available_supply),\n }))\n .sort(sortByDateDesc),\n name: 'Market cap',\n valueFormatter: (x: number) => '$' + x.toLocaleString(undefined, { maximumFractionDigits: 0 }),\n } ]),\n },\n};\n\nconst tvlIndicator: TChainIndicator<'homepage_chart_market'> = {\n id: 'tvl',\n title: 'Total value locked',\n value: (stats) => '$' + 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: 'homepage_chart_market',\n dataFn: (response) => ([ {\n items: response.chart_data\n .map((item) => (\n {\n date: new Date(item.date),\n value: item.tvl ? Number(item.tvl) : 0,\n }))\n .sort(sortByDateDesc),\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 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 Hint from 'ui/shared/Hint';\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('homepage_stats');\n\n const bgColorDesktop = useColorModeValue('white', 'gray.900');\n const bgColorMobile = useColorModeValue('white', 'black');\n const listBgColorDesktop = useColorModeValue('gray.50', 'black');\n const listBgColorMobile = useColorModeValue('gray.50', 'gray.900');\n\n if (indicators.length === 0) {\n return null;\n }\n\n const valueTitle = (() => {\n if (statsQueryResult.isPending) {\n return ;\n }\n\n if (statsQueryResult.isError) {\n return There is no data;\n }\n\n return (\n \n { indicator?.value(statsQueryResult.data) }\n \n );\n })();\n\n return (\n \n \n \n { indicator?.title }\n { indicator?.hint && }\n \n { valueTitle }\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 Grid,\n Skeleton,\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 BlockTimestamp from 'ui/blocks/BlockTimestamp';\nimport AddressEntity from 'ui/shared/entities/address/AddressEntity';\nimport BlockEntity from 'ui/shared/entities/block/BlockEntity';\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 \n \n \n Txn\n { block.tx_count }\n\n { !config.features.optimisticRollup.isEnabled && !config.UI.views.block.hiddenFields?.total_reward && (\n <>\n Reward\n { totalReward.dp(10).toFixed() }\n \n ) }\n\n { !config.features.optimisticRollup.isEnabled && !config.UI.views.block.hiddenFields?.miner && (\n <>\n { getNetworkValidatorTitle() }\n \n \n ) }\n \n \n );\n};\n\nexport default LatestBlocksItem;\n","import { 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/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.optimisticRollup.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('homepage_stats', {\n queryOptions: {\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 page.;\n }\n\n if (data) {\n const dataToShow = data.slice(0, blocksMaxCount);\n\n content = (\n <>\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 \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 { content }\n \n );\n};\n\nexport default LatestBlocks;\n","import {\n Box,\n Flex,\n Skeleton,\n} from '@chakra-ui/react';\nimport { motion } from 'framer-motion';\nimport React from 'react';\n\nimport type { ZkEvmL2TxnBatchesItem } from 'types/api/zkEvmL2TxnBatches';\n\nimport { route } from 'nextjs-routes';\n\nimport BlockTimestamp from 'ui/blocks/BlockTimestamp';\nimport ZkEvmBatchEntityL2 from 'ui/shared/entities/block/ZkEvmBatchEntityL2';\nimport LinkInternal from 'ui/shared/LinkInternal';\nimport ZkEvmL2TxnBatchStatus from 'ui/shared/statusTag/ZkEvmL2TxnBatchStatus';\n\ntype Props = {\n batch: ZkEvmL2TxnBatchesItem;\n isLoading?: boolean;\n}\n\nconst LatestZkevmL2BatchItem = ({ batch, isLoading }: Props) => {\n return (\n \n \n \n \n \n \n \n Txn\n \n \n { batch.tx_count }\n \n \n \n \n \n \n );\n};\n\nexport default LatestZkevmL2BatchItem;\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/zkEvmL2TxnBatches';\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/LinkInternal';\n\nimport LatestZkevmL2BatchItem from './LatestZkevmL2BatchItem';\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 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 LatestZkEvmL2Batches;\n","import type { SystemStyleObject, TooltipProps } from '@chakra-ui/react';\nimport { Skeleton, Flex, useColorModeValue, chakra, LightMode } from '@chakra-ui/react';\nimport React from 'react';\n\nimport breakpoints from 'theme/foundations/breakpoints';\nimport Hint from 'ui/shared/Hint';\nimport type { IconName } from 'ui/shared/IconSvg';\nimport IconSvg from 'ui/shared/IconSvg';\n\ntype Props = {\n icon: IconName;\n title: string;\n value: string;\n className?: string;\n tooltipLabel?: React.ReactNode;\n url?: string;\n isLoading?: boolean;\n}\n\nconst LARGEST_BREAKPOINT = '1240px';\n\nconst TOOLTIP_PROPS: Partial = {\n hasArrow: false,\n borderRadius: 'md',\n placement: 'bottom-end',\n offset: [ 0, 0 ],\n bgColor: 'blackAlpha.900',\n};\n\nconst StatsItem = ({ icon, title, value, className, tooltipLabel, url, isLoading }: Props) => {\n const sxContainer: SystemStyleObject = {\n [`@media screen and (min-width: ${ breakpoints.lg }) and (max-width: ${ LARGEST_BREAKPOINT })`]: { flexDirection: 'column' },\n };\n\n const sxText: SystemStyleObject = {\n [`@media screen and (min-width: ${ breakpoints.lg }) and (max-width: ${ LARGEST_BREAKPOINT })`]: { alignItems: 'center' },\n };\n\n const bgColor = useColorModeValue('blue.50', 'blue.800');\n const loadingBgColor = useColorModeValue('blackAlpha.50', 'whiteAlpha.50');\n const infoColor = useColorModeValue('gray.600', 'gray.400');\n\n return (\n \n \n \n \n { title }\n \n \n { value }\n \n \n { tooltipLabel && !isLoading && (\n \n \n \n ) }\n \n );\n};\n\nexport default chakra(StatsItem);\n","import { Grid } from '@chakra-ui/react';\nimport BigNumber from 'bignumber.js';\nimport React from 'react';\n\nimport { route } from 'nextjs-routes';\n\nimport config from 'configs/app';\nimport useApiQuery from 'lib/api/useApiQuery';\nimport { WEI } from 'lib/consts';\nimport { HOMEPAGE_STATS } from 'stubs/stats';\nimport GasInfoTooltipContent from 'ui/shared/GasInfoTooltipContent/GasInfoTooltipContent';\n\nimport StatsItem from './StatsItem';\n\nconst hasGasTracker = config.UI.homepage.showGasTracker;\nconst hasAvgBlockTime = config.UI.homepage.showAvgBlockTime;\n\nconst Stats = () => {\n const { data, isPlaceholderData, isError } = useApiQuery('homepage_stats', {\n queryOptions: {\n placeholderData: HOMEPAGE_STATS,\n },\n });\n\n const zkEvmLatestBatchQuery = useApiQuery('homepage_zkevm_latest_batch', {\n queryOptions: {\n placeholderData: 12345,\n enabled: config.features.zkEvmRollup.isEnabled,\n },\n });\n\n if (isError || zkEvmLatestBatchQuery.isError) {\n return null;\n }\n\n let content;\n\n const lastItemTouchStyle = { gridColumn: { base: 'span 2', lg: 'unset' } };\n\n let itemsCount = 5;\n !hasGasTracker && itemsCount--;\n !hasAvgBlockTime && itemsCount--;\n\n if (data) {\n !data.gas_prices && itemsCount--;\n data.rootstock_locked_btc && itemsCount++;\n const isOdd = Boolean(itemsCount % 2);\n const gasLabel = hasGasTracker && data.gas_prices ? : null;\n\n content = (\n <>\n { config.features.zkEvmRollup.isEnabled ? (\n \n ) : (\n \n ) }\n { hasAvgBlockTime && (\n \n ) }\n \n \n { hasGasTracker && data.gas_prices && (\n \n ) }\n { data.rootstock_locked_btc && (\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 type { L2DepositsItem } from 'types/api/l2Deposits';\n\nimport config from 'configs/app';\nimport dayjs from 'lib/date/dayjs';\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';\n\nconst feature = config.features.optimisticRollup;\n\ntype Props = {\n item: L2DepositsItem;\n isLoading?: boolean;\n}\n\nconst LatestTxsItem = ({ item, isLoading }: Props) => {\n const timeAgo = dayjs(item.l1_block_timestamp).fromNow();\n const isMobile = useIsMobile();\n\n if (!feature.isEnabled) {\n return null;\n }\n\n const l1BlockLink = (\n \n );\n\n const l1TxLink = (\n \n );\n\n const l2TxLink = (\n \n );\n\n const content = (() => {\n if (isMobile) {\n return (\n <>\n \n { l1BlockLink }\n \n { timeAgo }\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 { timeAgo }\n \n \n L2 txn\n \n { l2TxLink }\n \n );\n })();\n\n return (\n \n { content }\n \n );\n};\n\nexport default React.memo(LatestTxsItem);\n","import { Box, Flex, Text } from '@chakra-ui/react';\nimport React from 'react';\n\nimport type { SocketMessage } from 'lib/socket/types';\n\nimport { route } from 'nextjs-routes';\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';\nimport LinkInternal from 'ui/shared/LinkInternal';\nimport SocketNewItemsNotice from 'ui/shared/SocketNewItemsNotice';\n\nimport LatestDepositsItem from './LatestDepositsItem';\n\nconst LatestDeposits = () => {\n const isMobile = useIsMobile();\n const itemsCount = isMobile ? 2 : 6;\n const { data, isPlaceholderData, isError } = useApiQuery('homepage_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 page.');\n }, []);\n\n const handleSocketError = React.useCallback(() => {\n setSocketAlert('An error has occurred while fetching new transactions. Please reload page.');\n }, []);\n\n const handleNewDepositMessage: SocketMessage.NewDeposits['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 page.;\n }\n\n if (data) {\n const depositsUrl = route({ pathname: '/l2-deposits' });\n return (\n <>\n \n \n { data.slice(0, itemsCount).map(((item, index) => (\n \n ))) }\n \n \n View all deposits\n \n \n );\n }\n\n return null;\n};\n\nexport default LatestDeposits;\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 useTimeAgoIncrement from 'lib/hooks/useTimeAgoIncrement';\nimport AddressEntity from 'ui/shared/entities/address/AddressEntity';\nimport TxEntity from 'ui/shared/entities/tx/TxEntity';\nimport IconSvg from 'ui/shared/IconSvg';\nimport TxStatus from 'ui/shared/statusTag/TxStatus';\nimport TxFeeStability from 'ui/shared/tx/TxFeeStability';\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 timeAgo = useTimeAgoIncrement(tx.timestamp || '0', true);\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 { tx.timestamp && (\n \n { timeAgo }\n \n ) }\n \n \n \n \n \n \n \n { dataTo && (\n \n ) }\n \n \n \n { !config.UI.views.tx.hiddenFields?.value && (\n \n { config.chain.currency.symbol } \n { getValueWithUnit(tx.value).dp(5).toFormat() }\n \n ) }\n { !config.UI.views.tx.hiddenFields?.tx_fee && (\n \n Fee \n { tx.stability_fee ? (\n \n ) : (\n { tx.fee.value ? getValueWithUnit(tx.fee.value).dp(5).toFormat() : '-' }\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 useTimeAgoIncrement from 'lib/hooks/useTimeAgoIncrement';\nimport AddressEntity from 'ui/shared/entities/address/AddressEntity';\nimport TxEntity from 'ui/shared/entities/tx/TxEntity';\nimport IconSvg from 'ui/shared/IconSvg';\nimport TxStatus from 'ui/shared/statusTag/TxStatus';\nimport TxFeeStability from 'ui/shared/tx/TxFeeStability';\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 timeAgo = useTimeAgoIncrement(tx.timestamp || '0', true);\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n { tx.timestamp && (\n \n { timeAgo }\n \n ) }\n \n \n \n \n { dataTo && (\n \n ) }\n \n { !config.UI.views.tx.hiddenFields?.value && (\n \n Value { config.chain.currency.symbol } \n { getValueWithUnit(tx.value).dp(5).toFormat() }\n \n ) }\n { !config.UI.views.tx.hiddenFields?.tx_fee && (\n \n Fee { !config.UI.views.tx.hiddenFields?.fee_currency ? `${ config.chain.currency.symbol } ` : '' }\n { tx.stability_fee ? (\n \n ) : (\n { tx.fee.value ? getValueWithUnit(tx.fee.value).dp(5).toFormat() : '-' }\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 useIsMobile from 'lib/hooks/useIsMobile';\nimport useNewTxsSocket from 'lib/hooks/useNewTxsSocket';\nimport { TX } from 'stubs/tx';\nimport LinkInternal from 'ui/shared/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 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 { data.slice(0, txsCount).map(((tx, index) => (\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/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 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 { Heading } from '@chakra-ui/react';\nimport React from 'react';\n\nimport config from 'configs/app';\nimport useHasAccount from 'lib/hooks/useHasAccount';\nimport LatestDeposits from 'ui/home/LatestDeposits';\nimport LatestTxs from 'ui/home/LatestTxs';\nimport LatestWatchlistTxs from 'ui/home/LatestWatchlistTxs';\nimport TabsWithScroll from 'ui/shared/Tabs/TabsWithScroll';\n\nconst TransactionsHome = () => {\n const hasAccount = useHasAccount();\n if (config.features.optimisticRollup.isEnabled || hasAccount) {\n const tabs = [\n { id: 'txn', title: 'Latest txn', component: },\n config.features.optimisticRollup.isEnabled && { 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, Heading, Flex, useColorMode } from '@chakra-ui/react';\nimport React from 'react';\n\nimport config from 'configs/app';\nimport ChainIndicators from 'ui/home/indicators/ChainIndicators';\nimport LatestBlocks from 'ui/home/LatestBlocks';\nimport LatestZkEvmL2Batches from 'ui/home/LatestZkEvmL2Batches';\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 Home = () => {\n const { colorMode } = useColorMode();\n return (\n \n \n \n \n { config.chain.name } explorer\n \n \n { config.features.account.isEnabled && }\n { config.features.blockchainInteraction.isEnabled && }\n \n \n \n \n \n \n \n \n { config.features.zkEvmRollup.isEnabled ? : }\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 { 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 { L2DepositsItem } from 'types/api/l2Deposits';\nimport type { L2OutputRootsItem } from 'types/api/l2OutputRoots';\nimport type { L2TxnBatchesItem } from 'types/api/l2TxnBatches';\nimport type { L2WithdrawalsItem } from 'types/api/l2Withdrawals';\n\nimport { ADDRESS_HASH, ADDRESS_PARAMS } from './addressParams';\nimport { TX_HASH } from './tx';\n\nexport const L2_DEPOSIT_ITEM: L2DepositsItem = {\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: L2WithdrawalsItem = {\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: L2TxnBatchesItem = {\n epoch_number: 9103513,\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: L2OutputRootsItem = {\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","import type { AddressParam } from 'types/api/addressParams';\n\nexport const ADDRESS_HASH = '0x2B51Ae4412F79c3c1cB12AA40Ea4ECEb4e80511a';\n\nexport const ADDRESS_PARAMS: AddressParam = {\n hash: ADDRESS_HASH,\n implementation_name: null,\n is_contract: false,\n is_verified: null,\n name: null,\n private_tags: [],\n public_tags: [],\n watchlist_names: [],\n};\n","import type { Block } from 'types/api/block';\n\nimport { ADDRESS_PARAMS } from './addressParams';\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","import type { ZkEvmL2TxnBatch, ZkEvmL2TxnBatchesItem } from 'types/api/zkEvmL2TxnBatches';\n\nimport { TX_HASH } from './tx';\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 { Skeleton, chakra } from '@chakra-ui/react';\nimport React from 'react';\n\nimport useTimeAgoIncrement from 'lib/hooks/useTimeAgoIncrement';\n\ninterface Props {\n ts: string;\n isEnabled?: boolean;\n isLoading?: boolean;\n className?: string;\n}\n\nconst BlockTimestamp = ({ ts, isEnabled, isLoading, className }: Props) => {\n const timeAgo = useTimeAgoIncrement(ts, isEnabled);\n\n return (\n \n { timeAgo }\n \n );\n};\n\nexport default React.memo(chakra(BlockTimestamp));\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 { 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 { Popover,\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 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}\n\nexport default function useScrollToActiveTab({ activeTabIndex, tabsRefs, listRef, isMobile }: Props) {\n React.useEffect(() => {\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\n listRef.current.scrollTo({\n left: activeTabRect.left + listRef.current.scrollLeft - 16,\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 ]);\n}\n","import type { StyleProps, ThemingProps } from '@chakra-ui/react';\nimport { Box, 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}\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 });\n\n return (\n \n { tabsList.map((tab, index) => {\n if (!tab.id) {\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 { typeof tab.title === 'function' ? tab.title() : tab.title }\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 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 className?: string;\n}\n\nconst TabsWithScroll = ({\n tabs,\n lazyBehavior,\n tabListProps,\n rightSlot,\n rightSlotProps,\n stickyEnabled,\n onTabChange,\n defaultTabIndex,\n className,\n ...themeProps\n}: Props) => {\n const [ activeTabIndex, setActiveTabIndex ] = useState(defaultTabIndex || 0);\n const [ screenWidth, setScreenWidth ] = React.useState(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 onTabChange ? onTabChange(index) : setActiveTabIndex(index);\n }, [ 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 \n \n { tabsList.map((tab) => { tab.component }) }\n \n \n );\n};\n\nexport default React.memo(chakra(TabsWithScroll));\n","/* eslint-disable max-len */\nimport config from 'configs/app';\n\nexport const ADBUTLER_ACCOUNT = 182226;\n\nexport const connectAdbutler = `if (!window.AdButler){(function(){var s = document.createElement(\"script\"); s.async = true; s.type = \"text/javascript\";s.src = 'https://servedbyadbutler.com/app.js';var n = document.getElementsByTagName(\"script\")[0]; n.parentNode.insertBefore(s, n);}());}`;\n\nexport const placeAd = (() => {\n const feature = config.features.adsBanner;\n\n if (!feature.isEnabled || feature.provider !== 'adbutler') {\n return;\n }\n\n return `\n var AdButler = AdButler || {}; AdButler.ads = AdButler.ads || [];\n var abkw = window.abkw || '';\n const isMobile = window.matchMedia(\"only screen and (max-width: 1000px)\").matches;\n if (isMobile) {\n var plc${ feature.adButler.config.mobile.id } = window.plc${ feature.adButler.config.mobile.id } || 0;\n document.getElementById('ad-banner').innerHTML = '<'+'div id=\"placement_${ feature.adButler.config.mobile.id }_'+plc${ feature.adButler.config.mobile.id }+'\">';\n AdButler.ads.push({handler: function(opt){ AdButler.register(${ ADBUTLER_ACCOUNT }, ${ feature.adButler.config.mobile.id }, [${ feature.adButler.config.mobile.width },${ feature.adButler.config.mobile.height }], 'placement_${ feature.adButler.config.mobile.id }_'+opt.place, opt); }, opt: { place: plc${ feature.adButler.config.mobile.id }++, keywords: abkw, domain: 'servedbyadbutler.com', click:'CLICK_MACRO_PLACEHOLDER' }});\n } else {\n var plc${ feature.adButler.config.desktop.id } = window.plc${ feature.adButler.config.desktop.id } || 0;\n document.getElementById('ad-banner').innerHTML = '<'+'div id=\"placement_${ feature.adButler.config.desktop.id }_'+plc${ feature.adButler.config.desktop.id }+'\">';\n AdButler.ads.push({handler: function(opt){ AdButler.register(${ ADBUTLER_ACCOUNT }, ${ feature.adButler.config.desktop.id }, [${ feature.adButler.config.desktop.width },${ feature.adButler.config.desktop.height }], 'placement_${ feature.adButler.config.desktop.id }_'+opt.place, opt); }, opt: { place: plc${ feature.adButler.config.desktop.id }++, keywords: abkw, domain: 'servedbyadbutler.com', click:'CLICK_MACRO_PLACEHOLDER' }});\n }\n `;\n})();\n","import { Flex, chakra } from '@chakra-ui/react';\nimport { useRouter } from 'next/navigation';\nimport Script from 'next/script';\nimport React from 'react';\n\nimport config from 'configs/app';\nimport useIsMobile from 'lib/hooks/useIsMobile';\nimport isBrowser from 'lib/isBrowser';\nimport { connectAdbutler, placeAd, ADBUTLER_ACCOUNT } from 'ui/shared/ad/adbutlerScript';\n\nconst feature = config.features.adsBanner;\n\nconst AdbutlerBanner = ({ className }: { className?: string }) => {\n const router = useRouter();\n const isMobile = useIsMobile();\n React.useEffect(() => {\n if (!feature.isEnabled || feature.provider !== 'adbutler') {\n return;\n }\n\n if (isBrowser() && window.AdButler) {\n const abkw = window.abkw || '';\n if (!window.AdButler.ads) {\n window.AdButler.ads = [];\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore:\n let plc = window[`plc${ feature.adButler.config.mobile.id }`] || 0;\n const adButlerConfig = isMobile ? feature.adButler.config.mobile : feature.adButler.config.desktop;\n const banner = document.getElementById('ad-banner');\n if (banner) {\n banner.innerHTML = '<' + 'div id=\"placement_' + adButlerConfig?.id + '_' + plc + '\">';\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore:\n window.AdButler.ads.push({ handler: function(opt) {\n window.AdButler.register(\n ADBUTLER_ACCOUNT,\n adButlerConfig.id,\n [ adButlerConfig.width, adButlerConfig.height ],\n `placement_${ adButlerConfig.id }_` + opt.place,\n opt,\n );\n }, opt: { place: plc++, keywords: abkw, domain: 'servedbyadbutler.com', click: 'CLICK_MACRO_PLACEHOLDER' } });\n }\n }, [ router, isMobile ]);\n\n return (\n \n \n \n
\n
\n );\n};\n\nexport default chakra(AdbutlerBanner);\n","import { Flex, chakra } from '@chakra-ui/react';\nimport Script from 'next/script';\nimport React from 'react';\n\nimport isBrowser from 'lib/isBrowser';\n\nconst CoinzillaBanner = ({ className }: { className?: string }) => {\n const isInBrowser = isBrowser();\n\n React.useEffect(() => {\n if (isInBrowser) {\n window.coinzilla_display = window.coinzilla_display || [];\n const cDisplayPreferences = {\n zone: '26660bf627543e46851',\n width: '728',\n height: '90',\n };\n window.coinzilla_display.push(cDisplayPreferences);\n }\n }, [ isInBrowser ]);\n\n return (\n \n