Extend Federation contract to protect citizens when their home government
becomes hostile:
- Add Asylum Registry for refugee protection
- grantAsylum/revokeAsylum methods (committee only)
- hasAsylum/getAsylumInfo query methods
- AsylumGranted/AsylumRevoked events
- Asylum seekers get 100% local Treasury funding with NO inter-chain
debt to avoid funding hostile governments
- Add Naturalization (Vita Transfer) for permanent immigration
- naturalize method for permanent citizenship transfer
- isNaturalizedCitizen/getNaturalizationInfo query methods
- CitizenNaturalized event
- Naturalized citizens treated same as local Vita holders
- Add VitaExemptAsylum type for humanitarian override
- Fee exemption priority: Local Vita > Naturalized > Visitor > Asylum
- Asylum: 100% from local Treasury, zero inter-chain debt
- Protects refugees even if home chain revokes their Vita
- Update IsVitaFeeExempt() to check all exemption types
- Local Vita, naturalized citizens, visitors, and asylum seekers
The one-Vita-per-person rule remains inviolable - Vita is tied only to
a living person globally. This enables protection without duplication.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>