Description
The batch approval flow should execute the same payout rules as single submission review, including platform fees, staking multiplier handling, pause checks, and consistent status transitions.
User Story
As an Employer,
I want to batch approve submissions with the exact same payout logic as single approval,
so that bulk approvals do not behave differently from individual approvals.
Requirements and Context
- Files:
contracts/quest-engine/src/lib.rs, contracts/quest-engine/src/test.rs
- Refactor
batch_review_submissions so each learner path reuses the same core approval logic as review_submission
- Apply the same fee transfer and staking multiplier logic used by the single-review path
- Keep batch event emission while avoiding drift between the two approval paths
- Ensure submission status and auth checks remain identical for batch and single review
Suggested Implementation
// 1. Extract the common approval flow into an internal helper.
// 2. Call the helper from review_submission.
// 3. Reuse the helper inside batch_review_submissions for each learner.
// 4. Keep BatchReviewed as the aggregate event after all learner approvals succeed.
Acceptance Criteria
Submission Guidelines
- Branch:
feat/batch-review-parity
- Depends on:
[QuestEngine] Deliver uncapped staking multiplier payouts
- PR:
refactor(quest-engine): unify batch and single review payout logic
Description
The batch approval flow should execute the same payout rules as single submission review, including platform fees, staking multiplier handling, pause checks, and consistent status transitions.
User Story
As an Employer,
I want to batch approve submissions with the exact same payout logic as single approval,
so that bulk approvals do not behave differently from individual approvals.
Requirements and Context
contracts/quest-engine/src/lib.rs,contracts/quest-engine/src/test.rsbatch_review_submissionsso each learner path reuses the same core approval logic asreview_submissionSuggested Implementation
Acceptance Criteria
Submission Guidelines
feat/batch-review-parity[QuestEngine] Deliver uncapped staking multiplier payoutsrefactor(quest-engine): unify batch and single review payout logic