Feature/796 kyc kyb verification modal#885
Merged
ONEONUORA merged 10 commits intoJun 28, 2026
Merged
Conversation
…erface - Add useInactivityTimer hook for client-side countdown based on blockchain last-ping - Create InactivityTimerCard component with timer display and ping controls - Implement keep-alive ping API methods (pingKeepAlive, getInactivityStatus) - Add visual status indicators (active/warning/claimable) - Support wallet signing for keep-alive transactions - Toast notifications for user feedback - Comprehensive unit tests for hook and component - Warning threshold at 24 hours before claimable state
- Create multi-step KYC verification form (personal, identity, address, documents, review) - Implement real-time status tracking (pending, submitted, approved, rejected) - Add document upload zone with validation and file size checks - Integrate with backend KYC API endpoints - Add KYCRequiredGuard component to block plan creation without approval - Implement automatic polling for status updates while submitted - Add rejection reason display and resubmission flow - Comprehensive unit tests for modal and status tracking - State persistence across page reloads via backend
- Move all step component imports from bottom to top of file - Prevents runtime errors when components are referenced before definition - Ensures proper TypeScript compilation and e2e test execution
- Cast conditional expressions to boolean using !! operator - Fixes TypeScript type error where strings/objects were assigned to boolean type - Ensures canProceed properly matches Record<FormStep, boolean> type
- GET /api/kyc/status: Retrieve user KYC verification status - POST /api/kyc/submit: Submit KYC verification data - POST /api/kyc/upload: Upload KYC documents - GET /api/kyc/required: Check if KYC is required - GET /api/kyc/requirements: Get KYC requirements and supported ID types These endpoints integrate with the frontend KYC modal and workflow to: - Support real-time status tracking (Pending, Approved, Rejected) - Prevent plan creation/editing without KYC approval - Persist state to the Axum backend
|
@obacollins-lab Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
ONEONUORA
approved these changes
Jun 28, 2026
ONEONUORA
left a comment
Contributor
There was a problem hiding this comment.
GReat job @obacollins-lab
Thank you for your contribution
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Changes Made
Frontend (Already Implemented):
✅ KYCVerificationModal: 5-step form flow (Personal → Identity → Address → Documents → Review)
✅ KYCContext: Real-time status polling with WebSocket support
✅ KYCRequiredGuard: Component preventing plan creation without approval
✅ Document upload with validation (size/type checks)
✅ Status views for Pending, Approved, and Rejected states
Backend (Added):
✅ GET /api/kyc/status - Retrieve user KYC verification status
✅ POST /api/kyc/submit - Submit KYC verification data
✅ POST /api/kyc/upload - Upload KYC documents
✅ GET /api/kyc/required - Check if KYC is required
✅ GET /api/kyc/requirements - Get KYC requirements and supported ID types
✅ KYC webhook handler with HMAC signature verification
✅ Database schema for users and KYC status tracking
closes #796