@liqpro/liq-prices
v0.68.0
Published
Поток цен биржи для браузера: `LiqPrices` держит одну подписку на SSE шлюза (`/sse?channels=price:<marketId>,…`), переоткрывает её с backoff по ошибке или тишине и отдаёт троттлированные `prices_updated`. Стартовое значение — `GET /markets/:id/price`.
Readme
@liq/prices
Поток цен биржи для браузера: LiqPrices держит одну подписку на SSE шлюза
(/sse?channels=price:<marketId>,…), переоткрывает её с backoff по ошибке или
тишине и отдаёт троттлированные prices_updated. Стартовое значение —
GET /markets/:id/price.
Цены приходят от шлюза, а не от вендора оракула: биржа читает push-фиды
RedStone с цепи (PriceSeederService) и вещает каждое показание в
price:<marketId> — браузер видит ровно то число, по которому торгует
matching engine (ADR-0064 в monorepo). Hermes и id Pyth ушли из пакета в 0.51.0.
Public API
LiqPrices— класс:start/stop/rebind/dispose,events,currentPrices,marketIds.gatewayFeed({ gatewayUrl, EventSource?, fetch? })— адаптер шваGatewayFeed;EventSourceинжектируется, потому что ни у Bun, ни у Node (без--experimental-eventsource) глобального нет (браузер отдаёт свой).DEFAULT_TIMINGS,LiqPricesTimings— троттл, порог тишины, backoff.ResourceRegistry,TypedEventEmitter,Disposable— lifecycle.
Ключи карты цен — FuturesMarketAsset (LIVE_MARKETS из @liq/core);
publishTimes — секунда записи показания сеятелем × 1000. Поле
type: 'off_chain' в PriceUpdateEvent сохранено ради потребителей.
