DataPortabilityGrantees

Maintains a registry of authorized entities that can receive data access permissions from users.


The DataPortabilityGrantees contract maintains the authoritative registry of all entities authorized to receive data access permissions within the Vana data portability ecosystem. Each grantee is registered with a unique identifier, owner address, grantee address, and public encryption key, enabling secure end-to-end encrypted data transfers. The contract tracks the complete set of permissions associated with each grantee, providing a comprehensive view of what data access rights have been granted across the network. Registration requires either maintainer privileges or self-registration where the owner and grantee addresses match, preventing unauthorized entity registration.

This contract serves as a critical component of the permission verification system, working in conjunction with DataPortabilityPermissions to maintain referential integrity. It implements role-based access control with specialized roles for permission management, allowing the permissions contract to automatically update grantee-permission associations when new grants are created or existing ones are modified. The contract provides multiple query interfaces to retrieve grantee information by ID or address, enumerate all permissions for a given grantee, and verify grantee existence during permission creation operations. The public key storage enables grantees to publish their encryption keys on-chain, facilitating secure data exchange protocols between data owners and authorized recipients.


📘

Contract Address

Moksha: 0x8325C0A0948483EdA023A1A2Fd895e62C5131234

Vana Mainnet: 0x8325C0A0948483EdA023A1A2Fd895e62C5131234