Skip to content

feat(contracts): Implement configurable campaign participation fee in custom tokensΒ #1371

Open

Description

@Gbangbolaoluwagbemiga

🎯 Problem Statement & Impact

Allow campaigns to charge a small token entry fee that gets added to the reward pool.

Directly improves smart contract safety, multi-asset security, and state persistence on Soroban.

πŸ—οΈ Technical Architecture & Affected Components

  • Primary Component: contracts/ (Soroban Rust Smart Contracts)
  • Integration Points: Ensures full backward compatibility across Soroban contracts, client SDKs, and backend services.
  • Resource Management: Optimized memory utilization, efficient state storage keys, and extend_ttl rent management where applicable.

πŸ’» Code Changes & Implementation Steps

  1. Refactor key modules in contracts/ (Soroban Rust Smart Contracts) to fulfill standard code structure guidelines.
  2. Implement explicit validation, error boundaries, and defensive checks.
  3. Export clean TypeScript bindings or standard Rust/JS interfaces.
  4. Verify end-to-end compatibility across all environment tiers (local testnet & mainnet).

πŸ§ͺ Test Strategy & Verification Criteria

  • Unit tests cover all primary control branches and edge cases cleanly.
  • Integration tests verify contract/API boundaries without memory or balance leaks.
  • Automated CI check passes clean linting, formatting, and security audits.

πŸ“ˆ Contribution to Project & Team Growth

Directly enhances platform scalability, user conversion, developer experience, or financial safety across the ecosystem.

Activity

  1. added
    growthDrives user acquisition, retention, or virality
    help wantedExtra attention welcome
    financial-safetyFunds custody, reserve, redemption integrity
    on Sep 24, 2026
  2. frammawiliansyah commented on Sep 30, 2026

    @frammawiliansyah

    PR #1406 opened addressing this requirement with Soroban unit tests for custom token participation fees.

    Reference: #1406

  3. Ranjeet2063 commented on Oct 5, 2026

    @Ranjeet2063

    Hi maintainers,

    I reviewed this issue and would like to contribute the fix.

    Solution overview:

    1. Audit storage layout and state invariants ensuring strict auth guards.
    2. Implement deterministic state transitions with safe checked arithmetic.
    3. Add hermetic unit and regression tests covering authorized, unauthorized, and boundary edge cases.
    4. Profile instruction and CPU/gas limits under Soroban host environment.

    I can deliver a clean, tested PR within 24 hours. Please assign!

  4. AbelOsaretin commented on Oct 20, 2026

    @AbelOsaretin

    @AbelOsaretin has applied to work on this issue as part of the Stellar Wave Program's 10th wave.

    I would love to work on this issue.

    ℹ️ Repo Maintainers: To accept this application, review their application or assign @AbelOsaretin to this issue.

  5. drips-wave commented on Oct 20, 2026

    @drips-wave

    Congratulations, @AbelOsaretin! πŸŽ‰ Your application was accepted by the repo's maintainers, and the issue is due on October 22, 2026.

    πŸ§‘β€πŸ’» @AbelOsaretin: Please resolve the issue such that the repo's maintainers have enough time to review your contribution before the due date. You'll earn Points for completing the issue on-time, which will make you eligible for a share of the Stellar Wave Program's reward pool.

    Warning

    When opening a PR, please link it to this issue to ensure it gets tracked accurately. Points are awarded when this issue is marked as completed by the maintainer.

    🀠 Repo maintainers: Please keep an eye on the contributor's progress and review their work before the due date. You can manage this issue, including adjusting its complexity and points, here.

    🌊 Happy Wave 🌊

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programarea: contractsSoroban smart contractsfinancial-safetyFunds custody, reserve, redemption integritygrowthDrives user acquisition, retention, or viralityhelp wantedExtra attention welcome

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions