Design patterns for Ethereum smart contracts - Moura, Tiago Augusto Pinto (2020)