Fix hermes construct_update_data to support generating update_data
for more than 255 messages. This is very unlikely to happen in normal
cases but the way WS <> store interact can cause this to happen when
a WS client subscribes to all price feeds.
Some WS clients were receiving "Abnormal Connection Closure" errors.
This commit fixes the issue by sending specific close message upon
receiving close message from client. This commit also refactors the
ws.rs code by making it simpler and using tokio::time::Interval
instead of a manually implemented interval. Lastly, it updates the
axum package to include newer patches.
feat: use pythnet serialization in hermes
Fix vaa validation
Clippy
Update config names
Wrap Store with Arc
Store works perfectly without Arc as all it's elements are behind an Arc
or something similar to that, however a developer might make
mistake to add a field and missing it.
Improve error handling
Update metadata struct
Add metadata
Update Eth listener
Pin wormhole to a version
Fix ws dispatcher
fix: blocking in go recv corrupts tokio runtime
Make network <> store message passing non-blocking
Update logs and revert debug changes
* [hermes] Add more rest api methods
Add many of the price service apis. Per David suggestion, we do
validation in parsing instead of doing it later. I didn't find
any suitable library to deserialize our hex format so I created
a macro to implement it because we use it in a couple of places.
I tried making a generic HexInput but couldn't make it working
(and I need other crates like generic_array for it which makes
the code more complex)
* Address feedbacks