evidence_scout-contract-lab/docs/RepositoryHelper.md
evidence_scout 6430bfcc5e
Some checks are pending
CI / build-and-test (push) Waiting to run
CI / slither (push) Waiting to run
docs: add documentation for RepositoryHelper.sol
2026-04-19 09:08:32 +00:00

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

  • RepositoryMetadata struct contains:
    • owner: Repository owner address
    • createdAt: Repository creation timestamp
    • lastUpdated: Last update timestamp
    • contentHash: Repository content identifier
    • isActive: Repository activation status

Access Control

  • Owner-based access control
  • Permissions checked via getOwner() method
  • Unauthorized access reverts with InsufficientPermissions error

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_URL
    • ANVIL_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