Skip to content

feat: implement reputation system for contributors - #142

Open
CodeMayor wants to merge 1 commit into
Core-Foundry:mainfrom
CodeMayor:feature/reputation-system
Open

feat: implement reputation system for contributors#142
CodeMayor wants to merge 1 commit into
Core-Foundry:mainfrom
CodeMayor:feature/reputation-system

Conversation

@CodeMayor

@CodeMayor CodeMayor commented Jul 30, 2026

Copy link
Copy Markdown

Description

Implements a reputation system that rewards contributors based on completed tasks and successful submissions.

Smart Contract Changes

Added ContributorReputation struct to base/types.rs with contributor, score, and completed_tasks fields
Added ContributorReputationUpdated event to base/events.rs
Added Reputation(Address) DataKey variant to autoshare_logic.rs
Implemented get_contributor_reputation and increase_contributor_reputation functions
Exposed both functions in the contract interface (lib.rs)

Frontend Changes

Added frontend/src/types/reputation.ts with ContributorReputation, Badge, and ReputationApiResponse types
Added reputation store to task-workflow.ts: getContributorReputation, increaseContributorReputation, getAllReputations
Reputation automatically increases (+10 points) when a submission is approved via approveSubmission
Added GET /api/reputation?contributor=<address> API endpoint
Updated ContributorProfileCard to display reputation score and completed tasks count

Acceptance Criteria

[x] Reputation updates correctly (score increases on submission approval)
[x] API exposes contributor score (GET /api/reputation?contributor=<address>)
[x] Frontend displays reputation (in ContributorProfileCard)
[x] System is extensible for future badges (via Badge type and modular function design)

Testing

All 299 existing tests pass
Build succeeds with no TypeScript errors
closes #131

- Add ContributorReputation type, DataKey, storage, and functions to smart contract
- Add ContributorReputationUpdated event for on-chain reputation tracking
- Expose get_contributor_reputation and increase_contributor_reputation in contract interface
- Add frontend reputation types (ContributorReputation, Badge)
- Add reputation store (getContributorReputation, increaseContributorReputation) to task-workflow
- Automatically increase reputation score when submissions are approved
- Add GET /api/reputation?contributor=<address> API endpoint
- Display reputation score and completed tasks count in ContributorProfileCard
- System is extensible for future badges via Badge type
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Contributor Reputation System

1 participant