Tasks

TaskRegistry.sol

The TaskRegistry contract maintains a registry of all tasks that can be used for contributions.

Key Functions:

  • registerTask(Task memory task): Registers a new task.

  • isTaskId(bytes32 taskId): Checks if a task ID is registered.

Important Concepts:

  • Tasks are the building blocks for contributions.

  • Each task has a unique ID and associated metadata (URI).

TaskFactory.sol

The TaskFactory contract manages the creation of contributions (tasks) within a hub.

Key Functions:

  • createContribution(Contribution calldata contribution): Creates a new contribution.

  • getContributionIdsActive(uint32 timestamp): Retrieves active contribution IDs at a given timestamp.

Important Concepts:

  • Contributions have associated points, quantities, and date ranges.

  • Integrates with the TaskManager for contribution tracking.

TaskManager.sol

The TaskManager contract manages the lifecycle of contributions within a hub.

Key Functions:

  • addContribution(bytes32 contributionId, Contribution calldata Contribution): Adds a new contribution to be managed.

  • commitContribution(bytes32 contributionId, address who, bytes calldata data): Commits a member to a contribution.

  • giveContribution(bytes32 contributionId, address who): Awards points for a completed contribution.

Important Concepts:

  • Tracks the status of contributions (Open, Inactive, Complete).

  • Manages point summaries for each period.

Last updated