-
Notifications
You must be signed in to change notification settings - Fork 1
[Web] Username registration flow β claim @username with Stellar wallet connect and ZK proof generationΒ #3
Copy link
Copy link
Open
Description
π Description
Build the end-to-end username registration UI flow. The user connects their Stellar wallet, enters a desired @username, the frontend generates the ZK non-inclusion proof off-chain via the SDK, and submits the registration transaction to the Soroban contract.
β Requirements
- Step 1: Connect Stellar wallet (Freighter or xBull)
- Step 2: Enter desired
@usernameβ live availability check via SDKresolveUsername - Step 3: Frontend calls SDK to generate Poseidon hash + non-inclusion proof
- Step 4: Submit
register_resolvertransaction to Soroban contract - Step 5: Success screen showing
@usernameclaimed + transaction link - Loading states and error handling at every step
- Form validation: alphanumeric + hyphens only, 3β32 chars
π― Acceptance Criteria
- Wallet connect works with Freighter
- Username availability check shows real-time feedback
- ZK proof generated client-side without exposing username
- Soroban transaction submitted and confirmed
- Success state shows username + Stellar Explorer link
- Error states for: wallet not connected, username taken, proof failure, tx failure
π Expected files to change/structure
src/pages/register.tsxsrc/components/UsernameInput.tsxsrc/components/WalletConnect.tsxsrc/hooks/useRegistration.tssrc/lib/sdk.tsβ SDK wrapper
πΏ Branch:
feat/web-registration-flow| Priority: HIGH | Difficulty: βββ all-nighter
Reactions are currently unavailable