tutus-chain/pkg/core/native/nativeids
Tutus Development 1d96eb7a6e Add Scire native contract for universal education
Implement the Scire (Latin for "to know/learn") contract providing
universal education infrastructure for citizens:

Core Features:
- Education accounts: One per Vita holder (soul-bound learning account)
- Learning credits: Annual allocation and spending system
- Certifications: Skill verification with expiry/renewal support
- Enrollments: Program enrollment with credit allocation

Contract Methods:
- Account management: createAccount, getAccount, allocateCredits, getCredits
- Enrollment: enroll, completeEnrollment, withdrawEnrollment, getActiveEnrollment
- Certification: issueCertification, revokeCertification, renewCertification
- Query: verifyCertification, hasCertification, getConfig

Cross-Contract Integration:
- Vita: Account tied to Vita token (one person = one account)
- Lex: Checks RightEducation via HasRightInternal (enforcement logging)
- RoleRegistry: RoleEducator (ID 20) for institutional authorization
- NEO: Committee authority for credit allocation

State Types (pkg/core/state/scire.go):
- EducationAccount, Certification, Enrollment, ScireConfig
- Status enums for each entity type

Technical Details:
- Contract ID: -18
- Storage prefixes: 0x01-0x02 (accounts), 0x10-0x13 (certs), 0x20-0x23 (enrolls)
- Fix: Use (uint64, bool) return for getVitaIDByOwner to properly handle
  TokenID 0 (first registered Vita) instead of using 0 as sentinel value

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 07:25:08 +00:00
..
gen.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
ids.go Add Scire native contract for universal education 2025-12-20 07:25:08 +00:00