Skip to content

feat: Add refund logic for failed/expired pools#46

Merged
martinvibes merged 2 commits intoWeb3Novalabs:mainfrom
Jayrodri088:feat-refund-logic-for-failed/expired-pools
Jan 28, 2026
Merged

feat: Add refund logic for failed/expired pools#46
martinvibes merged 2 commits intoWeb3Novalabs:mainfrom
Jayrodri088:feat-refund-logic-for-failed/expired-pools

Conversation

@Jayrodri088
Copy link
Contributor

Add Refund Functionality for Timed Campaign Pools

Summary

Allows contributors to refund their contributions if a pool's deadline passes without disbursement. Includes a 7-day grace period and safeguards to prevent refunds after disbursement.

What Changed

  • Added refund(pool_id, contributor) function
  • Track contributions per user in PoolContribution struct
  • 7-day grace period after deadline before refunds unlock
  • Prevent refunds if pool is disbursed or deadline hasn't passed
  • Emit refund events
  • Added 8 unit tests

New Error Types

  • RefundNotAvailable, PoolNotExpired, PoolAlreadyDisbursed, NoContributionToRefund, RefundGracePeriodNotPassed

Closes: #18

@martinvibes
Copy link
Contributor

@Jayrodri088 pls fix ci

@Jayrodri088
Copy link
Contributor Author

@martinvibes fixed

@martinvibes
Copy link
Contributor

LGTM

@martinvibes martinvibes merged commit 162655c into Web3Novalabs:main Jan 28, 2026
1 check passed
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.

Add refund logic for failed/expired pools

2 participants