Skip to content

feat: add 10% campaign reserve pool and fix mobile sponsor button - #815

Merged
Utilitycoder merged 1 commit into
Fundable-Protocol:mainfrom
Hahfyeex:feat/reserve-pool-and-button-fix
Aug 31, 2026
Merged

feat: add 10% campaign reserve pool and fix mobile sponsor button#815
Utilitycoder merged 1 commit into
Fundable-Protocol:mainfrom
Hahfyeex:feat/reserve-pool-and-button-fix

Conversation

@Hahfyeex

Copy link
Copy Markdown
Contributor
  • Implement automatic 10% reserve pool for tree replacement

    • Add Reserve storage key to DataKey enum
    • Add ReserveAllocatedEvent for tracking reserve allocation
    • Add calculate_reserve helper function (10% = 1000 bps)
    • Add distribute_proceeds helper for team/creator payouts
    • Modify claim_funds to deduct reserve after protocol fee
    • Reserve is held in contract storage for verification failures
    • Add TeamPayoutIssuedEvent for team member distributions
    • Add ContractFullEvent and ContractFull error code
  • Fix mobile sponsor button stuck disabled state

    • Add loading state management to SponsorTeamDashboard
    • Add isSubmittingTeam, isSubmittingInvite, isSubmittingTree states
    • Wrap all submission handlers in try-catch-finally blocks
    • Properly reset button states after success or error
    • Disable inputs during submission to prevent race conditions
    • Add loading text feedback (Creating..., Inviting..., Adding...)

Closes #715
Closes #732

- Implement automatic 10% reserve pool for tree replacement
  - Add Reserve storage key to DataKey enum
  - Add ReserveAllocatedEvent for tracking reserve allocation
  - Add calculate_reserve helper function (10% = 1000 bps)
  - Add distribute_proceeds helper for team/creator payouts
  - Modify claim_funds to deduct reserve after protocol fee
  - Reserve is held in contract storage for verification failures
  - Add TeamPayoutIssuedEvent for team member distributions
  - Add ContractFullEvent and ContractFull error code

- Fix mobile sponsor button stuck disabled state
  - Add loading state management to SponsorTeamDashboard
  - Add isSubmittingTeam, isSubmittingInvite, isSubmittingTree states
  - Wrap all submission handlers in try-catch-finally blocks
  - Properly reset button states after success or error
  - Disable inputs during submission to prevent race conditions
  - Add loading text feedback (Creating..., Inviting..., Adding...)

Closes Fundable-Protocol#715
Closes Fundable-Protocol#732
@drips-wave

drips-wave Bot commented Aug 31, 2026

Copy link
Copy Markdown

@Hahfyeex 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

@coderabbitai

coderabbitai Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 507f63bd-bdc3-4615-9423-316b493d92f6


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Utilitycoder

Copy link
Copy Markdown
Contributor

Thanks for the work. Kindly ensure you offramp with Fundable at https://stellar.fundable.finance/offramp

@Utilitycoder
Utilitycoder merged commit 5485712 into Fundable-Protocol:main Aug 31, 2026
2 checks 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.

bug(frontend): Campaign sponsor button disabled on mobile after click feat(contract): Campaign reserve pool - 10% of funds held for tree replacement

2 participants