Skip to content

feat: implement quest expiry enforcement with on-chain timestamp vali…#226

Open
JoaquinSkorg wants to merge 1 commit into
MindFlowInteractive:mainfrom
JoaquinSkorg:fix/issue-219
Open

feat: implement quest expiry enforcement with on-chain timestamp vali…#226
JoaquinSkorg wants to merge 1 commit into
MindFlowInteractive:mainfrom
JoaquinSkorg:fix/issue-219

Conversation

@JoaquinSkorg
Copy link
Copy Markdown

@JoaquinSkorg JoaquinSkorg commented May 26, 2026

Closes #219


Modifications made and changes pass the criteria. Kindly review.

…dation

- Add timestamp guard in complete_quest to prevent expired quest completion
- Require current_time < quest.expires_at for successful completion
- Emit QUEST_EXPIRED event when quest is past its deadline
- Add comprehensive test coverage for expiry scenarios:
  - test_complete_quest_before_expiry_succeeds: verify pre-expiry completion
  - test_complete_quest_exactly_at_expiry_fails: boundary condition at exact timestamp
  - test_complete_quest_after_expiry_fails: reject post-expiry attempts
  - test_complete_quest_no_expiry_always_succeeds: handle indefinite quests
  - test_expiry_event_emitted_on_rejection: verify event publication
  - test_expiry_event_panic_message_correct: validate panic message
- All 32 tests passing with expiry enforcement active
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.

Implement Player Quest History Mapping

1 participant