Issues fixed:
1. participants_json now saves partyIndex (not just partyId and name)
2. createSignSession uses saved partyIndex instead of array index
3. Transfer.tsx uses saved partyIndex for executeSign
4. Sign.tsx now calls executeSign after joining session (was missing!)
5. Sign.tsx interfaces updated with proper types (sessionId, participants, parties)
The sign flow was broken because:
- partyIndex was not being saved during keygen completion
- Sign.tsx only joined session but never called executeSign
- This caused "Party not found in participants list" error
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>