Architecture

The ethereum gateway is comprised of two components:
- Gateway - Responsible for managing connections on the ethereum side and translating between the ethereum wire protocol and an intermediate format.
- Bridge - Responsible for managing connections on the Marlin side and translating between the intermediate format and the Marlin wire protocol. Also responsible for managing Marlin specific bits like discovery and message attestations.