- Pull requests should result in code that does not produce any errors when compiled.
- Pull requests should result in code that does not produce any warnings when compiled.
- Run
cargo fmt
before opening a pull request. - Run
cargo clippy
and resolve any warnings. - All functions should have a comment directly above that explains what it does at a high level. This comment should use the triple forward-slash
///
for compatibility with rustdoc. - Each module should contain a high-level description of what the module is intended for. Make sure to use
//!
in the mod.rs file, and each respective rust source file. - No more than 1 line of whitespace at a time.
- Do not add any blockchain-specific code (besides conditional imports).
- Side-effects, assumptions, and “gotchas” should be accompanied by a
NOTE:
comment. - Try to follow a functional style, except for when calling async functions:
- Use constants and immutable variables.
- Use
Iterator
methods likefilter()
,map()
, andfold()
.