Refactor ethEvents
Currently we are using a custom implementation for tracking events on Ethereum. Even that our implementation works fine it would be easy for us to maintain the code if we use the abigen generated contract bindings. The code generated have the required functions for watching and tracking the events.