Skip to content

feat: add reusable market helper APIs - #13

Merged
EwigMidori merged 8 commits into
tesserspace:mainfrom
mtshit:codex/mkt-market-helpers
May 17, 2026
Merged

feat: add reusable market helper APIs#13
EwigMidori merged 8 commits into
tesserspace:mainfrom
mtshit:codex/mkt-market-helpers

Conversation

@mtshit

@mtshit mtshit commented May 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add reusable MarketInfo and TradingPermissions helpers for market status, order capability, quote precision, notional limits, and effective lot constraints
  • add reusable Kline collection helpers for dedup/merge/window operations
  • keep MarketData focused on atomic fetch operations by requiring market(&Symbol) and moving map/history assembly into MarketDataExt
  • implement Binance single-symbol market lookup with exchangeInfo(symbol=...) instead of routing through a full-market fetch

Notes

  • #[async_trait] stays in place intentionally because ExchangeHandle stores Arc<dyn MarketData> and the current handle model relies on object-safe async traits
  • last_prices(Option<&[Symbol]>) and the shared mkt_core::Error surface are unchanged in this round; the follow-up focuses on the concrete performance and trait-boundary issues

Commit Breakdown

  • 8d6b750 Add market helper methods
  • b97fcb3 Add kline collection helpers
  • ba0ef99 Fold market data helpers into MarketData
  • 4dd6f6b Split market data helpers from core trait

Tests

  • cargo test -p mkt-types -p mkt-core

@EwigMidori EwigMidori changed the title Add reusable market helper APIs feat: add reusable market helper APIs May 17, 2026
@EwigMidori
EwigMidori added this pull request to the merge queue May 17, 2026
Merged via the queue into tesserspace:main with commit bfed806 May 17, 2026
2 checks passed
@mtshit
mtshit deleted the codex/mkt-market-helpers branch May 17, 2026 16:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants