Commit Graph
374 Commits
Author SHA1 Message Date
d07cb104ba CI/CD: Change the default visibility of the package (#3013)
* change workflow to publish public and private image according to input

* add permissions to workflows

* [skip ci] update permissions for deploy job

* [skip ci] tweaks

* Review envs to private repo

---------

Co-authored-by: Nick Zenchik <[email protected]>
2025-09-17 12:07:28 +02:00
tom goriunovGitHubRichard OhMax AlekseenkoisstuevIgor Stuevdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Richard J Oh
60a7d97164 Clusters name sevices integration (#2994)
* adds clusters api configs

* adds clusters api configs

* adds api types

* adds props routes and titles for cluster pages

* adds query param enum for clusters api

* adds clusters svg

* adds dynamic page routes

* adds clusters entity ui in ui/shared/entities

* adds functions to detect input type; will be used to check whether a user is searching for a cluster name vs a evm address

* adds stubs for loading skeleton view

* adds pagination hook

* adds query param hooks for clusters trpc endpoints

* adds query param hooks for clusters trpc endpoints

* adds components that make up the /clusters ui

* adds components for /cluster ui

* adds clusters api endpoint to query by cluster id

* implements call to cluster id endpoint to get ac
tive chain count

* adds clusters search types and in api category

* creates clusters search hook and wraps useQuickSearchQuery hook

* replaces useQuickSearchQuery for useSearchWithClusters hook for both functionality

* add search suggestion ui

* adds optional chaining to handle react re-render when search type changes

* adds cluster ui to ui/pages/address on address details

* prevents clicking on cluster suggestion if address is non EVM

* adds util functions for testability along with tests, for action bar component logic

* refactor - extract clusters display logic wit
h tests

* refactor: extract page utilities from Clusters.tsx with tests

* adds jest testing infra for react components

* adds hook testing coverage

* adds component and integration tests

* adds detectInputType util tests

* removes generic parameters from clusters pagination types

* replaces any type with proper cluster config types

* adds cluster routes to metadata and analytics mappings

* updates order and stacks action bar items vertically when mobile view

* repositions clusters logo

* refactors search logic to render community clusters in search sugge
st

* adding clusters env vars

- add NEXT_PUBLIC_CLUSTERS_API_HOST and NEXT_PUBLIC_CLUSTERS_CDN_URL env vars
- configure clusters api integration in configs/app/apis.ts and features/clusters.ts
- adds clusters env vars to test env (.env.jest and .env.localhost)
- update CI deploy configs for both review envs
- add env vars validation schema
- document new vars in ENVS.md with usage examples

* centers directory/leaderboard toggle in mobile view

* resizes and sets proper color to logo in entity component

* hides clusters nav when clusters env is missing

* removes duplicate trailing slashes in cluster community names

* Bump `react` to v19 (#2782)

Co-authored-by: tom <[email protected]>

* change links to ton explorer

* fix internal links in ENVS.md file

* tx info: tac operation stage could be an array

* fix display of ad banner

* tac ui updates

* add more "button click" events

* update clock icon

* update screenshots

* fix age filter reset

* change tac operation status once again

* fix address icon tooltip content

* [skip ci] label released issues workflow: don't override release tag if it exists

* puzzle-15 (#2471)

* puzzle-15

* puzzle-review

* puzzle game

* puzzle fixes

* separate puzzle feature in readme

* fix testnet and rollup stage badges

* New styles for pagination and "Add / Remove" buttons (#2791)

* update styles for add / remove buttons

* update pagination styles

* change border color for filled inputs

* change row gap for alerts

* update icons and screenshots

* fix tests

* update buttons for contract method form

* update screenshot

* Gas tracker: bug fixes and improvements (#2792)

* Gas tracker page: hide `Gas price history` if chart is not enabled

Fixes #2781

* change default value for NEXT_PUBLIC_GAS_TRACKER_UNITS for testnets

* fix env for pw tests

* Public tags form improvements (#2796)

* adjust validation of comment field

* add icon url to public tag form

* update screenshots

* fix ts

* NFT marketplaces: make `collection_url` and `instance_url ` optional (#2797)

Fixes #2614

* Bump brace-expansion from 1.1.11 to 1.1.12 in /deploy/tools/affected-tests (#2801)

Bump brace-expansion in /deploy/tools/affected-tests

Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* allow toaster to render custom description

* Encode the address hash for links to the TON chain (#2813)

Encode the address hash for links to the TON chain.

* Support redirects for known address discrepancies (#2799)

* Support redirects for known address discrepancies

Fixes #2793

* fix redirect to internal txs in the block

* add address user ops redirect

* Celo: support L2 epochs (#2784)

* epochs page

* epoch rewards distribution

* epoch election rewards

* address epoch rewards

* block epoch tag

* add some  tests

* adjust epoch details for L1 epochs

* support non-finalized epochs

* fixes after design review

* add truncation to block numbers on mobile

* update epochs table layout

* update timestamp hint

* fix bug with subheading of first epoch

* fixes of mobile view

* update screenshots

* Icons in footer links (#2809)

* Icons in footer links

Fixes #2539

* fix envs validator

* Metadata: send address to fetchers once visited (#2814)

* Metadata: send address to fetchers once visited

Fixes #2723

* fix ts

* replaces jest-dom matchers with standard matchers

* makes /clusters page default view the directory instead of leaderboard, including jest coverage

* updates columnn name from backing to total backing, in leaderboard display

* alphabetically reorders clusters export

* adds Cluster section to the Table of Cont
ents at top of page

* removes redundant Flex component wrapper around ClustersEntity

* uses standard toolkit values for border radius and color

* uses getFeaturePayload util instead of type coercion

* extends ImageProps interface to ClusterIconProps, and uses getFeaturePayload util instead of type coercion

* adds evm address regexp in regexp.ts as single source of truth

* updates imports for files that used form validator address regexp to use single source of truth

* removes unused args, unnecessary type coercions and memoizations. upper snake case constant values.

* sets correct action bar height using ACTION_BAR_HEIGHT_DESKTOP constant

* implements TimeFormatToggle to Joined column

* simplifies conditionals and removes unnecessary Box component wrapper

* displays standard 404 error screen on  erroneous ClusterDetails query

* standardizes details page to display ETH value and time in line with rest of app

* removes redundant debouncing

* moves useQueryParams hook to lib/router and updates imports and test to account

* moves config.features.cluster
s.isEnabled to top of the function and utilizes select function of useQuery in useAp
iQuery

* removes unnecessary 3rd column and isContractVerified since it is always false

* checks clusters enable for placeholder

* makes isClusterClickable condition more generic for future repurpose

* splits isEvmAddress out to general purpose utility in lib/address, update imports and test

* moves all cluster hooks and tests to lib/clusters folder

* wraps action bar with standard button wrapper

* makes nextjs-routes mock condition stricter

* adds mock clusters api data

* adds pw tests for cluster detail page

* adds pw tests for clusters directory page

* adds pw tests for clustersentity ui component

* adds mock envs for pw tests

* adds clusters api host and cdn url to env.pw

* fixes resolve react-hooks/rules-of-hooks violation in cluster search while keeping search optimization

* throws error instead of using app error component

* uses semantic token to reference color as per standard method in chakra ui

* removes empty or loading state pw tests

* pw tests - uses mockAssetResponse for icons, removes redundant tests, and updates vie
wport to narrow test case

* migrates all clusters pw tests from page.route to mockApiResponse

* updates docker generated pw screenshots

* removes object cloning in useSearchWithClusters hook

* uses standardized chakra name for backgroundColor

* resolves Clusters.pw.tsx docker screen generation issues and updates screenshots

* removes unneeded screenshots for Cluster.pw.tsx

* standardizes mobile testing approach with +@mobile tag by removing explicit viewport config, updates screenshots

* reverts expanded pw test coverage for ClustersEntity

* removes all clusters pw screenshots

* removes nested describe which was resulting in a failed test

* uploads latest docker generated screenshots for pw

* force trigger for conflict check

* removes repeating var from blockchainNavItems array

* fix screenshot merge conflicts - use upstream versions

* updates yarn.lock with upstream lib

* fix jest tests by mocking useQuery directly to resolve QueryClient context issues

* creates global mock object and proper typing to reduce duplication

* updates clusters pw screenshots with docker generation. update helia to 3.2.0 and pinned esbuild to 0.21.5. update docker dep script.

* updates yarn.lock

* removes unused imports from upstream/main

* add vite aliases for @libp2p/utils and @helia/verified-fetch to resolve playwright build failures

* updates pw screenshots for hero banner, home page and desktop header

* downgrades helia to v2.6.12

* revert changes in yarn.lock file related to helia package

* updates yarn.lock with helia downgrade

* revert changes in yarn.lock

* move clusters to the tab on the name service page

* fix tests

* small tweaks

* update screenshots

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Richard Oh <[email protected]>
Co-authored-by: Max Alekseenko <[email protected]>
Co-authored-by: isstuev <[email protected]>
Co-authored-by: Igor Stuev <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Richard J Oh <[email protected]>
2025-09-08 19:21:15 +02:00
tom goriunovandGitHub 5f84600e9e Clean up deprecated ENVs (#2982)
* Clean up deprecated ENVs

* fix test
2025-08-28 17:41:28 +02:00
Igor StuevandGitHub 0e3be5beb3 Design imprvs: chain list dropdown (#2828)
* Design imprvs: chain list dropdown

* tests

* design fixes

* fix docs contents

* remove test code

* design fixes 2
2025-08-11 14:59:38 +02:00
tom goriunovandGitHub 36930767c9 OP Superchain Explorer: MVP (#2786)
* context for storing subchain config and tx view for subchain

* address page and block page for subchain

* address aggregated page: local txs tab

* connect MultichainSelect to context

* home page placeholder

* refactor subchain select state

* envs for demo

* fix ts

* clear value for l2 review

* subchain widgets on home page

* csp policies

* sockets, duck and goose

* fix socket on subchain address page

* link builder for subchain views

* update home widget

* fix time increment

* enable tx interpretator and metadata service

* generate multichain config based on every chain app config

* Fix the multichain config to work in Docker

* multichain socket test

* rename subchain-id to subchain-slug path param

* refactoring

* update chain icons on entities

* home page: latest local txs

* latest cross-chain txs

* minor improvements

* renaming, pt. 1

* rename chain routes

* enable blockchain interaction

* add loading state to icon shield

* fix build

* fix tests

* update types package
2025-07-03 15:07:00 +02:00
tom goriunovandGitHub 038ec9e3b5 Support show_scam_tokens cookie (#2560)
* Support `show_scam_tokens` cookie

Fixes #2549

* fix test and update envs for demo

* [skip ci] pass all cookies via next proxy

* fixes
2025-02-17 14:26:05 +01:00
tom goriunovandGitHub a93e992291 ReCaptcha: migrate back to v2 solution (#2446)
* show recaptcha in the site footer

* replace badge in footer with text

* add invisible reCaptcha v2

* handle unsolved reCaptcha case

* migrate the rest of components to invisible reCaptcha v2

* remove unused code

* refactoring

* add env for demo

* fix tests

* update values for demo

* update link to secret in vault

* mock recaptcha for tests

* ohhh victor victor

* fix token metadata update test

* deprecate variable for ReCaptcha v3
2024-12-09 18:06:56 +01:00
tom goriunovandGitHub bf73089cd2 Migrate from Sentry.io to Rollbar monitoring solution (#2403)
* basic Rollbar setup

* remove sentry code

* add rollback env to values for demo

* [skip ci] adjust instance name

* fix validator

* don't log errors from API by default and change error levels

* [skip ci] change default value for environment property

* [skip ci] do not log api errors of address endpoint
2024-11-29 15:25:59 +01:00
Igor StuevandGitHub d74f550812 Merge pull request #2319 from blockscout/fe-2287
Favicon generator: replace realfavicon with favicons package
2024-11-01 11:39:06 +01:00
94e289c068 Account v2 (#2262)
* simple profile button and auth modal layout

* connect email and code screens to API

* add screens to modal for wallet authentication

* migrate to pin input

* user profile menu

* refactor otp field

* fix passing set-cookie from api response

* add wallet info into profile menu

* add mobile menu

* show connected wallet address in button

* my profile page re-design

* custom behaviour of connect button on dapp page

* style pin input

* add logout

* handle case when account is disabled

* handle case when wc is disabled

* remove old components

* refactoring

* workflow to link wallet or email to account

* link wallet from profile

* show better OTP code errors

* add email alert on watchlist and verified addresses pages

* deprecate env and remove old code

* remove code for unverified email page

* add auth guard to address action items

* move useRedirectForInvalidAuthToken hook

* add mixpanel events

* refetch csrf token after login and fix connect wallet from contract page

* Add NEXT_PUBLIC_RE_CAPTCHA_V3_APP_SITE_KEY env

* migrate to reCAPTCHA v3

* resend code and change email from profile page

* better wallet sign-in message error

* fix demo envs

* update some screenshots

* profile button design fixes

* fix behaviour "connect wallet" button on contract page

* fix linking email and wallet to existing account

* bug fixes

* restore the login page

* update screenshots

* tests for auth modal and user profile

* add name field to profile page and write some tests

* [skip ci] clean up and more tests

* update texts

* change text once more

* fix verified email checkmark behaviour

* pass api error to the toast while signing in with wallet

* [skip ci] disable email field on profile page

* bug fixes

* update screenshot

* Blockscout account V2

Fixes #2029

* fix texts and button paddings

* Form fields refactoring (#2320)

* text and address fields for watchlist form

* checkbox field component

* refactor private tags form

* refactor api keys and custom abi

* refactor verifiy address and token info forms (pt. 1)

* refactor token info forms (pt. 2)

* refactor token info forms (pt. 3)

* refactor public tags form

* refactor contract verification form

* refactor contract audit form

* refactor auth, profile and csv export forms

* renaming and moving

* more refactoring and test fixes

---------

Co-authored-by: aagaev <[email protected]>
2024-10-30 12:56:57 +01:00
isstuev 7f1b6fac65 Favicon generator: replace realfavicon with favicons package 2024-10-25 13:57:35 +02:00
tom goriunovandGitHub cc1f38b756 Public tags: dedicated tag page (#2217)
* page layout

* text with results number

* fix ts

* tests

* add quotes to network id env value

* fix null balance and result num

* fix mobile layout
2024-09-11 14:41:20 +02:00
tom goriunovandGitHub 703ffcd395 Limit page content width (#2197)
* limit content width for horizontal menu layout

* limit content width for vertical menu layout

* limit amout of tabs in routed tabs skeleton

* fix width of error screen

* add NEXT_PUBLIC_ROLLUP_L2_WITHDRAWAL_URL L2 review envs

* add tests

* fixes

* fix tests

* move content wrapper to render fixture

* update screenshots and fix tests
2024-08-28 13:20:33 +02:00
tom goriunovandGitHub 3a0e318834 SolidityScan API response schema validation (#2190)
* add schema validation to solidity scan report resource

* report invalid API schema event to prometheus
2024-08-26 11:28:53 +02:00
Igor StuevandGitHub 5c1c678ec3 Merge pull request #2120 from blockscout/fe-2067
change verification type and validator title for Arbitrum and zkEvm
2024-08-19 11:02:46 +02:00
Max Alekseenko 0f853695ce remove NEXT_PUBLIC_ROLLUP_L2_WITHDRAWAL_URL 2024-07-26 14:08:29 +02:00
Max Alekseenko 4b90ce2431 return envs back to review and remove secret from review-l2 2024-07-26 13:12:39 +02:00
Max Alekseenko 4415622ab8 remove marketplace env vars from deployment values 2024-07-26 11:22:31 +02:00
isstuev b30e7af97e fix review variables 2024-07-26 10:13:27 +02:00
Max Alekseenko d08b2a6e59 add secret 2024-07-15 13:40:26 +02:00
tom b686c68159 temporary remove NEXT_PUBLIC_MARKETPLACE_RATING_AIRTABLE_API_KEY from deployment values 2024-07-12 17:29:31 +02:00
aagaev 9ea895a227 New env is set for review instances 2024-07-10 12:46:37 +00:00
34cdaf548a Celo: show gas fees paid in ERC20 tokens (#2061)
* component for displaying tx fee

* config for celo alfajores

* display tx fee and gas price in celo token

* adjustments for stability fee

* clean up

* update screenshots

* change envs for demo

* more screenshot updates

* Removing unneeded network id var from review deploy

* rollback envs for demo

* fix currency symbol in tx table header

* lol 🤦‍♂️

---------

Co-authored-by: Nick Zenchik <[email protected]>
2024-07-08 14:34:00 +02:00
tom goriunovandGitHub 12a977bbba Redesign hero section on home page (#2050)
* change hero section

* add AdBanner to hero block

* show icon instead of text on "connect wallet" button on md desktops

* redesign stats widgets

* new design for home page charts

* fix skeletons

* update demo values

* disable getit provider

* fixes for adbutler provider

* show token logo placeholder for secondary coin logo

* add width to hype banner

* update demo values

* remove letter spacing for large headings

* indicators block fixes

* update icons

* update screenshots
2024-07-08 12:37:19 +02:00
tom goriunovandGitHub ff2173bcdb Navigation: horizontal layout (#1991)
* add ENV for navigation layout type

* add network menu to top bar

* renaming and main component placeholder

* add logo, testnet badge, login and connect wallet buttons to the nav bar

* refactor once more

* styles for nav link group

* style nav link

* style groupped nav links

* update values for L2 review

* update demo values

* fix deployment values for L2 review

* tests

* fix prop collision

* shorten filter input on marketplace page and update MainArea height

* change margin between text and lightning label

* add active state to "Other" nav menu

* popover fixes

* fix link width

* [skip ci] update demo values
2024-06-19 15:58:13 +02:00
Nick Zenchik f0794b02e1 Removing front-main and l2-optimism-goerli envs 2024-06-11 11:25:04 +04:00
Max Alekseenko def703e045 Merge branch 'main' into defi-dropdown 2024-05-22 11:33:04 +02:00
Max Alekseenko 1246f630f3 rework defi dropdown env value 2024-05-21 20:19:10 +02:00
tom goriunovandGitHub 9ec01aa280 Update styles of form inputs (#1914)
* Update styles of form inputs

* update token info form

* update demo values

* fix preset for sepolia

* update screenshots
2024-05-15 17:37:02 +02:00
e8d8b3a7c8 Add ENV variable allowing to choose default color schema (#1882)
* Add ENV variable allowing to choose default color schema

Fixes #1868

* Update values.yaml.gotmpl

---------

Co-authored-by: Yan Vaskov <[email protected]>
2024-05-07 13:52:20 +02:00
tom goriunovandGitHub 802fe6c41f Public tags: display name tags for addresses (#1877)
* refactor EntityTags component to work with metadata API format

* hook for API metadata info query

* make EntityTag component

* make EntityTag component

* display custom tag colors and sort tags by ordinal field

* add tag popover

* refactoring

* display name tag in the lists

* add mixpanel event and disable link for protocol and generic tags

* adjust demo ENVs

* tests

* fix tests

* change actionURL to tagUrl
2024-05-06 19:38:44 +02:00
76a5702044 Get smart-contract bytecode from websocket (#1851)
* Get smart-contract bytecode from websocket

Fixes #1769

* fix test

* i am stupid 😓

* Update values.yaml.gotmpl

---------

Co-authored-by: Yan Vaskov <[email protected]>
2024-05-06 19:13:10 +02:00
Nick Zenchik 619ff3e2b3 Switch preview env to sepolia 2024-04-26 11:45:04 +04:00
tom goriunovandGitHub a3e3fcae90 hotfix: tabs will not recalculate cut position after API data is loaded (#1856)
* fix tabs cut after API data is loaded

* update demo values
2024-04-24 19:24:00 +02:00
tom 6fd0002ee7 add metadata service feature 2024-04-23 15:41:12 +02:00
tom goriunovandGitHub 9babbc4b2f Enhance OG tags with API data (#1806)
* simple fetch data for token instance page

* generate enhanced metadata

* group query params in page props

* make base gSSP function generic

* add metric for search engine bots

* measure api request duration

* get API data for token, address and dapp pages

* improve typings for apiData prop

* add ENV variable

* tweak logs for /media-type requests

* [skip ci] add prefix to default metrics
2024-04-16 10:27:47 +02:00
Max AlekseenkoandGitHub 669b41dee6 Merge pull request #1785 from blockscout/marketplace-banner
Marketplace banner
2024-04-15 19:25:24 +02:00
Max Alekseenko b971220221 change env for review 2024-04-04 19:42:53 +02:00
Max Alekseenko 76761c4bee move env vars 2024-04-04 18:28:32 +02:00
Max Alekseenko 804d0991d7 add iframe banner 2024-04-04 18:00:48 +02:00
tom goriunovandGitHub da8c180f2c Monitoring: social preview bots request counter (#1781)
* add counter metric and logger for bot request

* add script for grafana local instance

* add log endpoint

* add ENV to enable monitoring

* [skip ci] change metric labels and add telegram bot

* [skip ci] remove 404 from /metrics route
2024-04-04 12:49:21 +02:00
0519d7cfb0 Numbers over 16(?) digits are rounded in contract method fields (#1761)
* Numbers over 16(?) digits are rounded in contract method fields

Fixes #1750

* Update values.yaml.gotmpl

Changed public rpc to Sepolia

* Set NEXT_PUBLIC_NETWORK_ID

---------

Co-authored-by: Yan Vaskov <[email protected]>
2024-04-01 14:49:20 +02:00
Max AlekseenkoandGitHub 021ced37ee Merge pull request #1709 from blockscout/dapps-security-score
Dapps security score
2024-04-01 12:33:53 +02:00
tom goriunovandGitHub 21f65bcbb1 change ENV for blob txs (#1751) 2024-03-27 19:37:10 +01:00
Igor StuevandGitHub a85b912c22 Merge pull request #1747 from blockscout/fe-1699
Add AdButler as an additional ad provider
2024-03-27 15:02:58 +04:00
0b928987e3 Noves integration (#1398)
* noves integration

* code refactored

* PR changes added

* Code set up for new proxy 'describeTxs'

* minor fix

* Rename Novestranslate.ts to NovesTranslate.ts

* some quick stuff

* partial fixes and commit for changing how useDescribeTxs and txsContent work (new GET endpoint)

* Pending PR fixes

* tx asset flows pageSize of 50

* PR comments fixes

* rename expected api endpoint for the describe_txs endpoint, more accurate and descriptive

* one final re-name for api endpoint (make it clear it's an object vs an action)

* scrollRef fix

* build error fix

* design fixes

* sub heading fix

* Removed pagination in account history

* remove duplicate route

* updated table theme and icon gap

* Removed wrong color in table

* removed null validation in page params

* updated margin

* margin fix

* add icons to contracts

* Sub-heading interpretation simplified

* token alignment fix

* tests added for new functions

* margin fix

* remove divider on mobile asset flows

---------

Co-authored-by: NahuelNoves <[email protected]>
Co-authored-by: francisco-noves <[email protected]>
2024-03-26 18:39:46 +01:00
isstuev a475cf1e6e Add AdButler as an additional ad provider 2024-03-26 16:07:17 +04:00
Max Alekseenko 45c0ae45f6 Merge branch 'main' into dapps-security-score 2024-03-21 16:54:21 +01:00
Igor StuevandGitHub c8ef36319b Merge pull request #1647 from blockscout/getit
Getit ad banner
2024-03-18 14:45:34 +04:00
Max Alekseenko 576eb19fe4 add marketplace config url for review deployment 2024-03-15 18:24:47 +01:00