Ancora enhancements:
- Add audit logging integration for all operations
- Provider registration, data root updates, erasure operations
- getAuditLog query method for GDPR transparency
Test infrastructure:
- Add vitahelper package for registering test Vitas
- Add tutustest helpers: crosscontract, events, government, roles
- Fix DataTypePresence constant in Ancora test
State updates:
- Fix state_anchors TreeAlgorithm enum values
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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>