Deribit: Replace bespoke message IDs with uuid v7 (#1995)

* Deribit: Switch to string IDs

Switch from int to string IDs so we can use UUID.v7 instead of (the only) local high precision message id implementation

* Deribit: Dedup wsResponse / wsResponse

* Deribit: Use uuid v7 for IDs

This moves away from centralising message ids.
There's no real benefit to moving them to a central generator, since we
can one-line it, and reduce our testing plane and complexity.
And it's more concise for exchanges to say "I'm using this UUID".

* Deribit: Handle errors from StartHeartbeat

* Deribit: Simplify WS ID matching

* Exchanges: Add MessageID function to base
This commit is contained in:
Gareth Kirwan
2025-09-12 12:52:03 +07:00
committed by GitHub
parent 4ac0519a4c
commit 6907dfa6a8
7 changed files with 97 additions and 69 deletions

View File

@@ -40,9 +40,7 @@ type IBotExchange interface {
GetEnabledFeatures() FeaturesEnabled
GetSupportedFeatures() FeaturesSupported
// GetTradingRequirements returns trading requirements for the exchange
GetTradingRequirements() protocol.TradingRequirements
GetCachedTicker(p currency.Pair, a asset.Item) (*ticker.Price, error)
UpdateTicker(ctx context.Context, p currency.Pair, a asset.Item) (*ticker.Price, error)
UpdateTickers(ctx context.Context, a asset.Item) error