# Evmos - EVM Transaction Issues ## Authors (Please add if you contributed!) * Federico Kunze Küllmer (evmos.org) ## Timeline *Note: All times in UTC* <!-- --> ## Five Whys > Use the [root cause identification technique](https://en.wikipedia.org/wiki/Five_whys). Start with the impact and ask why it happened and why it have the impact it did. Continue asking why until you arrive at the root cause. Document your "whys" as a list here or in a diagram attached to the issue. ### Problem: users were not able to execute EVM transactions **Why were users not able to execute EVM transactions?** - ERC20 module had a bug that, when the `EnableEVMHooks` parameter was set to `false`, all EVM transactions would fail. **Why was the ERC20 module disabled?** - The ERC20 module parameters were disabled in order to leave some time for the chain to become stable. **Why didn't the team fix the issue by creating a parameter change proposal?** - The governance voting period was **Why did the ERC20 module affect the other EVM transactions?** <!-- TODO: explain post processing logic --> **Why did transactions fail in the post processing step** ## Remediation ### Engineering - [x] Fix bug on the ERC20 module ([PR evmos#336 - Merged](https://github.com/tharsis/evmos/pull/336), [PR evmos#337 - Merged](https://github.com/tharsis/evmos/pull/337)) - [x] Create integration tests to prevent ERC20 parameters affecting the EVM txs ([PR evmos#379 - Merged](https://github.com/tharsis/evmos/pull/379)) - [ ] Introduce simulation/fuzzing tests for the ERC20 module parameters and transactions - [ ] Introduce simulation/fuzzing tests for the EVM module parameters and transactions ([PR ethermint#996 - WIP](https://github.com/tharsis/ethermint/pull/996)) - [ ] Create a router for handling transaction events in the EVM postprocessing step, so that errors only affect a single event type at a time. - [x] Post Mortem document of the incident and remediations