41 Commits
Author SHA1 Message Date
Igor StuevandGitHub b6df49edd7 refactor: move ContractMethodArrayButton to shared forms components (#3297) 2026-02-27 14:14:55 +01:00
tom goriunovandGitHub 401dc58402 Smart wallet auth (#3220)
* basic login button implementation

* refactoring and add dynamic auth button to the other pages

* connect wallet without authenticating an user

* login and logout user in blockscout account

* refactoring and RPC overrides

* authenticate user with connected wallet

* add ENS to profile button

* override evm chains and fix contract write with waas wallet

* disconnect wallet and fix docker build

* add dynamic imports to components that use web3 wallet packages

* refactor user profile directory

* clean up

* tweaks

* update pw ci script

* fix "connect wallet" button behavior

* handle linking email to profile with dynamic provider

* fix test

* async loading web3 hooks and remove dynamic loading from components that use them

* fix pw tests

* add account navigation in horizontal layout when auth provider is dynamic

* fix address verification modal

* review fixes

* spelling fixes
2026-02-18 19:42:44 +01:00
tom goriunovandGitHub 5d337fc555 Migrate from Jest to Vitest (#3173)
* first part of transition

* second part of transition

* remove jest

* bump up node version and playwright version

* update all screenshots because of the new playwright version

* fix tests

* one more screenshot update
2025-12-10 19:21:07 +01:00
edc54514f1 OP Superchain explorer: aggregated views (#3040)
* refactor widgets on home page

* coming soon placeholder component

* top accounts page

* contract data

* address ERC-20 tokens list

* chain filter for address ERC-20 tokens

* token select for address detailed view

* address details fields

* tokens table

* stats widgets on home page

* chain indicators graph on the home page

* quick search

* search results all tab

* tabs and chain select on search results page

* search results mobile view

* add contract info to search and address details

* add text filter for tokens and search improvements

* load all results inside tab on search results page

* token balance info

* add support for domains in the full search

* Multichain explorer

Resolves #2989

* add envs validator for multichain

* add some tests

* fix search bar on search results page on mobile

* home stats fixes

* fix ts

* optimize amount of queries on address page

* add more contract info on address page

* add enter key hint to search input

* fix tests

* fix test

* update bg.primary css-variable on color theme change

* sitemap for multichain

* txs page: render first tab if blob tab is not available on the chain

* filter out in active chains from chain select on address page and user ops page

* add chain icon to advanced filter table

* fix tooltip on entity with shield

* fix ts

* show contract implementations

* fixes

* add chain icon to all lists

* refactor zetachain chains config type

* use chain id as primary option instead of chain slug

* refactor chain config type for multichain and essential dapps

* refactor chain icon and chain select

* rename chain-slug in chain_slug

* change default radius of chain icon and update screenshots for multichain tests

* change conditions for "isContract" and "isVerified"

* test fixes

* make shield optional for external chain entities

* add chain icon to approvals lists

* add stats page for multichain

* add chain postfix to chart .png and .csv assets name

* fix tests

* sync verified contracts language filter and fix loading state in the search results page

* fix sol2uml diagram and csv export

* regcred from helmfile for review

* link fixes

* fix state for unknown address

* fix incorrect chain in the context during spa transition to the same route on different chain

* add links to stats widgets

* add mixpanel to L2 demo values

* show message of on-demand contract verification

* fix screenshots

---------

Co-authored-by: Nick Zenchik <[email protected]>
2025-11-18 09:44:22 +01:00
tom goriunovandGitHub 6bd14ecf16 Mobile UI: AD text and alerts (#3074)
* update text size for text ad and alerts on mobile

* more screenshot updates

* fix text ad layout on mobile

* fixes after review

* fix tests
2025-10-17 18:33:18 +02:00
tom goriunovandGitHub 0093ce73c0 Update styles of input elements (#3073)
* Update styles of input elements

Resolves #3012

* update screenshots

* update hero banner screenshot
2025-10-16 19:14:30 +02:00
tom goriunovandGitHub 70e0922d8a Update border color for inputs, selector and dropdown buttons (#3038)
* Update border color for inputs, selector and dropdown buttons

Resolves #3021

* update screenshots

* update color threshold and update some screenshots

* more screenshots update

* add maxDiffPixels to mobile screenshots
2025-10-02 19:04:53 +02:00
tom goriunovandGitHub e18e02c910 Contract interactions: estimated gas for write methods simulation (#3004)
* Contract interactions: simulate transactions and output gas price

Resolves #2910

* prevent form with tuples and arrays from being submitted without required fields

* update screenshots

* add simulate button to receive method
2025-09-24 18:48:28 +02:00
tom goriunovandGitHub f0e713b877 Add support for customizing the UI color theme (#2923)
* UI customizations: new features

Fixes #2905

* colors for graphs

* introduce env variable

* colors for topbar, stats, selected state and tabs

* fix build

* fix validator

* refactor link.primary.hover color token

* refactor selected colors

* update styles for switch and fix some color tokens

* change color for selectable controls

* icon color tokens refactoring

* UI customizations: new features

Fixes #2905

* test for common components

* tweaks

* migrate from color-mode-hex cookie to color-theme cookie

* clean up

* update screenshots

* more screenshot updates

* update default color of chart line

* update envs for mega eth
2025-08-19 11:58:05 +02:00
tom goriunovandGitHub f04c953583 Support geas smart contract language 🪿 (#2848)
* Support for `geas` smart contract language 🪿

Fixes #2818

* support fallback method with inputs and outputs

* fix data that is passed to fallback method

* add "pragma" and "define" to builtins

* add "inputs" and "outputs" to the fallback method for all contracts ABI
2025-08-15 13:22:21 +02:00
tom goriunovandGitHub 75cf0a6385 Bug: number inputs are not disabled (#2894)
Fixes #2892
2025-07-25 15:33:54 +02:00
tom goriunovandGitHub 2e3d455a2f Contract method output: remove the tooltip with the value divided by 10**18 (#2886)
Fixes #2873
2025-07-24 19:10:48 +02:00
Igor StuevandGitHub 7689c9b1d8 Input/select placeholder font change (#2844)
* font weights

* change input placeholder colors

* update screenshots pt 1

* update screenshots pt 2

* update screenshots pt 3
2025-07-15 16:29:30 +02:00
tom goriunovandGitHub 8e32235d29 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
2025-06-23 12:15:24 +02:00
e6ff66b084 Bump react to v19 (#2782)
Co-authored-by: tom <[email protected]>
2025-06-11 20:03:31 +02:00
tom goriunovandGitHub b5a172da32 Error is not displayed for functions with no return values. (#2769)
* Error is not displayed for functions with no return values.

Fixes #2749

* fix tests

* update paddings
2025-06-05 16:08:08 +02:00
tom dd7d1808f4 disable tooltips for buttons on mobile 2025-05-02 13:12:20 +02:00
tom goriunovandGitHub f6725649da UI toolkit package (#2691)
* first version of the pack

* single entry point

* add custom components to the package

* move form components to toolkit

* add more utils and hooks to the package

* minor fixes

* add CI workflow

* update readme and package.json

* fix ts

* fix build of env-validator

* fix docker build

* fix icons size

* test fixes

* more test fixes
2025-04-21 19:44:22 +02:00
tom goriunovandGitHub f04c134075 Impossible to send empty strings in parameters on Blockscout UI (#2666)
* Impossible to send empty strings in parameters on Blockscout UI

Fixes #2647

* fix test
2025-04-15 15:23:16 +02:00
tom be9c12550e more test fixes 2025-03-31 20:24:37 +02:00
tom c45537b706 major update of screenshots 2025-03-26 20:05:25 +01:00
tom 4b7a930af9 fix some tests 2025-03-26 12:52:10 +01:00
tom 730678be0f styles for icon-button and close-button 2025-03-20 19:25:21 +01:00
tom fd874c1e98 fix numeric input format 2025-03-14 09:57:40 +01:00
tom 242c57f080 fix input group paddings calculation 2025-02-26 20:06:15 +01:00
tom e61cd21279 fix offsets of grouped inputs 2025-02-14 20:45:03 +01:00
tom 3eea395968 contract method form 2025-02-14 20:04:33 +01:00
tom goriunovandGitHub d29849184d Replace lodash with es-toolkit (#2503)
* first part of migration

* second part of migration

* bump up es-toolkit version

* bump up `es-toolkit` version and remove `lodash` completely

* update screenshot
2025-01-14 12:30:05 +01:00
tom goriunovandGitHub 6422a32f71 Contract interaction - floats in uint256 (#2499)
* Contract interaction - floats in uint256

Fixes #2455

* update screenshots
2025-01-14 11:55:42 +01:00
tom goriunovandGitHub bd4094ebd1 Bump up Node.js to v22 (#2410)
* Bump up Node.js to v22

Fixes #2404

* update Playwright to v1.49.0

* fix tests

* one more fix

* fix screenshots
2024-11-25 12:43:05 +01:00
tom 125c4880de migrate to eslint 9 and its flat config 2024-11-13 12:54:12 +01:00
tom goriunovandGitHub 6557f19156 Combine Read/Write for Contract page (#2343)
* combine tabs and add method type filter

* add badge with contract method type

* add name filter

* add filters to mud system tab

* support array of tabs ids and route old tabs to the new one

* fix tests

* support adding the custom ABI from the contract page

* update margins and add test

* fix bugs and update screenshots

* some design updates

* update preset for garnet

* [skip ci] fix garnet preset

* improve links to contract methods
2024-11-04 14:12:58 +01:00
tom goriunovandGitHub 96324e7fa9 Better contract implementation selector and new quick action buttons for contract method argument inputs (#2303)
* MUD system tab placeholder

* implement MUD system selector and fix proxy contract read/write

* add buttons to contract method arg input

* rollback changes of target contract address

* copy calldata button

* rollback changes of target contract address

* refactor contract details components

* add tabs to contract details

* migrate code to RoutedTabs

* add selector for source contract

* tests

* fix tests

* update screenshot

* update screenshots
2024-10-28 19:38:03 +01:00
tom goriunovandGitHub dc672d6064 Contract call response displayed with empty values (#2307)
Fixes #2306
2024-10-22 17:56:11 +02:00
tom 8971b9f458 Not possible to send an optional empty tuple
Fixes #2271
2024-09-26 12:03:49 +02:00
tom 3cd8bf1756 fix ETH value tooltip in contract read result 2024-07-30 12:38:44 +02:00
tom goriunovandGitHub e335d2c992 Show error if contract method has invalid data structure (#2087)
* show error if contract method has invalid data structure

* convert address to checksum when reading from contract method
2024-07-18 09:36:49 +02:00
tom d1e04a0dde Merge branch 'main' of github.com:blockscout/frontend into tom2drum/issue-1977 2024-07-05 19:18:51 +02:00
tom goriunovandGitHub 897c3c58df SVG sprite page (#2056)
* create page with all icons from the sprite

* add info about file size

* refactoring
2024-07-01 11:25:28 +02:00
tom 7bcf189f01 create custom Popover component with default gutter prop 2024-06-28 15:19:04 +02:00
tom goriunovandGitHub 434aae92bb Call contract read methods from the client (#2032)
* display methods accordion

* add method_id to methods

* query read method via public client

* query read methods without inputs at accordion section open

* add custom abi tabs

* add proxy tabs

* custom wagmi config if wc is not configured

* remove ContractAbiItemConstant component

* display tuple properties in method outputs

* display read result

* clean up

* support nested arrays in the read result

* re-write test for contract methods

* change result view for address output

* refactoring

* fix tests

* remove web3 provider fallback

* fix tab loading

* refactoring

* add implementation contract selector

* add "copy to clipboard" for address, remove top-level square brackets

* add preview mode to contract method result

* tests for read result

* fix tests

* change styles for result preview

* review fix
2024-06-24 19:56:06 +02:00