This document describes the process of contributing to this project. It is intended for anyone considering opening an issue or pull request.
Important
If you are using any kind of AI assistance to contribute to this project, it must be disclosed in the pull request.
If you are using any kind of AI assistance while contributing to this project, this must be disclosed in the pull request, along with the extent to which AI assistance was used. Trivial tab-completion doesn't need to be disclosed, as long as it is limited to single keywords or short phrases.
An example disclosure:
This PR was written primarily by Claude Code.
Or a more detailed disclosure:
I consulted ChatGPT to understand the codebase but the solution was fully authored manually by myself.
If you'd like to contribute, report a bug, suggest a feature or you've implemented a feature you should open an issue or pull request.
Any contribution to the project is expected to contain code that is formatted, linted and that the existing tests still pass. Adding unit tests for new code is also welcome.
git clone https://github.com/flare-foundation/reward-scripts.git
cd reward-scripts
pnpm installTo compile TypeScript:
pnpm buildThis project uses ESLint and Prettier with the Flare shared configurations.
Lint all source files:
pnpm lint:checkLint and auto-fix:
pnpm lint:fixCheck formatting:
pnpm format:checkFormat all source files:
pnpm format:fixRun the test suite:
pnpm testRun with coverage report:
pnpm test:coverageThe reward calculation outputs are committed directly to the repository on a per-epoch basis. There is no package release process.