- All contract functions follow the Checks-Effects-Interactions pattern
- Pull over push: the contract makes no calls to other contracts, nor does it transfer ether to any address
- Liberal use of modifiers that apply
require
predicates - Very narrow pragma, compiling only against
0.8.9
at time of writing