Skip to content

feat: implement vesting escrow management UI#163

Open
Majormaxx wants to merge 1 commit intoGildado:mainfrom
Majormaxx:feature/issue-145-vesting-ui
Open

feat: implement vesting escrow management UI#163
Majormaxx wants to merge 1 commit intoGildado:mainfrom
Majormaxx:feature/issue-145-vesting-ui

Conversation

@Majormaxx
Copy link

@Majormaxx Majormaxx commented Feb 25, 2026

Summary

Implements the Vesting Escrow Management UI as specified in Issue #145. Builds a full management page for the vesting_escrow Soroban contract, supporting both admin grant creation and beneficiary claim workflows.

Problem

The vesting_escrow contract was deployed but had no frontend interface. Admins could not create grants and beneficiaries could not claim vested tokens without using the CLI or raw XDR tooling.

Changes

File Action Description
frontend/src/services/vestingService.ts NEW Soroban contract integration service wrapping get_config, get_claimable_amount, initialize, claim, and clawback calls. Builds and simulates XDR envelopes via RPC.
frontend/src/pages/VestingManagement.tsx NEW Full management page with two views: Dashboard (active grant details, vested progress bar, claim button) and Admin Setup (form to initialize a new grant with all parameters). Errors surfaced via sonner toasts and the shared TransactionSimulationPanel.
frontend/src/App.tsx MODIFIED Added /vesting route with ErrorBoundary wrapper.
frontend/src/components/AppNav.tsx MODIFIED Added Vesting navigation link with Lock icon between Cross-Asset and History.

Acceptance Criteria

  • Page lists active vesting grant fetched from the contract
  • Progress bar reflects vested vs. unvested token amounts
  • "Claim" button invokes the contract claim entry point and shows simulation result
  • Admin form to create a new grant (start date, cliff, duration, amount) submits via signed XDR
  • Errors surfaced via the toast notification system

Testing

  • npx tsc --noEmit passes with zero errors
  • All existing tests unaffected (no breaking changes to public APIs)
  • Route accessible at /vesting and nav link renders correctly

Closes #145.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

#072: Vesting Escrow Management UI

1 participant