Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Funding fee feature #2584

Merged
merged 12 commits into from
Jun 4, 2024
Merged

Funding fee feature #2584

merged 12 commits into from
Jun 4, 2024

Commits on Jun 4, 2024

  1. chore(coordinator): Use the Amount type more often

    The `Position` model should be as strongly typed as possible.
    Converting to i64 should happen _just_ before inserting into the
    database.
    luckysori committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    8559ae0 View commit details
    Browse the repository at this point in the history
  2. chore: Add postgrest-coordinator container to docker-compose.yml

    This server can be used during local development to query the
    coordinator database conveniently e.g.
    
    ```
    $ curl http://localhost:3002/dlc_protocols | jq .
    [
      {
        "id": 1,
        "protocol_id": "fb4c6f27-db9d-4b2d-8539-6e609e1559b9",
        "previous_protocol_id": null,
        "channel_id": "f689230c5477176961301cb22093cfd52050a52356812039f9c298fe8859eba2",
        "contract_id": "972c5fcafbd6bbbf874a9a5cd44d9ddd05a2e3f3ae96d5bd771e5af1b8cae1a6",
        "protocol_state": "Success",
        "trader_pubkey": "02e9f7a0e0d6eeab989dcbb4e91f0bf95f583b09d8d324cc9635807e844eea82bc",
        "timestamp": "2024-05-13T05:32:36.452958+00:00",
        "protocol_type": "open-channel"
      }
    ]
    ```
    
    It can also be used in the e2e tests to easily assert on the state of
    the coordinator, without needing to add dedicated HTTP API endpoints.
    It might even be used to modify the coordinator state to create
    interesting test scenarios.
    luckysori committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    ed34a16 View commit details
    Browse the repository at this point in the history
  3. feat(coordinator): Apply a funding fee on rollover

    The coordinator generates funding fee events as funding rates are
    added to the database and applies them on rollover.
    
    The app displays funding fee events in a dedicated `Trades` tab,
    together with regular trades. The funding fee events are added as soon
    as the app learns about them from the coordinator, which is usually
    before they are resolved.
    
    Additionally, the app will update the position after rolling over
    based on the funding fee events that were resolved with the rollover.
    
    Missing bits:
    
    - Apply funding fee events on closing and resizing.
    
    - Considering funding fee events when deciding if positions need to be
    liquidated.
    
    - Add some unit tests.
    
    - Expanding e2e tests.
    
    - Add fee rate to app's `Trades` tab.
    
    - Display next fee rate in app's `Trade` screen.
    
    Co-authored-by: Philipp Hoenisch <[email protected]>
    luckysori and bonomat committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    246db24 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4dce214 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    596e575 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1158e23 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    dca01ef View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    2544772 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    305d8b2 View commit details
    Browse the repository at this point in the history
  10. chore(app): Rename Positions tab to Position

    We only support one position at a time at the moment.
    
    Co-authored-by: Richard Holzeis <[email protected]>
    luckysori and holzeis committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    c2cdb64 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    3a85bee View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    c8a55a8 View commit details
    Browse the repository at this point in the history