-
Read EIP-20 and try to figure how it is working.
-
Read the description of the attack scenario on EIP-20
-
Open ERC20.tla and MC_ERC20.tla.
-
Check the trace invariant
NoTransferAboveApproved
:$ apalache-mc check --inv=NoTransferAboveApproved MC_ERC20.tla
-
The tool reports an invariant violation.
-
Open the counterexample and see, whether it matches the above attack scenario.