tutus-chain/pkg/core/native
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
..
native_test Add Ancora native contract for off-chain data anchoring 2025-12-23 12:42:05 +00:00
nativehashes Add Ancora native contract for off-chain data anchoring 2025-12-23 12:42:05 +00:00
nativeids Add Ancora native contract for off-chain data anchoring 2025-12-23 12:42:05 +00:00
nativenames Add Ancora native contract for off-chain data anchoring 2025-12-23 12:42:05 +00:00
nativeprices Initial Tutus chain fork from NeoGo 2025-12-19 14:23:04 +00:00
noderoles Initial Tutus chain fork from NeoGo 2025-12-19 14:23:04 +00:00
ancora.go Add Ancora native contract for off-chain data anchoring 2025-12-23 12:42:05 +00:00
annos.go Add Annos lifespan contract and Eligere voting age integration 2025-12-21 00:55:29 +00:00
audit_logger.go Add security remediation infrastructure and fixes 2025-12-21 09:06:14 +00:00
canary_deployment.go Add security remediation infrastructure and fixes 2025-12-21 09:06:14 +00:00
circuit_breaker.go Add security remediation infrastructure and fixes 2025-12-21 09:06:14 +00:00
collocatio.go Normalize line endings in security remediation files 2025-12-21 04:31:25 -05:00
compatibility_test.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
config_registry.go Add security remediation infrastructure and fixes 2025-12-21 09:06:14 +00:00
contract.go Add Ancora native contract for off-chain data anchoring 2025-12-23 12:42:05 +00:00
contract_test.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
crypto.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
crypto_blspoints.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
crypto_test.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
designate.go Complete Annos to Tutus rename across codebase 2025-12-21 00:56:43 +00:00
doc.go Initial Tutus chain fork from NeoGo 2025-12-19 14:23:04 +00:00
eligere.go Normalize line endings in security remediation files 2025-12-21 04:31:25 -05:00
event_archival.go Normalize line endings in security remediation files 2025-12-21 04:31:25 -05:00
federation.go Normalize line endings in security remediation files 2025-12-21 04:31:25 -05:00
interop.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
invariants.go Add security remediation infrastructure and fixes 2025-12-21 09:06:14 +00:00
invocation_test.go Complete Tutus/Lub branding in test files 2025-12-21 08:40:16 -05:00
ledger.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
lex.go Normalize line endings in security remediation files 2025-12-21 04:31:25 -05:00
management.go Complete Annos to Tutus rename across codebase 2025-12-21 00:56:43 +00:00
management_neotest_test.go Complete Tutus/Lub branding in test files 2025-12-21 08:40:16 -05:00
management_test.go Complete Annos to Tutus rename across codebase 2025-12-21 00:56:43 +00:00
native_lub.go Complete Annos to Tutus rename across codebase 2025-12-21 00:56:43 +00:00
native_neo_test.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
native_nep17.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
native_tutus.go Rebrand token symbols: TUTUS->TUT, update display names 2025-12-21 13:03:49 -05:00
native_tutus_candidate.go Add Annos lifespan contract and Eligere voting age integration 2025-12-21 00:55:29 +00:00
nativenames_test.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
neo_types.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
notary.go Complete Annos to Tutus rename across codebase 2025-12-21 00:56:43 +00:00
opus.go Complete Annos to Tutus rename across codebase 2025-12-21 00:56:43 +00:00
oracle.go Complete Annos to Tutus rename across codebase 2025-12-21 00:56:43 +00:00
oracle_types.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
oracle_types_test.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
palam.go Normalize line endings in security remediation files 2025-12-21 04:31:25 -05:00
policy.go Complete Annos to Tutus rename across codebase 2025-12-21 00:56:43 +00:00
policy_test.go Complete Tutus/Lub branding in test files 2025-12-21 08:40:16 -05:00
pons.go Normalize line endings in security remediation files 2025-12-21 04:31:25 -05:00
role_registry.go Normalize line endings in security remediation files 2025-12-21 04:31:25 -05:00
role_registry_domain.go Normalize line endings in security remediation files 2025-12-21 04:31:25 -05:00
salus.go Normalize line endings in security remediation files 2025-12-21 04:31:25 -05:00
scire.go Normalize line endings in security remediation files 2025-12-21 04:31:25 -05:00
sese.go Complete Annos to Tutus rename across codebase 2025-12-21 00:56:43 +00:00
std.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
std_test.go Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
treasury.go Complete Annos to Tutus rename across codebase 2025-12-21 00:56:43 +00:00
tribute.go Normalize line endings in security remediation files 2025-12-21 04:31:25 -05:00
util.go Add VTS PersonToken integration and age-restricted spending 2025-12-20 03:16:33 +00:00
validation.go Add security remediation infrastructure and fixes 2025-12-21 09:06:14 +00:00
vita.go Add Ancora native contract for off-chain data anchoring 2025-12-23 12:42:05 +00:00
vts.go Normalize line endings in security remediation files 2025-12-21 04:31:25 -05:00