DataPortabilityPermissions

Manages user permissions that grant specific grantees access to selected data files with signature-based authorization.

The DataPortabilityPermissions contract serves as the core permission management system for data portability on the Vana network. It enables users to grant and revoke granular access permissions to their registered data files for specific grantees through cryptographically signed transactions using EIP-712 standard. The contract maintains a comprehensive registry of permissions that tracks which files are accessible to which grantees, along with temporal validity windows defined by block numbers. Users can create permissions for multiple files at once, revoke access to individual files or entire permissions, and manage their data sharing through a secure, auditable on-chain system.

The contract implements sophisticated features including nonce-based replay protection, permission deduplication through hash-based identification, and the ability to reactivate previously revoked permissions. It provides an atomic operation (addServerFilesAndPermissions) that combines server registration, file creation in the DataRegistry, and permission granting in a single transaction, streamlining the user experience for data export workflows. The contract integrates tightly with DataPortabilityGrantees and DataPortabilityServers contracts, ensuring that only registered and trusted entities can participate in data portability operations. All permission operations emit events for transparency and can be paused by maintainers in case of security concerns.



📘

Contract Address

Moksha: 0xD54523048AdD05b4d734aFaE7C68324Ebb7373eF

Vana Mainnet: 0xD54523048AdD05b4d734aFaE7C68324Ebb7373eF