Description 📝
Implement the core logic to implement gamification badges and achievements for backers. This feature is essential for the advanced crowdfunding aspect of the Shade contract, providing necessary tools for modern campaign creators and backers. The system must seamlessly integrate with existing fundraising modules while maintaining strict security checks and accurate state management.
Proposed Steps 📝
- Define new
DataKey entries in types.rs to track the necessary persistent state.
- Create or update the relevant component module in the
components/ directory.
- Implement the primary action functions ensuring robust
require_auth() and role-based checks.
- Update the main
ShadeTrait interface to expose these functions to the Soroban VM.
- Define and emit appropriate, highly-detailed events in
events.rs to facilitate off-chain indexing and UI updates.
Acceptance Criteria ✅
- The new functionality executes flawlessly on the local testnet and handles concurrent calls.
- Storage keys and data models are optimized to minimize Soroban rent/fee overhead.
- Events are emitted correctly containing all necessary structural metadata.
- The contract passes all static analysis, linting checks, and maintains backwards compatibility.
Description 📝
Implement the core logic to implement gamification badges and achievements for backers. This feature is essential for the advanced crowdfunding aspect of the Shade contract, providing necessary tools for modern campaign creators and backers. The system must seamlessly integrate with existing fundraising modules while maintaining strict security checks and accurate state management.
Proposed Steps 📝
DataKeyentries intypes.rsto track the necessary persistent state.components/directory.require_auth()and role-based checks.ShadeTraitinterface to expose these functions to the Soroban VM.events.rsto facilitate off-chain indexing and UI updates.Acceptance Criteria ✅