Commit Graph

297 Commits

Author SHA1 Message Date
GroovieGermanikus acfb52ff47 handle loop-over 2023-08-25 14:03:24 +02:00
GroovieGermanikus 8e25a50a28 refactor websocket to use new filter struct 2023-08-25 13:06:44 +02:00
GroovieGermanikus e8620a832b geyser source migrated to new filter format 2023-08-25 12:44:15 +02:00
GroovieGermanikus b8b6a58420 WIP - snapshot typing 2023-08-25 12:31:32 +02:00
GroovieGermanikus 5b202921c9 configure to run with test-validator 2023-08-25 10:38:55 +02:00
GroovieGermanikus 16cf9e1817 add example for websocket 2023-08-24 22:59:43 +02:00
Riordan Panayides 292592b62c Optionally read token from config 2023-07-25 17:05:27 +01:00
Maximilian Schneider 6c33bdde35
Implement FilterConfig with account id for websocket_source (#10)
* implement FilterConfig with account id for websocket_source

* correctly handle empty select streams being always closed

---------

Co-authored-by: Riordan Panayides <riordan@panayid.es>
2023-06-27 18:49:38 +01:00
Riordan Panayides 9c98144a57 Fix metric names 2023-06-23 15:51:26 +01:00
Riordan Panayides 61dfa18277 v0.1.7 2023-06-23 15:35:06 +01:00
riordanp 13c2636e00
Update README.md 2023-06-23 15:29:10 +01:00
Lou-Kamades df2509bd8d
Add L3 option to Orderbook feed (#9)
* feat: add L3 option to feeds

* ensure subscriptions are backwards compatible

* feat: update ts client for L3 subsscriptions

* add unique metrics for book/level updates + check updates aren't empty

---------

Co-authored-by: Riordan Panayides <riordan@panayid.es>
2023-06-23 15:28:38 +01:00
Riordan Panayides b0fd8972c6 Merge branch 'main' of github.com:blockworks-foundation/mango-feeds 2023-05-07 12:56:10 +01:00
Riordan Panayides c6f28a9652 cartgo fmt 2023-05-07 12:56:05 +01:00
riordanp f935999e45
Fix orderbook docs 2023-05-07 12:51:15 +01:00
Riordan Panayides f2688876b0 Fix orderbook exit handling, tidy up scope 2023-05-07 12:50:33 +01:00
Maximilian Schneider e5f91c282f
correctly display oracle peg orders (#4)
* handle oracle peg correctly in l2 updates
* disable conf & stalenes check
2023-05-04 01:17:04 +02:00
Riordan Panayides 472cd16aac Update readmes 2023-04-28 15:14:19 +01:00
Riordan Panayides e08404bcae v0.1.6 2023-04-25 16:20:11 +01:00
riordanp bbf6927159
Orderbook Feed Fixes (#3)
- Use GHCR for publishing the Docker image
- Orderbook Feed Fixes:
  - Fix serum prices
  - Read rpc url from env
  - Add keepalives
  - Add exit signal
  - Enable serum markets
  - Reduce info logging
-Refactor TS client library and add Orderbook feed
2023-04-25 16:16:20 +01:00
Maximilian Schneider bc78b86cec
Prepare mango-feeds for usage in mango-simulation (#2)
* update yellowstone

* Bump yellowstone-grpc-proto min version

Can't compile with the old version anymore since a new field was added
to the SubscribeRequestFilterAccounts struct.

* Bump connector version to 0.1.1

* Add "solana-1-15" feature that works with solana 1.15 versions

* reexport solana sdk for pubkey access

* add more logs

* fix bug in account write filter

* use gma snapshots for websocket source

* handle account write filter shutdown w/o crash

* Bump ci rust version

* Fix clippy complaints

---------

Co-authored-by: Christian Kamm <mail@ckamm.de>
Co-authored-by: Riordan Panayides <riordan@panayid.es>
2023-04-20 19:24:01 +01:00
Riordan Panayides 079eb7efde v0.1.5
- Fix connection for feeds created without subscriptions
2023-04-13 14:30:25 +01:00
Riordan Panayides 488f363119 v0.1.4
- Use correct WebSocket implementation in browser
- Pass reconnectionAttemptsExhausted to onDisconnect
- Add disconnect function
- Fix package types
2023-04-13 13:49:12 +01:00
Riordan Panayides 150e85cfeb v0.1.3 2023-04-13 13:18:56 +01:00
Riordan Panayides e285edd634 v0.1.2 2023-04-09 22:21:49 +01:00
Riordan Panayides 6967849926 v0.1.1 2023-04-09 21:46:37 +01:00
Riordan Panayides 73037b39ea v0.1.0 2023-04-09 14:41:39 +01:00
Riordan Panayides eb44c8fb4f Add unsubscribe client method 2023-04-09 14:41:08 +01:00
Riordan Panayides dfd3cf8527 Add mango-fills client library 2023-04-08 04:04:36 +01:00
Riordan Panayides 8e0ec88d2c Enable cargo-chef 2023-04-08 02:32:17 +01:00
Riordan Panayides 66ef1c01bb Fix HeadUpdate seq_nums 2023-04-08 02:31:59 +01:00
Maximilian Schneider b6912202bd
Refactoring, Fills Feed changes (#1)
lib:
- Move fill/orderbook filters out of shared lib into the services
- Add some common structs to shared lib
- Add libraries to fills/orderbook services

feeds:
- Add graceful exit handling
- Publish single perp fill event for both maker and taker
- Disable openbook fills processing
- Fix perp fill event quantity decimals
- Handle revoked fills in postgres
- Allow subscriptions to multiple and all markets, and accounts
- Add event queue head updates
2023-04-07 16:27:54 +01:00
Maximilian Schneider d4a0ff7602 switch to AGPL license 2023-03-25 15:58:32 +04:00
Christian Kamm dc51f08fe2 License and manifest updates 2023-03-22 10:43:20 +01:00
Christian Kamm 721dc786bd Ensure a compatible version of tonic 2023-03-22 10:38:25 +01:00
Christian Kamm 0e406af7f3 Drop more dependencies 2023-03-21 12:12:03 +01:00
Christian Kamm d2590c9174 Remove unneeded dependencies 2023-03-21 12:06:42 +01:00
Christian Kamm 7dc07c8709 jsonrpc dep: Work with vanilla v18.0.0
And switch to an override that will enable gzip support by default.
2023-03-21 11:34:05 +01:00
Christian Kamm ede1f41088 Switch to yellowstone-grpc-proto
It's no longer needed to copy the grpc proto defs here and compile them
ourselves.
2023-03-21 11:26:47 +01:00
Christian Kamm 6731496fde This is now mango-fills
- mango-fills-connector: Is about getting data from rpc, websockets,
  geyser. Shall be reused in v4/client and other places.
- mango-fills-lib: is a library we'll probably remove
- service-* is the individual services
2023-03-17 12:57:11 +01:00
Christian Kamm ebd392e628 ChainData: Overwrite data on the same key, slot, write version update 2023-03-17 10:41:19 +01:00
Christian Kamm 96ca006963 Typos and outdated comments 2023-03-16 17:15:15 +01:00
Christian Kamm 12e57ef765 ChainData: Remove the metrics into its separate thing
Until they're refactored away completely.
2023-03-16 17:10:34 +01:00
Christian Kamm 53eefa1395 ChainData: Port over fixes from v4 repo
See mango-v4:7c4d0529790e730820e9ed408310a3bca82493a0

1. Only the CreatedBank message contains the parent and often that was
   not the first message received. That confused the data structure,
   because it then considered a chain of slots alive that had only a
   single slot in it.
   Fixed by tracking as "best_chain" only the top slot that actually has
   a parent set.
2. OptimisticallyConfirm messages sometimes arrive before CreateBank,
   which would change the slot status from Confirmed back to Processed.
   Nothing dependend on confirmed vs processed, but it's been fixed
   anyway by making slot status only increase confirmation status.
2023-03-16 16:04:22 +01:00
Christian Kamm 0a41974aa5 cargo fmt 2023-03-16 15:31:37 +01:00
Christian Kamm 19ccf2ff19 Grpc: Use tls config if uri starts with https
Even if no explicit TlsConfig is set.
2023-03-16 15:23:08 +01:00
Christian Kamm d3fec673cf Separate out shared code into a "data-streams" crate 2023-03-16 14:58:52 +01:00
Maximilian Schneider 8ee6c6ac10 remove warnings 2023-02-18 20:41:40 +09:00
Maximilian Schneider ffe776b70d AccountWriteFilter generic router to process account writes for different modules in the same process 2023-02-07 17:22:21 +09:00
Maximilian Schneider c872d32943 add some basic throttling 2023-02-05 17:14:50 +09:00