Show conflicting proxy implementations warning #3179
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
conflicting_implementationsfield to the contract API types to support the new data structureConflictingImplementationsModalcomponent that displays detected proxy implementations grouped by proxy type, with implementation addresses and namesContractDetailsAlertProxyPatternto show warning alerts when conflicting implementations are detected, with a link to open the modalConnectWalletAlertcomponent to improve messaging and styling, changing from error-style to info-style when disconnectedBreaking 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