The Marshaler interface is used to transform internal types to
decorated RPC ones.
It decouples that functionality form the rpcServer so it is easier to
test exhaustively.
The `mockgen` tool seems to have a bug and it is not able to parse a
valid go file. I had to change the `[sha256.Size]byte` to `[size]byte`
and define `hashSize` in the order package in the same way it is defined in
the sha256 one.
- `make mock`: generates all the mocks for testing.
- `mock-check`: generates all the mocks + checks if any *.go file changed.
- `make gen`: generates all the auto generated files (protos + mocks).
- Add `mock-check` to our CI