[Recording Oracle] feat: leaderboard enhancements for new UI#833
[Recording Oracle] feat: leaderboard enhancements for new UI#833
Conversation
There was a problem hiding this comment.
Pull request overview
Updates Recording Oracle leaderboard and reward calculation plumbing to support the upcoming UI requirements (totals, “actual on” timestamp, and estimated rewards), while refactoring reward pool logic and removing the deprecated “rewards” leaderboard mode.
Changes:
- Refactors reward pool / reward estimation into new
rewards.utilsand updates progress recording to reserve funds based on the new calculation. - Updates leaderboard endpoint to return
{ entries, total, actualOn }and per-entryscore+estimatedReward, removing the oldrank_bymodes. - Adjusts Reputation Oracle payouts to calculate competitive rewards per intermediate result and updates unit tests accordingly.
Reviewed changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| reputation-oracle/src/modules/payouts/payouts.service.ts | Refactors reward batch calculation; competitive payouts now computed per intermediate result. |
| reputation-oracle/src/modules/payouts/payouts.service.spec.ts | Updates/extends unit tests for the new reward batch logic. |
| recording-oracle/src/modules/campaigns/types.ts | Removes LeaderboardRanking enum (deprecated ranking modes). |
| recording-oracle/src/modules/campaigns/rewards.utils.ts | Adds centralized reward pool calculation and reward estimation helpers. |
| recording-oracle/src/modules/campaigns/rewards.utils.spec.ts | Adds unit tests for the new rewards utilities. |
| recording-oracle/src/modules/campaigns/progress-checking/threshold.ts | Adds overflow safety-belt for aggregated totals. |
| recording-oracle/src/modules/campaigns/progress-checking/threshold.spec.ts | Adds test coverage for overflow guard. |
| recording-oracle/src/modules/campaigns/progress-checking/market-making.ts | Adds overflow safety-belt for aggregated totals. |
| recording-oracle/src/modules/campaigns/progress-checking/market-making.spec.ts | Adds test coverage for overflow guard. |
| recording-oracle/src/modules/campaigns/progress-checking/index.ts | Minor export ordering / re-export adjustments. |
| recording-oracle/src/modules/campaigns/progress-checking/holding.ts | Adds overflow safety-belt for aggregated totals. |
| recording-oracle/src/modules/campaigns/progress-checking/holding.spec.ts | Adds test coverage for overflow guard. |
| recording-oracle/src/modules/campaigns/fixtures/campaign.ts | Updates fixtures to support new reward/leaderboard semantics and competitive distributions. |
| recording-oracle/src/modules/campaigns/constants.ts | Renames progress-cycle constant to CAMPAIGNS_DAILY_CYCLE. |
| recording-oracle/src/modules/campaigns/campaigns.service.ts | Integrates new reward pool calc, adds prefinal results caching, and returns enhanced leaderboard response. |
| recording-oracle/src/modules/campaigns/campaigns.service.spec.ts | Updates tests for new reserved funds and leaderboard response shape. |
| recording-oracle/src/modules/campaigns/campaigns.repository.ts | Updates repository logic to use CAMPAIGNS_DAILY_CYCLE. |
| recording-oracle/src/modules/campaigns/campaigns.dto.ts | Updates leaderboard DTO to include score, estimated_reward, total, and actual_on. |
| recording-oracle/src/modules/campaigns/campaigns.controller.ts | Updates leaderboard endpoint to remove rank_by and return enhanced response. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
recording-oracle/src/modules/campaigns/progress-checking/holding.ts
Outdated
Show resolved
Hide resolved
recording-oracle/src/modules/campaigns/progress-checking/threshold.ts
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 19 out of 19 changed files in this pull request and generated 8 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
recording-oracle/src/modules/campaigns/progress-checking/market-making.ts
Show resolved
Hide resolved
recording-oracle/src/modules/campaigns/campaigns.service.spec.ts
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 24 out of 24 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Issue tracking
Closes #831
Context behind the change
How has this been tested?
Release plan
Regular
Potential risks; What to monitor; Rollback plan
Should be none