Oracle: use WS instead of HTTP to get L1 blocks
Currently, we are using a ticker to get new L1 blocks using an HTTP connection. It's not efficient and could confuse people, who are relying on 12s block timeframe.
Instead, we could subscribe to the headers: https://goethereumbook.org/block-subscribe/
If it is a websocket how do we take care potentially missing events due to a faulty connection? with http we know where we left off by checkpointing.
During the ws connection, we could do the same as we are doing now: save the current block number. If any error occurs during the ws connection, check for any missed blocks using an HTTP connection, and then resume using the ws connection.
Closing this as this is already enabled. If websocket address is provided, the oracle will use the ws listener.