Skip to content

Conversation

@tom2drum
Copy link
Collaborator

Description and Related Issue(s)

Resolves #2884

This PR implements a warning system for contracts with multiple detected proxy implementations. When the API detects conflicting implementations (which may indicate an unsupported custom proxy design or a malicious proxy spoofing attempt), users are shown appropriate warnings and can view details in a modal dialog.

Proposed Changes

  • Added conflicting_implementations field to the contract API types to support the new data structure
  • Created ConflictingImplementationsModal component that displays detected proxy implementations grouped by proxy type, with implementation addresses and names
  • Updated ContractDetailsAlertProxyPattern to show warning alerts when conflicting implementations are detected, with a link to open the modal
  • Enhanced contract methods tabs (Read/Write proxy, Code) to display proxy type status:
    • Green alert when a single proxy type is detected (OK state)
    • Yellow alert when multiple conflicting implementations are detected
  • Refactored ConnectWalletAlert component to improve messaging and styling, changing from error-style to info-style when disconnected
  • Updated visual regression tests with new screenshots for all affected components

Breaking or Incompatible Changes

None. This is a new feature that adds warnings and informational displays without changing existing functionality.

Additional Information

The implementation follows the design specifications from the Figma mockups provided in issue #2884. The modal includes a "Contact us" link to the Blockscout Discord server for users who need assistance with conflicting implementations.

Checklist for PR author

  • I have tested these changes locally.
  • I added tests to cover any new functionality, following this guide
  • Whenever I fix a bug, I include a regression test to ensure that the bug does not reappear silently.
  • If I have added, changed, renamed, or removed an environment variable
    • I updated the list of environment variables in the documentation
    • I made the necessary changes to the validator script according to the guide
    • I added "ENVs" label to this pull request

@tom2drum tom2drum added the design For issues and PRs related to UI and UX improvements label Dec 15, 2025
@tom2drum tom2drum requested a review from isstuev December 16, 2025 07:06
@tom2drum tom2drum merged commit c72660c into main Jan 5, 2026
11 checks passed
@tom2drum tom2drum deleted the tom2drum/issue-2884 branch January 5, 2026 18:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

design For issues and PRs related to UI and UX improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Show conflicting proxy implementations warning

3 participants