Implement the Eligere (Latin for "to choose/elect") contract providing
democratic governance infrastructure for citizens:
Core Features:
- Proposal lifecycle: Draft -> Active -> Passed/Rejected -> Executed
- One-person-one-vote via Vita token (soul-bound identity)
- Configurable quorum (default 10%) and thresholds (50%/67%)
- Execution delay for passed proposals before implementation
Contract Methods:
- createProposal: Create proposals with categories (Law, Investment, etc)
- vote: Cast votes (Yes/No/Abstain) with Vita verification
- tallyVotes: Finalize voting after deadline with quorum checks
- executeProposal: Execute passed proposals after delay
- Query methods: getProposal, getVote, hasVoted, getConfig
Cross-Contract Integration:
- Vita: Add GetTotalTokenCount() for quorum calculations
- Lex: Add RatifyAmendmentInternal() for law amendment execution
- Wire Eligere into blockchain.go with proper validation
Test Updates:
- Update Vita suspend test to use Lex liberty restriction (due process)
- Update management tests for Federation/Eligere hardfork timing
- Add Vita registration to VTS tests for property rights checks
- Update NEP17 contracts list to include VTS
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Wire Lex contract into core contracts for constitutional rights enforcement:
VTS Integration:
- Add Lex dependency to VTS struct
- Add property rights check in transferUnrestricted() - blocks transfers
if sender's RightProperty is restricted via Lex
- Add property rights check in spend() - blocks spending if restricted
Vita Integration:
- Add Lex dependency to Vita struct
- Add liberty rights check in suspend() - requires valid liberty
restriction order from Lex before suspension (due process)
- Add liberty rights check in revoke() - requires restriction order
before permanent revocation
Blockchain Integration:
- Add lex field to Blockchain struct
- Add Lex initialization and validation in NewBlockchain()
Contract Wiring:
- Wire vts.Lex = lex for property rights enforcement
- Wire vita.Lex = lex for liberty rights enforcement
This ensures constitutional rights are automatically enforced:
- No property transfers without property rights
- No identity suspension/revocation without judicial due process
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Rename PersonToken to Vita (soul-bound identity token) and implement
fee exemption system for citizens:
- Add Federation native contract for cross-chain Vita coordination
- Visitor registry for Vita holders from other chains
- Configurable visiting fee percentage (default 50%)
- Inter-chain debt tracking for settlement between chains
- Modify GAS contract to burn fees from Treasury for Vita holders
- Local Vita: 100% paid by local Treasury
- Visiting Vita: Split between local Treasury and inter-chain debt
- Deficit tracking when Treasury is underfunded
- Update mempool and blockchain to skip fee checks for Vita exempt users
- Add IsVitaFeeExempt() to Feer interface
- Modify verifyAndPoolTx() to allow zero-fee transactions
- Rename PersonToken -> Vita across codebase
- Update state, native contract, and tests
- Maintain same functionality with clearer naming
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>