π οΈ Contributing to xcm-tools
β
Thank you for your interest in contributing to xcm-tools
!
We run an open Bug Bounty Program that rewards contributors for reporting and fixing bugs in the project.
π Bug Bounty Overview β
You can contribute in two ways:
- Report bugs β Earn rewards based on bug severity.
- Fix bugs β Earn additional rewards based on fix complexity.
π Bug Reporting β
To report a bug:
- Open an issue in the repository and select
Bug bounty report
- Fill in all required sections.
- Submit the issue β maintainers will review and assign a severity level.
π° Rewards for Reporting Bugs β
Severity Level | Description | Reward |
---|---|---|
βͺοΈ Very low | Very minor errors in docs / text / code | $5 |
π’ Low | Minor UI issues, typos, or cosmetic bugs | $10 |
π Medium | Bugs affecting user features or causing functional issues | $20 |
π΄ High | Crashes, data loss, security vulnerabilities, or major broken functionality | $30 |
Maintainers determine severity based on impact. Contributors may be contacted for clarification.
Please note that reporting and fixing grammar errors in documentation that do not affect functionality or clarity to the user is not rewarded; you are, however, very welcome to open a PR fixing them.
π οΈ Fixing Bugs β
You can contribute fixes to open bug bounty issues.
π Reserving an Issue β
Before working on a fix:
- Ensure, that the issue has "Bug bounty π°" tag on it.
- Comment on the issue with:
I would like to reserve this issue.
- The issue will be assigned and reserved to you for 48 hours.
- If no PR is opened within 48 hours, the reservation expires.
π Contributing to Your Own Report β
If you reported a bug and want to fix it:
- You still need to reserve the issue.
- Submit your PR as outlined below.
π¦ Submitting a Fix β
- Fork the repository and create a new branch.
- Make your changes and commit using a Conventional Commit message with one of the supported tags listed below.
- Open a Pull Request referencing the issue.
- Tag
@michaeldev5
in the PR description to request a review.
β Commit Guidelines β
Please follow the Conventional Commits specification when writing your commit messages. This helps automate changelog generation and improves project consistency.
Use one of the following commit types:
Type | Section | Description |
---|---|---|
feat | Features | New features |
fix | Bug Fixes | Bug fixes |
perf | Performance Improvements | Code changes that improve performance |
revert | Reverts | Revert a previous commit |
docs | Documentation | Changes to documentation only |
style | Styles | Code style changes (formatting, whitespace, etc.) |
chore | Miscellaneous Chores | Routine tasks (note: these are hidden in changelogs) |
refactor | Code Refactoring | Code changes that neither fix bugs nor add features |
test | Tests | Adding or updating tests |
build | Build System | Changes that affect the build system or external dependencies |
ci | Continuous Integration | CI configuration and scripts |
Example: β
git commit -m "fix: Handle null case in token parser"
π΅ Rewards for Fixes β
Complexity | Description | Reward Range |
---|---|---|
βͺοΈ Very low | Very minor errors in docs / text / code | $5 |
π’ Low | Small fix (e.g., 1-2 lines), config changes | $10β$20 |
π Medium | Logic changes, multi-file fixes, test additions | $30β$70 |
π΄ High | Complex refactors, deep bug fixes, architectural or security-critical changes with tests and docs | $80β$250+ |
The reward is based on code complexity and quality, as determined by maintainers.
The High complexity tasks only have theoretical cap of $250, because the final amount depends on complexity of the task. The amount can be higher.
Please note that reporting and fixing grammar errors in documentation that do not affect functionality or clarity to the user is not rewarded; you are, however, very welcome to open a PR fixing them.
π₯ Collaborating on Existing Issues β
If someone has already reported an issue or opened a PR and you want to contribute:
- Comment to express intent.
- If allowed, follow the same reservation/PR process.
- Make sure your contribution is additive and clearly explained.
β FAQ (Frequently Asked Questions) β
π‘ Can I report and fix the same bug? β
Yes! You can both report and fix the bug. Be sure to reserve it as outlined above before working on the fix.
π What happens if I reserve an issue but donβt submit a PR in 48 hours? β
The issue becomes unreserved and open for others to claim. You may re-reserve it if it's still unassigned.
π§Ύ How do you determine reward amounts? β
- Bug reports are evaluated based on user impact and severity.
- Fixes are evaluated based on code complexity, design quality, and completeness (tests, documentation).
π¦ How do I receive payment? β
Your payment will be sent to AssetHub Polkadot address
you provided in the issue or PR and the amount will be paid in USDC
currency. Please ensure to only provide non-cex addresses to the PR, because the payment may not arrive correctly. The payment should be processed within 2 business days after the issue is resolved or PR is merged.
π§ Tips for High-Quality Contributions β
- Follow the existing code style and structure.
- Write meaningful commit messages.
- Include unit tests if applicable.
- Keep PRs focused β one issue per pull request.
- Add inline comments on important changes and new functions
- Be respectful and collaborative in discussions.
π« Need Help? β
If you're unsure how to start or have questions about an issue or PR you can use one of the following ways to reach out to us:
- Contact form on our landing page.
- Message us on our X.
- Support channel on telegram.
We appreciate your support and contributions!
β The ParaSpellβ¨
Team