Any reviewer can check these:
- If the PR is fixing a bug or adding a feature, add an entry to CHANGELOG.md.
- If the PR changed a Solidity source, run
make compile_contractsand add the resultingraiden_contracts/data/contracts.jsonin the PR. - If the PR is changing documentation only, add
[skip ci]in the commit message so Travis does not waste time.- But, if the PR changes comments in a Solidity source, do not add
[skip ci]and let Travis check the hash of the source.
- But, if the PR changes comments in a Solidity source, do not add
- In Python, use keyword arguments
- Squash unnecessary commits
- Comment commits
- Follow naming conventions
solidityFunction_solidity_argumentsolidity_variablepython_variablePYTHON_CONSTANT
- Follow the Signature Convention in CONTRIBUTING.md
- For each new contract
- The deployment script deploys the new contract.
-
etherscan_verify.pyruns on the new contract.
- Bookkeep
- The gas cost of new functions are stored in
gas.json.
- The gas cost of new functions are stored in
- Solidity specific conventions
- Document arguments of functions in natspec
- Care reentrancy problems
- if the PR adds or removes
require()orassert()- add an entry in Changelog
- open an issue in the client, light client, service repos so the change is reflected there
- Just adding a message in
require()doesn't require these steps.
- When you catch a require() failure in Solidity, look for a specific error message like
pytest.raises(TransactionFailed, match="error message"):
And before "merge" all checkboxes have to be checked. If you find redundant points, remove them.