{"version":3,"file":"static/chunks/pages/txs-165eebc74ca37f1e.js","mappings":"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","sources":["webpack://_N_E/?dacf","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/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/./pages/txs/index.tsx","webpack://_N_E/"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/txs\",\n function () {\n return require(\"private-next-pages/txs/index.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/txs\"])\n });\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 { 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 type { NextPage } from 'next';\nimport dynamic from 'next/dynamic';\nimport React from 'react';\n\nimport PageNextJs from 'nextjs/PageNextJs';\n\nconst Transactions = dynamic(() => import('ui/pages/Transactions'), { ssr: false });\n\nconst Page: NextPage = () => {\n return (\n \n \n \n );\n};\n\nexport default Page;\n\nexport { base as getServerSideProps } from 'nextjs/getServerSideProps';\n"],"names":["window","__NEXT_P","push","__webpack_require__","compileValue","template","params","replaceAll","match","p1","value","isArray","join","undefined","OG_TYPE_DICT","TEMPLATE_MAP","DEFAULT_TEMPLATE","generate","route","apiData","query","network_name","config","chain","name","network_title","shortName","concat","compiledTitle","templates","pathname","title","meta","promoteBlockscoutInTitle","description","pageOgType","opengraph","og","imageUrl","update","document","querySelector","setAttribute","feature","appConfig","features","sentry","isEnabled","tracesSampleRate","environment","dsn","release","enableTracing","integrations","BrowserTracing","ignoreErrors","denyUrls","Sentry","scope","setTag","instance","nextjs_PageNextJs","React","metadata","props","useGetCsrfToken","nodeApiFetch","useFetch","useQuery","queryKey","getResourceKey","queryFn","isNeedProxy","url","buildUrl","apiResponse","fetch","credentials","csrfFromHeader","headers","get","tags","source","token","enabled","Boolean","cookies","API_TOKEN","useAdblockDetect","hasAdblockCookie","ADBLOCK_DETECTED","useAppContext","useEffect","isBrowser","method","mode","cache","catch","expires","isMixpanelInited","mixpanel","jsx_runtime","jsxs","Fragment","Head","jsx","content","property","children","Transactions","dynamic","Promise","all","e","then","bind","ssr","__webpack_exports__","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","PageNextJs"],"sourceRoot":""}