Commit Graph

5 Commits

Author SHA1 Message Date
Tutus Development 1b4a61fcf7 Add security remediation infrastructure and fixes
Implement comprehensive security infrastructure from Security-Remediation-Plan.md:

New Infrastructure Files:
- circuit_breaker.go (ARCH-001): Circuit breaker pattern for contract failures
  with Closed/Open/Half-Open state machine and emergency shutdown
- invariants.go (ARCH-003): Formal verification with 14 critical invariants
  and TLA+ specifications for runtime verification
- canary_deployment.go (ARCH-004): Feature flags with percentage-based rollout
  and auto-rollback on error rate threshold
- audit_logger.go (ARCH-005): Comprehensive audit logging with multi-index
  querying across 8 categories (Auth, Access, Data, Governance, etc.)
- config_registry.go (LOW-003): Configuration governance infrastructure
- event_archival.go (LOW-001): Event log archival with Merkle commitments
- validation.go (LOW-002): Common input validation constants and utilities
- role_registry_domain.go (CRIT-002): Domain-specific committee roles
  (Legal, Health, Education, Economy, Identity, Governance)

Contract Security Fixes:
- contract.go: Add HasDomainCommitteeAuthority to IRoleRegistry interface
- lex.go: Remove duplicate ErrReasonTooLong declaration
- salus.go, eligere.go, palam.go, pons.go, scire.go, tribute.go:
  Line ending normalization and security validation integration
- collocatio.go: Security validation for investment operations

State Type Updates:
- state/pons.go, state/salus.go, state/tribute.go: Line ending fixes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 09:06:14 +00:00
Tutus Development 5678ae0e46 Complete Collocatio native contract for PIO/EIO/CIO investments
Implement comprehensive investment infrastructure with three tiers:
- PIO (Public Investment Opportunity): Universal citizen access
- EIO (Employee Investment Opportunity): Workplace democracy
- CIO (Contractor Investment Opportunity): Gig economy empowerment

New Features:

Violation System:
- recordViolation: Record violations with evidence and penalties
- resolveViolation: Resolve violations with committee authority
- getViolation: Query violation records
- Auto-ban after MaxViolationsBeforeBan threshold

Employment Verification (EIO eligibility):
- verifyEmployment: Register employee-employer relationships
- revokeEmployment: End employment verification
- getEmploymentStatus: Query employment records
- EIO eligibility requires active employment

Contractor Verification (CIO eligibility):
- verifyContractor: Register contractor-platform relationships
- revokeContractor: End contractor verification
- getContractorStatus: Query contractor records
- CIO eligibility requires active contractor status

Returns Distribution:
- distributeReturns: Proportional returns to all investors
- cancelOpportunity: Refund investors on cancellation

Education Integration:
- completeInvestmentEducation: Mark investor education complete
- Scire certification tracking for eligibility

Query Methods:
- getInvestmentsByOpportunity: List investments per opportunity
- getInvestmentsByInvestor: List investments per investor
- getOpportunitiesByType: Filter by PIO/EIO/CIO
- getOpportunitiesByStatus: Filter by lifecycle status

Lifecycle Automation (PostPersist):
- Auto-close opportunities past investment deadline
- Auto-fail opportunities below minimum participants
- Runs every 100 blocks for performance

State Serialization:
- Add ToStackItem/FromStackItem for EmploymentVerification
- Add ToStackItem/FromStackItem for ContractorVerification
- Add ToStackItem/FromStackItem for InvestmentViolation

Tests:
- 14 test cases for config, counters, queries, error handling

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 04:18:23 +00:00
Tutus Development a2bf6a95df Complete Annos to Tutus rename across codebase
Update all remaining references from Annos (old governance contract name)
to Tutus (blockchain governance contract) across the codebase:

Contract Updates:
- All native contracts: .Annos field → .Tutus field
- Interface references: IAnnos → ITutus
- Method calls: annos.* → tutus.*

Files Updated:
- blockchain.go: annos field → tutus field
- All native contracts (collocatio, designate, federation, lex,
  management, native_lub, notary, opus, oracle, palam, policy,
  pons, role_registry, salus, scire, sese, treasury, tribute, vts)
- native_tutus.go: Internal struct/method renames

Test Updates:
- Updated all test files to use new Tutus references
- Fixed expected manifest names: NeoToken → TutusToken, GasToken → LubToken
- Updated Vita register calls with birthTimestamp parameter
- Fixed expected error messages (GAS → Lub)

CLI/RPC Updates:
- cli/wallet: Updated native contract references
- rpcclient/neo: Updated for Tutus naming

This completes Phase 1 of the refactoring:
- Tutus = blockchain governance (validators, committee, staking)
- Annos = lifespan/years tracking (age, life stages, entitlements)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 00:56:43 +00:00
Tutus Development 64c682cd68 Rename NEO to Annos and GAS to Lub native contracts
Rename the core governance and utility tokens to reflect Tutus
blockchain's identity-centric design:

- NEO -> Annos (Latin for "years" - governance token tied to Vita)
- GAS -> Lub (lubrication - utility/fee token)

File renames:
- native_neo.go -> native_annos.go
- native_gas.go -> native_lub.go
- native_neo_candidate.go -> native_annos_candidate.go

Struct/interface renames:
- NEO struct -> Annos, INEO -> IAnnos
- GAS struct -> Lub, IGAS -> ILub

Constants updated:
- nativenames: Neo="NeoToken" -> Annos="AnnosToken"
- nativenames: Gas="GasToken" -> Lub="LubToken"
- NEOTotalSupply -> AnnosTotalSupply
- GASFactor -> LubFactor

Regenerated nativehashes for new manifest names.

Updated all native contracts, blockchain.go, test files,
CLI wallet, and RPC client packages.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 11:34:42 +00:00
Tutus Development b5c87b5cf8 Add Collocatio native contract for democratic investment
Implement the Collocatio (Latin for "placement/arrangement") contract
providing a three-tier investment framework for citizens:

- PIO (Public Investment Opportunity): Universal citizen access to
  infrastructure investments - any citizen can invest small amounts
  in public projects like roads, schools, hospitals

- EIO (Employee Investment Opportunity): Workplace democracy for
  verified employees - invest in their employer's projects with
  preferential terms and voting rights

- CIO (Contractor Investment Opportunity): Gig economy empowerment -
  verified contractors can invest in platforms they work with

Core Features:
- Investment opportunities with configurable parameters
- Eligibility system integrated with Vita (soul-bound identity)
- Cross-contract integration with VTS, Tribute, and Eligere
- Democratic oversight through Eligere voting
- Wealth concentration limits via Tribute integration
- Education verification through Scire integration

Contract Methods:
- createOpportunity: Create PIO/EIO/CIO with terms
- activateOpportunity: Enable investment period
- invest: Make investment with eligibility checks
- withdraw: Exit with maturity/penalty rules
- setEligibility: RoleInvestmentManager (ID 28) sets eligibility flags
- isEligible: Check investor eligibility for opportunity types

Contract ID: -25

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 10:33:24 +00:00