Skip to content

Add Quest Pause and Resume Functionality #105

@RUKAYAT-CODER

Description

@RUKAYAT-CODER

Overview

Implement the ability to pause and resume quests, preventing new submissions during pause without deleting the quest.

Background

Admins need the ability to temporarily pause quests for maintenance or adjustments.

Specifications

Modules to Create:

  • Pause/resume functions
  • Status validation
  • Paused state handling

Tasks:

  • Implement pause_quest() function with admin check
  • Create resume_quest() function
  • Prevent submissions when quest is paused
  • Validate status transitions (Active ↔ Paused)
  • Emit events for pause/resume actions
  • Update existing queries to respect paused status
  • Write tests for pause functionality

Impacted Files:

  • contracts/earn-quest/src/quest.rs (update)
  • contracts/earn-quest/src/submission.rs (update)
  • contracts/earn-quest/src/lib.rs (update)
  • contracts/earn-quest/tests/test_pause.rs (new)

Labels: contract, quest-management, status-control, priority-low

Acceptance Criteria

  • Admins can pause active quests
  • Paused quests reject new submissions
  • Quests can be resumed after pause
  • Invalid status transitions blocked
  • Events emitted for pause/resume
  • All pause scenarios tested

🙌Contribution Guidelines:

Assignment required before PR submission
Timeframe: 24-48 hours
PR description must include: Close #[issue-number]
Star the repo⭐
For more context, please refer to the contract README 🚀

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions