The addresses list endpoint returns a projection of an address — no tags, no
name, no implementations. AddressesListItem guarded with `public_tags !== null`,
which is true of an absent field, so every visit to /accounts read `.length` off
undefined and the whole page fell to the error boundary. The type said the field
was always present, so nothing caught it.
Partial<AddressParam> states what the endpoint sends, and both read sites reach
for the tags the same optional way.
The error screen it fell to had its own defect: the status glyph is an
inline-block div and gui's H1 renders inline, so the two shared a line box and
"500" ran into "Oops! Something went wrong". The screen is a stack; it now says
so. The heading's own top margin was being outranked by gui's atomic reset.
* 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
* essential dapps config: switch to concurrent request and and add worker termination
* fix rollbar error logging and enable it for server errors
* fix for tokens request on address page
* update generator script for multichain config
* fix hot contracts interval select
* update screenshot
* update screenshots
* pass chainId to trackTransaction for essential dapps
* fix vertical alignment in hot contracts table
* bump next.js to v15.5.10
---------
Co-authored-by: isstuev <[email protected]>
Co-authored-by: Max Alekseenko <[email protected]>
* 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
* 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]>
* 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
* migrate to v2 API URLs for CSV exports
* don't ask user to solve recaptcha for first response; pass token in header as well
* hide "Try again" button if no bypass allowed
* fix tests
* 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
* 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
* 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]>
* update csv export text
* fix pw tests
* base layout and customization for home page and search results page
* refactor rest of the pages
* refactor AppError
* move header padding to layout
* move nextjs utils to separate folder
* combine PageServer and Page
* make useQueryClientConfig hook
* add tests
* remove unused var
* fix envs for pw
* fix pw tests
* metadata helpers and values for txs pages
* update titles to the rest of the pages
* refactor getServerSideProps
* dynamically update metadata for token and dapp page
* test
* 404 error page
* make new config
* make use of new config, delete old one
* feature reporter: dev implementation
* feature reporter: docker integration
* resctructure ENVS.md
* sentry feature
* refinements
* add spaces between sections
* tweaks
* switch to camelCase
* clean up
* remove NEXT_PUBLIC_NETWORK_TOKEN_ADDRESS
* v
* get client key on 429 error
* set key to cookie and pass it in query params
* move csrf-token header to useApiFetch
* pin host for preview
* actual layout
* support new changes in API
* proxy headers from API
* add header to request
* remove next.js proxy flag
* fix ts
* refactor
* add tests