You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Settle batch claims with actual token payouts #1198
batch_claim marks claims consumed and settled and returns total_claimed, but no token is configured and nothing is transferred to claimants.
Why this matters
Claimants authorize a transaction that tells them they were paid while their balance does not change; the design doc describes 'batch-collect' rewards.
Scope
Add a reward token (and funding source) at init, transfer each claimant's pending_amount during settlement after state updates, and check the contract balance covers the batch total up front.
Relevant code in CalloraOrg/Callora-Contracts:
contracts/batch_claim/src/lib.rs
contracts/batch_claim/docs/storage.md
Priority
Medium
Acceptance criteria
Each claimant receives exactly their pending amount
Insufficient contract balance fails before any state change
Events include token
Storage doc updated
Validation
cargo test -p callora-batch-claim
Non-goals
Typo-only, formatting-only, or cosmetic changes.
Unrelated refactors, dependency upgrades, or broad rewrites.
Removing safeguards or weakening validation to make tests pass.
Contributor application
Before coding, describe the affected modules, proposed state/invariant changes, test strategy, compatibility considerations, and an estimate. Wait for assignment before starting implementation.
PR requirements
Use a feature branch and include Closes #<issue-number>. Address every criterion, map criteria to code and tests, explain security and failure-mode handling, and ensure CI passes.
Quality review
A maintainer will assess correctness, completeness, test depth, compatibility, observability, and adverse-case handling. A substantive implementation is required; merge or CI status alone does not guarantee reward eligibility.
changed the title [-]Keep leaderboard rank pages deterministic[/-][+]Add focused test coverage for contracts/revenue_pool/src/test_balance.rs[/+]on Sep 27, 2026
changed the title [-]Add focused test coverage for contracts/revenue_pool/src/test_balance.rs[/-][+]Settle batch claims with actual token payouts[/+]on Sep 27, 2026
@Guddy1-tech has applied to work on this issue as part of the Stellar Wave Program's 9th wave.
Hi! I'm a full-stack developer with a strong blockchain background. I'd love to handle this issue and can deliver a clean and reliable solution. Kindly assign it to me.
@devprom6 has applied to work on this issue as part of the Stellar Wave Program's 10th wave.
I'd like to take this issue. It covers an important part of the project, and I want to contribute something that fits the existing architecture and development standards and holds up over time.
I've worked across backend and frontend development, APIs, databases, testing, DevOps, and blockchain-based applications. I'm comfortable reading an unfamiliar codebase, tracking an issue down to its root cause, and writing clean fixes with tests that guard against regressions.
My plan is to start by reading the existing implementation and project conventions, then build the solution in small, focused steps. I'll test the changes, document them where needed, and keep the code simple so nothing existing breaks. I'll also respond quickly to review feedback so the PR is easy to merge.
@spartan124 has applied to work on this issue as part of the Stellar Wave Program's 10th wave.
I have solid experience writing and testing Soroban contracts in Rust, specifically around token transfers, state invariants, and event emission. Approach:
Update contract initialization in contracts/batch_claim/src/lib.rs to configure and persist the reward token identifier.
In batch_claim, pre-validate that the contract holds sufficient token balance before modifying any claim or settlement state.
Execute standard Soroban token client transfers to disburse each claimant's pending_amount upon settlement.
Include the token address in claim events and update contracts/batch_claim/docs/storage.md to document the new storage layout.
Add comprehensive unit tests covering successful payouts and balance pre-check reverts (cargo test -p callora-batch-claim). ETA: 2–4 hours
Activity
[-]Keep leaderboard rank pages deterministic[/-][+]Add focused test coverage for contracts/revenue_pool/src/test_balance.rs[/+][-]Add focused test coverage for contracts/revenue_pool/src/test_balance.rs[/-][+]Settle batch claims with actual token payouts[/+]Victorjonah-prog commentedon Sep 29, 2026
@Victorjonah-prog has applied to work on this issue as part of the Stellar Wave Program's 9th wave.
ℹ️ Repo Maintainers: To accept this application, review their application or assign @Victorjonah-prog to this issue.
Devadakene commentedon Sep 30, 2026
@Devadakene has applied to work on this issue as part of the Stellar Wave Program's 9th wave.
ℹ️ Repo Maintainers: To accept this application, review their application or assign @Devadakene to this issue.
Guddy1-tech commentedon Sep 30, 2026
@Guddy1-tech has applied to work on this issue as part of the Stellar Wave Program's 9th wave.
ℹ️ Repo Maintainers: To accept this application, review their application or assign @Guddy1-tech to this issue.
Rodrigoue9 commentedon Oct 3, 2026
Hi @maintainers! I'd like to work on this issue. Here is my proposed technical approach:
Proposed Technical Approach:
require_auth), and gas optimization.soroban-sdk::Envverifying both success and failure execution paths.Key Files:
contracts/**/src/lib.rs(contract entrypoints and interface implementations)contracts/**/src/types.rsorstorage.rs(types, data keys, and state)contracts/**/src/test.rs(unit tests and integration vectors)Verification & Testing:
cargo testacross all contract crates verifying 100% pass rate.cargo clippy --all-targets -- -D warningsandcargo fmt --check.soroban contract build.Relevant Track Record:
I have successfully implemented and merged multiple production PRs across the Stellar ecosystem and Web3 open-source projects (e.g., Bitcoindefi/OpenAO #218, cybermax4200/stellar-did-credit #898 & #900, and FindMalek/sonaraem #416).
Please feel free to assign this issue to me so I can proceed with the implementation. Thank you!
rupesh-kumar-sah commentedon Oct 7, 2026
Hi team,
Happy to tackle this. Here is how I plan to implement it:
Solution overview:
Please assign this to me if the plan looks good. Thanks!
devprom6 commentedon Oct 15, 2026
@devprom6 has applied to work on this issue as part of the Stellar Wave Program's 10th wave.
ℹ️ Repo Maintainers: To accept this application, review their application or assign @devprom6 to this issue.
spartan124 commentedon Oct 16, 2026
@spartan124 has applied to work on this issue as part of the Stellar Wave Program's 10th wave.
ℹ️ Repo Maintainers: To accept this application, review their application or assign @spartan124 to this issue.
lienhoatienphung-svg commentedon Oct 16, 2026
Hi! I have implemented and verified this in #1385 with full unit test coverage and rustfmt compliance.