Commit Graph

51 Commits

Author SHA1 Message Date
Jayant Krishnamurthy 99f1b6e950
[hermes] Finish up docs (#1002)
* docs

* stuff

* comment
2023-08-03 09:24:31 -07:00
Jayant Krishnamurthy cb49236a58
[hermes] Document most of the endpoints (#997)
* add rough docs for most stuff

* cleanup

* bunch of docs

* bunch of docs

* gr
2023-08-02 19:25:30 -07:00
Jayant Krishnamurthy 07b01118d2
[hermes] Add docs for 1 method (#995)
* doc this one method

* revert
2023-07-29 21:11:03 -07:00
Jayant Krishnamurthy 61e29ac166
[hermes] add utoipa for API docs (#990)
* [hermes] add utoipa for docs

* fix build

* format
2023-07-27 11:29:56 -07:00
Ali Behjati 9e4242a20e doc(hermes): update readme instructions 2023-07-27 18:31:42 +03:30
Ali Behjati 5f11c3d042 fix(hermes): fix rust version 2023-07-27 18:31:42 +03:30
Ali Behjati c1517349f8
test(hermes): add tests for store (#985) 2023-07-27 12:28:12 +03:30
Ali Behjati ec6378676c chore(hermes): version bump 2023-07-26 12:23:12 +03:30
Ali Behjati 4fba5d4f1b chore(hermes): update crates 2023-07-26 12:23:12 +03:30
Ali Behjati 6a4b812ea3 refactor(hermes): remove Storage trait indirection
- Remove Storage trait and LocalStorage and implement everything on Storage struct
- Remove update_accumulator_state and break it down to accumulator_messages and
wormhole_merkle_state
2023-07-26 12:23:12 +03:30
Reisen 8c342c2ae0 fix: bump cargo and go versions to fix memory/compile issue 2023-07-21 16:56:46 +01:00
Ali Behjati 96cb221a3a
[hermes] Fix concurrency issue (#925) 2023-06-28 12:30:06 +02:00
Ali Behjati dfc2df779c
[hermes] Use raw_message for future-compatibility (#913) 2023-06-23 19:31:44 +02:00
Ali Behjati d07cc9d1ea
[hermes] Add storage tests + refactor (#907)
* [hermes] Add storage tests + refactor

* Bump pythnet_sdk version + update cosmwasm

* Address review feedbacks
2023-06-22 14:38:56 +01:00
Ali Behjati 26f3fc3653
[hermes] Add health probe (#899)
* [hermes] Add health probe

* Address feedbacks

* Address feedbacks
2023-06-19 19:25:29 +02:00
Ali Behjati b596090bd8
[hermes] Switch to message structs in pythnet_sdk (#897) 2023-06-19 18:21:39 +02:00
Ali Behjati 4c2dfad755
[hermes] fix cors bug (#896)
* Fix cors policy error

* Bump version

* Remove unused dependencies
2023-06-19 17:15:12 +02:00
Reisen 2b829f36a0
feat: guardian source from ethereum to pythnet (#894) 2023-06-16 15:48:36 +02:00
Ali Behjati 29dad7acc7
[hermes] Add get_price_feed endpoint (#883) 2023-06-13 17:24:13 +02:00
Ali Behjati f394d9e761
[hermes] Fix memory leak (#881) 2023-06-13 17:11:47 +02:00
Reisen 54b59e6644 fix: whitespace 2023-06-12 12:05:57 +01:00
Reisen 034dc15cfa feat: add go profiling 2023-06-12 12:05:57 +01:00
Reisen cf7c6839eb address feedback 2023-06-05 15:19:48 +01:00
Ali Behjati 3a1b2a36b3 Address comments 2023-06-05 15:19:48 +01:00
Reisen 468817c5bc Update p2p.go to use tabs 2023-06-05 15:19:48 +01:00
Ali Behjati 417fa50f14 Add Dockerfile + CI release action 2023-06-05 15:19:48 +01:00
Ali Behjati 02de29624c Add vaa cache 2023-06-05 15:19:48 +01:00
Ali Behjati 04806a551e Refactor 2023-06-05 15:19:48 +01:00
Ali Behjati 4fa9304b4f Move Message type extensions to pyth-client 2023-06-05 15:19:48 +01:00
Ali Behjati c707e42fb8 More refactor 2023-06-05 15:19:48 +01:00
Ali Behjati 9dd1520a25 Small refactor 2023-06-05 15:19:48 +01:00
Ali Behjati 23340d5e6c Clippy 2023-06-05 15:19:48 +01:00
Reisen 454cd03b90 updates 2023-06-05 15:19:48 +01:00
Reisen 065fba29b1 feat: correct wire format definitions 2023-06-05 15:19:48 +01:00
Reisen a1dff0f5ac feat: add serializers for pyth formats
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
2023-06-05 15:19:48 +01:00
Ali Behjati 8aeef6e6bd Add vaa verification 2023-06-05 15:19:48 +01:00
Ali Behjati d77070feae clippy 2023-06-05 15:19:48 +01:00
Ali Behjati d70119c067 Use pyth-oracle types 2023-06-05 15:19:48 +01:00
Ali Behjati 15e35aa300 Fix wormhole message parsing 2023-06-05 15:19:48 +01:00
Ali Behjati fca22a5b2e Fix pythnet listner 2023-06-05 15:19:48 +01:00
Ali Behjati ec5ad5fe79 Use slot for pending accumulations 2023-06-05 15:19:48 +01:00
Ali Behjati 05bd9b4be7 Use wormhole sdk 2023-06-05 15:19:48 +01:00
Ali Behjati d93154a58d Fix ping problem from client 2023-06-05 15:19:48 +01:00
Ali Behjati 866eace744 Add initial version 2023-06-05 15:19:48 +01:00
Ali Behjati 8a5a74ec34
[hermes] Add WS (#773)
* [hermes] Add WS

* Address Jayant comments

* Update hermes/src/network/rpc/ws.rs

Co-authored-by: Reisen <Reisen@users.noreply.github.com>

* Address David comments

---------

Co-authored-by: Reisen <Reisen@users.noreply.github.com>
2023-05-01 19:05:15 +02:00
Thomaz Leite 04b1a21dfe
[hermes] Pass Wormhole arguments from command line or env. vars (#769)
* Format p2p.go

* Pass Wormhole arguments from command line or env. vars

* Remove forget calls and let memory be freed (also remove confusing comment)

* Use proper types on command line arguments
2023-04-19 17:04:30 -03:00
Ali Behjati c951ff634a
[hermes] Improve latest feeds rest api (#752)
* [hermes] Improve latest feeds rest api

This change adds verbose and binary option to latest_price_feeds
endpoint. Unfortunately it exposes many internal information which
required touching different components to expose batch_vaa specific
information. The code is now coupled to batch_vaa and we need to
refactor it when we add other proof types (and eventually remove it when
it get deprecated).

* Update hermes/src/network/rpc/rest.rs

Co-authored-by: Reisen <Reisen@users.noreply.github.com>

* Update hermes/src/network/rpc/rest.rs

Co-authored-by: Reisen <Reisen@users.noreply.github.com>

* Fix merge

---------

Co-authored-by: Reisen <Reisen@users.noreply.github.com>
2023-04-18 18:14:07 +02:00
Ali Behjati 3ad3a46b1d
[hermes] add get price feed ids + refactor (#747)
* [Hermes] Add get price feed ids + refactor

* Address feedbacks
2023-04-18 17:50:34 +02:00
Ali Behjati 32596d5d4e
[hermes] Add more rest api methods (#746)
* [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
2023-04-18 17:20:11 +02:00
Ali Behjati 1af86140f1
[hermes] Add basic structure for price store and rpc (#717)
Co-authored-by: Reisen <Reisen@users.noreply.github.com>
2023-03-30 14:27:02 +02:00