2.3 KiB
2.3 KiB
Overview
The RepositoryHelper library provides utility functions for managing and interacting with repository contracts on the ChunkNet blockchain. It offers robust helper methods for repository validation, metadata retrieval, ownership transfer, content updates, and archival operations.
Interface
| Function | Parameters | Returns | Description |
|---|---|---|---|
validateRepository |
address _repository |
bool |
Checks if a repository address is valid |
getRepositoryMetadata |
address _repository |
RepositoryMetadata |
Retrieves comprehensive repository metadata |
transferRepositoryOwnership |
address _repository, address _currentOwner, address _newOwner |
void |
Transfers repository ownership |
updateRepositoryContent |
address _repository, address _caller, bytes32 _newContentHash |
void |
Updates repository content hash |
archiveRepository |
address _repository, address _caller |
void |
Archives/deactivates a repository |
Events
No explicit events defined in this library. Events would typically be implemented in the target repository contract.
Storage Layout
RepositoryMetadatastruct contains:owner: Repository owner addresscreatedAt: Repository creation timestamplastUpdated: Last update timestampcontentHash: Repository content identifierisActive: Repository activation status
Access Control
- Owner-based access control
- Permissions checked via
getOwner()method - Unauthorized access reverts with
InsufficientPermissionserror
Security Considerations
- Validates repository addresses before operations
- Uses try/catch for safe external contract interactions
- Prevents operations on zero addresses
- Implements granular error handling
- Requires explicit ownership verification
Deployment
- Compatible with ChunkNet devnet
- RPC URL: https://rpc.chunknet.org
- Chain ID: 214562
- Recommended deployment environment variables:
CHUNK_CHAIN_RPC_URLANVIL_RPC_URL
Testing
- Test scenarios should cover:
- Repository address validation
- Ownership transfer
- Content hash updates
- Archival functionality
- Error case handling
- Permission enforcement
- Recommended test coverage: 90%+
- Use mock repository interfaces for comprehensive testing