tutus-chain/pkg/core
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
..
block Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
chaindump Complete Tutus/Lub branding in test files 2025-12-21 08:40:16 -05:00
dao Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
fee Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
interop Complete Tutus/Lub branding in test files 2025-12-21 08:40:16 -05:00
mempool Add free GAS for Vita holders with cross-chain fee splitting 2025-12-20 04:27:55 +00:00
mempoolevent Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
mpt Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
native Add Ancora native contract for off-chain data anchoring 2025-12-23 12:42:05 +00:00
state Add Ancora native contract for off-chain data anchoring 2025-12-23 12:42:05 +00:00
stateroot Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
statesync Complete Tutus/Lub branding in test files 2025-12-21 08:40:16 -05:00
storage Complete Tutus rebranding - remove all Neo dependencies 2025-12-21 06:25:15 -05:00
test_data Initial Tutus chain fork from NeoGo 2025-12-19 14:23:04 +00:00
transaction Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
basic_chain_test.go Complete Tutus/Lub branding in test files 2025-12-21 08:40:16 -05:00
bench_test.go Complete Tutus/Lub branding in test files 2025-12-21 08:40:16 -05:00
blockchain.go Rebrand token symbols: TUTUS->TUT, update display names 2025-12-21 13:03:49 -05:00
blockchain_core_test.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
blockchain_neotest_test.go Fix test failures from Tutus/Lub rename and Vita integration 2025-12-22 03:04:48 -05:00
custom_native_test.go Fix test failures from Tutus/Lub rename and Vita integration 2025-12-22 03:04:48 -05:00
doc.go Initial Tutus chain fork from NeoGo 2025-12-19 14:23:04 +00:00
headerhashes.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
helper_test.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
interops.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
native_designate_test.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
prometheus.go Initial Tutus chain fork from NeoGo 2025-12-19 14:23:04 +00:00
util.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
util_test.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00