Problem
The current vault detail navigation uses the pattern /v?..., which does not resolve to any valid route, while the actual route is implemented as app/[vaultId]. This mismatch results in broken deep-links and inconsistent navigation behavior.
Additionally, multiple workflows (Find Vault, Explorer, Create Vault, and Vault Detail) allow unvalidated vault addresses and unsupported chain IDs to propagate into routing logic and contract reads. This can lead to UI breakage, incorrect state, and potential client-side misuse.
Proposed Solution
- Standardize vault navigation to a single, canonical route format:
/${vaultAddress}?chainId=<id>
- Introduce centralized validation utilities for:
- Vault address format
- Supported chain IDs
- Integrate validation across all vault-related workflows:
- Find Vault
- Explorer
- Create Vault
- Vault Detail
- Gracefully handle invalid inputs with user-friendly errors and safe navigation fallbacks
- Add a Burp Suite client-side security test report to verify resistance against common UI attack vectors (malformed inputs, parameter tampering, invalid deep-links)
Benefits
- Fixes broken routing and deep-linking issues
- Prevents invalid data from reaching navigation and contract layers
- Improves consistency and reliability across vault workflows
- Enhances overall security posture of the UI
- Aligns the project with open-source and GSSoC quality standards
Expected Outcome
A more robust, secure, and predictable vault navigation experience with strong input validation and improved contributor confidence.
Problem
The current vault detail navigation uses the pattern
/v?..., which does not resolve to any valid route, while the actual route is implemented asapp/[vaultId]. This mismatch results in broken deep-links and inconsistent navigation behavior.Additionally, multiple workflows (Find Vault, Explorer, Create Vault, and Vault Detail) allow unvalidated vault addresses and unsupported chain IDs to propagate into routing logic and contract reads. This can lead to UI breakage, incorrect state, and potential client-side misuse.
Proposed Solution
/${vaultAddress}?chainId=<id>Benefits
Expected Outcome
A more robust, secure, and predictable vault navigation experience with strong input validation and improved contributor confidence.