feat: Add explorer urls to gcs #835
Open
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
This PR adds support for multiple blockchain explorers to clear signing functionality. Previously, the app only supported Etherscan links for Ethereum mainnet transactions. Now it supports explorer URLs for multiple networks including Arbitrum, Base, Optimism, and others.
The changes include:
A new explorer mapping system that maps chain IDs to their respective explorer URLs
URL generation based on the transaction's chain ID
Updated UI text to be more generic ("Scan to view on explorer" instead of "Scan to view on Etherscan")
These improvements enhance the user experience by ensuring the QR code redirects to a valid, network-specific explorer URL, allowing users to seamlessly verify their transactions on the correct chain.
Changes include
Additional comments
This PR was developed as part of the ETHGlobal hackathon.
Writing tests for this feature is challenging because Ragger’s navigator doesn’t currently support UI navigation through arrow clicks.
See: https://github.com/LedgerHQ/ragger/blob/master/src/ragger/navigator/navigation_scenario.py
https://github.com/LedgerHQ/app-ethereum/blob/develop/tests/ragger/test_gcs.py