Commit Graph

14 Commits

Author SHA1 Message Date
Tutus Development a63b3dcb70 Migrate from GitHub to git.marketally.com
Update all module paths and import statements from github.com/tutus-one
to git.marketally.com/tutus-one for self-hosted Git server migration.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-27 09:54:31 -05:00
Tutus Development 42eb48aa65 Rebrand token symbols: TUTUS->TUT, update display names
Token symbol and display name changes:
- Governance symbol: TUTUS -> TUT (3 chars, King Tut reference)
- Governance display: TutusToken -> Tutus
- Utility display: LubToken -> Lub

Core changes:
- nativenames: TutusToken->Tutus, LubToken->Lub
- native_tutus.go: symbol = "TUT"
- Regenerated nativehashes with new contract hashes
- Updated interop packages with new hashes

Test updates:
- CLI tests: Updated token symbols (TUT, LUB)
- test_contract.yml: Updated permission hash
- examples go.mod: Added replace directives for local modules

Final token lineup:
- TUT: Governance/staking (3 chars)
- LUB: Utility/gas (3 chars)
- VTS: Currency (3 chars)
- VITA: Identity NFT (4 chars)
2025-12-21 13:03:49 -05:00
Tutus Development 54d1dab720 Fix compiler neogointernal rename and GAS to Lub branding
- Fix neogointernal -> tutusinternal in compiler/analysis.go
  This was causing CALLT instructions to not be generated when
  compiling contracts that call native contract methods

- Rename InitialGASSupply -> InitialLubSupply across codebase
- Update log messages from 'gas' to 'Lub'
- Fix nativehashes.Lub -> nativehashes.LubToken in query_test.go
2025-12-21 09:18:57 -05:00
Tutus Development aee2d44325 Complete Tutus rebranding - remove all Neo dependencies
External dependencies replaced:
- nspcc-dev/dbft -> tutus-one/tutus-consensus
- nspcc-dev/bbolt -> tutus-one/tutus-bolt
- nspcc-dev/go-ordered-json -> tutus-one/tutus-ordered-json
- nspcc-dev/rfc6979 -> tutus-one/tutus-rfc6979

Internal packages renamed:
- pkg/neotest -> pkg/tutustest
- pkg/neorpc -> pkg/tutusrpc
- pkg/interop/neogointernal -> pkg/interop/tutusinternal
- pkg/rpcclient/neo -> pkg/rpcclient/tutus

CLI branding updated to Tutus throughout.
2025-12-21 06:25:15 -05: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 0e980e7342 Add Opus native contract for AI workforce integration
Implement comprehensive AI workforce management infrastructure:

- Operator profiles: Registration (requires Vita), verification,
  supervision via RoleOpusSupervisor (ID 24)

- AI Worker lifecycle: Registration, updates, suspension,
  decommissioning with operator ownership tracking

- Task system: Assignment, progress tracking, completion,
  cancellation, and dispute resolution

- Capability certification: Proficiency levels, certification
  tracking, and supervisor-managed verification

- AI Tribute: Configurable percentage of AI-generated value
  directed to Treasury for societal benefit

- Cross-contract integration:
  - Vita: Operator identity verification
  - Lex: Labor rights enforcement (RightLabor)
  - RoleRegistry: Supervisor role authorization
  - VTS: Registration fees and task payments
  - Treasury: Tribute collection

Contract ID: -22, following Tribute (-21)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 08:51:48 +00:00
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
Tutus Development 30b3be30ce Add Eligere native contract for democratic voting
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>
2025-12-20 06:30:43 +00:00
Tutus Development 96f77823e5 Integrate Lex rights enforcement into VTS and Vita contracts
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>
2025-12-20 05:43:31 +00:00
Tutus Development 5d410f9ba0 Add asylum registry and naturalization for humanitarian protection
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>
2025-12-20 04:55:56 +00:00
Tutus Development f03564d676 Add free GAS for Vita holders with cross-chain fee splitting
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>
2025-12-20 04:27:55 +00:00
Tutus Development 5598ed7d85 Update all imports from neo-go to tutus-chain
- Updated 3839 import statements in .go files
- Updated all go.mod and go.sum files
- Updated yml and md documentation files
- Module path: github.com/tutus-one/tutus-chain
2025-12-19 14:28:17 +00:00
Tutus Development 62bd7bb153 Initial Tutus chain fork from NeoGo
- Renamed module to github.com/tutus-one/tutus-chain
- Created Tutus network configurations
- Updated Makefile for tutus binary
- Updated service templates
- Added Tutus README
2025-12-19 14:23:04 +00:00