Skip to content

Fix vault routing inconsistencies and add centralized input validation across vault workflows #81

Description

@Muskan121622

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions