solana-accountsdb-connector/service-mango-fills
Riordan Panayides 956b5aa3dd Upgrade mango-v4 2023-02-05 01:43:18 +00:00
..
src Upgrade mango-v4 2023-02-05 01:43:18 +00:00
Cargo.toml * Add chaindata metrics 2023-01-20 14:52:01 +00:00
README.md Update CD, dependencies, READMEs 2023-01-11 15:40:36 +00:00
example-config.toml Auto discover markets in fills feed 2022-12-16 11:03:21 +00:00
template-config.toml Refactor metrics 2022-10-07 11:44:53 +01:00

README.md

service-mango-fills

This module parses event queues and exposes individual fills on a websocket.

Setup

  1. Prepare the connector configuration file.

    Here is an example.

    • bind_ws_addr is the listen port for the websocket clients
    • rpc_ws_url is unused and can stay empty.
    • connection_string for your grpc_sources must point to the gRPC server address configured for the plugin.
    • rpc_http_url must point to the JSON-RPC URL.
    • program_id must match what is configured for the gRPC plugin
    • markets need to contain all observed perp markets
  2. Start the service binary.

    Pass the path to the config file as the first argument. It logs to stdout. It should be restarted on exit.

  3. Monitor the logs

    WARN messages can be recovered from. ERROR messages need attention. The logs are very spammy changing the default log level is recommended when you dont want to analyze performance of the service.

TODO

  • [] startup logic, dont accept market subscriptions before first snapshot
  • [] failover logic, kill all websockets when we receive a later snapshot, more frequent when running on home connections
  • [] track latency accountwrite -> websocket
  • [] create new model for fills so snapshot maps can be combined per market