tutus-chain/pkg
Tutus Development 961c17a0cc Add Ancora native contract for off-chain data anchoring
Implement ADR-004 Phase 1 - the Ancora (Latin for "anchor") contract
provides Merkle root anchoring for off-chain data with proof verification:

Core Features:
- Data root management: Track Merkle roots per VitaID and DataType
  (Medical, Education, Investment, Documents, Custom)
- Provider registry: Committee-managed authorization for data providers
  with rate limiting and cooldown periods
- Proof verification: Verify Merkle proofs against anchored roots
  supporting SHA256, Keccak256, and Poseidon algorithms
- GDPR erasure: Right-to-be-forgotten workflow with pending/confirmed/denied
  status and configurable grace periods
- Data portability: Generate attestations for cross-system data transfer

Contract Methods:
- registerProvider/revokeProvider: Committee authorization for providers
- updateDataRoot: Anchor new Merkle root with version tracking
- verifyProof: Validate leaf inclusion against anchored root
- requestErasure/confirmErasure/denyErasure: GDPR erasure workflow
- generatePortabilityAttestation: Data portability support

Cross-Contract Integration:
- Vita: Identity verification via ExistsInternal/OwnerOfInternal
- Tutus: Committee authority for provider management

State Types (pkg/core/state/state_anchors.go):
- RootInfo: Merkle root metadata with version and algorithm
- ErasureInfo: GDPR erasure request tracking
- ProviderConfig: Authorized provider configuration
- StateAnchorsConfig: Global contract settings
- Enums: DataType, TreeAlgorithm, ErasureStatus

Contract ID: -27

Tests (15 test cases):
- Configuration and query tests
- Provider registration/revocation tests
- Authorization and error handling tests
- Data type and algorithm validation tests

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 12:42:05 +00:00
..
compiler Fix compiler neogointernal rename and GAS to Lub branding 2025-12-21 09:18:57 -05:00
config Fix compiler neogointernal rename and GAS to Lub branding 2025-12-21 09:18:57 -05:00
consensus Fix test failures from Tutus/Lub rename and Vita integration 2025-12-22 03:04:48 -05:00
core Add Ancora native contract for off-chain data anchoring 2025-12-23 12:42:05 +00:00
crypto Complete Tutus rebranding - remove all Neo dependencies 2025-12-21 06:25:15 -05:00
encoding Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
interop Rebrand token symbols: TUTUS->TUT, update display names 2025-12-21 13:03:49 -05:00
io Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
network Fix test failures from Tutus/Lub rename and Vita integration 2025-12-22 03:04:48 -05:00
rpcclient Update test fixtures for TUT/LUB token symbols 2025-12-22 00:42:59 -05:00
services Add block 14 and GAS bounty entries to server_test.go 2025-12-22 12:41:18 -05:00
smartcontract Complete Tutus rebranding - remove all Neo dependencies 2025-12-21 06:25:15 -05:00
storage Add BlockStorage and StateStorage to local adapter with tests 2025-12-21 06:58:20 -05:00
tutusrpc Complete Tutus rebranding - remove all Neo dependencies 2025-12-21 06:25:15 -05:00
tutustest Complete Tutus/Lub branding in test files 2025-12-21 08:40:16 -05:00
util Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
vm Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
wallet Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00