Thank you for contributing!
If you have a security concern, please see our security policy. Otherwise here are some development practices we strive to adhere to.
We track releases with semver tags, and we develop directly on our main
branch.
File pull requests against main
to have your code reviewed. Every
main
pull request must
- pass required CircleCI checks
- be approved:
- by 3 Contributors for deployments-mainnet.json.
- by 2 Contributors for smart contract code.
- by 1 Contributor for tests and documentation.
We encourage all developers to review all PRs.
🎆 Write PR messages in an imperative mood, prepended by an emoji.
Keep PRs as short and sweet as possible. This makes review easier and faster. Same advice goes for commits.
We squash PRs before merging, so keep the subject lines of commits brief but informative.
Rebasing your branch against main
is okay before review. But after someone has
commented, please merge any new changes. This helps avoid rebase headaches and
preserve PR comment history.
Close PRs that aren't ready for review, unless you mark it as Work In Progress (WIP) and want feedback (but then close the PR after receiving the feedback).
Clean up any merged or abandoned branches. Any branch that hasn't been touched for over 1 month may be deleted without notice.
All Solidity functions must be unit tested before merging.
Feel free to run the following command from main
at any time and submit a PR
for obvious minor review:
$ yarn docs
Feel free to deploy up-to-date main
contracts to Goerli at any time from a
clean branch.
- Test the deployment locally with the
--dry-run
flag to confirm the update can succeed:
$ yarn deploy:truefi2 --network goerli --dry-run
- Then deploy and verify the contracts on Etherscan:
$ yarn deploy:truefi2 --network goerli --verify
- This should update addresses in deployments-goerli.json. Confirm these updates are correct before submitting a PR with the updates for review.
We try to adhere to the Solidity style guide.
Thanks! -- The TrustToken team