Skip to content

PR for Issue #36 and #37#41

Closed
Levi-Ojukwu wants to merge 3 commits into
learnault:mainfrom
Levi-Ojukwu:main
Closed

PR for Issue #36 and #37#41
Levi-Ojukwu wants to merge 3 commits into
learnault:mainfrom
Levi-Ojukwu:main

Conversation

@Levi-Ojukwu
Copy link
Copy Markdown
Contributor

Linked Issue

Closes #36
Closes #37

Description

Implemented the full submission and review flow for Build Quests in the QuestEngine, enabling learners to submit proof and employers to review and trigger payouts.

What changed?

  • Added submit_proof function for learners to submit IPFS proof hashes
  • Added review_submission function for employers to approve/reject submissions
  • Implemented escrow payout logic from QuestEngine to learner on approval
  • Added submission status tracking (Pending, Approved, Rejected)
  • Emitted relevant events (ProofSubmitted, SubmissionReviewed)
  • Added unit tests covering submission and review flows

Why was it changed?

  • To enable end-to-end lifecycle for Build Quests
  • Ensures learners can submit work and receive payment upon approval
  • Prevents duplicate submissions and double payouts

How was it implemented?

  • Enforced authentication using require_auth() for both learner and employer
  • Validated quest state (active, correct type) before allowing submission
  • Stored submissions using (learner, quest_id) as unique key
  • Ensured submission uniqueness and proper state transitions
  • Implemented conditional payout logic using token transfer from contract escrow
  • Updated and persisted submission status after review

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented Apr 27, 2026

@Levi-Ojukwu Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Kaylahray Kaylahray closed this Apr 28, 2026
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.

[QuestEngine] Validate & Payout Build Quest [QuestEngine] Submit Quest Proof

2 participants