Tutus Development
32d12b5106
Normalize line endings in security remediation files
...
Convert CRLF to LF line endings in native contract and state files
modified during security remediation. Ensures consistent line endings
across Windows and Linux development environments.
Files normalized:
- pkg/core/native/*.go (15 files)
- pkg/core/state/*.go (3 files)
- devnotes.md
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 04:31:25 -05:00
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