Too Long; Didn't Read
Smart contracts offer the ability to determine factors and expectations set out by the contract. In the field of programming, factors can be described as ‘variables’ and ‘conditions’ within the actual code. As such, state changes throughout a smart contract should adhere only to the contract’s logic. We will examine a couple of cases that prove a capable attacker could potentially violate the terms set by the smart contract in the first place. This can be achieved by these three methods: arithmetic overflows/underflows of EVM.