@symmio/trading-core 1.1.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/candles/adapters/tradingview/index.d.ts +4 -0
- package/dist/candles/adapters/tradingview/index.d.ts.map +1 -0
- package/dist/candles/adapters/tradingview/map-resolution.d.ts +26 -0
- package/dist/candles/adapters/tradingview/map-resolution.d.ts.map +1 -0
- package/dist/candles/adapters/tradingview/map-resolution.js +51 -0
- package/dist/candles/adapters/tradingview/map-resolution.js.map +1 -0
- package/dist/candles/adapters/tradingview/to-tradingview-datafeed.d.ts +48 -0
- package/dist/candles/adapters/tradingview/to-tradingview-datafeed.d.ts.map +1 -0
- package/dist/candles/adapters/tradingview/to-tradingview-datafeed.js +115 -0
- package/dist/candles/adapters/tradingview/to-tradingview-datafeed.js.map +1 -0
- package/dist/candles/adapters/tradingview/types.d.ts +102 -0
- package/dist/candles/adapters/tradingview/types.d.ts.map +1 -0
- package/dist/candles/index.d.ts +6 -0
- package/dist/candles/index.d.ts.map +1 -0
- package/dist/candles/query.d.ts +58 -0
- package/dist/candles/query.d.ts.map +1 -0
- package/dist/candles/query.js +31 -0
- package/dist/candles/query.js.map +1 -0
- package/dist/candles/resolution.d.ts +25 -0
- package/dist/candles/resolution.d.ts.map +1 -0
- package/dist/candles/resolution.js +30 -0
- package/dist/candles/resolution.js.map +1 -0
- package/dist/candles/sources/binance/constants.d.ts +46 -0
- package/dist/candles/sources/binance/constants.d.ts.map +1 -0
- package/dist/candles/sources/binance/constants.js +21 -0
- package/dist/candles/sources/binance/constants.js.map +1 -0
- package/dist/candles/sources/binance/create-binance-candle-source.d.ts +65 -0
- package/dist/candles/sources/binance/create-binance-candle-source.d.ts.map +1 -0
- package/dist/candles/sources/binance/create-binance-candle-source.js +92 -0
- package/dist/candles/sources/binance/create-binance-candle-source.js.map +1 -0
- package/dist/candles/sources/binance/fetch-binance-exchange-info.d.ts +40 -0
- package/dist/candles/sources/binance/fetch-binance-exchange-info.d.ts.map +1 -0
- package/dist/candles/sources/binance/fetch-binance-exchange-info.js +34 -0
- package/dist/candles/sources/binance/fetch-binance-exchange-info.js.map +1 -0
- package/dist/candles/sources/binance/fetch-binance-klines.d.ts +36 -0
- package/dist/candles/sources/binance/fetch-binance-klines.d.ts.map +1 -0
- package/dist/candles/sources/binance/fetch-binance-klines.js +31 -0
- package/dist/candles/sources/binance/fetch-binance-klines.js.map +1 -0
- package/dist/candles/sources/binance/index.d.ts +8 -0
- package/dist/candles/sources/binance/index.d.ts.map +1 -0
- package/dist/candles/sources/binance/map-resolution.d.ts +25 -0
- package/dist/candles/sources/binance/map-resolution.d.ts.map +1 -0
- package/dist/candles/sources/binance/map-resolution.js +34 -0
- package/dist/candles/sources/binance/map-resolution.js.map +1 -0
- package/dist/candles/sources/binance/parse-kline.d.ts +61 -0
- package/dist/candles/sources/binance/parse-kline.d.ts.map +1 -0
- package/dist/candles/sources/binance/parse-kline.js +32 -0
- package/dist/candles/sources/binance/parse-kline.js.map +1 -0
- package/dist/candles/sources/binance/watch-binance-klines.d.ts +54 -0
- package/dist/candles/sources/binance/watch-binance-klines.d.ts.map +1 -0
- package/dist/candles/sources/binance/watch-binance-klines.js +45 -0
- package/dist/candles/sources/binance/watch-binance-klines.js.map +1 -0
- package/dist/candles/types.d.ts +192 -0
- package/dist/candles/types.d.ts.map +1 -0
- package/dist/core/chains/actions/get-default-solver.d.ts +22 -0
- package/dist/core/chains/actions/get-default-solver.d.ts.map +1 -0
- package/dist/core/chains/actions/get-default-solver.js +10 -0
- package/dist/core/chains/actions/get-default-solver.js.map +1 -0
- package/dist/core/chains/index.d.ts +4 -0
- package/dist/core/chains/index.d.ts.map +1 -1
- package/dist/core/chains/price-service-support.d.ts +18 -0
- package/dist/core/chains/price-service-support.d.ts.map +1 -0
- package/dist/core/chains/price-service-support.js +10 -0
- package/dist/core/chains/price-service-support.js.map +1 -0
- package/dist/core/chains/registry.d.ts.map +1 -1
- package/dist/core/chains/registry.js +88 -42
- package/dist/core/chains/registry.js.map +1 -1
- package/dist/core/chains/resolve-solver.d.ts +14 -0
- package/dist/core/chains/resolve-solver.d.ts.map +1 -0
- package/dist/core/chains/resolve-solver.js +14 -0
- package/dist/core/chains/resolve-solver.js.map +1 -0
- package/dist/core/chains/solver-support.d.ts +14 -0
- package/dist/core/chains/solver-support.d.ts.map +1 -0
- package/dist/core/chains/solver-support.js +10 -0
- package/dist/core/chains/solver-support.js.map +1 -0
- package/dist/core/chains/supported-chains.d.ts +3 -1
- package/dist/core/chains/supported-chains.d.ts.map +1 -1
- package/dist/core/chains/supported-chains.js +1 -1
- package/dist/core/chains/supported-chains.js.map +1 -1
- package/dist/core/chains/types.d.ts +236 -22
- package/dist/core/chains/types.d.ts.map +1 -1
- package/dist/core/chains/types.js +6 -0
- package/dist/core/chains/types.js.map +1 -0
- package/dist/core/config/config-key.d.ts +6 -0
- package/dist/core/config/config-key.d.ts.map +1 -1
- package/dist/core/config/config-key.js.map +1 -1
- package/dist/core/config/create-config.d.ts +37 -9
- package/dist/core/config/create-config.d.ts.map +1 -1
- package/dist/core/config/create-config.js +47 -25
- package/dist/core/config/create-config.js.map +1 -1
- package/dist/core/config/merge-chain-config.d.ts.map +1 -1
- package/dist/core/config/merge-chain-config.js +81 -28
- package/dist/core/config/merge-chain-config.js.map +1 -1
- package/dist/index.d.ts +281 -34
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +490 -285
- package/dist/inventory/index.d.ts +5 -0
- package/dist/inventory/index.d.ts.map +1 -0
- package/dist/inventory/resolve-inventory.d.ts +25 -0
- package/dist/inventory/resolve-inventory.d.ts.map +1 -0
- package/dist/inventory/resolve-inventory.js +18 -0
- package/dist/inventory/resolve-inventory.js.map +1 -0
- package/dist/inventory/tvl/get-inventory-tvl.d.ts +45 -0
- package/dist/inventory/tvl/get-inventory-tvl.d.ts.map +1 -0
- package/dist/inventory/tvl/get-inventory-tvl.js +27 -0
- package/dist/inventory/tvl/get-inventory-tvl.js.map +1 -0
- package/dist/inventory/tvl/index.d.ts +3 -0
- package/dist/inventory/tvl/index.d.ts.map +1 -0
- package/dist/inventory/tvl/query.d.ts +36 -0
- package/dist/inventory/tvl/query.d.ts.map +1 -0
- package/dist/inventory/tvl/query.js +21 -0
- package/dist/inventory/tvl/query.js.map +1 -0
- package/dist/inventory/tvl-history/get-inventory-tvl-history.d.ts +44 -0
- package/dist/inventory/tvl-history/get-inventory-tvl-history.d.ts.map +1 -0
- package/dist/inventory/tvl-history/get-inventory-tvl-history.js +21 -0
- package/dist/inventory/tvl-history/get-inventory-tvl-history.js.map +1 -0
- package/dist/inventory/tvl-history/index.d.ts +4 -0
- package/dist/inventory/tvl-history/index.d.ts.map +1 -0
- package/dist/inventory/tvl-history/query.d.ts +36 -0
- package/dist/inventory/tvl-history/query.d.ts.map +1 -0
- package/dist/inventory/tvl-history/query.js +24 -0
- package/dist/inventory/tvl-history/query.js.map +1 -0
- package/dist/inventory/tvl-history/to-inventory-tvl-point.d.ts +16 -0
- package/dist/inventory/tvl-history/to-inventory-tvl-point.d.ts.map +1 -0
- package/dist/inventory/tvl-history/to-inventory-tvl-point.js +12 -0
- package/dist/inventory/tvl-history/to-inventory-tvl-point.js.map +1 -0
- package/dist/inventory/types/generated/inventory-service.d.ts +769 -0
- package/dist/inventory/types/generated/inventory-service.d.ts.map +1 -0
- package/dist/inventory/types/generated/inventory-service.js +7 -0
- package/dist/inventory/types/generated/inventory-service.js.map +1 -0
- package/dist/inventory/types.d.ts +29 -0
- package/dist/inventory/types.d.ts.map +1 -0
- package/dist/inventory/types.js +6 -0
- package/dist/inventory/types.js.map +1 -0
- package/dist/margin/calculate-margin-risk.d.ts +108 -0
- package/dist/margin/calculate-margin-risk.d.ts.map +1 -0
- package/dist/margin/calculate-margin-risk.js +18 -0
- package/dist/margin/calculate-margin-risk.js.map +1 -0
- package/dist/margin/index.d.ts +2 -0
- package/dist/margin/index.d.ts.map +1 -0
- package/dist/muon/client.d.ts +29 -0
- package/dist/muon/client.d.ts.map +1 -1
- package/dist/muon/client.js +20 -6
- package/dist/muon/client.js.map +1 -1
- package/dist/muon/deallocate-upnl-sig/get-deallocate-upnl-sig.d.ts.map +1 -1
- package/dist/muon/deallocate-upnl-sig/get-deallocate-upnl-sig.js +10 -20
- package/dist/muon/deallocate-upnl-sig/get-deallocate-upnl-sig.js.map +1 -1
- package/dist/muon/force-close-price-sig/get-force-close-price-sig.d.ts +58 -0
- package/dist/muon/force-close-price-sig/get-force-close-price-sig.d.ts.map +1 -0
- package/dist/muon/force-close-price-sig/get-force-close-price-sig.js +34 -0
- package/dist/muon/force-close-price-sig/get-force-close-price-sig.js.map +1 -0
- package/dist/muon/force-close-price-sig/index.d.ts +3 -0
- package/dist/muon/force-close-price-sig/index.d.ts.map +1 -0
- package/dist/muon/force-close-price-sig/query.d.ts +50 -0
- package/dist/muon/force-close-price-sig/query.d.ts.map +1 -0
- package/dist/muon/force-close-price-sig/query.js +28 -0
- package/dist/muon/force-close-price-sig/query.js.map +1 -0
- package/dist/muon/index.d.ts +2 -0
- package/dist/muon/index.d.ts.map +1 -1
- package/dist/muon/party-a-overview/get-muon-party-a-overview.d.ts +1 -1
- package/dist/muon/party-a-overview/get-muon-party-a-overview.js.map +1 -1
- package/dist/muon/send-quote-upnl-sig/get-send-quote-upnl-sig.d.ts +53 -0
- package/dist/muon/send-quote-upnl-sig/get-send-quote-upnl-sig.d.ts.map +1 -0
- package/dist/muon/send-quote-upnl-sig/get-send-quote-upnl-sig.js +23 -0
- package/dist/muon/send-quote-upnl-sig/get-send-quote-upnl-sig.js.map +1 -0
- package/dist/muon/send-quote-upnl-sig/index.d.ts +3 -0
- package/dist/muon/send-quote-upnl-sig/index.d.ts.map +1 -0
- package/dist/muon/send-quote-upnl-sig/query.d.ts +42 -0
- package/dist/muon/send-quote-upnl-sig/query.d.ts.map +1 -0
- package/dist/muon/send-quote-upnl-sig/query.js +25 -0
- package/dist/muon/send-quote-upnl-sig/query.js.map +1 -0
- package/dist/muon/types.d.ts +2 -2
- package/dist/muon/types.js.map +1 -1
- package/dist/muon/upnl-a/get-muon-upnl-a.d.ts +1 -1
- package/dist/muon/upnl-a/get-muon-upnl-a.js.map +1 -1
- package/dist/muon/upnl-a-with-symbol-price/get-muon-upnl-a-with-symbol-price.d.ts +1 -1
- package/dist/muon/upnl-a-with-symbol-price/get-muon-upnl-a-with-symbol-price.js.map +1 -1
- package/dist/muon/upnl-b/get-muon-upnl-b.d.ts +1 -1
- package/dist/muon/upnl-b/get-muon-upnl-b.js.map +1 -1
- package/dist/muon/upnl-with-symbol-price/get-muon-upnl-with-symbol-price.d.ts +1 -1
- package/dist/muon/upnl-with-symbol-price/get-muon-upnl-with-symbol-price.js.map +1 -1
- package/dist/notifications/search/adapters/enigma-search.d.ts +14 -0
- package/dist/notifications/search/adapters/enigma-search.d.ts.map +1 -0
- package/dist/notifications/search/adapters/enigma-search.js +33 -0
- package/dist/notifications/search/adapters/enigma-search.js.map +1 -0
- package/dist/notifications/search/adapters/rasa-search.d.ts +13 -0
- package/dist/notifications/search/adapters/rasa-search.d.ts.map +1 -0
- package/dist/notifications/search/adapters/rasa-search.js +28 -0
- package/dist/notifications/search/adapters/rasa-search.js.map +1 -0
- package/dist/notifications/search/query.d.ts +4 -2
- package/dist/notifications/search/query.d.ts.map +1 -1
- package/dist/notifications/search/query.js +8 -4
- package/dist/notifications/search/query.js.map +1 -1
- package/dist/notifications/search/search-notifications.d.ts +23 -43
- package/dist/notifications/search/search-notifications.d.ts.map +1 -1
- package/dist/notifications/search/search-notifications.js +11 -22
- package/dist/notifications/search/search-notifications.js.map +1 -1
- package/dist/notifications/search/types.d.ts +80 -0
- package/dist/notifications/search/types.d.ts.map +1 -0
- package/dist/notifications/types.d.ts +0 -11
- package/dist/notifications/types.d.ts.map +1 -1
- package/dist/orderbook/aggregate.d.ts +80 -0
- package/dist/orderbook/aggregate.d.ts.map +1 -0
- package/dist/orderbook/aggregate.js +74 -0
- package/dist/orderbook/aggregate.js.map +1 -0
- package/dist/orderbook/index.d.ts +7 -0
- package/dist/orderbook/index.d.ts.map +1 -0
- package/dist/orderbook/query.d.ts +55 -0
- package/dist/orderbook/query.d.ts.map +1 -0
- package/dist/orderbook/query.js +25 -0
- package/dist/orderbook/query.js.map +1 -0
- package/dist/orderbook/sources/binance/constants.d.ts +78 -0
- package/dist/orderbook/sources/binance/constants.d.ts.map +1 -0
- package/dist/orderbook/sources/binance/constants.js +51 -0
- package/dist/orderbook/sources/binance/constants.js.map +1 -0
- package/dist/orderbook/sources/binance/create-binance-orderbook-source.d.ts +78 -0
- package/dist/orderbook/sources/binance/create-binance-orderbook-source.d.ts.map +1 -0
- package/dist/orderbook/sources/binance/create-binance-orderbook-source.js +87 -0
- package/dist/orderbook/sources/binance/create-binance-orderbook-source.js.map +1 -0
- package/dist/orderbook/sources/binance/fetch-binance-depth.d.ts +45 -0
- package/dist/orderbook/sources/binance/fetch-binance-depth.d.ts.map +1 -0
- package/dist/orderbook/sources/binance/fetch-binance-depth.js +34 -0
- package/dist/orderbook/sources/binance/fetch-binance-depth.js.map +1 -0
- package/dist/orderbook/sources/binance/fetch-binance-symbol-filters.d.ts +39 -0
- package/dist/orderbook/sources/binance/fetch-binance-symbol-filters.d.ts.map +1 -0
- package/dist/orderbook/sources/binance/fetch-binance-symbol-filters.js +39 -0
- package/dist/orderbook/sources/binance/fetch-binance-symbol-filters.js.map +1 -0
- package/dist/orderbook/sources/binance/index.d.ts +7 -0
- package/dist/orderbook/sources/binance/index.d.ts.map +1 -0
- package/dist/orderbook/sources/binance/parse-depth.d.ts +70 -0
- package/dist/orderbook/sources/binance/parse-depth.d.ts.map +1 -0
- package/dist/orderbook/sources/binance/parse-depth.js +23 -0
- package/dist/orderbook/sources/binance/parse-depth.js.map +1 -0
- package/dist/orderbook/sources/binance/watch-binance-depth.d.ts +78 -0
- package/dist/orderbook/sources/binance/watch-binance-depth.d.ts.map +1 -0
- package/dist/orderbook/sources/binance/watch-binance-depth.js +125 -0
- package/dist/orderbook/sources/binance/watch-binance-depth.js.map +1 -0
- package/dist/orderbook/tick-size.d.ts +79 -0
- package/dist/orderbook/tick-size.d.ts.map +1 -0
- package/dist/orderbook/tick-size.js +46 -0
- package/dist/orderbook/tick-size.js.map +1 -0
- package/dist/orderbook/types.d.ts +299 -0
- package/dist/orderbook/types.d.ts.map +1 -0
- package/dist/orderbook/walk.d.ts +31 -0
- package/dist/orderbook/walk.d.ts.map +1 -0
- package/dist/orderbook/walk.js +39 -0
- package/dist/orderbook/walk.js.map +1 -0
- package/dist/pools/add-market/add-market.d.ts +74 -0
- package/dist/pools/add-market/add-market.d.ts.map +1 -0
- package/dist/pools/add-market/add-market.js +25 -0
- package/dist/pools/add-market/add-market.js.map +1 -0
- package/dist/pools/add-market/index.d.ts +6 -0
- package/dist/pools/add-market/index.d.ts.map +1 -0
- package/dist/pools/add-market/query.d.ts +27 -0
- package/dist/pools/add-market/query.d.ts.map +1 -0
- package/dist/pools/add-market/query.js +12 -0
- package/dist/pools/add-market/query.js.map +1 -0
- package/dist/pools/add-market/to-add-market-request.d.ts +16 -0
- package/dist/pools/add-market/to-add-market-request.d.ts.map +1 -0
- package/dist/pools/add-market/to-add-market-request.js +14 -0
- package/dist/pools/add-market/to-add-market-request.js.map +1 -0
- package/dist/pools/add-market/to-created-pool.d.ts +16 -0
- package/dist/pools/add-market/to-created-pool.d.ts.map +1 -0
- package/dist/pools/add-market/to-created-pool.js +20 -0
- package/dist/pools/add-market/to-created-pool.js.map +1 -0
- package/dist/pools/add-market/types.d.ts +42 -0
- package/dist/pools/add-market/types.d.ts.map +1 -0
- package/dist/pools/auth/authenticate-listing.d.ts +47 -0
- package/dist/pools/auth/authenticate-listing.d.ts.map +1 -0
- package/dist/pools/auth/authenticate-listing.js +37 -0
- package/dist/pools/auth/authenticate-listing.js.map +1 -0
- package/dist/pools/auth/get-sign-in-message.d.ts +45 -0
- package/dist/pools/auth/get-sign-in-message.d.ts.map +1 -0
- package/dist/pools/auth/get-sign-in-message.js +26 -0
- package/dist/pools/auth/get-sign-in-message.js.map +1 -0
- package/dist/pools/auth/index.d.ts +6 -0
- package/dist/pools/auth/index.d.ts.map +1 -0
- package/dist/pools/auth/query.d.ts +21 -0
- package/dist/pools/auth/query.d.ts.map +1 -0
- package/dist/pools/auth/query.js +12 -0
- package/dist/pools/auth/query.js.map +1 -0
- package/dist/pools/auth/to-siwe.d.ts +27 -0
- package/dist/pools/auth/to-siwe.d.ts.map +1 -0
- package/dist/pools/auth/to-siwe.js +38 -0
- package/dist/pools/auth/to-siwe.js.map +1 -0
- package/dist/pools/auth/types.d.ts +46 -0
- package/dist/pools/auth/types.d.ts.map +1 -0
- package/dist/pools/cancel-withdraw/cancel-withdraw.d.ts +56 -0
- package/dist/pools/cancel-withdraw/cancel-withdraw.d.ts.map +1 -0
- package/dist/pools/cancel-withdraw/cancel-withdraw.js +24 -0
- package/dist/pools/cancel-withdraw/cancel-withdraw.js.map +1 -0
- package/dist/pools/cancel-withdraw/index.d.ts +4 -0
- package/dist/pools/cancel-withdraw/index.d.ts.map +1 -0
- package/dist/pools/cancel-withdraw/query.d.ts +21 -0
- package/dist/pools/cancel-withdraw/query.d.ts.map +1 -0
- package/dist/pools/cancel-withdraw/query.js +12 -0
- package/dist/pools/cancel-withdraw/query.js.map +1 -0
- package/dist/pools/cancel-withdraw/to-cancel-withdraw-result.d.ts +15 -0
- package/dist/pools/cancel-withdraw/to-cancel-withdraw-result.d.ts.map +1 -0
- package/dist/pools/cancel-withdraw/to-cancel-withdraw-result.js +11 -0
- package/dist/pools/cancel-withdraw/to-cancel-withdraw-result.js.map +1 -0
- package/dist/pools/claim/claim-profit.d.ts +78 -0
- package/dist/pools/claim/claim-profit.d.ts.map +1 -0
- package/dist/pools/claim/claim-profit.js +25 -0
- package/dist/pools/claim/claim-profit.js.map +1 -0
- package/dist/pools/claim/index.d.ts +5 -0
- package/dist/pools/claim/index.d.ts.map +1 -0
- package/dist/pools/claim/query.d.ts +27 -0
- package/dist/pools/claim/query.d.ts.map +1 -0
- package/dist/pools/claim/query.js +12 -0
- package/dist/pools/claim/query.js.map +1 -0
- package/dist/pools/claim/to-claim-request.d.ts +15 -0
- package/dist/pools/claim/to-claim-request.d.ts.map +1 -0
- package/dist/pools/claim/to-claim-request.js +13 -0
- package/dist/pools/claim/to-claim-request.js.map +1 -0
- package/dist/pools/claim/to-claim-result.d.ts +17 -0
- package/dist/pools/claim/to-claim-result.d.ts.map +1 -0
- package/dist/pools/claim/to-claim-result.js +14 -0
- package/dist/pools/claim/to-claim-result.js.map +1 -0
- package/dist/pools/claim-history/get-claim-history.d.ts +65 -0
- package/dist/pools/claim-history/get-claim-history.d.ts.map +1 -0
- package/dist/pools/claim-history/get-claim-history.js +27 -0
- package/dist/pools/claim-history/get-claim-history.js.map +1 -0
- package/dist/pools/claim-history/index.d.ts +4 -0
- package/dist/pools/claim-history/index.d.ts.map +1 -0
- package/dist/pools/claim-history/query.d.ts +40 -0
- package/dist/pools/claim-history/query.d.ts.map +1 -0
- package/dist/pools/claim-history/query.js +28 -0
- package/dist/pools/claim-history/query.js.map +1 -0
- package/dist/pools/claim-history/to-pool-claim.d.ts +23 -0
- package/dist/pools/claim-history/to-pool-claim.d.ts.map +1 -0
- package/dist/pools/claim-history/to-pool-claim.js +21 -0
- package/dist/pools/claim-history/to-pool-claim.js.map +1 -0
- package/dist/pools/deposit-address/get-deposit-address.d.ts +62 -0
- package/dist/pools/deposit-address/get-deposit-address.d.ts.map +1 -0
- package/dist/pools/deposit-address/get-deposit-address.js +27 -0
- package/dist/pools/deposit-address/get-deposit-address.js.map +1 -0
- package/dist/pools/deposit-address/index.d.ts +4 -0
- package/dist/pools/deposit-address/index.d.ts.map +1 -0
- package/dist/pools/deposit-address/query.d.ts +50 -0
- package/dist/pools/deposit-address/query.d.ts.map +1 -0
- package/dist/pools/deposit-address/query.js +26 -0
- package/dist/pools/deposit-address/query.js.map +1 -0
- package/dist/pools/deposit-address/to-market-deposit-address.d.ts +17 -0
- package/dist/pools/deposit-address/to-market-deposit-address.d.ts.map +1 -0
- package/dist/pools/deposit-address/to-market-deposit-address.js +15 -0
- package/dist/pools/deposit-address/to-market-deposit-address.js.map +1 -0
- package/dist/pools/index.d.ts +26 -0
- package/dist/pools/index.d.ts.map +1 -0
- package/dist/pools/listing-config/get-listing-config.d.ts +37 -0
- package/dist/pools/listing-config/get-listing-config.d.ts.map +1 -0
- package/dist/pools/listing-config/get-listing-config.js +21 -0
- package/dist/pools/listing-config/get-listing-config.js.map +1 -0
- package/dist/pools/listing-config/index.d.ts +4 -0
- package/dist/pools/listing-config/index.d.ts.map +1 -0
- package/dist/pools/listing-config/query.d.ts +36 -0
- package/dist/pools/listing-config/query.d.ts.map +1 -0
- package/dist/pools/listing-config/query.js +21 -0
- package/dist/pools/listing-config/query.js.map +1 -0
- package/dist/pools/listing-config/to-listing-config.d.ts +16 -0
- package/dist/pools/listing-config/to-listing-config.d.ts.map +1 -0
- package/dist/pools/listing-config/to-listing-config.js +26 -0
- package/dist/pools/listing-config/to-listing-config.js.map +1 -0
- package/dist/pools/listing-status/get-listing-status.d.ts +54 -0
- package/dist/pools/listing-status/get-listing-status.d.ts.map +1 -0
- package/dist/pools/listing-status/get-listing-status.js +24 -0
- package/dist/pools/listing-status/get-listing-status.js.map +1 -0
- package/dist/pools/listing-status/index.d.ts +4 -0
- package/dist/pools/listing-status/index.d.ts.map +1 -0
- package/dist/pools/listing-status/query.d.ts +43 -0
- package/dist/pools/listing-status/query.d.ts.map +1 -0
- package/dist/pools/listing-status/query.js +25 -0
- package/dist/pools/listing-status/query.js.map +1 -0
- package/dist/pools/listing-status/to-listing-status.d.ts +17 -0
- package/dist/pools/listing-status/to-listing-status.d.ts.map +1 -0
- package/dist/pools/listing-status/to-listing-status.js +16 -0
- package/dist/pools/listing-status/to-listing-status.js.map +1 -0
- package/dist/pools/market-config/get-listing-market-config.d.ts +72 -0
- package/dist/pools/market-config/get-listing-market-config.d.ts.map +1 -0
- package/dist/pools/market-config/get-listing-market-config.js +27 -0
- package/dist/pools/market-config/get-listing-market-config.js.map +1 -0
- package/dist/pools/market-config/index.d.ts +8 -0
- package/dist/pools/market-config/index.d.ts.map +1 -0
- package/dist/pools/market-config/project-listing-market-config.d.ts +45 -0
- package/dist/pools/market-config/project-listing-market-config.d.ts.map +1 -0
- package/dist/pools/market-config/project-listing-market-config.js +20 -0
- package/dist/pools/market-config/project-listing-market-config.js.map +1 -0
- package/dist/pools/market-config/query.d.ts +73 -0
- package/dist/pools/market-config/query.d.ts.map +1 -0
- package/dist/pools/market-config/query.js +33 -0
- package/dist/pools/market-config/query.js.map +1 -0
- package/dist/pools/market-config/to-listing-market-config.d.ts +18 -0
- package/dist/pools/market-config/to-listing-market-config.d.ts.map +1 -0
- package/dist/pools/market-config/to-listing-market-config.js +15 -0
- package/dist/pools/market-config/to-listing-market-config.js.map +1 -0
- package/dist/pools/market-config/to-update-listing-market-config-request.d.ts +20 -0
- package/dist/pools/market-config/to-update-listing-market-config-request.d.ts.map +1 -0
- package/dist/pools/market-config/to-update-listing-market-config-request.js +13 -0
- package/dist/pools/market-config/to-update-listing-market-config-request.js.map +1 -0
- package/dist/pools/market-config/types.d.ts +135 -0
- package/dist/pools/market-config/types.d.ts.map +1 -0
- package/dist/pools/market-config/types.js +15 -0
- package/dist/pools/market-config/types.js.map +1 -0
- package/dist/pools/market-config/update-listing-market-config.d.ts +103 -0
- package/dist/pools/market-config/update-listing-market-config.d.ts.map +1 -0
- package/dist/pools/market-config/update-listing-market-config.js +32 -0
- package/dist/pools/market-config/update-listing-market-config.js.map +1 -0
- package/dist/pools/market-detail/get-listing-market-detail.d.ts +51 -0
- package/dist/pools/market-detail/get-listing-market-detail.d.ts.map +1 -0
- package/dist/pools/market-detail/get-listing-market-detail.js +24 -0
- package/dist/pools/market-detail/get-listing-market-detail.js.map +1 -0
- package/dist/pools/market-detail/index.d.ts +5 -0
- package/dist/pools/market-detail/index.d.ts.map +1 -0
- package/dist/pools/market-detail/query.d.ts +31 -0
- package/dist/pools/market-detail/query.d.ts.map +1 -0
- package/dist/pools/market-detail/query.js +25 -0
- package/dist/pools/market-detail/query.js.map +1 -0
- package/dist/pools/market-detail/to-listing-market-detail.d.ts +11 -0
- package/dist/pools/market-detail/to-listing-market-detail.d.ts.map +1 -0
- package/dist/pools/market-detail/to-listing-market-detail.js +57 -0
- package/dist/pools/market-detail/to-listing-market-detail.js.map +1 -0
- package/dist/pools/market-detail/to-pool-positions.d.ts +23 -0
- package/dist/pools/market-detail/to-pool-positions.d.ts.map +1 -0
- package/dist/pools/market-detail/to-pool-positions.js +8 -0
- package/dist/pools/market-detail/to-pool-positions.js.map +1 -0
- package/dist/pools/markets/get-listing-markets.d.ts +65 -0
- package/dist/pools/markets/get-listing-markets.d.ts.map +1 -0
- package/dist/pools/markets/get-listing-markets.js +34 -0
- package/dist/pools/markets/get-listing-markets.js.map +1 -0
- package/dist/pools/markets/index.d.ts +5 -0
- package/dist/pools/markets/index.d.ts.map +1 -0
- package/dist/pools/markets/query.d.ts +36 -0
- package/dist/pools/markets/query.d.ts.map +1 -0
- package/dist/pools/markets/query.js +31 -0
- package/dist/pools/markets/query.js.map +1 -0
- package/dist/pools/markets/to-listing-market.d.ts +65 -0
- package/dist/pools/markets/to-listing-market.d.ts.map +1 -0
- package/dist/pools/markets/to-listing-market.js +76 -0
- package/dist/pools/markets/to-listing-market.js.map +1 -0
- package/dist/pools/markets/to-search-params.d.ts +36 -0
- package/dist/pools/markets/to-search-params.d.ts.map +1 -0
- package/dist/pools/markets/to-search-params.js +42 -0
- package/dist/pools/markets/to-search-params.js.map +1 -0
- package/dist/pools/profit/get-user-profit.d.ts +54 -0
- package/dist/pools/profit/get-user-profit.d.ts.map +1 -0
- package/dist/pools/profit/get-user-profit.js +24 -0
- package/dist/pools/profit/get-user-profit.js.map +1 -0
- package/dist/pools/profit/index.d.ts +4 -0
- package/dist/pools/profit/index.d.ts.map +1 -0
- package/dist/pools/profit/query.d.ts +41 -0
- package/dist/pools/profit/query.d.ts.map +1 -0
- package/dist/pools/profit/query.js +25 -0
- package/dist/pools/profit/query.js.map +1 -0
- package/dist/pools/profit/to-user-pool-profit.d.ts +27 -0
- package/dist/pools/profit/to-user-pool-profit.d.ts.map +1 -0
- package/dist/pools/profit/to-user-pool-profit.js +19 -0
- package/dist/pools/profit/to-user-pool-profit.js.map +1 -0
- package/dist/pools/quotes/get-pool-quotes.d.ts +72 -0
- package/dist/pools/quotes/get-pool-quotes.d.ts.map +1 -0
- package/dist/pools/quotes/get-pool-quotes.js +25 -0
- package/dist/pools/quotes/get-pool-quotes.js.map +1 -0
- package/dist/pools/quotes/index.d.ts +4 -0
- package/dist/pools/quotes/index.d.ts.map +1 -0
- package/dist/pools/quotes/query-document.d.ts +20 -0
- package/dist/pools/quotes/query-document.d.ts.map +1 -0
- package/dist/pools/quotes/query-document.js +7 -0
- package/dist/pools/quotes/query-document.js.map +1 -0
- package/dist/pools/quotes/query.d.ts +34 -0
- package/dist/pools/quotes/query.d.ts.map +1 -0
- package/dist/pools/quotes/query.js +28 -0
- package/dist/pools/quotes/query.js.map +1 -0
- package/dist/pools/quotes/to-pool-quote.d.ts +16 -0
- package/dist/pools/quotes/to-pool-quote.d.ts.map +1 -0
- package/dist/pools/quotes/to-pool-quote.js +42 -0
- package/dist/pools/quotes/to-pool-quote.js.map +1 -0
- package/dist/pools/refund/index.d.ts +5 -0
- package/dist/pools/refund/index.d.ts.map +1 -0
- package/dist/pools/refund/query.d.ts +25 -0
- package/dist/pools/refund/query.d.ts.map +1 -0
- package/dist/pools/refund/query.js +12 -0
- package/dist/pools/refund/query.js.map +1 -0
- package/dist/pools/refund/refund-market.d.ts +67 -0
- package/dist/pools/refund/refund-market.d.ts.map +1 -0
- package/dist/pools/refund/refund-market.js +25 -0
- package/dist/pools/refund/refund-market.js.map +1 -0
- package/dist/pools/refund/to-refund-request.d.ts +13 -0
- package/dist/pools/refund/to-refund-request.d.ts.map +1 -0
- package/dist/pools/refund/to-refund-request.js +12 -0
- package/dist/pools/refund/to-refund-request.js.map +1 -0
- package/dist/pools/refund/to-refund-result.d.ts +10 -0
- package/dist/pools/refund/to-refund-result.d.ts.map +1 -0
- package/dist/pools/refund/to-refund-result.js +8 -0
- package/dist/pools/refund/to-refund-result.js.map +1 -0
- package/dist/pools/resolve-listing.d.ts +46 -0
- package/dist/pools/resolve-listing.d.ts.map +1 -0
- package/dist/pools/resolve-listing.js +18 -0
- package/dist/pools/resolve-listing.js.map +1 -0
- package/dist/pools/resolve-pool-source.d.ts +18 -0
- package/dist/pools/resolve-pool-source.d.ts.map +1 -0
- package/dist/pools/resolve-pool-source.js +8 -0
- package/dist/pools/resolve-pool-source.js.map +1 -0
- package/dist/pools/retry-listing/get-retry-listing-info.d.ts +51 -0
- package/dist/pools/retry-listing/get-retry-listing-info.d.ts.map +1 -0
- package/dist/pools/retry-listing/get-retry-listing-info.js +27 -0
- package/dist/pools/retry-listing/get-retry-listing-info.js.map +1 -0
- package/dist/pools/retry-listing/index.d.ts +6 -0
- package/dist/pools/retry-listing/index.d.ts.map +1 -0
- package/dist/pools/retry-listing/query.d.ts +44 -0
- package/dist/pools/retry-listing/query.d.ts.map +1 -0
- package/dist/pools/retry-listing/query.js +33 -0
- package/dist/pools/retry-listing/query.js.map +1 -0
- package/dist/pools/retry-listing/retry-listing.d.ts +52 -0
- package/dist/pools/retry-listing/retry-listing.d.ts.map +1 -0
- package/dist/pools/retry-listing/retry-listing.js +27 -0
- package/dist/pools/retry-listing/retry-listing.js.map +1 -0
- package/dist/pools/retry-listing/to-retry-listing-info.d.ts +14 -0
- package/dist/pools/retry-listing/to-retry-listing-info.d.ts.map +1 -0
- package/dist/pools/retry-listing/to-retry-listing-info.js +12 -0
- package/dist/pools/retry-listing/to-retry-listing-info.js.map +1 -0
- package/dist/pools/retry-listing/to-retry-listing-result.d.ts +11 -0
- package/dist/pools/retry-listing/to-retry-listing-result.d.ts.map +1 -0
- package/dist/pools/retry-listing/to-retry-listing-result.js +12 -0
- package/dist/pools/retry-listing/to-retry-listing-result.js.map +1 -0
- package/dist/pools/rewards/get-pool-reward-chart.d.ts +49 -0
- package/dist/pools/rewards/get-pool-reward-chart.d.ts.map +1 -0
- package/dist/pools/rewards/get-pool-reward-chart.js +24 -0
- package/dist/pools/rewards/get-pool-reward-chart.js.map +1 -0
- package/dist/pools/rewards/get-pool-total-reward.d.ts +48 -0
- package/dist/pools/rewards/get-pool-total-reward.d.ts.map +1 -0
- package/dist/pools/rewards/get-pool-total-reward.js +25 -0
- package/dist/pools/rewards/get-pool-total-reward.js.map +1 -0
- package/dist/pools/rewards/get-user-reward-chart.d.ts +48 -0
- package/dist/pools/rewards/get-user-reward-chart.d.ts.map +1 -0
- package/dist/pools/rewards/get-user-reward-chart.js +24 -0
- package/dist/pools/rewards/get-user-reward-chart.js.map +1 -0
- package/dist/pools/rewards/get-user-total-reward.d.ts +54 -0
- package/dist/pools/rewards/get-user-total-reward.d.ts.map +1 -0
- package/dist/pools/rewards/get-user-total-reward.js +27 -0
- package/dist/pools/rewards/get-user-total-reward.js.map +1 -0
- package/dist/pools/rewards/index.d.ts +7 -0
- package/dist/pools/rewards/index.d.ts.map +1 -0
- package/dist/pools/rewards/query.d.ts +150 -0
- package/dist/pools/rewards/query.d.ts.map +1 -0
- package/dist/pools/rewards/query.js +83 -0
- package/dist/pools/rewards/query.js.map +1 -0
- package/dist/pools/rewards/to-pool-reward-point.d.ts +28 -0
- package/dist/pools/rewards/to-pool-reward-point.d.ts.map +1 -0
- package/dist/pools/rewards/to-pool-reward-point.js +19 -0
- package/dist/pools/rewards/to-pool-reward-point.js.map +1 -0
- package/dist/pools/trade-history/get-pool-trade-history.d.ts +52 -0
- package/dist/pools/trade-history/get-pool-trade-history.d.ts.map +1 -0
- package/dist/pools/trade-history/get-pool-trade-history.js +27 -0
- package/dist/pools/trade-history/get-pool-trade-history.js.map +1 -0
- package/dist/pools/trade-history/index.d.ts +3 -0
- package/dist/pools/trade-history/index.d.ts.map +1 -0
- package/dist/pools/trade-history/query-document.d.ts +20 -0
- package/dist/pools/trade-history/query-document.d.ts.map +1 -0
- package/dist/pools/trade-history/query-document.js +7 -0
- package/dist/pools/trade-history/query-document.js.map +1 -0
- package/dist/pools/trade-history/query.d.ts +34 -0
- package/dist/pools/trade-history/query.d.ts.map +1 -0
- package/dist/pools/trade-history/query.js +28 -0
- package/dist/pools/trade-history/query.js.map +1 -0
- package/dist/pools/transactions/get-pool-transactions.d.ts +47 -0
- package/dist/pools/transactions/get-pool-transactions.d.ts.map +1 -0
- package/dist/pools/transactions/get-pool-transactions.js +24 -0
- package/dist/pools/transactions/get-pool-transactions.js.map +1 -0
- package/dist/pools/transactions/index.d.ts +4 -0
- package/dist/pools/transactions/index.d.ts.map +1 -0
- package/dist/pools/transactions/query.d.ts +31 -0
- package/dist/pools/transactions/query.d.ts.map +1 -0
- package/dist/pools/transactions/query.js +27 -0
- package/dist/pools/transactions/query.js.map +1 -0
- package/dist/pools/transactions/to-pool-transaction.d.ts +18 -0
- package/dist/pools/transactions/to-pool-transaction.d.ts.map +1 -0
- package/dist/pools/transactions/to-pool-transaction.js +29 -0
- package/dist/pools/transactions/to-pool-transaction.js.map +1 -0
- package/dist/pools/types/generated/listing-backend.d.ts +1319 -0
- package/dist/pools/types/generated/listing-backend.d.ts.map +1 -0
- package/dist/pools/types/generated/listing-backend.js +85 -0
- package/dist/pools/types/generated/listing-backend.js.map +1 -0
- package/dist/pools/types.d.ts +789 -0
- package/dist/pools/types.d.ts.map +1 -0
- package/dist/pools/types.js +16 -0
- package/dist/pools/types.js.map +1 -0
- package/dist/pools/user-markets/get-user-listing-markets.d.ts +74 -0
- package/dist/pools/user-markets/get-user-listing-markets.d.ts.map +1 -0
- package/dist/pools/user-markets/get-user-listing-markets.js +35 -0
- package/dist/pools/user-markets/get-user-listing-markets.js.map +1 -0
- package/dist/pools/user-markets/index.d.ts +4 -0
- package/dist/pools/user-markets/index.d.ts.map +1 -0
- package/dist/pools/user-markets/query.d.ts +41 -0
- package/dist/pools/user-markets/query.d.ts.map +1 -0
- package/dist/pools/user-markets/query.js +32 -0
- package/dist/pools/user-markets/query.js.map +1 -0
- package/dist/pools/user-markets/to-user-listing-market.d.ts +32 -0
- package/dist/pools/user-markets/to-user-listing-market.d.ts.map +1 -0
- package/dist/pools/user-markets/to-user-listing-market.js +22 -0
- package/dist/pools/user-markets/to-user-listing-market.js.map +1 -0
- package/dist/pools/user-transactions/get-user-transactions.d.ts +59 -0
- package/dist/pools/user-transactions/get-user-transactions.d.ts.map +1 -0
- package/dist/pools/user-transactions/get-user-transactions.js +28 -0
- package/dist/pools/user-transactions/get-user-transactions.js.map +1 -0
- package/dist/pools/user-transactions/index.d.ts +4 -0
- package/dist/pools/user-transactions/index.d.ts.map +1 -0
- package/dist/pools/user-transactions/query.d.ts +40 -0
- package/dist/pools/user-transactions/query.d.ts.map +1 -0
- package/dist/pools/user-transactions/query.js +29 -0
- package/dist/pools/user-transactions/query.js.map +1 -0
- package/dist/pools/user-transactions/to-user-transaction.d.ts +25 -0
- package/dist/pools/user-transactions/to-user-transaction.d.ts.map +1 -0
- package/dist/pools/user-transactions/to-user-transaction.js +29 -0
- package/dist/pools/user-transactions/to-user-transaction.js.map +1 -0
- package/dist/pools/weekly-limit/get-weekly-listing-limit.d.ts +36 -0
- package/dist/pools/weekly-limit/get-weekly-listing-limit.d.ts.map +1 -0
- package/dist/pools/weekly-limit/get-weekly-listing-limit.js +21 -0
- package/dist/pools/weekly-limit/get-weekly-listing-limit.js.map +1 -0
- package/dist/pools/weekly-limit/index.d.ts +4 -0
- package/dist/pools/weekly-limit/index.d.ts.map +1 -0
- package/dist/pools/weekly-limit/query.d.ts +36 -0
- package/dist/pools/weekly-limit/query.d.ts.map +1 -0
- package/dist/pools/weekly-limit/query.js +21 -0
- package/dist/pools/weekly-limit/query.js.map +1 -0
- package/dist/pools/weekly-limit/to-weekly-limit.d.ts +14 -0
- package/dist/pools/weekly-limit/to-weekly-limit.d.ts.map +1 -0
- package/dist/pools/weekly-limit/to-weekly-limit.js +12 -0
- package/dist/pools/weekly-limit/to-weekly-limit.js.map +1 -0
- package/dist/pools/withdraw/index.d.ts +4 -0
- package/dist/pools/withdraw/index.d.ts.map +1 -0
- package/dist/pools/withdraw/query.d.ts +26 -0
- package/dist/pools/withdraw/query.d.ts.map +1 -0
- package/dist/pools/withdraw/query.js +12 -0
- package/dist/pools/withdraw/query.js.map +1 -0
- package/dist/pools/withdraw/to-withdraw-request.d.ts +16 -0
- package/dist/pools/withdraw/to-withdraw-request.d.ts.map +1 -0
- package/dist/pools/withdraw/to-withdraw-request.js +13 -0
- package/dist/pools/withdraw/to-withdraw-request.js.map +1 -0
- package/dist/pools/withdraw/withdraw-lp.d.ts +73 -0
- package/dist/pools/withdraw/withdraw-lp.d.ts.map +1 -0
- package/dist/pools/withdraw/withdraw-lp.js +24 -0
- package/dist/pools/withdraw/withdraw-lp.js.map +1 -0
- package/dist/price-service/adapters/binance-mark-prices.d.ts +41 -0
- package/dist/price-service/adapters/binance-mark-prices.d.ts.map +1 -0
- package/dist/price-service/adapters/binance-mark-prices.js +38 -0
- package/dist/price-service/adapters/binance-mark-prices.js.map +1 -0
- package/dist/price-service/adapters/enigma-mark-prices.d.ts +44 -0
- package/dist/price-service/adapters/enigma-mark-prices.d.ts.map +1 -0
- package/dist/price-service/adapters/enigma-mark-prices.js +25 -0
- package/dist/price-service/adapters/enigma-mark-prices.js.map +1 -0
- package/dist/price-service/adapters/index.d.ts +8 -0
- package/dist/price-service/adapters/index.d.ts.map +1 -0
- package/dist/price-service/assert-price-service-provider.d.ts +19 -0
- package/dist/price-service/assert-price-service-provider.d.ts.map +1 -0
- package/dist/price-service/assert-price-service-provider.js +9 -0
- package/dist/price-service/assert-price-service-provider.js.map +1 -0
- package/dist/price-service/binance/client.d.ts +37 -0
- package/dist/price-service/binance/client.d.ts.map +1 -0
- package/dist/price-service/binance/client.js +30 -0
- package/dist/price-service/binance/client.js.map +1 -0
- package/dist/price-service/binance/health/get-binance-health.d.ts +25 -0
- package/dist/price-service/binance/health/get-binance-health.d.ts.map +1 -0
- package/dist/price-service/binance/health/get-binance-health.js +24 -0
- package/dist/price-service/binance/health/get-binance-health.js.map +1 -0
- package/dist/price-service/binance/health/index.d.ts +3 -0
- package/dist/price-service/binance/health/index.d.ts.map +1 -0
- package/dist/price-service/binance/health/query.d.ts +17 -0
- package/dist/price-service/binance/health/query.d.ts.map +1 -0
- package/dist/price-service/binance/health/query.js +24 -0
- package/dist/price-service/binance/health/query.js.map +1 -0
- package/dist/price-service/binance/index.d.ts +5 -0
- package/dist/price-service/binance/index.d.ts.map +1 -0
- package/dist/price-service/binance/premium-index/get-binance-premium-index.d.ts +39 -0
- package/dist/price-service/binance/premium-index/get-binance-premium-index.d.ts.map +1 -0
- package/dist/price-service/binance/premium-index/get-binance-premium-index.js +25 -0
- package/dist/price-service/binance/premium-index/get-binance-premium-index.js.map +1 -0
- package/dist/price-service/binance/premium-index/index.d.ts +3 -0
- package/dist/price-service/binance/premium-index/index.d.ts.map +1 -0
- package/dist/price-service/binance/premium-index/query.d.ts +28 -0
- package/dist/price-service/binance/premium-index/query.d.ts.map +1 -0
- package/dist/price-service/binance/premium-index/query.js +25 -0
- package/dist/price-service/binance/premium-index/query.js.map +1 -0
- package/dist/price-service/binance/symbols-info/get-binance-symbols-info.d.ts +29 -0
- package/dist/price-service/binance/symbols-info/get-binance-symbols-info.d.ts.map +1 -0
- package/dist/price-service/binance/symbols-info/get-binance-symbols-info.js +25 -0
- package/dist/price-service/binance/symbols-info/get-binance-symbols-info.js.map +1 -0
- package/dist/price-service/binance/symbols-info/index.d.ts +3 -0
- package/dist/price-service/binance/symbols-info/index.d.ts.map +1 -0
- package/dist/price-service/binance/symbols-info/query.d.ts +17 -0
- package/dist/price-service/binance/symbols-info/query.d.ts.map +1 -0
- package/dist/price-service/binance/symbols-info/query.js +26 -0
- package/dist/price-service/binance/symbols-info/query.js.map +1 -0
- package/dist/price-service/binance/types.d.ts +104 -0
- package/dist/price-service/binance/types.d.ts.map +1 -0
- package/dist/price-service/enigma/types/generated/enigma-price-service.js +4 -4
- package/dist/price-service/enigma/types/generated/enigma-price-service.js.map +1 -1
- package/dist/price-service/get-mark-prices/get-mark-prices.d.ts +45 -0
- package/dist/price-service/get-mark-prices/get-mark-prices.d.ts.map +1 -0
- package/dist/price-service/get-mark-prices/get-mark-prices.js +37 -0
- package/dist/price-service/get-mark-prices/get-mark-prices.js.map +1 -0
- package/dist/price-service/get-mark-prices/index.d.ts +3 -0
- package/dist/price-service/get-mark-prices/index.d.ts.map +1 -0
- package/dist/price-service/get-mark-prices/query.d.ts +36 -0
- package/dist/price-service/get-mark-prices/query.d.ts.map +1 -0
- package/dist/price-service/get-mark-prices/query.js +25 -0
- package/dist/price-service/get-mark-prices/query.js.map +1 -0
- package/dist/price-service/index.d.ts +11 -0
- package/dist/price-service/index.d.ts.map +1 -1
- package/dist/price-service/resolve-price-service.d.ts +33 -0
- package/dist/price-service/resolve-price-service.d.ts.map +1 -0
- package/dist/price-service/resolve-price-service.js +18 -0
- package/dist/price-service/resolve-price-service.js.map +1 -0
- package/dist/price-service/types.d.ts +87 -0
- package/dist/price-service/types.d.ts.map +1 -0
- package/dist/quotes/apply-notification.d.ts +57 -0
- package/dist/quotes/apply-notification.d.ts.map +1 -1
- package/dist/quotes/apply-notification.js +39 -22
- package/dist/quotes/apply-notification.js.map +1 -1
- package/dist/quotes/close-planning/index.d.ts +5 -0
- package/dist/quotes/close-planning/index.d.ts.map +1 -0
- package/dist/quotes/close-planning/min-remaining-quantity.d.ts +26 -0
- package/dist/quotes/close-planning/min-remaining-quantity.d.ts.map +1 -0
- package/dist/quotes/close-planning/min-remaining-quantity.js +12 -0
- package/dist/quotes/close-planning/min-remaining-quantity.js.map +1 -0
- package/dist/quotes/close-planning/plan-group-close/index.d.ts +2 -0
- package/dist/quotes/close-planning/plan-group-close/index.d.ts.map +1 -0
- package/dist/quotes/close-planning/plan-group-close/plan-group-close.d.ts +32 -0
- package/dist/quotes/close-planning/plan-group-close/plan-group-close.d.ts.map +1 -0
- package/dist/quotes/close-planning/plan-group-close/plan-group-close.js +60 -0
- package/dist/quotes/close-planning/plan-group-close/plan-group-close.js.map +1 -0
- package/dist/quotes/close-planning/to-close-candidates.d.ts +17 -0
- package/dist/quotes/close-planning/to-close-candidates.d.ts.map +1 -0
- package/dist/quotes/close-planning/to-close-candidates.js +16 -0
- package/dist/quotes/close-planning/to-close-candidates.js.map +1 -0
- package/dist/quotes/close-planning/types.d.ts +52 -0
- package/dist/quotes/close-planning/types.d.ts.map +1 -0
- package/dist/quotes/get-quote-events-by-type/types.d.ts +10 -0
- package/dist/quotes/get-quote-events-by-type/types.d.ts.map +1 -1
- package/dist/quotes/get-quote-events-by-type/types.js +2 -2
- package/dist/quotes/get-quote-events-by-type/types.js.map +1 -1
- package/dist/quotes/get-quote-funding/get-quote-funding.d.ts +26 -4
- package/dist/quotes/get-quote-funding/get-quote-funding.d.ts.map +1 -1
- package/dist/quotes/get-quote-funding/get-quote-funding.js +19 -10
- package/dist/quotes/get-quote-funding/get-quote-funding.js.map +1 -1
- package/dist/quotes/get-quote-funding/query-document.d.ts +1 -0
- package/dist/quotes/get-quote-funding/query-document.d.ts.map +1 -1
- package/dist/quotes/get-quote-funding/query-document.js +1 -1
- package/dist/quotes/get-quote-funding/query-document.js.map +1 -1
- package/dist/quotes/get-quote-funding/query.d.ts +2 -2
- package/dist/quotes/get-quote-funding/query.d.ts.map +1 -1
- package/dist/quotes/get-quote-funding/query.js +12 -11
- package/dist/quotes/get-quote-funding/query.js.map +1 -1
- package/dist/quotes/get-quote-funding/to-funding-row.d.ts +3 -2
- package/dist/quotes/get-quote-funding/to-funding-row.d.ts.map +1 -1
- package/dist/quotes/get-quote-funding/to-funding-row.js +1 -1
- package/dist/quotes/get-quote-funding/to-funding-row.js.map +1 -1
- package/dist/quotes/get-quote-funding/types.d.ts +9 -5
- package/dist/quotes/get-quote-funding/types.d.ts.map +1 -1
- package/dist/quotes/get-quote-history/get-quote-history.d.ts +11 -3
- package/dist/quotes/get-quote-history/get-quote-history.d.ts.map +1 -1
- package/dist/quotes/get-quote-history/get-quote-history.js +23 -18
- package/dist/quotes/get-quote-history/get-quote-history.js.map +1 -1
- package/dist/quotes/get-quote-history/query.d.ts.map +1 -1
- package/dist/quotes/get-quote-history/query.js +1 -0
- package/dist/quotes/get-quote-history/query.js.map +1 -1
- package/dist/quotes/get-quote-history/to-history-row.js.map +1 -1
- package/dist/quotes/get-quotes-events-by-type/get-quotes-events-by-type.d.ts +76 -0
- package/dist/quotes/get-quotes-events-by-type/get-quotes-events-by-type.d.ts.map +1 -0
- package/dist/quotes/get-quotes-events-by-type/get-quotes-events-by-type.js +31 -0
- package/dist/quotes/get-quotes-events-by-type/get-quotes-events-by-type.js.map +1 -0
- package/dist/quotes/get-quotes-events-by-type/index.d.ts +3 -0
- package/dist/quotes/get-quotes-events-by-type/index.d.ts.map +1 -0
- package/dist/quotes/get-quotes-events-by-type/query-document.d.ts +20 -0
- package/dist/quotes/get-quotes-events-by-type/query-document.d.ts.map +1 -0
- package/dist/quotes/get-quotes-events-by-type/query-document.js +7 -0
- package/dist/quotes/get-quotes-events-by-type/query-document.js.map +1 -0
- package/dist/quotes/get-quotes-events-by-type/query.d.ts +46 -0
- package/dist/quotes/get-quotes-events-by-type/query.d.ts.map +1 -0
- package/dist/quotes/get-quotes-events-by-type/query.js +33 -0
- package/dist/quotes/get-quotes-events-by-type/query.js.map +1 -0
- package/dist/quotes/get-sub-account-quotes/get-sub-account-quotes.d.ts +2 -2
- package/dist/quotes/get-sub-account-quotes/get-sub-account-quotes.d.ts.map +1 -1
- package/dist/quotes/get-sub-account-quotes/get-sub-account-quotes.js +22 -20
- package/dist/quotes/get-sub-account-quotes/get-sub-account-quotes.js.map +1 -1
- package/dist/quotes/get-sub-account-quotes/query.d.ts.map +1 -1
- package/dist/quotes/get-sub-account-quotes/query.js +1 -0
- package/dist/quotes/get-sub-account-quotes/query.js.map +1 -1
- package/dist/quotes/grouping/aggregate-group-funding.d.ts +109 -0
- package/dist/quotes/grouping/aggregate-group-funding.d.ts.map +1 -0
- package/dist/quotes/grouping/aggregate-group-funding.js +29 -0
- package/dist/quotes/grouping/aggregate-group-funding.js.map +1 -0
- package/dist/quotes/grouping/aggregate-group-upnl.d.ts +143 -0
- package/dist/quotes/grouping/aggregate-group-upnl.d.ts.map +1 -0
- package/dist/quotes/grouping/aggregate-group-upnl.js +38 -0
- package/dist/quotes/grouping/aggregate-group-upnl.js.map +1 -0
- package/dist/quotes/grouping/aggregate-metrics.d.ts +8 -5
- package/dist/quotes/grouping/aggregate-metrics.d.ts.map +1 -1
- package/dist/quotes/grouping/aggregate-metrics.js +26 -24
- package/dist/quotes/grouping/aggregate-metrics.js.map +1 -1
- package/dist/quotes/grouping/group-quotes.d.ts +10 -1
- package/dist/quotes/grouping/group-quotes.d.ts.map +1 -1
- package/dist/quotes/grouping/group-quotes.js.map +1 -1
- package/dist/quotes/grouping/group-strategy.d.ts +86 -7
- package/dist/quotes/grouping/group-strategy.d.ts.map +1 -1
- package/dist/quotes/grouping/group-strategy.js +21 -16
- package/dist/quotes/grouping/group-strategy.js.map +1 -1
- package/dist/quotes/grouping/index.d.ts +2 -0
- package/dist/quotes/grouping/index.d.ts.map +1 -1
- package/dist/quotes/grouping/partition-quotes.d.ts +3 -3
- package/dist/quotes/grouping/partition-quotes.d.ts.map +1 -1
- package/dist/quotes/grouping/partition-quotes.js +1 -2
- package/dist/quotes/grouping/partition-quotes.js.map +1 -1
- package/dist/quotes/grouping/quote-group.d.ts +35 -21
- package/dist/quotes/grouping/quote-group.d.ts.map +1 -1
- package/dist/quotes/index.d.ts +4 -0
- package/dist/quotes/index.d.ts.map +1 -1
- package/dist/quotes/liquidation/calculate-liquidation-price.js +10 -10
- package/dist/quotes/liquidation/calculate-liquidation-price.js.map +1 -1
- package/dist/quotes/open-price.d.ts +51 -0
- package/dist/quotes/open-price.d.ts.map +1 -0
- package/dist/quotes/open-price.js +17 -0
- package/dist/quotes/open-price.js.map +1 -0
- package/dist/quotes/open-quantity.d.ts +6 -0
- package/dist/quotes/open-quantity.d.ts.map +1 -1
- package/dist/quotes/open-quantity.js.map +1 -1
- package/dist/quotes/quote-id-key-part.d.ts +19 -0
- package/dist/quotes/quote-id-key-part.d.ts.map +1 -0
- package/dist/quotes/quote-id-key-part.js +8 -0
- package/dist/quotes/quote-id-key-part.js.map +1 -0
- package/dist/quotes/reconcile-quotes.d.ts +12 -1
- package/dist/quotes/reconcile-quotes.d.ts.map +1 -1
- package/dist/quotes/reconcile-quotes.js +50 -42
- package/dist/quotes/reconcile-quotes.js.map +1 -1
- package/dist/quotes/resolve-quote-accounts.d.ts +1 -1
- package/dist/quotes/resolve-quote-accounts.d.ts.map +1 -1
- package/dist/quotes/resolve-quote-accounts.js.map +1 -1
- package/dist/quotes/should-accelerate.d.ts +10 -7
- package/dist/quotes/should-accelerate.d.ts.map +1 -1
- package/dist/quotes/should-accelerate.js +2 -7
- package/dist/quotes/should-accelerate.js.map +1 -1
- package/dist/quotes/to-unified-quote.d.ts +6 -4
- package/dist/quotes/to-unified-quote.d.ts.map +1 -1
- package/dist/quotes/to-unified-quote.js +1 -3
- package/dist/quotes/to-unified-quote.js.map +1 -1
- package/dist/quotes/unified-quote.d.ts +26 -11
- package/dist/quotes/unified-quote.d.ts.map +1 -1
- package/dist/quotes/unified-quote.js +1 -1
- package/dist/quotes/unified-quote.js.map +1 -1
- package/dist/quotes/upnl/calculate-quote-leverage.d.ts +5 -1
- package/dist/quotes/upnl/calculate-quote-leverage.d.ts.map +1 -1
- package/dist/quotes/upnl/calculate-quote-leverage.js +9 -8
- package/dist/quotes/upnl/calculate-quote-leverage.js.map +1 -1
- package/dist/quotes/upnl/calculate-quote-upnl-wei.d.ts +39 -0
- package/dist/quotes/upnl/calculate-quote-upnl-wei.d.ts.map +1 -0
- package/dist/quotes/upnl/calculate-quote-upnl-wei.js +11 -0
- package/dist/quotes/upnl/calculate-quote-upnl-wei.js.map +1 -0
- package/dist/quotes/upnl/index.d.ts +1 -0
- package/dist/quotes/upnl/index.d.ts.map +1 -1
- package/dist/shared/types/properties.d.ts +17 -1
- package/dist/shared/types/properties.d.ts.map +1 -1
- package/dist/shared/utils/percent.d.ts +17 -0
- package/dist/shared/utils/percent.d.ts.map +1 -0
- package/dist/shared/utils/percent.js +9 -0
- package/dist/shared/utils/percent.js.map +1 -0
- package/dist/shared/utils/price.d.ts +22 -0
- package/dist/shared/utils/price.d.ts.map +1 -0
- package/dist/shared/utils/price.js +15 -0
- package/dist/shared/utils/price.js.map +1 -0
- package/dist/shared/utils/query.d.ts.map +1 -1
- package/dist/shared/utils/query.js +2 -1
- package/dist/shared/utils/query.js.map +1 -1
- package/dist/shared/utils/wei.d.ts +26 -0
- package/dist/shared/utils/wei.d.ts.map +1 -1
- package/dist/shared/utils/wei.js +4 -1
- package/dist/shared/utils/wei.js.map +1 -1
- package/dist/solvers/add-solver-whitelist/add-solver-whitelist.d.ts +27 -0
- package/dist/solvers/add-solver-whitelist/add-solver-whitelist.d.ts.map +1 -0
- package/dist/solvers/add-solver-whitelist/add-solver-whitelist.js +25 -0
- package/dist/solvers/add-solver-whitelist/add-solver-whitelist.js.map +1 -0
- package/dist/solvers/add-solver-whitelist/index.d.ts +3 -0
- package/dist/solvers/add-solver-whitelist/index.d.ts.map +1 -0
- package/dist/solvers/add-solver-whitelist/query.d.ts +19 -0
- package/dist/solvers/add-solver-whitelist/query.d.ts.map +1 -0
- package/dist/solvers/add-solver-whitelist/query.js +12 -0
- package/dist/solvers/add-solver-whitelist/query.js.map +1 -0
- package/dist/solvers/assert-solver-kind.d.ts +15 -0
- package/dist/solvers/assert-solver-kind.d.ts.map +1 -0
- package/dist/solvers/assert-solver-kind.js +9 -0
- package/dist/solvers/assert-solver-kind.js.map +1 -0
- package/dist/solvers/capabilities.d.ts +56 -0
- package/dist/solvers/capabilities.d.ts.map +1 -0
- package/dist/solvers/capabilities.js +30 -0
- package/dist/solvers/capabilities.js.map +1 -0
- package/dist/solvers/error-codes/get-solver-error-codes.d.ts +2 -2
- package/dist/solvers/error-codes/get-solver-error-codes.d.ts.map +1 -1
- package/dist/solvers/error-codes/get-solver-error-codes.js +4 -2
- package/dist/solvers/error-codes/get-solver-error-codes.js.map +1 -1
- package/dist/solvers/error-codes/query.d.ts.map +1 -1
- package/dist/solvers/error-codes/query.js +4 -1
- package/dist/solvers/error-codes/query.js.map +1 -1
- package/dist/solvers/estimated-price/get-estimated-price.d.ts +2 -2
- package/dist/solvers/estimated-price/get-estimated-price.d.ts.map +1 -1
- package/dist/solvers/estimated-price/get-estimated-price.js +20 -15
- package/dist/solvers/estimated-price/get-estimated-price.js.map +1 -1
- package/dist/solvers/estimated-price/index.d.ts +1 -0
- package/dist/solvers/estimated-price/index.d.ts.map +1 -1
- package/dist/solvers/estimated-price/query.d.ts.map +1 -1
- package/dist/solvers/estimated-price/query.js +1 -0
- package/dist/solvers/estimated-price/query.js.map +1 -1
- package/dist/solvers/estimated-price/supports-estimated-price.d.ts +33 -0
- package/dist/solvers/estimated-price/supports-estimated-price.d.ts.map +1 -0
- package/dist/solvers/estimated-price/supports-estimated-price.js +13 -0
- package/dist/solvers/estimated-price/supports-estimated-price.js.map +1 -0
- package/dist/solvers/force-close/force-close-auto.d.ts +53 -0
- package/dist/solvers/force-close/force-close-auto.d.ts.map +1 -0
- package/dist/solvers/force-close/force-close-auto.js +80 -0
- package/dist/solvers/force-close/force-close-auto.js.map +1 -0
- package/dist/solvers/force-close/force-close-math.d.ts +93 -0
- package/dist/solvers/force-close/force-close-math.d.ts.map +1 -0
- package/dist/solvers/force-close/force-close-math.js +58 -0
- package/dist/solvers/force-close/force-close-math.js.map +1 -0
- package/dist/solvers/force-close/force-close-position.d.ts +45 -0
- package/dist/solvers/force-close/force-close-position.d.ts.map +1 -0
- package/dist/solvers/force-close/force-close-position.js +22 -0
- package/dist/solvers/force-close/force-close-position.js.map +1 -0
- package/dist/solvers/force-close/get-force-close-params.d.ts +32 -0
- package/dist/solvers/force-close/get-force-close-params.d.ts.map +1 -0
- package/dist/solvers/force-close/get-force-close-params.js +41 -0
- package/dist/solvers/force-close/get-force-close-params.js.map +1 -0
- package/dist/solvers/force-close/index.d.ts +7 -0
- package/dist/solvers/force-close/index.d.ts.map +1 -0
- package/dist/solvers/force-close/query.d.ts +60 -0
- package/dist/solvers/force-close/query.d.ts.map +1 -0
- package/dist/solvers/force-close/query.js +38 -0
- package/dist/solvers/force-close/query.js.map +1 -0
- package/dist/solvers/force-close/types.d.ts +37 -0
- package/dist/solvers/force-close/types.d.ts.map +1 -0
- package/dist/solvers/funding-info/get-funding-info.d.ts +2 -2
- package/dist/solvers/funding-info/get-funding-info.d.ts.map +1 -1
- package/dist/solvers/funding-info/get-funding-info.js +4 -2
- package/dist/solvers/funding-info/get-funding-info.js.map +1 -1
- package/dist/solvers/funding-info/query.d.ts.map +1 -1
- package/dist/solvers/funding-info/query.js +1 -0
- package/dist/solvers/funding-info/query.js.map +1 -1
- package/dist/solvers/get-error-message/get-error-message.d.ts +22 -0
- package/dist/solvers/get-error-message/get-error-message.d.ts.map +1 -0
- package/dist/solvers/get-error-message/get-error-message.js +24 -0
- package/dist/solvers/get-error-message/get-error-message.js.map +1 -0
- package/dist/solvers/get-error-message/index.d.ts +3 -0
- package/dist/solvers/get-error-message/index.d.ts.map +1 -0
- package/dist/solvers/get-error-message/query.d.ts +29 -0
- package/dist/solvers/get-error-message/query.d.ts.map +1 -0
- package/dist/solvers/get-error-message/query.js +25 -0
- package/dist/solvers/get-error-message/query.js.map +1 -0
- package/dist/solvers/get-party-a-upnl/get-party-a-upnl.d.ts +21 -0
- package/dist/solvers/get-party-a-upnl/get-party-a-upnl.d.ts.map +1 -0
- package/dist/solvers/get-party-a-upnl/get-party-a-upnl.js +24 -0
- package/dist/solvers/get-party-a-upnl/get-party-a-upnl.js.map +1 -0
- package/dist/solvers/get-party-a-upnl/index.d.ts +3 -0
- package/dist/solvers/get-party-a-upnl/index.d.ts.map +1 -0
- package/dist/solvers/get-party-a-upnl/query.d.ts +29 -0
- package/dist/solvers/get-party-a-upnl/query.d.ts.map +1 -0
- package/dist/solvers/get-party-a-upnl/query.js +25 -0
- package/dist/solvers/get-party-a-upnl/query.js.map +1 -0
- package/dist/solvers/get-solver-balance-info/get-solver-balance-info.d.ts +25 -0
- package/dist/solvers/get-solver-balance-info/get-solver-balance-info.d.ts.map +1 -0
- package/dist/solvers/get-solver-balance-info/get-solver-balance-info.js +25 -0
- package/dist/solvers/get-solver-balance-info/get-solver-balance-info.js.map +1 -0
- package/dist/solvers/get-solver-balance-info/index.d.ts +3 -0
- package/dist/solvers/get-solver-balance-info/index.d.ts.map +1 -0
- package/dist/solvers/get-solver-balance-info/query.d.ts +29 -0
- package/dist/solvers/get-solver-balance-info/query.d.ts.map +1 -0
- package/dist/solvers/get-solver-balance-info/query.js +26 -0
- package/dist/solvers/get-solver-balance-info/query.js.map +1 -0
- package/dist/solvers/get-solver-open-interest/get-solver-open-interest.d.ts +19 -0
- package/dist/solvers/get-solver-open-interest/get-solver-open-interest.d.ts.map +1 -0
- package/dist/solvers/get-solver-open-interest/get-solver-open-interest.js +24 -0
- package/dist/solvers/get-solver-open-interest/get-solver-open-interest.js.map +1 -0
- package/dist/solvers/get-solver-open-interest/index.d.ts +3 -0
- package/dist/solvers/get-solver-open-interest/index.d.ts.map +1 -0
- package/dist/solvers/get-solver-open-interest/query.d.ts +29 -0
- package/dist/solvers/get-solver-open-interest/query.d.ts.map +1 -0
- package/dist/solvers/get-solver-open-interest/query.js +24 -0
- package/dist/solvers/get-solver-open-interest/query.js.map +1 -0
- package/dist/solvers/get-solver-price-range/get-solver-price-range.d.ts +22 -0
- package/dist/solvers/get-solver-price-range/get-solver-price-range.d.ts.map +1 -0
- package/dist/solvers/get-solver-price-range/get-solver-price-range.js +24 -0
- package/dist/solvers/get-solver-price-range/get-solver-price-range.js.map +1 -0
- package/dist/solvers/get-solver-price-range/index.d.ts +3 -0
- package/dist/solvers/get-solver-price-range/index.d.ts.map +1 -0
- package/dist/solvers/get-solver-price-range/query.d.ts +29 -0
- package/dist/solvers/get-solver-price-range/query.d.ts.map +1 -0
- package/dist/solvers/get-solver-price-range/query.js +25 -0
- package/dist/solvers/get-solver-price-range/query.js.map +1 -0
- package/dist/solvers/get-solver-readiness/get-solver-readiness.d.ts +18 -0
- package/dist/solvers/get-solver-readiness/get-solver-readiness.d.ts.map +1 -0
- package/dist/solvers/get-solver-readiness/get-solver-readiness.js +24 -0
- package/dist/solvers/get-solver-readiness/get-solver-readiness.js.map +1 -0
- package/dist/solvers/get-solver-readiness/index.d.ts +3 -0
- package/dist/solvers/get-solver-readiness/index.d.ts.map +1 -0
- package/dist/solvers/get-solver-readiness/query.d.ts +29 -0
- package/dist/solvers/get-solver-readiness/query.d.ts.map +1 -0
- package/dist/solvers/get-solver-readiness/query.js +24 -0
- package/dist/solvers/get-solver-readiness/query.js.map +1 -0
- package/dist/solvers/instant-close/get-instant-closes/get-instant-closes.d.ts +2 -2
- package/dist/solvers/instant-close/get-instant-closes/get-instant-closes.d.ts.map +1 -1
- package/dist/solvers/instant-close/get-instant-closes/get-instant-closes.js +4 -1
- package/dist/solvers/instant-close/get-instant-closes/get-instant-closes.js.map +1 -1
- package/dist/solvers/instant-close/get-instant-closes/query.d.ts.map +1 -1
- package/dist/solvers/instant-close/get-instant-closes/query.js +1 -0
- package/dist/solvers/instant-close/get-instant-closes/query.js.map +1 -1
- package/dist/solvers/instant-close/instant-close/instant-close.d.ts +16 -3
- package/dist/solvers/instant-close/instant-close/instant-close.d.ts.map +1 -1
- package/dist/solvers/instant-close/instant-close/instant-close.js +26 -25
- package/dist/solvers/instant-close/instant-close/instant-close.js.map +1 -1
- package/dist/solvers/instant-close/instant-close-bulk/instant-close-bulk.d.ts.map +1 -1
- package/dist/solvers/instant-close/instant-close-bulk/instant-close-bulk.js +1 -0
- package/dist/solvers/instant-close/instant-close-bulk/instant-close-bulk.js.map +1 -1
- package/dist/solvers/instant-close/instant-close-bulk-auto/instant-close-bulk-auto.d.ts.map +1 -1
- package/dist/solvers/instant-close/instant-close-bulk-auto/instant-close-bulk-auto.js +1 -0
- package/dist/solvers/instant-close/instant-close-bulk-auto/instant-close-bulk-auto.js.map +1 -1
- package/dist/solvers/instant-close/prepare-instant-close-params/prepare-instant-close-params.d.ts.map +1 -1
- package/dist/solvers/instant-close/prepare-instant-close-params/prepare-instant-close-params.js +3 -0
- package/dist/solvers/instant-close/prepare-instant-close-params/prepare-instant-close-params.js.map +1 -1
- package/dist/solvers/instant-close/shared/adapters/enigma-instant-close.d.ts +14 -0
- package/dist/solvers/instant-close/shared/adapters/enigma-instant-close.d.ts.map +1 -0
- package/dist/solvers/instant-close/shared/adapters/enigma-instant-close.js +14 -0
- package/dist/solvers/instant-close/shared/adapters/enigma-instant-close.js.map +1 -0
- package/dist/solvers/instant-close/shared/adapters/hedger-error.d.ts +10 -0
- package/dist/solvers/instant-close/shared/adapters/hedger-error.d.ts.map +1 -0
- package/dist/solvers/instant-close/shared/adapters/hedger-error.js +13 -0
- package/dist/solvers/instant-close/shared/adapters/hedger-error.js.map +1 -0
- package/dist/solvers/instant-close/shared/adapters/index.d.ts +4 -0
- package/dist/solvers/instant-close/shared/adapters/index.d.ts.map +1 -0
- package/dist/solvers/instant-close/shared/adapters/rasa-instant-close.d.ts +20 -0
- package/dist/solvers/instant-close/shared/adapters/rasa-instant-close.d.ts.map +1 -0
- package/dist/solvers/instant-close/shared/adapters/rasa-instant-close.js +25 -0
- package/dist/solvers/instant-close/shared/adapters/rasa-instant-close.js.map +1 -0
- package/dist/solvers/instant-close/shared/hedger-api.d.ts +17 -14
- package/dist/solvers/instant-close/shared/hedger-api.d.ts.map +1 -1
- package/dist/solvers/instant-close/shared/hedger-api.js +16 -13
- package/dist/solvers/instant-close/shared/hedger-api.js.map +1 -1
- package/dist/solvers/instant-close/shared/index.d.ts +1 -0
- package/dist/solvers/instant-close/shared/index.d.ts.map +1 -1
- package/dist/solvers/instant-close/shared/quote-constraints.d.ts +20 -3
- package/dist/solvers/instant-close/shared/quote-constraints.d.ts.map +1 -1
- package/dist/solvers/instant-close/shared/quote-constraints.js +4 -4
- package/dist/solvers/instant-close/shared/quote-constraints.js.map +1 -1
- package/dist/solvers/instant-close/shared/types.d.ts +3 -3
- package/dist/solvers/instant-close/shared/types.d.ts.map +1 -1
- package/dist/solvers/instant-open/get-instant-open-quote-id/get-instant-open-quote-id.d.ts +2 -2
- package/dist/solvers/instant-open/get-instant-open-quote-id/get-instant-open-quote-id.d.ts.map +1 -1
- package/dist/solvers/instant-open/get-instant-open-quote-id/get-instant-open-quote-id.js +4 -1
- package/dist/solvers/instant-open/get-instant-open-quote-id/get-instant-open-quote-id.js.map +1 -1
- package/dist/solvers/instant-open/get-instant-open-quote-id/query.d.ts.map +1 -1
- package/dist/solvers/instant-open/get-instant-open-quote-id/query.js +1 -0
- package/dist/solvers/instant-open/get-instant-open-quote-id/query.js.map +1 -1
- package/dist/solvers/instant-open/get-instant-opens/adapters/enigma-instant-opens.d.ts +18 -0
- package/dist/solvers/instant-open/get-instant-opens/adapters/enigma-instant-opens.d.ts.map +1 -0
- package/dist/solvers/instant-open/get-instant-opens/adapters/enigma-instant-opens.js +28 -0
- package/dist/solvers/instant-open/get-instant-opens/adapters/enigma-instant-opens.js.map +1 -0
- package/dist/solvers/instant-open/get-instant-opens/adapters/index.d.ts +3 -0
- package/dist/solvers/instant-open/get-instant-opens/adapters/index.d.ts.map +1 -0
- package/dist/solvers/instant-open/get-instant-opens/adapters/rasa-instant-opens.d.ts +18 -0
- package/dist/solvers/instant-open/get-instant-opens/adapters/rasa-instant-opens.d.ts.map +1 -0
- package/dist/solvers/instant-open/get-instant-opens/adapters/rasa-instant-opens.js +25 -0
- package/dist/solvers/instant-open/get-instant-opens/adapters/rasa-instant-opens.js.map +1 -0
- package/dist/solvers/instant-open/get-instant-opens/get-instant-opens.d.ts +22 -11
- package/dist/solvers/instant-open/get-instant-opens/get-instant-opens.d.ts.map +1 -1
- package/dist/solvers/instant-open/get-instant-opens/get-instant-opens.js +26 -10
- package/dist/solvers/instant-open/get-instant-opens/get-instant-opens.js.map +1 -1
- package/dist/solvers/instant-open/get-instant-opens/index.d.ts +1 -1
- package/dist/solvers/instant-open/get-instant-opens/index.d.ts.map +1 -1
- package/dist/solvers/instant-open/get-instant-opens/query.d.ts +7 -6
- package/dist/solvers/instant-open/get-instant-opens/query.d.ts.map +1 -1
- package/dist/solvers/instant-open/get-instant-opens/query.js +1 -0
- package/dist/solvers/instant-open/get-instant-opens/query.js.map +1 -1
- package/dist/solvers/instant-open/get-instant-opens/{to-pending-instant-open.d.ts → types.d.ts} +31 -15
- package/dist/solvers/instant-open/get-instant-opens/types.d.ts.map +1 -0
- package/dist/solvers/instant-open/instant-open/adapters/context.d.ts +34 -0
- package/dist/solvers/instant-open/instant-open/adapters/context.d.ts.map +1 -0
- package/dist/solvers/instant-open/instant-open/adapters/enigma-instant-open.d.ts +22 -0
- package/dist/solvers/instant-open/instant-open/adapters/enigma-instant-open.d.ts.map +1 -0
- package/dist/solvers/instant-open/instant-open/adapters/enigma-instant-open.js +73 -0
- package/dist/solvers/instant-open/instant-open/adapters/enigma-instant-open.js.map +1 -0
- package/dist/solvers/instant-open/instant-open/adapters/index.d.ts +4 -0
- package/dist/solvers/instant-open/instant-open/adapters/index.d.ts.map +1 -0
- package/dist/solvers/instant-open/instant-open/adapters/rasa-instant-open.d.ts +22 -0
- package/dist/solvers/instant-open/instant-open/adapters/rasa-instant-open.d.ts.map +1 -0
- package/dist/solvers/instant-open/instant-open/adapters/rasa-instant-open.js +55 -0
- package/dist/solvers/instant-open/instant-open/adapters/rasa-instant-open.js.map +1 -0
- package/dist/solvers/instant-open/instant-open/index.d.ts +2 -0
- package/dist/solvers/instant-open/instant-open/index.d.ts.map +1 -1
- package/dist/solvers/instant-open/instant-open/instant-open.d.ts +34 -65
- package/dist/solvers/instant-open/instant-open/instant-open.d.ts.map +1 -1
- package/dist/solvers/instant-open/instant-open/instant-open.js +31 -63
- package/dist/solvers/instant-open/instant-open/instant-open.js.map +1 -1
- package/dist/solvers/instant-open/instant-open/query.d.ts +9 -3
- package/dist/solvers/instant-open/instant-open/query.d.ts.map +1 -1
- package/dist/solvers/instant-open/instant-open/query.js.map +1 -1
- package/dist/solvers/instant-open/instant-open/types.d.ts +91 -0
- package/dist/solvers/instant-open/instant-open/types.d.ts.map +1 -0
- package/dist/solvers/instant-open/instant-open-auto/instant-open-auto.d.ts +1 -1
- package/dist/solvers/instant-open/instant-open-auto/instant-open-auto.d.ts.map +1 -1
- package/dist/solvers/instant-open/instant-open-auto/instant-open-auto.js.map +1 -1
- package/dist/solvers/instant-open/prepare-instant-open-params/prepare-instant-open-params.d.ts +1 -1
- package/dist/solvers/instant-open/prepare-instant-open-params/prepare-instant-open-params.d.ts.map +1 -1
- package/dist/solvers/instant-open/prepare-instant-open-params/prepare-instant-open-params.js +4 -0
- package/dist/solvers/instant-open/prepare-instant-open-params/prepare-instant-open-params.js.map +1 -1
- package/dist/solvers/instant-open/prepare-instant-open-params/resolvers/resolve-locked-params.d.ts +7 -0
- package/dist/solvers/instant-open/prepare-instant-open-params/resolvers/resolve-locked-params.d.ts.map +1 -1
- package/dist/solvers/instant-open/prepare-instant-open-params/resolvers/resolve-locked-params.js +1 -0
- package/dist/solvers/instant-open/prepare-instant-open-params/resolvers/resolve-locked-params.js.map +1 -1
- package/dist/solvers/instant-open/shared/calldata.d.ts +45 -0
- package/dist/solvers/instant-open/shared/calldata.d.ts.map +1 -1
- package/dist/solvers/instant-open/shared/calldata.js +40 -17
- package/dist/solvers/instant-open/shared/calldata.js.map +1 -1
- package/dist/solvers/instant-open/shared/hedger-api.d.ts +33 -2
- package/dist/solvers/instant-open/shared/hedger-api.d.ts.map +1 -1
- package/dist/solvers/instant-open/shared/hedger-api.js +25 -7
- package/dist/solvers/instant-open/shared/hedger-api.js.map +1 -1
- package/dist/solvers/instant-open/shared/operations.d.ts +16 -3
- package/dist/solvers/instant-open/shared/operations.d.ts.map +1 -1
- package/dist/solvers/instant-open/shared/operations.js +2 -2
- package/dist/solvers/instant-open/shared/operations.js.map +1 -1
- package/dist/solvers/instant-open/shared/quote-constraints.d.ts +27 -3
- package/dist/solvers/instant-open/shared/quote-constraints.d.ts.map +1 -1
- package/dist/solvers/instant-open/shared/quote-constraints.js +27 -27
- package/dist/solvers/instant-open/shared/quote-constraints.js.map +1 -1
- package/dist/solvers/instant-open/shared/trade-math.d.ts +11 -0
- package/dist/solvers/instant-open/shared/trade-math.d.ts.map +1 -1
- package/dist/solvers/instant-open/shared/trade-math.js +10 -6
- package/dist/solvers/instant-open/shared/trade-math.js.map +1 -1
- package/dist/solvers/instant-open/shared/types.d.ts +12 -23
- package/dist/solvers/instant-open/shared/types.d.ts.map +1 -1
- package/dist/solvers/instant-open/shared/types.js.map +1 -1
- package/dist/solvers/limit-close/index.d.ts +4 -0
- package/dist/solvers/limit-close/index.d.ts.map +1 -0
- package/dist/solvers/limit-close/limit-close-auto.d.ts +23 -0
- package/dist/solvers/limit-close/limit-close-auto.d.ts.map +1 -0
- package/dist/solvers/limit-close/limit-close-auto.js +10 -0
- package/dist/solvers/limit-close/limit-close-auto.js.map +1 -0
- package/dist/solvers/limit-close/prepare-limit-close-params.d.ts +30 -0
- package/dist/solvers/limit-close/prepare-limit-close-params.d.ts.map +1 -0
- package/dist/solvers/limit-close/prepare-limit-close-params.js +24 -0
- package/dist/solvers/limit-close/prepare-limit-close-params.js.map +1 -0
- package/dist/solvers/limit-close/query.d.ts +15 -0
- package/dist/solvers/limit-close/query.d.ts.map +1 -0
- package/dist/solvers/limit-close/query.js +12 -0
- package/dist/solvers/limit-close/query.js.map +1 -0
- package/dist/solvers/limit-open/index.d.ts +4 -0
- package/dist/solvers/limit-open/index.d.ts.map +1 -0
- package/dist/solvers/limit-open/limit-open-auto.d.ts +23 -0
- package/dist/solvers/limit-open/limit-open-auto.d.ts.map +1 -0
- package/dist/solvers/limit-open/limit-open-auto.js +10 -0
- package/dist/solvers/limit-open/limit-open-auto.js.map +1 -0
- package/dist/solvers/limit-open/prepare-limit-open-params.d.ts +31 -0
- package/dist/solvers/limit-open/prepare-limit-open-params.d.ts.map +1 -0
- package/dist/solvers/limit-open/prepare-limit-open-params.js +24 -0
- package/dist/solvers/limit-open/prepare-limit-open-params.js.map +1 -0
- package/dist/solvers/limit-open/query.d.ts +15 -0
- package/dist/solvers/limit-open/query.d.ts.map +1 -0
- package/dist/solvers/limit-open/query.js +12 -0
- package/dist/solvers/limit-open/query.js.map +1 -0
- package/dist/solvers/locked-params/get-locked-params.d.ts +2 -2
- package/dist/solvers/locked-params/get-locked-params.d.ts.map +1 -1
- package/dist/solvers/locked-params/get-locked-params.js +4 -2
- package/dist/solvers/locked-params/get-locked-params.js.map +1 -1
- package/dist/solvers/locked-params/query.d.ts.map +1 -1
- package/dist/solvers/locked-params/query.js +1 -0
- package/dist/solvers/locked-params/query.js.map +1 -1
- package/dist/solvers/market-info/adapters/enigma-market-info.d.ts +15 -0
- package/dist/solvers/market-info/adapters/enigma-market-info.d.ts.map +1 -0
- package/dist/solvers/market-info/adapters/enigma-market-info.js +33 -0
- package/dist/solvers/market-info/adapters/enigma-market-info.js.map +1 -0
- package/dist/solvers/market-info/adapters/index.d.ts +3 -0
- package/dist/solvers/market-info/adapters/index.d.ts.map +1 -0
- package/dist/solvers/market-info/adapters/rasa-market-info.d.ts +16 -0
- package/dist/solvers/market-info/adapters/rasa-market-info.d.ts.map +1 -0
- package/dist/solvers/market-info/adapters/rasa-market-info.js +22 -0
- package/dist/solvers/market-info/adapters/rasa-market-info.js.map +1 -0
- package/dist/solvers/market-info/get-market-info.d.ts +25 -17
- package/dist/solvers/market-info/get-market-info.d.ts.map +1 -1
- package/dist/solvers/market-info/get-market-info.js +25 -12
- package/dist/solvers/market-info/get-market-info.js.map +1 -1
- package/dist/solvers/market-info/index.d.ts +0 -1
- package/dist/solvers/market-info/index.d.ts.map +1 -1
- package/dist/solvers/market-info/query.d.ts +11 -10
- package/dist/solvers/market-info/query.d.ts.map +1 -1
- package/dist/solvers/market-info/query.js +4 -1
- package/dist/solvers/market-info/query.js.map +1 -1
- package/dist/solvers/market-info/types.d.ts +40 -9
- package/dist/solvers/market-info/types.d.ts.map +1 -1
- package/dist/solvers/markets/adapters/enigma-markets.d.ts +18 -0
- package/dist/solvers/markets/adapters/enigma-markets.d.ts.map +1 -0
- package/dist/solvers/markets/adapters/enigma-markets.js +44 -0
- package/dist/solvers/markets/adapters/enigma-markets.js.map +1 -0
- package/dist/solvers/markets/adapters/index.d.ts +3 -0
- package/dist/solvers/markets/adapters/index.d.ts.map +1 -0
- package/dist/solvers/markets/adapters/rasa-markets.d.ts +18 -0
- package/dist/solvers/markets/adapters/rasa-markets.d.ts.map +1 -0
- package/dist/solvers/markets/adapters/rasa-markets.js +36 -0
- package/dist/solvers/markets/adapters/rasa-markets.js.map +1 -0
- package/dist/solvers/markets/get-markets.d.ts +34 -13
- package/dist/solvers/markets/get-markets.d.ts.map +1 -1
- package/dist/solvers/markets/get-markets.js +28 -14
- package/dist/solvers/markets/get-markets.js.map +1 -1
- package/dist/solvers/markets/index.d.ts +1 -1
- package/dist/solvers/markets/index.d.ts.map +1 -1
- package/dist/solvers/markets/query.d.ts +14 -11
- package/dist/solvers/markets/query.d.ts.map +1 -1
- package/dist/solvers/markets/query.js +4 -1
- package/dist/solvers/markets/query.js.map +1 -1
- package/dist/solvers/markets/types.d.ts +96 -0
- package/dist/solvers/markets/types.d.ts.map +1 -0
- package/dist/solvers/notional-cap/adapters/enigma-notional-cap.d.ts +17 -0
- package/dist/solvers/notional-cap/adapters/enigma-notional-cap.d.ts.map +1 -0
- package/dist/solvers/notional-cap/adapters/enigma-notional-cap.js +27 -0
- package/dist/solvers/notional-cap/adapters/enigma-notional-cap.js.map +1 -0
- package/dist/solvers/notional-cap/adapters/index.d.ts +3 -0
- package/dist/solvers/notional-cap/adapters/index.d.ts.map +1 -0
- package/dist/solvers/notional-cap/adapters/rasa-notional-cap.d.ts +16 -0
- package/dist/solvers/notional-cap/adapters/rasa-notional-cap.d.ts.map +1 -0
- package/dist/solvers/notional-cap/adapters/rasa-notional-cap.js +17 -0
- package/dist/solvers/notional-cap/adapters/rasa-notional-cap.js.map +1 -0
- package/dist/solvers/notional-cap/check-notional-cap.d.ts +4 -2
- package/dist/solvers/notional-cap/check-notional-cap.d.ts.map +1 -1
- package/dist/solvers/notional-cap/check-notional-cap.js +2 -2
- package/dist/solvers/notional-cap/check-notional-cap.js.map +1 -1
- package/dist/solvers/notional-cap/get-notional-cap-all.d.ts +5 -5
- package/dist/solvers/notional-cap/get-notional-cap-all.d.ts.map +1 -1
- package/dist/solvers/notional-cap/get-notional-cap-all.js +5 -2
- package/dist/solvers/notional-cap/get-notional-cap-all.js.map +1 -1
- package/dist/solvers/notional-cap/get-notional-cap-by-symbol-id.d.ts +23 -14
- package/dist/solvers/notional-cap/get-notional-cap-by-symbol-id.d.ts.map +1 -1
- package/dist/solvers/notional-cap/get-notional-cap-by-symbol-id.js +26 -10
- package/dist/solvers/notional-cap/get-notional-cap-by-symbol-id.js.map +1 -1
- package/dist/solvers/notional-cap/get-open-interest-by-symbol-id.d.ts +2 -2
- package/dist/solvers/notional-cap/get-open-interest-by-symbol-id.d.ts.map +1 -1
- package/dist/solvers/notional-cap/get-open-interest-by-symbol-id.js +7 -1
- package/dist/solvers/notional-cap/get-open-interest-by-symbol-id.js.map +1 -1
- package/dist/solvers/notional-cap/index.d.ts +0 -1
- package/dist/solvers/notional-cap/index.d.ts.map +1 -1
- package/dist/solvers/notional-cap/query-all.js +4 -1
- package/dist/solvers/notional-cap/query-all.js.map +1 -1
- package/dist/solvers/notional-cap/query-open-interest.d.ts.map +1 -1
- package/dist/solvers/notional-cap/query-open-interest.js +1 -0
- package/dist/solvers/notional-cap/query-open-interest.js.map +1 -1
- package/dist/solvers/notional-cap/query.d.ts +10 -8
- package/dist/solvers/notional-cap/query.d.ts.map +1 -1
- package/dist/solvers/notional-cap/query.js +1 -0
- package/dist/solvers/notional-cap/query.js.map +1 -1
- package/dist/solvers/notional-cap/types.d.ts +38 -15
- package/dist/solvers/notional-cap/types.d.ts.map +1 -1
- package/dist/solvers/revenue/get-solver-revenue.d.ts +48 -0
- package/dist/solvers/revenue/get-solver-revenue.d.ts.map +1 -0
- package/dist/solvers/revenue/get-solver-revenue.js +28 -0
- package/dist/solvers/revenue/get-solver-revenue.js.map +1 -0
- package/dist/solvers/revenue/index.d.ts +5 -0
- package/dist/solvers/revenue/index.d.ts.map +1 -0
- package/dist/solvers/revenue/query.d.ts +36 -0
- package/dist/solvers/revenue/query.d.ts.map +1 -0
- package/dist/solvers/revenue/query.js +26 -0
- package/dist/solvers/revenue/query.js.map +1 -0
- package/dist/solvers/revenue/to-solver-revenue.d.ts +13 -0
- package/dist/solvers/revenue/to-solver-revenue.d.ts.map +1 -0
- package/dist/solvers/revenue/to-solver-revenue.js +14 -0
- package/dist/solvers/revenue/to-solver-revenue.js.map +1 -0
- package/dist/solvers/revenue/types.d.ts +33 -0
- package/dist/solvers/revenue/types.d.ts.map +1 -0
- package/dist/solvers/revenue-records/get-revenue-records.d.ts +36 -0
- package/dist/solvers/revenue-records/get-revenue-records.d.ts.map +1 -0
- package/dist/solvers/revenue-records/get-revenue-records.js +36 -0
- package/dist/solvers/revenue-records/get-revenue-records.js.map +1 -0
- package/dist/solvers/revenue-records/index.d.ts +5 -0
- package/dist/solvers/revenue-records/index.d.ts.map +1 -0
- package/dist/solvers/revenue-records/query.d.ts +29 -0
- package/dist/solvers/revenue-records/query.d.ts.map +1 -0
- package/dist/solvers/revenue-records/query.js +28 -0
- package/dist/solvers/revenue-records/query.js.map +1 -0
- package/dist/solvers/revenue-records/to-revenue-record.d.ts +11 -0
- package/dist/solvers/revenue-records/to-revenue-record.d.ts.map +1 -0
- package/dist/solvers/revenue-records/to-revenue-record.js +13 -0
- package/dist/solvers/revenue-records/to-revenue-record.js.map +1 -0
- package/dist/solvers/revenue-records/types.d.ts +26 -0
- package/dist/solvers/revenue-records/types.d.ts.map +1 -0
- package/dist/solvers/shared/resolvers/resolve-mark-price.d.ts +17 -5
- package/dist/solvers/shared/resolvers/resolve-mark-price.d.ts.map +1 -1
- package/dist/solvers/shared/resolvers/resolve-mark-price.js +17 -10
- package/dist/solvers/shared/resolvers/resolve-mark-price.js.map +1 -1
- package/dist/solvers/shared/resolvers/resolve-market.d.ts +10 -3
- package/dist/solvers/shared/resolvers/resolve-market.d.ts.map +1 -1
- package/dist/solvers/shared/resolvers/resolve-market.js +7 -6
- package/dist/solvers/shared/resolvers/resolve-market.js.map +1 -1
- package/dist/solvers/symbols/get-symbols.d.ts +53 -0
- package/dist/solvers/symbols/get-symbols.d.ts.map +1 -0
- package/dist/solvers/symbols/get-symbols.js +37 -0
- package/dist/solvers/symbols/get-symbols.js.map +1 -0
- package/dist/solvers/symbols/index.d.ts +5 -0
- package/dist/solvers/symbols/index.d.ts.map +1 -0
- package/dist/solvers/symbols/query.d.ts +28 -0
- package/dist/solvers/symbols/query.d.ts.map +1 -0
- package/dist/solvers/symbols/query.js +33 -0
- package/dist/solvers/symbols/query.js.map +1 -0
- package/dist/solvers/symbols/to-solver-symbol.d.ts +11 -0
- package/dist/solvers/symbols/to-solver-symbol.d.ts.map +1 -0
- package/dist/solvers/symbols/to-solver-symbol.js +40 -0
- package/dist/solvers/symbols/to-solver-symbol.js.map +1 -0
- package/dist/solvers/symbols/types.d.ts +71 -0
- package/dist/solvers/symbols/types.d.ts.map +1 -0
- package/dist/solvers/trade-volume/get-trade-volume.d.ts +37 -0
- package/dist/solvers/trade-volume/get-trade-volume.d.ts.map +1 -0
- package/dist/solvers/trade-volume/get-trade-volume.js +27 -0
- package/dist/solvers/trade-volume/get-trade-volume.js.map +1 -0
- package/dist/solvers/trade-volume/index.d.ts +5 -0
- package/dist/solvers/trade-volume/index.d.ts.map +1 -0
- package/dist/solvers/trade-volume/query.d.ts +29 -0
- package/dist/solvers/trade-volume/query.d.ts.map +1 -0
- package/dist/solvers/trade-volume/query.js +25 -0
- package/dist/solvers/trade-volume/query.js.map +1 -0
- package/dist/solvers/trade-volume/to-daily-volume.d.ts +12 -0
- package/dist/solvers/trade-volume/to-daily-volume.d.ts.map +1 -0
- package/dist/solvers/trade-volume/to-daily-volume.js +11 -0
- package/dist/solvers/trade-volume/to-daily-volume.js.map +1 -0
- package/dist/solvers/trade-volume/types.d.ts +20 -0
- package/dist/solvers/trade-volume/types.d.ts.map +1 -0
- package/dist/solvers/types/generated/enigma-solver.d.ts +168 -13
- package/dist/solvers/types/generated/enigma-solver.d.ts.map +1 -1
- package/dist/solvers/types/generated/enigma-solver.js +26 -2
- package/dist/solvers/types/generated/enigma-solver.js.map +1 -1
- package/dist/solvers/types/generated/rasa-solver.d.ts +471 -0
- package/dist/solvers/types/generated/rasa-solver.d.ts.map +1 -0
- package/dist/solvers/types/generated/rasa-solver.js +7 -0
- package/dist/solvers/types/generated/rasa-solver.js.map +1 -0
- package/dist/symmio-contracts/abi/index.d.ts +9 -2
- package/dist/symmio-contracts/abi/index.d.ts.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-virtual-accounts-addresses-of-sub-account.d.ts +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-virtual-accounts-addresses-of-sub-account.js.map +1 -1
- package/dist/symmio-contracts/account-layer/calculate-available-for-order.d.ts +39 -0
- package/dist/symmio-contracts/account-layer/calculate-available-for-order.d.ts.map +1 -0
- package/dist/symmio-contracts/account-layer/calculate-available-for-order.js +14 -0
- package/dist/symmio-contracts/account-layer/calculate-available-for-order.js.map +1 -0
- package/dist/symmio-contracts/account-layer/index.d.ts +1 -0
- package/dist/symmio-contracts/account-layer/index.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/actions/deallocate-and-initiate-withdraw.d.ts +95 -0
- package/dist/symmio-contracts/symmio/actions/deallocate-and-initiate-withdraw.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/actions/deallocate-and-initiate-withdraw.js +34 -0
- package/dist/symmio-contracts/symmio/actions/deallocate-and-initiate-withdraw.js.map +1 -0
- package/dist/symmio-contracts/symmio/actions/deallocate.d.ts +10 -5
- package/dist/symmio-contracts/symmio/actions/deallocate.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/actions/deallocate.js +15 -11
- package/dist/symmio-contracts/symmio/actions/deallocate.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/force-cancel-close-request.d.ts +41 -0
- package/dist/symmio-contracts/symmio/actions/force-cancel-close-request.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/actions/force-cancel-close-request.js +22 -0
- package/dist/symmio-contracts/symmio/actions/force-cancel-close-request.js.map +1 -0
- package/dist/symmio-contracts/symmio/actions/force-cancel-quote.d.ts +41 -0
- package/dist/symmio-contracts/symmio/actions/force-cancel-quote.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/actions/force-cancel-quote.js +22 -0
- package/dist/symmio-contracts/symmio/actions/force-cancel-quote.js.map +1 -0
- package/dist/symmio-contracts/symmio/actions/get-cool-downs-of-ma.d.ts +34 -0
- package/dist/symmio-contracts/symmio/actions/get-cool-downs-of-ma.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/actions/get-cool-downs-of-ma.js +14 -0
- package/dist/symmio-contracts/symmio/actions/get-cool-downs-of-ma.js.map +1 -0
- package/dist/symmio-contracts/symmio/actions/get-pending-quotes.d.ts +39 -0
- package/dist/symmio-contracts/symmio/actions/get-pending-quotes.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/actions/get-pending-quotes.js +29 -0
- package/dist/symmio-contracts/symmio/actions/get-pending-quotes.js.map +1 -0
- package/dist/symmio-contracts/symmio/actions/request-to-cancel-close-request.d.ts +41 -0
- package/dist/symmio-contracts/symmio/actions/request-to-cancel-close-request.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/actions/request-to-cancel-close-request.js +22 -0
- package/dist/symmio-contracts/symmio/actions/request-to-cancel-close-request.js.map +1 -0
- package/dist/symmio-contracts/symmio/actions/request-to-cancel-quote.d.ts +39 -0
- package/dist/symmio-contracts/symmio/actions/request-to-cancel-quote.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/actions/request-to-cancel-quote.js +22 -0
- package/dist/symmio-contracts/symmio/actions/request-to-cancel-quote.js.map +1 -0
- package/dist/symmio-contracts/symmio/actions/simulate-deallocate-and-initiate-withdraw.d.ts +33 -0
- package/dist/symmio-contracts/symmio/actions/simulate-deallocate-and-initiate-withdraw.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/actions/simulate-deallocate-and-initiate-withdraw.js +33 -0
- package/dist/symmio-contracts/symmio/actions/simulate-deallocate-and-initiate-withdraw.js.map +1 -0
- package/dist/symmio-contracts/symmio/actions/simulate-deallocate.d.ts +2 -1
- package/dist/symmio-contracts/symmio/actions/simulate-deallocate.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/actions/simulate-deallocate.js +13 -9
- package/dist/symmio-contracts/symmio/actions/simulate-deallocate.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/withdraw-auto.d.ts +96 -0
- package/dist/symmio-contracts/symmio/actions/withdraw-auto.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/actions/withdraw-auto.js +31 -0
- package/dist/symmio-contracts/symmio/actions/withdraw-auto.js.map +1 -0
- package/dist/symmio-contracts/symmio/actions/withdraw.d.ts +109 -0
- package/dist/symmio-contracts/symmio/actions/withdraw.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/actions/withdraw.js +34 -0
- package/dist/symmio-contracts/symmio/actions/withdraw.js.map +1 -0
- package/dist/symmio-contracts/symmio/index.d.ts +20 -0
- package/dist/symmio-contracts/symmio/index.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/internal/call-as-sub-account.d.ts +8 -2
- package/dist/symmio-contracts/symmio/internal/call-as-sub-account.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/internal/call-as-sub-account.js +7 -7
- package/dist/symmio-contracts/symmio/internal/call-as-sub-account.js.map +1 -1
- package/dist/symmio-contracts/symmio/internal/simulate-call-as-sub-account.d.ts +4 -2
- package/dist/symmio-contracts/symmio/internal/simulate-call-as-sub-account.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/internal/simulate-call-as-sub-account.js +3 -3
- package/dist/symmio-contracts/symmio/internal/simulate-call-as-sub-account.js.map +1 -1
- package/dist/symmio-contracts/symmio/query/deallocate-and-initiate-withdraw.d.ts +24 -0
- package/dist/symmio-contracts/symmio/query/deallocate-and-initiate-withdraw.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/query/deallocate-and-initiate-withdraw.js +12 -0
- package/dist/symmio-contracts/symmio/query/deallocate-and-initiate-withdraw.js.map +1 -0
- package/dist/symmio-contracts/symmio/query/force-cancel-close-request.d.ts +21 -0
- package/dist/symmio-contracts/symmio/query/force-cancel-close-request.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/query/force-cancel-close-request.js +12 -0
- package/dist/symmio-contracts/symmio/query/force-cancel-close-request.js.map +1 -0
- package/dist/symmio-contracts/symmio/query/force-cancel-quote.d.ts +21 -0
- package/dist/symmio-contracts/symmio/query/force-cancel-quote.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/query/force-cancel-quote.js +12 -0
- package/dist/symmio-contracts/symmio/query/force-cancel-quote.js.map +1 -0
- package/dist/symmio-contracts/symmio/query/get-cool-downs-of-ma.d.ts +35 -0
- package/dist/symmio-contracts/symmio/query/get-cool-downs-of-ma.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/query/get-cool-downs-of-ma.js +21 -0
- package/dist/symmio-contracts/symmio/query/get-cool-downs-of-ma.js.map +1 -0
- package/dist/symmio-contracts/symmio/query/get-pending-quotes.d.ts +38 -0
- package/dist/symmio-contracts/symmio/query/get-pending-quotes.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/query/get-pending-quotes.js +30 -0
- package/dist/symmio-contracts/symmio/query/get-pending-quotes.js.map +1 -0
- package/dist/symmio-contracts/symmio/query/request-to-cancel-close-request.d.ts +21 -0
- package/dist/symmio-contracts/symmio/query/request-to-cancel-close-request.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/query/request-to-cancel-close-request.js +12 -0
- package/dist/symmio-contracts/symmio/query/request-to-cancel-close-request.js.map +1 -0
- package/dist/symmio-contracts/symmio/query/request-to-cancel-quote.d.ts +22 -0
- package/dist/symmio-contracts/symmio/query/request-to-cancel-quote.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/query/request-to-cancel-quote.js +12 -0
- package/dist/symmio-contracts/symmio/query/request-to-cancel-quote.js.map +1 -0
- package/dist/symmio-contracts/symmio/query/simulate-deallocate-and-initiate-withdraw.d.ts +20 -0
- package/dist/symmio-contracts/symmio/query/simulate-deallocate-and-initiate-withdraw.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/query/simulate-deallocate-and-initiate-withdraw.js +12 -0
- package/dist/symmio-contracts/symmio/query/simulate-deallocate-and-initiate-withdraw.js.map +1 -0
- package/dist/symmio-contracts/symmio/query/withdraw-auto.d.ts +26 -0
- package/dist/symmio-contracts/symmio/query/withdraw-auto.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/query/withdraw-auto.js +12 -0
- package/dist/symmio-contracts/symmio/query/withdraw-auto.js.map +1 -0
- package/dist/symmio-contracts/symmio/query/withdraw.d.ts +25 -0
- package/dist/symmio-contracts/symmio/query/withdraw.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/query/withdraw.js +12 -0
- package/dist/symmio-contracts/symmio/query/withdraw.js.map +1 -0
- package/dist/symmio-contracts/symmio/types.d.ts +84 -1
- package/dist/symmio-contracts/symmio/types.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/types.js.map +1 -1
- package/dist/symmio-subgraph/types/generated/analytics/gql.d.ts +13 -1
- package/dist/symmio-subgraph/types/generated/analytics/gql.d.ts.map +1 -1
- package/dist/symmio-subgraph/types/generated/analytics/gql.js +11 -8
- package/dist/symmio-subgraph/types/generated/analytics/gql.js.map +1 -1
- package/dist/symmio-subgraph/types/generated/analytics/graphql.d.ts +96 -0
- package/dist/symmio-subgraph/types/generated/analytics/graphql.d.ts.map +1 -1
- package/dist/symmio-subgraph/types/generated/analytics/graphql.js +2 -2
- package/dist/symmio-subgraph/types/generated/analytics/graphql.js.map +1 -1
- package/dist/tpsl/get-quote-tpsl/get-quote-tpsl.d.ts +5 -1
- package/dist/tpsl/get-quote-tpsl/get-quote-tpsl.d.ts.map +1 -1
- package/dist/tpsl/get-quote-tpsl/get-quote-tpsl.js +13 -7
- package/dist/tpsl/get-quote-tpsl/get-quote-tpsl.js.map +1 -1
- package/dist/tpsl/grouping/estimate-group-tpsl-return.d.ts +35 -0
- package/dist/tpsl/grouping/estimate-group-tpsl-return.d.ts.map +1 -0
- package/dist/tpsl/grouping/estimate-group-tpsl-return.js +30 -0
- package/dist/tpsl/grouping/estimate-group-tpsl-return.js.map +1 -0
- package/dist/tpsl/grouping/index.d.ts +10 -0
- package/dist/tpsl/grouping/index.d.ts.map +1 -0
- package/dist/tpsl/grouping/notional.d.ts +22 -0
- package/dist/tpsl/grouping/notional.d.ts.map +1 -0
- package/dist/tpsl/grouping/notional.js +13 -0
- package/dist/tpsl/grouping/notional.js.map +1 -0
- package/dist/tpsl/grouping/plan-group-tpsl/index.d.ts +2 -0
- package/dist/tpsl/grouping/plan-group-tpsl/index.d.ts.map +1 -0
- package/dist/tpsl/grouping/plan-group-tpsl/plan-group-tpsl.d.ts +66 -0
- package/dist/tpsl/grouping/plan-group-tpsl/plan-group-tpsl.d.ts.map +1 -0
- package/dist/tpsl/grouping/plan-group-tpsl/plan-group-tpsl.js +142 -0
- package/dist/tpsl/grouping/plan-group-tpsl/plan-group-tpsl.js.map +1 -0
- package/dist/tpsl/grouping/plan-group-tpsl-delete.d.ts +24 -0
- package/dist/tpsl/grouping/plan-group-tpsl-delete.d.ts.map +1 -0
- package/dist/tpsl/grouping/plan-group-tpsl-delete.js +51 -0
- package/dist/tpsl/grouping/plan-group-tpsl-delete.js.map +1 -0
- package/dist/tpsl/grouping/resolve-child-side.d.ts +44 -0
- package/dist/tpsl/grouping/resolve-child-side.d.ts.map +1 -0
- package/dist/tpsl/grouping/resolve-child-side.js +21 -0
- package/dist/tpsl/grouping/resolve-child-side.js.map +1 -0
- package/dist/tpsl/grouping/summarize-group-tpsl.d.ts +39 -0
- package/dist/tpsl/grouping/summarize-group-tpsl.d.ts.map +1 -0
- package/dist/tpsl/grouping/summarize-group-tpsl.js +42 -0
- package/dist/tpsl/grouping/summarize-group-tpsl.js.map +1 -0
- package/dist/tpsl/grouping/to-group-tpsl-children.d.ts +33 -0
- package/dist/tpsl/grouping/to-group-tpsl-children.d.ts.map +1 -0
- package/dist/tpsl/grouping/to-group-tpsl-children.js +30 -0
- package/dist/tpsl/grouping/to-group-tpsl-children.js.map +1 -0
- package/dist/tpsl/grouping/to-group-tpsl-orders.d.ts +21 -0
- package/dist/tpsl/grouping/to-group-tpsl-orders.d.ts.map +1 -0
- package/dist/tpsl/grouping/to-group-tpsl-orders.js +33 -0
- package/dist/tpsl/grouping/to-group-tpsl-orders.js.map +1 -0
- package/dist/tpsl/grouping/types.d.ts +294 -0
- package/dist/tpsl/grouping/types.d.ts.map +1 -0
- package/dist/tpsl/index.d.ts +3 -0
- package/dist/tpsl/index.d.ts.map +1 -1
- package/dist/tpsl/internal/resolve-tpsl-config.d.ts +2 -2
- package/dist/tpsl/internal/resolve-tpsl-config.d.ts.map +1 -1
- package/dist/tpsl/internal/resolve-tpsl-config.js +7 -4
- package/dist/tpsl/internal/resolve-tpsl-config.js.map +1 -1
- package/dist/tpsl/search-tpsl-orders/index.d.ts +3 -0
- package/dist/tpsl/search-tpsl-orders/index.d.ts.map +1 -0
- package/dist/tpsl/search-tpsl-orders/query.d.ts +19 -0
- package/dist/tpsl/search-tpsl-orders/query.d.ts.map +1 -0
- package/dist/tpsl/search-tpsl-orders/query.js +21 -0
- package/dist/tpsl/search-tpsl-orders/query.js.map +1 -0
- package/dist/tpsl/search-tpsl-orders/search-tpsl-orders.d.ts +102 -0
- package/dist/tpsl/search-tpsl-orders/search-tpsl-orders.d.ts.map +1 -0
- package/dist/tpsl/search-tpsl-orders/search-tpsl-orders.js +47 -0
- package/dist/tpsl/search-tpsl-orders/search-tpsl-orders.js.map +1 -0
- package/dist/tpsl/set-quote-tpsl/build-conditional-order-leg.d.ts +1 -1
- package/dist/tpsl/set-quote-tpsl/build-conditional-order-leg.js.map +1 -1
- package/dist/tpsl/slippage.d.ts +3 -3
- package/dist/tpsl/slippage.js.map +1 -1
- package/dist/tpsl/supports-tpsl.d.ts +27 -0
- package/dist/tpsl/supports-tpsl.d.ts.map +1 -0
- package/dist/tpsl/supports-tpsl.js +15 -0
- package/dist/tpsl/supports-tpsl.js.map +1 -0
- package/dist/tpsl/types/generated/tpsl-handler.js +6 -4
- package/dist/tpsl/types/generated/tpsl-handler.js.map +1 -1
- package/dist/tpsl/types.d.ts +14 -0
- package/dist/tpsl/types.d.ts.map +1 -1
- package/dist/tpsl/types.js +8 -0
- package/dist/tpsl/types.js.map +1 -0
- package/dist/tpsl/validate-tpsl.d.ts +1 -1
- package/dist/tpsl/validate-tpsl.js.map +1 -1
- package/dist/websocket/notifications/adapters/enigma-notifications.d.ts +42 -0
- package/dist/websocket/notifications/adapters/enigma-notifications.d.ts.map +1 -0
- package/dist/websocket/notifications/adapters/enigma-notifications.js +63 -0
- package/dist/websocket/notifications/adapters/enigma-notifications.js.map +1 -0
- package/dist/websocket/notifications/adapters/index.d.ts +4 -0
- package/dist/websocket/notifications/adapters/index.d.ts.map +1 -0
- package/dist/websocket/notifications/adapters/rasa-notifications-hub.d.ts +36 -0
- package/dist/websocket/notifications/adapters/rasa-notifications-hub.d.ts.map +1 -0
- package/dist/websocket/notifications/adapters/rasa-notifications-hub.js +50 -0
- package/dist/websocket/notifications/adapters/rasa-notifications-hub.js.map +1 -0
- package/dist/websocket/notifications/adapters/rasa-notifications.d.ts +24 -0
- package/dist/websocket/notifications/adapters/rasa-notifications.d.ts.map +1 -0
- package/dist/websocket/notifications/adapters/rasa-notifications.js +43 -0
- package/dist/websocket/notifications/adapters/rasa-notifications.js.map +1 -0
- package/dist/websocket/notifications/index.d.ts +3 -1
- package/dist/websocket/notifications/index.d.ts.map +1 -1
- package/dist/websocket/notifications/normalize-notification.d.ts +6 -3
- package/dist/websocket/notifications/normalize-notification.d.ts.map +1 -1
- package/dist/websocket/notifications/normalize-notification.js +10 -7
- package/dist/websocket/notifications/normalize-notification.js.map +1 -1
- package/dist/websocket/notifications/parse-frame-payload.d.ts +7 -0
- package/dist/websocket/notifications/parse-frame-payload.d.ts.map +1 -0
- package/dist/websocket/notifications/parse-frame-payload.js +14 -0
- package/dist/websocket/notifications/parse-frame-payload.js.map +1 -0
- package/dist/websocket/notifications/parse-notification-frame.d.ts +13 -6
- package/dist/websocket/notifications/parse-notification-frame.d.ts.map +1 -1
- package/dist/websocket/notifications/parse-notification-frame.js +7 -16
- package/dist/websocket/notifications/parse-notification-frame.js.map +1 -1
- package/dist/websocket/notifications/to-notifications-error.d.ts +8 -0
- package/dist/websocket/notifications/to-notifications-error.d.ts.map +1 -0
- package/dist/websocket/notifications/to-notifications-error.js +11 -0
- package/dist/websocket/notifications/to-notifications-error.js.map +1 -0
- package/dist/websocket/notifications/types.d.ts +90 -19
- package/dist/websocket/notifications/types.d.ts.map +1 -1
- package/dist/websocket/notifications/types.js.map +1 -1
- package/dist/websocket/notifications/watch-notifications.d.ts +11 -27
- package/dist/websocket/notifications/watch-notifications.d.ts.map +1 -1
- package/dist/websocket/notifications/watch-notifications.js +11 -42
- package/dist/websocket/notifications/watch-notifications.js.map +1 -1
- package/dist/websocket/prices/index.d.ts +3 -0
- package/dist/websocket/prices/index.d.ts.map +1 -1
- package/dist/websocket/prices/parse-binance-price-frame.d.ts +25 -0
- package/dist/websocket/prices/parse-binance-price-frame.d.ts.map +1 -0
- package/dist/websocket/prices/parse-binance-price-frame.js +55 -0
- package/dist/websocket/prices/parse-binance-price-frame.js.map +1 -0
- package/dist/websocket/prices/watch-binance-prices.d.ts +89 -0
- package/dist/websocket/prices/watch-binance-prices.d.ts.map +1 -0
- package/dist/websocket/prices/watch-binance-prices.js +53 -0
- package/dist/websocket/prices/watch-binance-prices.js.map +1 -0
- package/dist/websocket/prices/watch-enigma-prices.d.ts +6 -1
- package/dist/websocket/prices/watch-enigma-prices.d.ts.map +1 -1
- package/dist/websocket/prices/watch-enigma-prices.js +24 -15
- package/dist/websocket/prices/watch-enigma-prices.js.map +1 -1
- package/dist/websocket/prices/watch-prices.d.ts +66 -0
- package/dist/websocket/prices/watch-prices.d.ts.map +1 -0
- package/dist/websocket/prices/watch-prices.js +40 -0
- package/dist/websocket/prices/watch-prices.js.map +1 -0
- package/dist/websocket/tpsl/parse-tpsl-frame.d.ts +1 -1
- package/dist/websocket/tpsl/parse-tpsl-frame.js.map +1 -1
- package/dist/websocket/tpsl/types.d.ts +1 -1
- package/dist/websocket/tpsl/watch-tpsl-notifications.d.ts +1 -1
- package/dist/websocket/tpsl/watch-tpsl-notifications.js +6 -6
- package/dist/websocket/tpsl/watch-tpsl-notifications.js.map +1 -1
- package/package.json +1 -1
- package/dist/solvers/instant-open/get-instant-opens/to-pending-instant-open.d.ts.map +0 -1
- package/dist/solvers/instant-open/get-instant-opens/to-pending-instant-open.js +0 -22
- package/dist/solvers/instant-open/get-instant-opens/to-pending-instant-open.js.map +0 -1
- package/dist/solvers/market-info/to-market-info.d.ts +0 -13
- package/dist/solvers/market-info/to-market-info.d.ts.map +0 -1
- package/dist/solvers/market-info/to-market-info.js +0 -28
- package/dist/solvers/market-info/to-market-info.js.map +0 -1
- package/dist/solvers/notional-cap/to-market-notional-cap.d.ts +0 -9
- package/dist/solvers/notional-cap/to-market-notional-cap.d.ts.map +0 -1
- package/dist/solvers/notional-cap/to-market-notional-cap.js +0 -22
- package/dist/solvers/notional-cap/to-market-notional-cap.js.map +0 -1
- package/dist/websocket/notifications/build-subscribe-message.d.ts +0 -24
- package/dist/websocket/notifications/build-subscribe-message.d.ts.map +0 -1
- package/dist/websocket/notifications/build-subscribe-message.js +0 -17
- package/dist/websocket/notifications/build-subscribe-message.js.map +0 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { SymmApiError as e, SymmError as t } from "../../../shared/errors/symm-error.js";
|
|
2
|
+
import { countTickDecimals as n } from "../../tick-size.js";
|
|
3
|
+
import { BINANCE_ORDERBOOK_EXCHANGE_INFO_PATH as r } from "./constants.js";
|
|
4
|
+
import i, { isAxiosError as a } from "axios";
|
|
5
|
+
//#region src/orderbook/sources/binance/fetch-binance-symbol-filters.ts
|
|
6
|
+
function o(e, t) {
|
|
7
|
+
if (!e) return t;
|
|
8
|
+
let n = Number(e);
|
|
9
|
+
return Number.isFinite(n) && n > 0 ? n : t;
|
|
10
|
+
}
|
|
11
|
+
function s(e) {
|
|
12
|
+
let t = e.filters?.find((e) => e.filterType === "PRICE_FILTER"), r = e.filters?.find((e) => e.filterType === "LOT_SIZE"), i = o(t?.tickSize, 10 ** -(e.pricePrecision ?? 2)), a = o(r?.stepSize, 10 ** -(e.quantityPrecision ?? 3));
|
|
13
|
+
return {
|
|
14
|
+
symbol: e.symbol,
|
|
15
|
+
baseAsset: e.baseAsset ?? "",
|
|
16
|
+
quoteAsset: e.quoteAsset ?? "",
|
|
17
|
+
tickSize: i,
|
|
18
|
+
stepSize: a,
|
|
19
|
+
pricePrecision: n(i),
|
|
20
|
+
sizePrecision: n(a)
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
async function c(n, o, c) {
|
|
24
|
+
let l = `${n}${r[o]}`;
|
|
25
|
+
try {
|
|
26
|
+
let e = (await i.get(l, { signal: c })).data?.symbols;
|
|
27
|
+
if (!Array.isArray(e)) throw new t("api", "FETCH_BINANCE_SYMBOL_FILTERS_FAILED", "Binance exchangeInfo response had no `symbols` array.");
|
|
28
|
+
return new Map(e.map((e) => [e.symbol.toUpperCase(), s(e)]));
|
|
29
|
+
} catch (r) {
|
|
30
|
+
throw r instanceof t ? r : a(r) ? e.fromAxios(r, {
|
|
31
|
+
code: "FETCH_BINANCE_SYMBOL_FILTERS_FAILED",
|
|
32
|
+
baseURL: n
|
|
33
|
+
}) : new t("api", "FETCH_BINANCE_SYMBOL_FILTERS_FAILED", `Failed to fetch Binance exchangeInfo: ${r instanceof Error ? r.message : String(r)}`, { cause: r instanceof Error ? r : void 0 });
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
export { c as fetchBinanceSymbolFilters };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=fetch-binance-symbol-filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-binance-symbol-filters.js","names":[],"sources":["../../../../src/orderbook/sources/binance/fetch-binance-symbol-filters.ts"],"sourcesContent":["import axios, { isAxiosError } from \"axios\";\nimport { SymmApiError, SymmError } from \"../../../shared/errors/symm-error\";\nimport { countTickDecimals } from \"../../tick-size\";\nimport { BINANCE_ORDERBOOK_EXCHANGE_INFO_PATH, type BinanceOrderbookMarket } from \"./constants\";\n\n/**\n * The subset of a Binance `exchangeInfo` symbol entry an order book reads.\n */\ninterface RawBinanceExchangeInfoSymbol {\n symbol: string;\n baseAsset?: string;\n quoteAsset?: string;\n /** Present on USD-M futures; absent on spot, where precision comes from the filters. */\n pricePrecision?: number;\n /** Present on USD-M futures; absent on spot. */\n quantityPrecision?: number;\n filters?: { filterType?: string; tickSize?: string; stepSize?: string }[];\n}\n\n/**\n * Trading increments and precisions for one Binance symbol.\n *\n * `tickSize` and `stepSize` are what the venue actually enforces; the two\n * precisions are derived from them so a UI's decimal count can never disagree\n * with the grid the venue quotes on.\n */\nexport interface BinanceSymbolFilters {\n /** Binance symbol, upper-case. */\n symbol: string;\n /** Base asset (e.g. `\"BTC\"`). */\n baseAsset: string;\n /** Quote asset (e.g. `\"USDT\"`). */\n quoteAsset: string;\n /** Smallest price increment the venue allows. */\n tickSize: number;\n /** Smallest quantity increment the venue allows. */\n stepSize: number;\n /** Decimal places implied by {@link BinanceSymbolFilters.tickSize}. */\n pricePrecision: number;\n /** Decimal places implied by {@link BinanceSymbolFilters.stepSize}. */\n sizePrecision: number;\n}\n\nfunction toIncrement(value: string | undefined, fallback: number): number {\n if (!value) return fallback;\n const parsed = Number(value);\n return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;\n}\n\nfunction toSymbolFilters(entry: RawBinanceExchangeInfoSymbol): BinanceSymbolFilters {\n const priceFilter = entry.filters?.find((filter) => filter.filterType === \"PRICE_FILTER\");\n const lotSize = entry.filters?.find((filter) => filter.filterType === \"LOT_SIZE\");\n\n /**\n * The filters are authoritative — they are the increments an order is\n * rejected for violating. The futures-only `pricePrecision`/`quantityPrecision`\n * fields are a fallback, and a final default covers a venue that reports\n * neither.\n */\n const tickSize = toIncrement(priceFilter?.tickSize, 10 ** -(entry.pricePrecision ?? 2));\n const stepSize = toIncrement(lotSize?.stepSize, 10 ** -(entry.quantityPrecision ?? 3));\n\n return {\n symbol: entry.symbol,\n baseAsset: entry.baseAsset ?? \"\",\n quoteAsset: entry.quoteAsset ?? \"\",\n tickSize,\n stepSize,\n pricePrecision: countTickDecimals(tickSize),\n sizePrecision: countTickDecimals(stepSize),\n };\n}\n\n/**\n * Fetch Binance `exchangeInfo` and index each symbol's increments by symbol.\n *\n * Called once per source instance and cached — the response lists every\n * contract on the venue and only changes on a listing or delisting.\n *\n * @param restUrl - REST host, without a trailing slash.\n * @param market - Which Binance market to describe.\n * @param signal - Aborts the request.\n * @returns Increments and precisions keyed by upper-case Binance symbol.\n * @throws {SymmApiError} when the request fails with an HTTP response.\n * @throws {SymmError} when the response has no `symbols` array.\n */\nexport async function fetchBinanceSymbolFilters(\n restUrl: string,\n market: BinanceOrderbookMarket,\n signal?: AbortSignal,\n): Promise<Map<string, BinanceSymbolFilters>> {\n const url = `${restUrl}${BINANCE_ORDERBOOK_EXCHANGE_INFO_PATH[market]}`;\n\n try {\n const response = await axios.get<{ symbols?: RawBinanceExchangeInfoSymbol[] }>(url, { signal });\n const symbols = response.data?.symbols;\n\n if (!Array.isArray(symbols)) {\n throw new SymmError(\n \"api\",\n \"FETCH_BINANCE_SYMBOL_FILTERS_FAILED\",\n \"Binance exchangeInfo response had no `symbols` array.\",\n );\n }\n\n return new Map(symbols.map((entry) => [entry.symbol.toUpperCase(), toSymbolFilters(entry)]));\n } catch (err) {\n if (err instanceof SymmError) throw err;\n\n if (isAxiosError(err)) {\n throw SymmApiError.fromAxios(err, { code: \"FETCH_BINANCE_SYMBOL_FILTERS_FAILED\", baseURL: restUrl });\n }\n\n throw new SymmError(\n \"api\",\n \"FETCH_BINANCE_SYMBOL_FILTERS_FAILED\",\n `Failed to fetch Binance exchangeInfo: ${err instanceof Error ? err.message : String(err)}`,\n { cause: err instanceof Error ? err : undefined },\n );\n }\n}\n"],"mappings":";;;;;AA2CA,SAAS,EAAY,GAA2B,GAA0B;CACxE,IAAI,CAAC,GAAO,OAAO;CACnB,IAAM,IAAS,OAAO,CAAK;CAC3B,OAAO,OAAO,SAAS,CAAM,KAAK,IAAS,IAAI,IAAS;AAC1D;AAEA,SAAS,EAAgB,GAA2D;CAClF,IAAM,IAAc,EAAM,SAAS,MAAM,MAAW,EAAO,eAAe,cAAc,GAClF,IAAU,EAAM,SAAS,MAAM,MAAW,EAAO,eAAe,UAAU,GAQ1E,IAAW,EAAY,GAAa,UAAU,MAAM,EAAE,EAAM,kBAAkB,EAAE,GAChF,IAAW,EAAY,GAAS,UAAU,MAAM,EAAE,EAAM,qBAAqB,EAAE;CAErF,OAAO;EACL,QAAQ,EAAM;EACd,WAAW,EAAM,aAAa;EAC9B,YAAY,EAAM,cAAc;EAChC;EACA;EACA,gBAAgB,EAAkB,CAAQ;EAC1C,eAAe,EAAkB,CAAQ;CAC3C;AACF;AAeA,eAAsB,EACpB,GACA,GACA,GAC4C;CAC5C,IAAM,IAAM,GAAG,IAAU,EAAqC;CAE9D,IAAI;EAEF,IAAM,KAAU,MADO,EAAM,IAAkD,GAAK,EAAE,UAAO,CAAC,GACrE,MAAM;EAE/B,IAAI,CAAC,MAAM,QAAQ,CAAO,GACxB,MAAM,IAAI,EACR,OACA,uCACA,uDACF;EAGF,OAAO,IAAI,IAAI,EAAQ,KAAK,MAAU,CAAC,EAAM,OAAO,YAAY,GAAG,EAAgB,CAAK,CAAC,CAAC,CAAC;CAC7F,SAAS,GAAK;EAOZ,MANI,aAAe,IAAiB,IAEhC,EAAa,CAAG,IACZ,EAAa,UAAU,GAAK;GAAE,MAAM;GAAuC,SAAS;EAAQ,CAAC,IAG/F,IAAI,EACR,OACA,uCACA,yCAAyC,aAAe,QAAQ,EAAI,UAAU,OAAO,CAAG,KACxF,EAAE,OAAO,aAAe,QAAQ,IAAM,KAAA,EAAU,CAClD;CACF;AACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './constants.js';
|
|
2
|
+
export * from './create-binance-orderbook-source.js';
|
|
3
|
+
export * from './fetch-binance-depth.js';
|
|
4
|
+
export * from './fetch-binance-symbol-filters.js';
|
|
5
|
+
export * from './parse-depth.js';
|
|
6
|
+
export * from './watch-binance-depth.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/orderbook/sources/binance/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,mCAAmC,CAAC;AAClD,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { OrderbookLevel } from '../../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* A price level as Binance sends it: a `[price, quantity]` pair of decimal
|
|
4
|
+
* strings, in both the REST snapshot and the diff stream.
|
|
5
|
+
*/
|
|
6
|
+
export type RawBinanceDepthLevel = [price: string, quantity: string];
|
|
7
|
+
/**
|
|
8
|
+
* The REST depth snapshot.
|
|
9
|
+
*
|
|
10
|
+
* `E` and `T` are futures-only; spot returns neither.
|
|
11
|
+
*/
|
|
12
|
+
export interface RawBinanceDepthSnapshot {
|
|
13
|
+
/** Sequence number the snapshot is current as of. */
|
|
14
|
+
lastUpdateId: number;
|
|
15
|
+
/** Event time, unix ms. Futures only. */
|
|
16
|
+
E?: number;
|
|
17
|
+
/** Transaction time, unix ms. Futures only. */
|
|
18
|
+
T?: number;
|
|
19
|
+
bids: RawBinanceDepthLevel[];
|
|
20
|
+
asks: RawBinanceDepthLevel[];
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* A `depthUpdate` event from the diff stream.
|
|
24
|
+
*
|
|
25
|
+
* `pu` is futures-only and is the continuity signal there: it carries the
|
|
26
|
+
* previous event's `u`. Spot has no `pu` and chains on `U === prev.u + 1`
|
|
27
|
+
* instead — a rule that does **not** hold on futures, where `U` routinely jumps
|
|
28
|
+
* hundreds of ids past the previous `u`.
|
|
29
|
+
*/
|
|
30
|
+
export interface RawBinanceDepthEvent {
|
|
31
|
+
/** Event type; always `"depthUpdate"`. */
|
|
32
|
+
e?: string;
|
|
33
|
+
/** Event time, unix ms. */
|
|
34
|
+
E?: number;
|
|
35
|
+
/** Transaction time, unix ms. Futures only. */
|
|
36
|
+
T?: number;
|
|
37
|
+
/** Symbol, upper-case. */
|
|
38
|
+
s?: string;
|
|
39
|
+
/** First update id covered by this event. */
|
|
40
|
+
U: number;
|
|
41
|
+
/** Final update id covered by this event. */
|
|
42
|
+
u: number;
|
|
43
|
+
/** Final update id of the *previous* event. Futures only. */
|
|
44
|
+
pu?: number;
|
|
45
|
+
/** Bid levels to apply. */
|
|
46
|
+
b?: RawBinanceDepthLevel[];
|
|
47
|
+
/** Ask levels to apply. */
|
|
48
|
+
a?: RawBinanceDepthLevel[];
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Convert one raw `[price, quantity]` pair into an {@link OrderbookLevel}.
|
|
52
|
+
*
|
|
53
|
+
* Zero-quantity entries are kept rather than filtered: in the diff stream a
|
|
54
|
+
* zero is the venue's instruction to **remove** that price, and dropping it
|
|
55
|
+
* here would leave the level resting forever.
|
|
56
|
+
*
|
|
57
|
+
* @param level - One entry from a `bids`/`asks` array.
|
|
58
|
+
* @returns The parsed level.
|
|
59
|
+
* @throws {SymmError} when the pair is malformed or non-numeric.
|
|
60
|
+
*/
|
|
61
|
+
export declare function parseBinanceDepthLevel(level: RawBinanceDepthLevel): OrderbookLevel;
|
|
62
|
+
/**
|
|
63
|
+
* Convert an array of raw levels, preserving order and zero-quantity entries.
|
|
64
|
+
*
|
|
65
|
+
* @param levels - A `bids` or `asks` array from a snapshot or diff event.
|
|
66
|
+
* @returns The parsed levels.
|
|
67
|
+
* @throws {SymmError} when the payload is not an array of valid pairs.
|
|
68
|
+
*/
|
|
69
|
+
export declare function parseBinanceDepthLevels(levels: RawBinanceDepthLevel[] | undefined): OrderbookLevel[];
|
|
70
|
+
//# sourceMappingURL=parse-depth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-depth.d.ts","sourceRoot":"","sources":["../../../../src/orderbook/sources/binance/parse-depth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAErE;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,+CAA+C;IAC/C,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,oBAAoB,EAAE,CAAC;IAC7B,IAAI,EAAE,oBAAoB,EAAE,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,+CAA+C;IAC/C,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,CAAC,EAAE,MAAM,CAAC;IACV,6CAA6C;IAC7C,CAAC,EAAE,MAAM,CAAC;IACV,6DAA6D;IAC7D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,2BAA2B;IAC3B,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC3B,2BAA2B;IAC3B,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC5B;AAUD;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,GAAG,cAAc,CAalF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,SAAS,GAAG,cAAc,EAAE,CAYpG"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SymmError as e } from "../../../shared/errors/symm-error.js";
|
|
2
|
+
//#region src/orderbook/sources/binance/parse-depth.ts
|
|
3
|
+
function t(t, n) {
|
|
4
|
+
let r = Number(t);
|
|
5
|
+
if (!Number.isFinite(r)) throw new e("api", "INVALID_BINANCE_DEPTH", `Binance depth has a non-numeric \`${n}\`: ${t}.`);
|
|
6
|
+
return r;
|
|
7
|
+
}
|
|
8
|
+
function n(n) {
|
|
9
|
+
if (!Array.isArray(n) || n.length < 2) throw new e("api", "INVALID_BINANCE_DEPTH", `Binance depth level is not a [price, quantity] pair: ${JSON.stringify(n)}.`);
|
|
10
|
+
return {
|
|
11
|
+
price: t(n[0], "price"),
|
|
12
|
+
size: t(n[1], "quantity")
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function r(t) {
|
|
16
|
+
if (t === void 0) return [];
|
|
17
|
+
if (!Array.isArray(t)) throw new e("api", "INVALID_BINANCE_DEPTH", `Binance depth side is not an array: ${JSON.stringify(t)}.`);
|
|
18
|
+
return t.map(n);
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
export { n as parseBinanceDepthLevel, r as parseBinanceDepthLevels };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=parse-depth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-depth.js","names":[],"sources":["../../../../src/orderbook/sources/binance/parse-depth.ts"],"sourcesContent":["import { SymmError } from \"../../../shared/errors/symm-error\";\nimport type { OrderbookLevel } from \"../../types\";\n\n/**\n * A price level as Binance sends it: a `[price, quantity]` pair of decimal\n * strings, in both the REST snapshot and the diff stream.\n */\nexport type RawBinanceDepthLevel = [price: string, quantity: string];\n\n/**\n * The REST depth snapshot.\n *\n * `E` and `T` are futures-only; spot returns neither.\n */\nexport interface RawBinanceDepthSnapshot {\n /** Sequence number the snapshot is current as of. */\n lastUpdateId: number;\n /** Event time, unix ms. Futures only. */\n E?: number;\n /** Transaction time, unix ms. Futures only. */\n T?: number;\n bids: RawBinanceDepthLevel[];\n asks: RawBinanceDepthLevel[];\n}\n\n/**\n * A `depthUpdate` event from the diff stream.\n *\n * `pu` is futures-only and is the continuity signal there: it carries the\n * previous event's `u`. Spot has no `pu` and chains on `U === prev.u + 1`\n * instead — a rule that does **not** hold on futures, where `U` routinely jumps\n * hundreds of ids past the previous `u`.\n */\nexport interface RawBinanceDepthEvent {\n /** Event type; always `\"depthUpdate\"`. */\n e?: string;\n /** Event time, unix ms. */\n E?: number;\n /** Transaction time, unix ms. Futures only. */\n T?: number;\n /** Symbol, upper-case. */\n s?: string;\n /** First update id covered by this event. */\n U: number;\n /** Final update id covered by this event. */\n u: number;\n /** Final update id of the *previous* event. Futures only. */\n pu?: number;\n /** Bid levels to apply. */\n b?: RawBinanceDepthLevel[];\n /** Ask levels to apply. */\n a?: RawBinanceDepthLevel[];\n}\n\nfunction toFiniteNumber(value: unknown, field: string): number {\n const parsed = Number(value);\n if (!Number.isFinite(parsed)) {\n throw new SymmError(\"api\", \"INVALID_BINANCE_DEPTH\", `Binance depth has a non-numeric \\`${field}\\`: ${value}.`);\n }\n return parsed;\n}\n\n/**\n * Convert one raw `[price, quantity]` pair into an {@link OrderbookLevel}.\n *\n * Zero-quantity entries are kept rather than filtered: in the diff stream a\n * zero is the venue's instruction to **remove** that price, and dropping it\n * here would leave the level resting forever.\n *\n * @param level - One entry from a `bids`/`asks` array.\n * @returns The parsed level.\n * @throws {SymmError} when the pair is malformed or non-numeric.\n */\nexport function parseBinanceDepthLevel(level: RawBinanceDepthLevel): OrderbookLevel {\n if (!Array.isArray(level) || level.length < 2) {\n throw new SymmError(\n \"api\",\n \"INVALID_BINANCE_DEPTH\",\n `Binance depth level is not a [price, quantity] pair: ${JSON.stringify(level)}.`,\n );\n }\n\n return {\n price: toFiniteNumber(level[0], \"price\"),\n size: toFiniteNumber(level[1], \"quantity\"),\n };\n}\n\n/**\n * Convert an array of raw levels, preserving order and zero-quantity entries.\n *\n * @param levels - A `bids` or `asks` array from a snapshot or diff event.\n * @returns The parsed levels.\n * @throws {SymmError} when the payload is not an array of valid pairs.\n */\nexport function parseBinanceDepthLevels(levels: RawBinanceDepthLevel[] | undefined): OrderbookLevel[] {\n if (levels === undefined) return [];\n\n if (!Array.isArray(levels)) {\n throw new SymmError(\n \"api\",\n \"INVALID_BINANCE_DEPTH\",\n `Binance depth side is not an array: ${JSON.stringify(levels)}.`,\n );\n }\n\n return levels.map(parseBinanceDepthLevel);\n}\n"],"mappings":";;AAsDA,SAAS,EAAe,GAAgB,GAAuB;CAC7D,IAAM,IAAS,OAAO,CAAK;CAC3B,IAAI,CAAC,OAAO,SAAS,CAAM,GACzB,MAAM,IAAI,EAAU,OAAO,yBAAyB,qCAAqC,EAAM,MAAM,EAAM,EAAE;CAE/G,OAAO;AACT;AAaA,SAAgB,EAAuB,GAA6C;CAClF,IAAI,CAAC,MAAM,QAAQ,CAAK,KAAK,EAAM,SAAS,GAC1C,MAAM,IAAI,EACR,OACA,yBACA,wDAAwD,KAAK,UAAU,CAAK,EAAE,EAChF;CAGF,OAAO;EACL,OAAO,EAAe,EAAM,IAAI,OAAO;EACvC,MAAM,EAAe,EAAM,IAAI,UAAU;CAC3C;AACF;AASA,SAAgB,EAAwB,GAA8D;CACpG,IAAI,MAAW,KAAA,GAAW,OAAO,CAAC;CAElC,IAAI,CAAC,MAAM,QAAQ,CAAM,GACvB,MAAM,IAAI,EACR,OACA,yBACA,uCAAuC,KAAK,UAAU,CAAM,EAAE,EAChE;CAGF,OAAO,EAAO,IAAI,CAAsB;AAC1C"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { SymmError } from '../../../shared/errors/symm-error.js';
|
|
2
|
+
import { WebSocketConstructor } from '../../../shared/types/websocket.js';
|
|
3
|
+
import { Unwatch } from '../../../websocket/notifications/watch-notifications.js';
|
|
4
|
+
import { SocketStatus } from '../../../websocket/socket/index.js';
|
|
5
|
+
import { Orderbook, OrderbookResyncReason } from '../../types.js';
|
|
6
|
+
import { BinanceOrderbookMarket } from './constants.js';
|
|
7
|
+
/**
|
|
8
|
+
* Parameters for {@link watchBinanceDepth}.
|
|
9
|
+
*/
|
|
10
|
+
export interface WatchBinanceDepthParameters {
|
|
11
|
+
/** REST host for snapshots, without a trailing slash. */
|
|
12
|
+
restUrl: string;
|
|
13
|
+
/** Combined-stream WebSocket endpoint. Must be the market's depth route. */
|
|
14
|
+
wsUrl: string;
|
|
15
|
+
/** Which Binance market to read. Decides the continuity rule. */
|
|
16
|
+
market: BinanceOrderbookMarket;
|
|
17
|
+
/** Binance symbol, upper-case (e.g. `"BTCUSDT"`). */
|
|
18
|
+
symbol: string;
|
|
19
|
+
/** Market name as SYMMIO names it, carried onto every emitted book. */
|
|
20
|
+
marketName: string;
|
|
21
|
+
/** Snapshot depth per side. */
|
|
22
|
+
limit: number;
|
|
23
|
+
/** Levels per side to emit on each update. */
|
|
24
|
+
levels: number;
|
|
25
|
+
/** Diff-stream update speed in ms; part of the stream name. */
|
|
26
|
+
updateSpeed: number;
|
|
27
|
+
/** WebSocket implementation to dial with. */
|
|
28
|
+
webSocketConstructor: WebSocketConstructor;
|
|
29
|
+
/** Called with a complete book on every applied update. */
|
|
30
|
+
onOrderbook: (orderbook: Orderbook) => void;
|
|
31
|
+
/** Called when the book is about to be rebuilt. */
|
|
32
|
+
onResync?: (reason: OrderbookResyncReason) => void;
|
|
33
|
+
/** Called whenever the connection status changes. */
|
|
34
|
+
onStatusChange?: (status: SocketStatus) => void;
|
|
35
|
+
/** Called on a transport, parse, or snapshot error; does not stop the subscription. */
|
|
36
|
+
onError?: (error: SymmError) => void;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Track a Binance order book in real time, correctly synchronized.
|
|
40
|
+
*
|
|
41
|
+
* This implements Binance's documented local-order-book procedure end to end:
|
|
42
|
+
* subscribe first and buffer, then snapshot, discard updates the snapshot
|
|
43
|
+
* already covers, require the first applied update to straddle the snapshot's
|
|
44
|
+
* sequence number, apply absolute quantities with zero meaning removal, and
|
|
45
|
+
* verify every subsequent update chains onto the last. Any break — a missed
|
|
46
|
+
* update, a reconnect, a snapshot that arrives older than the buffer — throws
|
|
47
|
+
* the local book away and rebuilds it, announcing the rebuild through
|
|
48
|
+
* `onResync` so a consumer can show the book as stale rather than trust a
|
|
49
|
+
* silently diverged ladder.
|
|
50
|
+
*
|
|
51
|
+
* Each call opens its own connection. That is deliberate at this scale — one
|
|
52
|
+
* ladder holds one subscription — and keeps the reconnect and unsubscribe paths
|
|
53
|
+
* trivially correct. Binance drops idle connections after 24 hours; the
|
|
54
|
+
* reconnecting socket re-dials, re-sends SUBSCRIBE, and the book resyncs.
|
|
55
|
+
*
|
|
56
|
+
* @param parameters - Endpoints, symbol, depth, and handlers.
|
|
57
|
+
* @returns An unwatch function that closes the connection and cancels any
|
|
58
|
+
* in-flight snapshot.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* const unwatch = watchBinanceDepth({
|
|
63
|
+
* restUrl: "https://fapi.binance.com",
|
|
64
|
+
* wsUrl: "wss://fstream.binance.com/public/stream",
|
|
65
|
+
* market: "usd-m-futures",
|
|
66
|
+
* symbol: "BTCUSDT",
|
|
67
|
+
* marketName: "BTCUSDT",
|
|
68
|
+
* limit: 1000,
|
|
69
|
+
* levels: 20,
|
|
70
|
+
* updateSpeed: 500,
|
|
71
|
+
* webSocketConstructor: WebSocket,
|
|
72
|
+
* onOrderbook: (book) => render(book),
|
|
73
|
+
* onResync: (reason) => markStale(reason),
|
|
74
|
+
* });
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
export declare function watchBinanceDepth(parameters: WatchBinanceDepthParameters): Unwatch;
|
|
78
|
+
//# sourceMappingURL=watch-binance-depth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch-binance-depth.d.ts","sourceRoot":"","sources":["../../../../src/orderbook/sources/binance/watch-binance-depth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sDAAsD,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAkB,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAqC,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAuB7F;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,MAAM,EAAE,sBAAsB,CAAC;IAC/B,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,2DAA2D;IAC3D,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IAC5C,mDAAmD;IACnD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACnD,qDAAqD;IACrD,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAChD,uFAAuF;IACvF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CACtC;AAyCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,2BAA2B,GAAG,OAAO,CAoPlF"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { SymmError as e } from "../../../shared/errors/symm-error.js";
|
|
2
|
+
import { createReconnectingSocket as t } from "../../../websocket/socket/create-reconnecting-socket.js";
|
|
3
|
+
import "./constants.js";
|
|
4
|
+
import { parseBinanceDepthLevels as n } from "./parse-depth.js";
|
|
5
|
+
import { fetchBinanceDepth as r } from "./fetch-binance-depth.js";
|
|
6
|
+
//#region src/orderbook/sources/binance/watch-binance-depth.ts
|
|
7
|
+
var i = 1e3, a = 5e3;
|
|
8
|
+
function o(t) {
|
|
9
|
+
if (t instanceof e) return t;
|
|
10
|
+
let n = t instanceof Error ? t : void 0;
|
|
11
|
+
return new e("api", "BINANCE_DEPTH_SOCKET_ERROR", `Binance depth socket error${n ? `: ${n.message}` : "."}`, { cause: n });
|
|
12
|
+
}
|
|
13
|
+
function s(e, t, n) {
|
|
14
|
+
return e === "usd-m-futures" && typeof t.pu == "number" ? t.pu !== n : t.U > n + 1;
|
|
15
|
+
}
|
|
16
|
+
function c(e) {
|
|
17
|
+
let { restUrl: c, wsUrl: l, market: u, symbol: d, marketName: f, limit: p, levels: m, updateSpeed: h, webSocketConstructor: g, onOrderbook: _, onResync: v, onStatusChange: y, onError: b } = e, x = `${d.toLowerCase()}@depth@${h}ms`, S = JSON.stringify({
|
|
18
|
+
method: "SUBSCRIBE",
|
|
19
|
+
params: [x],
|
|
20
|
+
id: 1
|
|
21
|
+
}), C = d.toUpperCase(), w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), E = 0, D = 0, O = "buffering", k = !1, A = [], j = 0, M, N;
|
|
22
|
+
function P(e, t) {
|
|
23
|
+
for (let { price: n, size: r } of t) r <= 0 ? e.delete(n) : e.set(n, r);
|
|
24
|
+
}
|
|
25
|
+
function F(e, t) {
|
|
26
|
+
if (e.size <= a) return;
|
|
27
|
+
let n = I(e, t).slice(0, a), r = new Set(n);
|
|
28
|
+
for (let t of e.keys()) r.has(t) || e.delete(t);
|
|
29
|
+
}
|
|
30
|
+
function I(e, t) {
|
|
31
|
+
let n = Array.from(e.keys());
|
|
32
|
+
return n.sort((e, n) => t === "desc" ? n - e : e - n), n;
|
|
33
|
+
}
|
|
34
|
+
function L(e, t) {
|
|
35
|
+
return I(e, t).slice(0, m).map((t) => ({
|
|
36
|
+
price: t,
|
|
37
|
+
size: e.get(t)
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
function R() {
|
|
41
|
+
_({
|
|
42
|
+
marketName: f,
|
|
43
|
+
bids: L(w, "desc"),
|
|
44
|
+
asks: L(T, "asc"),
|
|
45
|
+
lastUpdateId: E,
|
|
46
|
+
timestamp: D
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
function z(e) {
|
|
50
|
+
if (e.u < E) return "skipped";
|
|
51
|
+
if (k) {
|
|
52
|
+
if (e.U > E) return V("stale-snapshot"), "resyncing";
|
|
53
|
+
k = !1;
|
|
54
|
+
} else if (s(u, e, E)) return V("sequence-gap"), "resyncing";
|
|
55
|
+
return P(w, n(e.b)), P(T, n(e.a)), F(w, "desc"), F(T, "asc"), E = e.u, D = e.T ?? e.E ?? D, "applied";
|
|
56
|
+
}
|
|
57
|
+
function B(e) {
|
|
58
|
+
w.clear(), T.clear();
|
|
59
|
+
for (let t of e.bids) w.set(t.price, t.size);
|
|
60
|
+
for (let t of e.asks) T.set(t.price, t.size);
|
|
61
|
+
E = e.lastUpdateId, D = e.timestamp;
|
|
62
|
+
let t = A.filter((t) => t.u >= e.lastUpdateId);
|
|
63
|
+
A = [], O = "live", k = !0;
|
|
64
|
+
for (let e of t) if (z(e) === "resyncing") return;
|
|
65
|
+
R();
|
|
66
|
+
}
|
|
67
|
+
function V(e) {
|
|
68
|
+
if (O === "closed") return;
|
|
69
|
+
O = "buffering", k = !1, v?.(e);
|
|
70
|
+
let t = ++j;
|
|
71
|
+
M?.abort();
|
|
72
|
+
let n = new AbortController();
|
|
73
|
+
M = n, r({
|
|
74
|
+
restUrl: c,
|
|
75
|
+
market: u,
|
|
76
|
+
symbol: d,
|
|
77
|
+
marketName: f,
|
|
78
|
+
limit: p,
|
|
79
|
+
signal: n.signal
|
|
80
|
+
}).then((e) => {
|
|
81
|
+
t !== j || O === "closed" || B(e);
|
|
82
|
+
}).catch((e) => {
|
|
83
|
+
t !== j || O === "closed" || n.signal.aborted || (b?.(o(e)), N = setTimeout(() => {
|
|
84
|
+
N = void 0, O !== "closed" && V("initial");
|
|
85
|
+
}, i));
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
let H = !1, U = t({
|
|
89
|
+
url: l,
|
|
90
|
+
webSocketConstructor: g,
|
|
91
|
+
getOpenMessages: () => [S],
|
|
92
|
+
onOpen: () => {
|
|
93
|
+
V(H ? "reconnect" : "initial"), H = !0;
|
|
94
|
+
},
|
|
95
|
+
onStatusChange: y,
|
|
96
|
+
onError: (e) => b?.(o(e)),
|
|
97
|
+
onMessage: (e) => {
|
|
98
|
+
if (O === "closed") return;
|
|
99
|
+
let t;
|
|
100
|
+
try {
|
|
101
|
+
t = JSON.parse(String(e));
|
|
102
|
+
} catch (e) {
|
|
103
|
+
b?.(o(e));
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
let n = t.data ?? t;
|
|
107
|
+
if (n.e === "depthUpdate" && n.s?.toUpperCase() === C && !(typeof n.U != "number" || typeof n.u != "number")) try {
|
|
108
|
+
if (O === "buffering") {
|
|
109
|
+
A.push(n), A.length > 200 && A.shift();
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
z(n) === "applied" && R();
|
|
113
|
+
} catch (e) {
|
|
114
|
+
b?.(o(e));
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
return () => {
|
|
119
|
+
O = "closed", j += 1, N !== void 0 && clearTimeout(N), N = void 0, M?.abort(), M = void 0, A = [], U.close();
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
//#endregion
|
|
123
|
+
export { c as watchBinanceDepth };
|
|
124
|
+
|
|
125
|
+
//# sourceMappingURL=watch-binance-depth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch-binance-depth.js","names":[],"sources":["../../../../src/orderbook/sources/binance/watch-binance-depth.ts"],"sourcesContent":["import { SymmError } from \"../../../shared/errors/symm-error\";\nimport type { WebSocketConstructor } from \"../../../shared/types/websocket\";\nimport type { Unwatch } from \"../../../websocket/notifications/watch-notifications\";\nimport type { SocketStatus } from \"../../../websocket/socket\";\nimport { createReconnectingSocket } from \"../../../websocket/socket/create-reconnecting-socket\";\nimport type { Orderbook, OrderbookLevel, OrderbookResyncReason } from \"../../types\";\nimport { BINANCE_DEPTH_MAX_BUFFERED_EVENTS, type BinanceOrderbookMarket } from \"./constants\";\nimport { fetchBinanceDepth } from \"./fetch-binance-depth\";\nimport { parseBinanceDepthLevels, type RawBinanceDepthEvent } from \"./parse-depth\";\n\n/**\n * Delay before retrying a snapshot that failed.\n *\n * The socket keeps buffering throughout, so a retry resumes from a live buffer\n * rather than a cold start.\n */\nconst SNAPSHOT_RETRY_DELAY_MS = 1_000;\n\n/**\n * Upper bound on levels tracked per side.\n *\n * The book self-cleans — a filled or cancelled level arrives as a zero and is\n * removed — so this never trips in normal operation. It bounds memory against\n * a venue that leaks far-out levels, and dropping the worst-priced levels is\n * safe: a later update removing one is explicitly documented as normal, and\n * only the top {@link WatchBinanceDepthParameters.levels} are ever emitted.\n */\nconst MAX_TRACKED_LEVELS_PER_SIDE = 5_000;\n\n/**\n * Parameters for {@link watchBinanceDepth}.\n */\nexport interface WatchBinanceDepthParameters {\n /** REST host for snapshots, without a trailing slash. */\n restUrl: string;\n /** Combined-stream WebSocket endpoint. Must be the market's depth route. */\n wsUrl: string;\n /** Which Binance market to read. Decides the continuity rule. */\n market: BinanceOrderbookMarket;\n /** Binance symbol, upper-case (e.g. `\"BTCUSDT\"`). */\n symbol: string;\n /** Market name as SYMMIO names it, carried onto every emitted book. */\n marketName: string;\n /** Snapshot depth per side. */\n limit: number;\n /** Levels per side to emit on each update. */\n levels: number;\n /** Diff-stream update speed in ms; part of the stream name. */\n updateSpeed: number;\n /** WebSocket implementation to dial with. */\n webSocketConstructor: WebSocketConstructor;\n /** Called with a complete book on every applied update. */\n onOrderbook: (orderbook: Orderbook) => void;\n /** Called when the book is about to be rebuilt. */\n onResync?: (reason: OrderbookResyncReason) => void;\n /** Called whenever the connection status changes. */\n onStatusChange?: (status: SocketStatus) => void;\n /** Called on a transport, parse, or snapshot error; does not stop the subscription. */\n onError?: (error: SymmError) => void;\n}\n\n/** Combined-stream envelope, or the bare event on a raw stream. */\ninterface BinanceDepthFrame {\n stream?: string;\n data?: RawBinanceDepthEvent;\n e?: string;\n s?: string;\n U?: number;\n u?: number;\n}\n\nfunction toDepthError(event: unknown): SymmError {\n if (event instanceof SymmError) return event;\n const cause = event instanceof Error ? event : undefined;\n return new SymmError(\n \"api\",\n \"BINANCE_DEPTH_SOCKET_ERROR\",\n `Binance depth socket error${cause ? `: ${cause.message}` : \".\"}`,\n {\n cause,\n },\n );\n}\n\n/**\n * Whether an update fails to chain onto the book's current sequence position.\n *\n * The rule is **per market and not interchangeable**. Futures chains on `pu`,\n * which carries the previous event's `u`; its `U` routinely jumps hundreds of\n * ids past the previous `u`, so the spot rule applied to futures reports a gap\n * on essentially every event. Spot has no `pu` and chains on `U`, tolerating\n * overlap (`U <= lastUpdateId + 1`) because two events may cover the same id.\n */\nfunction hasSequenceGap(market: BinanceOrderbookMarket, event: RawBinanceDepthEvent, lastUpdateId: number): boolean {\n if (market === \"usd-m-futures\" && typeof event.pu === \"number\") {\n return event.pu !== lastUpdateId;\n }\n return event.U > lastUpdateId + 1;\n}\n\n/**\n * Track a Binance order book in real time, correctly synchronized.\n *\n * This implements Binance's documented local-order-book procedure end to end:\n * subscribe first and buffer, then snapshot, discard updates the snapshot\n * already covers, require the first applied update to straddle the snapshot's\n * sequence number, apply absolute quantities with zero meaning removal, and\n * verify every subsequent update chains onto the last. Any break — a missed\n * update, a reconnect, a snapshot that arrives older than the buffer — throws\n * the local book away and rebuilds it, announcing the rebuild through\n * `onResync` so a consumer can show the book as stale rather than trust a\n * silently diverged ladder.\n *\n * Each call opens its own connection. That is deliberate at this scale — one\n * ladder holds one subscription — and keeps the reconnect and unsubscribe paths\n * trivially correct. Binance drops idle connections after 24 hours; the\n * reconnecting socket re-dials, re-sends SUBSCRIBE, and the book resyncs.\n *\n * @param parameters - Endpoints, symbol, depth, and handlers.\n * @returns An unwatch function that closes the connection and cancels any\n * in-flight snapshot.\n *\n * @example\n * ```ts\n * const unwatch = watchBinanceDepth({\n * restUrl: \"https://fapi.binance.com\",\n * wsUrl: \"wss://fstream.binance.com/public/stream\",\n * market: \"usd-m-futures\",\n * symbol: \"BTCUSDT\",\n * marketName: \"BTCUSDT\",\n * limit: 1000,\n * levels: 20,\n * updateSpeed: 500,\n * webSocketConstructor: WebSocket,\n * onOrderbook: (book) => render(book),\n * onResync: (reason) => markStale(reason),\n * });\n * ```\n */\nexport function watchBinanceDepth(parameters: WatchBinanceDepthParameters): Unwatch {\n const {\n restUrl,\n wsUrl,\n market,\n symbol,\n marketName,\n limit,\n levels,\n updateSpeed,\n webSocketConstructor,\n onOrderbook,\n onResync,\n onStatusChange,\n onError,\n } = parameters;\n\n const streamName = `${symbol.toLowerCase()}@depth@${updateSpeed}ms`;\n const subscribeMessage = JSON.stringify({ method: \"SUBSCRIBE\", params: [streamName], id: 1 });\n const upperSymbol = symbol.toUpperCase();\n\n const bids = new Map<number, number>();\n const asks = new Map<number, number>();\n\n let lastUpdateId = 0;\n let timestamp = 0;\n let phase: \"buffering\" | \"live\" | \"closed\" = \"buffering\";\n /**\n * Set immediately after seeding. The first update applied to a fresh\n * snapshot is checked against the snapshot's own sequence number rather than\n * against the previous update — there is no previous update to chain onto.\n */\n let expectFirstEvent = false;\n let buffer: RawBinanceDepthEvent[] = [];\n /** Invalidates the results of a snapshot request that a newer sync superseded. */\n let syncToken = 0;\n let abortController: AbortController | undefined;\n let retryTimer: ReturnType<typeof setTimeout> | undefined;\n\n function applyLevels(side: Map<number, number>, updates: readonly OrderbookLevel[]): void {\n for (const { price, size } of updates) {\n /** A zero quantity is the venue's instruction to remove the level. */\n if (size <= 0) side.delete(price);\n else side.set(price, size);\n }\n }\n\n function pruneSide(side: Map<number, number>, direction: \"desc\" | \"asc\"): void {\n if (side.size <= MAX_TRACKED_LEVELS_PER_SIDE) return;\n\n const sorted = sortPrices(side, direction).slice(0, MAX_TRACKED_LEVELS_PER_SIDE);\n const kept = new Set(sorted);\n for (const price of side.keys()) {\n if (!kept.has(price)) side.delete(price);\n }\n }\n\n function sortPrices(side: Map<number, number>, direction: \"desc\" | \"asc\"): number[] {\n const prices = Array.from(side.keys());\n prices.sort((a, b) => (direction === \"desc\" ? b - a : a - b));\n return prices;\n }\n\n function topLevels(side: Map<number, number>, direction: \"desc\" | \"asc\"): OrderbookLevel[] {\n return sortPrices(side, direction)\n .slice(0, levels)\n .map((price) => ({ price, size: side.get(price)! }));\n }\n\n function emit(): void {\n onOrderbook({\n marketName,\n bids: topLevels(bids, \"desc\"),\n asks: topLevels(asks, \"asc\"),\n lastUpdateId,\n timestamp,\n });\n }\n\n /**\n * Outcome of offering one update to the book.\n *\n * - `applied` — the book moved; emit.\n * - `skipped` — the update carried nothing new, so re-emitting an identical\n * book would only cost the consumer a render.\n * - `resyncing` — the update could not be trusted; a rebuild is under way and\n * the caller must stop draining.\n */\n type ApplyOutcome = \"applied\" | \"skipped\" | \"resyncing\";\n\n function applyEvent(event: RawBinanceDepthEvent): ApplyOutcome {\n /** Already covered by the snapshot or by an earlier update. */\n if (event.u < lastUpdateId) return \"skipped\";\n\n if (expectFirstEvent) {\n /**\n * The first update must straddle the snapshot: it has to start at or\n * before the snapshot's sequence number and end at or after it. An\n * update starting past the snapshot means the gap between them was never\n * covered, so the snapshot is unusable.\n */\n if (event.U > lastUpdateId) {\n startSync(\"stale-snapshot\");\n return \"resyncing\";\n }\n expectFirstEvent = false;\n } else if (hasSequenceGap(market, event, lastUpdateId)) {\n startSync(\"sequence-gap\");\n return \"resyncing\";\n }\n\n applyLevels(bids, parseBinanceDepthLevels(event.b));\n applyLevels(asks, parseBinanceDepthLevels(event.a));\n pruneSide(bids, \"desc\");\n pruneSide(asks, \"asc\");\n\n lastUpdateId = event.u;\n timestamp = event.T ?? event.E ?? timestamp;\n return \"applied\";\n }\n\n function seed(snapshot: Orderbook): void {\n bids.clear();\n asks.clear();\n for (const level of snapshot.bids) bids.set(level.price, level.size);\n for (const level of snapshot.asks) asks.set(level.price, level.size);\n\n lastUpdateId = snapshot.lastUpdateId;\n timestamp = snapshot.timestamp;\n\n /** Updates the snapshot already reflects carry no information. */\n const pending = buffer.filter((event) => event.u >= snapshot.lastUpdateId);\n buffer = [];\n phase = \"live\";\n expectFirstEvent = true;\n\n for (const event of pending) {\n if (applyEvent(event) === \"resyncing\") return;\n }\n\n emit();\n }\n\n function startSync(reason: OrderbookResyncReason): void {\n if (phase === \"closed\") return;\n\n phase = \"buffering\";\n expectFirstEvent = false;\n onResync?.(reason);\n\n const token = ++syncToken;\n abortController?.abort();\n const controller = new AbortController();\n abortController = controller;\n\n fetchBinanceDepth({ restUrl, market, symbol, marketName, limit, signal: controller.signal })\n .then((snapshot) => {\n /** A newer sync, or an unwatch, superseded this request. */\n if (token !== syncToken || phase === \"closed\") return;\n seed(snapshot);\n })\n .catch((err: unknown) => {\n if (token !== syncToken || phase === \"closed\") return;\n if (controller.signal.aborted) return;\n\n onError?.(toDepthError(err));\n\n /**\n * The socket is still buffering, so a retry resumes from live updates.\n * `initial` rather than the original reason: from the book's point of\n * view every retry is another attempt at the same first build.\n */\n retryTimer = setTimeout(() => {\n retryTimer = undefined;\n if (phase !== \"closed\") startSync(\"initial\");\n }, SNAPSHOT_RETRY_DELAY_MS);\n });\n }\n\n let hasOpened = false;\n\n const socket = createReconnectingSocket({\n url: wsUrl,\n webSocketConstructor,\n /** Re-sent on every (re)open, so the subscription survives reconnects. */\n getOpenMessages: () => [subscribeMessage],\n onOpen: () => {\n /**\n * Subscribe-then-snapshot, in that order. Fetching first — as the\n * reference implementation this replaces did — leaves the window between\n * the snapshot and the first buffered update uncovered, and nothing\n * downstream can detect the hole.\n */\n startSync(hasOpened ? \"reconnect\" : \"initial\");\n hasOpened = true;\n },\n onStatusChange,\n onError: (event) => onError?.(toDepthError(event)),\n onMessage: (data) => {\n if (phase === \"closed\") return;\n\n let frame: BinanceDepthFrame;\n try {\n frame = JSON.parse(String(data)) as BinanceDepthFrame;\n } catch (err) {\n onError?.(toDepthError(err));\n return;\n }\n\n const event = (frame.data ?? frame) as RawBinanceDepthEvent;\n if (event.e !== \"depthUpdate\") return;\n /** Guard against feeding this book from another symbol's stream. */\n if (event.s?.toUpperCase() !== upperSymbol) return;\n if (typeof event.U !== \"number\" || typeof event.u !== \"number\") return;\n\n try {\n if (phase === \"buffering\") {\n buffer.push(event);\n /**\n * Only reachable if a snapshot never resolves. The oldest events go\n * first, which is the pair the continuity check will catch — a silent\n * partial application would be the dangerous outcome, and cannot happen.\n */\n if (buffer.length > BINANCE_DEPTH_MAX_BUFFERED_EVENTS) buffer.shift();\n return;\n }\n\n if (applyEvent(event) === \"applied\") emit();\n } catch (err) {\n onError?.(toDepthError(err));\n }\n },\n });\n\n return () => {\n phase = \"closed\";\n syncToken += 1;\n if (retryTimer !== undefined) clearTimeout(retryTimer);\n retryTimer = undefined;\n abortController?.abort();\n abortController = undefined;\n buffer = [];\n socket.close();\n };\n}\n"],"mappings":";;;;;;AAgBA,IAAM,IAA0B,KAW1B,IAA8B;AA4CpC,SAAS,EAAa,GAA2B;CAC/C,IAAI,aAAiB,GAAW,OAAO;CACvC,IAAM,IAAQ,aAAiB,QAAQ,IAAQ,KAAA;CAC/C,OAAO,IAAI,EACT,OACA,8BACA,6BAA6B,IAAQ,KAAK,EAAM,YAAY,OAC5D,EACE,SACF,CACF;AACF;AAWA,SAAS,EAAe,GAAgC,GAA6B,GAA+B;CAIlH,OAHI,MAAW,mBAAmB,OAAO,EAAM,MAAO,WAC7C,EAAM,OAAO,IAEf,EAAM,IAAI,IAAe;AAClC;AAyCA,SAAgB,EAAkB,GAAkD;CAClF,IAAM,EACJ,YACA,UACA,WACA,WACA,eACA,UACA,WACA,gBACA,yBACA,gBACA,aACA,mBACA,eACE,GAEE,IAAa,GAAG,EAAO,YAAY,EAAE,SAAS,EAAY,KAC1D,IAAmB,KAAK,UAAU;EAAE,QAAQ;EAAa,QAAQ,CAAC,CAAU;EAAG,IAAI;CAAE,CAAC,GACtF,IAAc,EAAO,YAAY,GAEjC,oBAAO,IAAI,IAAoB,GAC/B,oBAAO,IAAI,IAAoB,GAEjC,IAAe,GACf,IAAY,GACZ,IAAyC,aAMzC,IAAmB,IACnB,IAAiC,CAAC,GAElC,IAAY,GACZ,GACA;CAEJ,SAAS,EAAY,GAA2B,GAA0C;EACxF,KAAK,IAAM,EAAE,UAAO,aAAU,GAE5B,AAAI,KAAQ,IAAG,EAAK,OAAO,CAAK,IAC3B,EAAK,IAAI,GAAO,CAAI;CAE7B;CAEA,SAAS,EAAU,GAA2B,GAAiC;EAC7E,IAAI,EAAK,QAAQ,GAA6B;EAE9C,IAAM,IAAS,EAAW,GAAM,CAAS,EAAE,MAAM,GAAG,CAA2B,GACzE,IAAO,IAAI,IAAI,CAAM;EAC3B,KAAK,IAAM,KAAS,EAAK,KAAK,GAC5B,AAAK,EAAK,IAAI,CAAK,KAAG,EAAK,OAAO,CAAK;CAE3C;CAEA,SAAS,EAAW,GAA2B,GAAqC;EAClF,IAAM,IAAS,MAAM,KAAK,EAAK,KAAK,CAAC;EAErC,OADA,EAAO,MAAM,GAAG,MAAO,MAAc,SAAS,IAAI,IAAI,IAAI,CAAE,GACrD;CACT;CAEA,SAAS,EAAU,GAA2B,GAA6C;EACzF,OAAO,EAAW,GAAM,CAAS,EAC9B,MAAM,GAAG,CAAM,EACf,KAAK,OAAW;GAAE;GAAO,MAAM,EAAK,IAAI,CAAK;EAAG,EAAE;CACvD;CAEA,SAAS,IAAa;EACpB,EAAY;GACV;GACA,MAAM,EAAU,GAAM,MAAM;GAC5B,MAAM,EAAU,GAAM,KAAK;GAC3B;GACA;EACF,CAAC;CACH;CAaA,SAAS,EAAW,GAA2C;EAE7D,IAAI,EAAM,IAAI,GAAc,OAAO;EAEnC,IAAI,GAAkB;GAOpB,IAAI,EAAM,IAAI,GAEZ,OADA,EAAU,gBAAgB,GACnB;GAET,IAAmB;EACrB,OAAO,IAAI,EAAe,GAAQ,GAAO,CAAY,GAEnD,OADA,EAAU,cAAc,GACjB;EAUT,OAPA,EAAY,GAAM,EAAwB,EAAM,CAAC,CAAC,GAClD,EAAY,GAAM,EAAwB,EAAM,CAAC,CAAC,GAClD,EAAU,GAAM,MAAM,GACtB,EAAU,GAAM,KAAK,GAErB,IAAe,EAAM,GACrB,IAAY,EAAM,KAAK,EAAM,KAAK,GAC3B;CACT;CAEA,SAAS,EAAK,GAA2B;EAEvC,AADA,EAAK,MAAM,GACX,EAAK,MAAM;EACX,KAAK,IAAM,KAAS,EAAS,MAAM,EAAK,IAAI,EAAM,OAAO,EAAM,IAAI;EACnE,KAAK,IAAM,KAAS,EAAS,MAAM,EAAK,IAAI,EAAM,OAAO,EAAM,IAAI;EAGnE,AADA,IAAe,EAAS,cACxB,IAAY,EAAS;EAGrB,IAAM,IAAU,EAAO,QAAQ,MAAU,EAAM,KAAK,EAAS,YAAY;EAGzE,AAFA,IAAS,CAAC,GACV,IAAQ,QACR,IAAmB;EAEnB,KAAK,IAAM,KAAS,GAClB,IAAI,EAAW,CAAK,MAAM,aAAa;EAGzC,EAAK;CACP;CAEA,SAAS,EAAU,GAAqC;EACtD,IAAI,MAAU,UAAU;EAIxB,AAFA,IAAQ,aACR,IAAmB,IACnB,IAAW,CAAM;EAEjB,IAAM,IAAQ,EAAE;EAChB,GAAiB,MAAM;EACvB,IAAM,IAAa,IAAI,gBAAgB;EAGvC,AAFA,IAAkB,GAElB,EAAkB;GAAE;GAAS;GAAQ;GAAQ;GAAY;GAAO,QAAQ,EAAW;EAAO,CAAC,EACxF,MAAM,MAAa;GAEd,MAAU,KAAa,MAAU,YACrC,EAAK,CAAQ;EACf,CAAC,EACA,OAAO,MAAiB;GACnB,MAAU,KAAa,MAAU,YACjC,EAAW,OAAO,YAEtB,IAAU,EAAa,CAAG,CAAC,GAO3B,IAAa,iBAAiB;IAE5B,AADA,IAAa,KAAA,GACT,MAAU,YAAU,EAAU,SAAS;GAC7C,GAAG,CAAuB;EAC5B,CAAC;CACL;CAEA,IAAI,IAAY,IAEV,IAAS,EAAyB;EACtC,KAAK;EACL;EAEA,uBAAuB,CAAC,CAAgB;EACxC,cAAc;GAQZ,AADA,EAAU,IAAY,cAAc,SAAS,GAC7C,IAAY;EACd;EACA;EACA,UAAU,MAAU,IAAU,EAAa,CAAK,CAAC;EACjD,YAAY,MAAS;GACnB,IAAI,MAAU,UAAU;GAExB,IAAI;GACJ,IAAI;IACF,IAAQ,KAAK,MAAM,OAAO,CAAI,CAAC;GACjC,SAAS,GAAK;IACZ,IAAU,EAAa,CAAG,CAAC;IAC3B;GACF;GAEA,IAAM,IAAS,EAAM,QAAQ;GACzB,MAAM,MAAM,iBAEZ,EAAM,GAAG,YAAY,MAAM,KAC3B,SAAO,EAAM,KAAM,YAAY,OAAO,EAAM,KAAM,WAEtD,IAAI;IACF,IAAI,MAAU,aAAa;KAOzB,AANA,EAAO,KAAK,CAAK,GAMb,EAAO,SAAA,OAA4C,EAAO,MAAM;KACpE;IACF;IAEA,AAAI,EAAW,CAAK,MAAM,aAAW,EAAK;GAC5C,SAAS,GAAK;IACZ,IAAU,EAAa,CAAG,CAAC;GAC7B;EACF;CACF,CAAC;CAED,aAAa;EAQX,AAPA,IAAQ,UACR,KAAa,GACT,MAAe,KAAA,KAAW,aAAa,CAAU,GACrD,IAAa,KAAA,GACb,GAAiB,MAAM,GACvB,IAAkB,KAAA,GAClB,IAAS,CAAC,GACV,EAAO,MAAM;CACf;AACF"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Decimal places a tick size implies.
|
|
3
|
+
*
|
|
4
|
+
* Handles the exponential form small ticks stringify to — `1e-9` is nine
|
|
5
|
+
* decimals, not the zero a naive `split(".")` would report.
|
|
6
|
+
*
|
|
7
|
+
* @param tickSize - A positive price increment.
|
|
8
|
+
* @returns Decimal places needed to write any multiple of the tick exactly.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* countTickDecimals(0.01); // 2
|
|
13
|
+
* countTickDecimals(1e-9); // 9
|
|
14
|
+
* countTickDecimals(50); // 0
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare function countTickDecimals(tickSize: number): number;
|
|
18
|
+
/** Which way {@link roundToTick} moves a price that is not already on the grid. */
|
|
19
|
+
export type TickRoundingMode = "down" | "up";
|
|
20
|
+
/**
|
|
21
|
+
* Snap a price onto a tick grid.
|
|
22
|
+
*
|
|
23
|
+
* Bids round **down** and asks round **up**, so a grouped level never claims
|
|
24
|
+
* liquidity at a better price than actually rests there.
|
|
25
|
+
*
|
|
26
|
+
* Division by a decimal tick is not exact in binary floating point —
|
|
27
|
+
* `63018.1 / 0.1` is `630180.9999999999`, and flooring that loses a whole tick.
|
|
28
|
+
* The quotient is therefore snapped to a nearby integer before rounding, and
|
|
29
|
+
* the product is written back at the tick's own precision.
|
|
30
|
+
*
|
|
31
|
+
* @param price - The price to snap.
|
|
32
|
+
* @param tickSize - Grid spacing. Must be positive.
|
|
33
|
+
* @param mode - Direction to move a price that falls between ticks.
|
|
34
|
+
* @returns The price on the grid.
|
|
35
|
+
* @throws {SymmError} when `tickSize` is not a positive finite number.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* roundToTick(63018.17, 0.1, "down"); // 63018.1
|
|
40
|
+
* roundToTick(63018.17, 0.1, "up"); // 63018.2
|
|
41
|
+
* roundToTick(63018.1, 0.1, "up"); // 63018.1 — already on the grid
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export declare function roundToTick(price: number, tickSize: number, mode: TickRoundingMode): number;
|
|
45
|
+
/**
|
|
46
|
+
* Options for {@link suggestOrderbookTickSizes}.
|
|
47
|
+
*/
|
|
48
|
+
export interface SuggestOrderbookTickSizesOptions {
|
|
49
|
+
/**
|
|
50
|
+
* Coarsest grouping to offer, as a fraction of the reference price.
|
|
51
|
+
* Default `0.005` — half a percent, beyond which a ladder collapses into a
|
|
52
|
+
* handful of rows and stops being readable.
|
|
53
|
+
*/
|
|
54
|
+
maxFractionOfPrice?: number;
|
|
55
|
+
/** Most entries to return. Default `8`. */
|
|
56
|
+
maxSteps?: number;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Build a grouping ladder from a venue's own tick size.
|
|
60
|
+
*
|
|
61
|
+
* Derived rather than hardcoded. A global list of candidate ticks — the
|
|
62
|
+
* approach a UI reaches for first — offers groupings finer than the venue can
|
|
63
|
+
* quote (rows that can never be occupied) and, on a low-priced asset, ones so
|
|
64
|
+
* coarse the whole book lands in one row. Anchoring on the real tick and
|
|
65
|
+
* stepping 1/2/5/10 keeps every entry both quotable and useful.
|
|
66
|
+
*
|
|
67
|
+
* @param tickSize - The venue's smallest price increment.
|
|
68
|
+
* @param referencePrice - A price to scale against, typically the mid.
|
|
69
|
+
* @param options - Ladder bounds.
|
|
70
|
+
* @returns Tick sizes ascending, always starting with `tickSize` itself.
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```ts
|
|
74
|
+
* suggestOrderbookTickSizes(0.1, 63_000); // [0.1, 0.2, 0.5, 1, 2, 5, 10, 20]
|
|
75
|
+
* suggestOrderbookTickSizes(0.0001, 1.25); // [0.0001, 0.0002, 0.0005, 0.001, 0.002]
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export declare function suggestOrderbookTickSizes(tickSize: number, referencePrice: number, options?: SuggestOrderbookTickSizesOptions): number[];
|
|
79
|
+
//# sourceMappingURL=tick-size.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tick-size.d.ts","sourceRoot":"","sources":["../../src/orderbook/tick-size.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAa1D;AAED,mFAAmF;AACnF,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAgB3F;AAKD;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,gCAAqC,GAC7C,MAAM,EAAE,CAqBV"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { SymmError as e } from "../shared/errors/symm-error.js";
|
|
2
|
+
//#region src/orderbook/tick-size.ts
|
|
3
|
+
function t(e) {
|
|
4
|
+
if (!Number.isFinite(e) || e <= 0) return 0;
|
|
5
|
+
let t = e.toString(), n = t.indexOf("e-");
|
|
6
|
+
if (n !== -1) {
|
|
7
|
+
let e = Number(t.slice(n + 2)), r = t.slice(0, n).split(".")[1]?.length ?? 0;
|
|
8
|
+
return Math.min(100, e + r);
|
|
9
|
+
}
|
|
10
|
+
return Math.min(100, t.split(".")[1]?.length ?? 0);
|
|
11
|
+
}
|
|
12
|
+
function n(n, r, i) {
|
|
13
|
+
if (!Number.isFinite(r) || r <= 0) throw new e("validation", "INVALID_TICK_SIZE", `Tick size must be a positive finite number, got ${r}.`);
|
|
14
|
+
let a = n / r, o = Math.round(a), s = Math.abs(a - o) < 1e-9 * Math.max(1, Math.abs(a)) ? o : i === "down" ? Math.floor(a) : Math.ceil(a);
|
|
15
|
+
return Number((s * r).toFixed(t(r)));
|
|
16
|
+
}
|
|
17
|
+
var r = [
|
|
18
|
+
1,
|
|
19
|
+
2,
|
|
20
|
+
5,
|
|
21
|
+
10,
|
|
22
|
+
20,
|
|
23
|
+
50,
|
|
24
|
+
100,
|
|
25
|
+
200,
|
|
26
|
+
500,
|
|
27
|
+
1e3,
|
|
28
|
+
2e3,
|
|
29
|
+
5e3,
|
|
30
|
+
1e4
|
|
31
|
+
];
|
|
32
|
+
function i(e, n, i = {}) {
|
|
33
|
+
if (!Number.isFinite(e) || e <= 0) return [];
|
|
34
|
+
let { maxFractionOfPrice: a = .005, maxSteps: o = 8 } = i, s = t(e), c = Number.isFinite(n) && n > 0 ? n * a : Infinity, l = [];
|
|
35
|
+
for (let t of r) {
|
|
36
|
+
if (l.length >= o) break;
|
|
37
|
+
let n = Number((e * t).toFixed(s));
|
|
38
|
+
if (t > 1 && n > c) break;
|
|
39
|
+
l.push(n);
|
|
40
|
+
}
|
|
41
|
+
return l;
|
|
42
|
+
}
|
|
43
|
+
//#endregion
|
|
44
|
+
export { t as countTickDecimals, n as roundToTick, i as suggestOrderbookTickSizes };
|
|
45
|
+
|
|
46
|
+
//# sourceMappingURL=tick-size.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tick-size.js","names":[],"sources":["../../src/orderbook/tick-size.ts"],"sourcesContent":["import { SymmError } from \"../shared/errors/symm-error\";\n\n/**\n * Decimal places a tick size implies.\n *\n * Handles the exponential form small ticks stringify to — `1e-9` is nine\n * decimals, not the zero a naive `split(\".\")` would report.\n *\n * @param tickSize - A positive price increment.\n * @returns Decimal places needed to write any multiple of the tick exactly.\n *\n * @example\n * ```ts\n * countTickDecimals(0.01); // 2\n * countTickDecimals(1e-9); // 9\n * countTickDecimals(50); // 0\n * ```\n */\nexport function countTickDecimals(tickSize: number): number {\n if (!Number.isFinite(tickSize) || tickSize <= 0) return 0;\n\n const text = tickSize.toString();\n const exponentIndex = text.indexOf(\"e-\");\n\n if (exponentIndex !== -1) {\n const exponent = Number(text.slice(exponentIndex + 2));\n const mantissaDecimals = text.slice(0, exponentIndex).split(\".\")[1]?.length ?? 0;\n return Math.min(100, exponent + mantissaDecimals);\n }\n\n return Math.min(100, text.split(\".\")[1]?.length ?? 0);\n}\n\n/** Which way {@link roundToTick} moves a price that is not already on the grid. */\nexport type TickRoundingMode = \"down\" | \"up\";\n\n/**\n * Snap a price onto a tick grid.\n *\n * Bids round **down** and asks round **up**, so a grouped level never claims\n * liquidity at a better price than actually rests there.\n *\n * Division by a decimal tick is not exact in binary floating point —\n * `63018.1 / 0.1` is `630180.9999999999`, and flooring that loses a whole tick.\n * The quotient is therefore snapped to a nearby integer before rounding, and\n * the product is written back at the tick's own precision.\n *\n * @param price - The price to snap.\n * @param tickSize - Grid spacing. Must be positive.\n * @param mode - Direction to move a price that falls between ticks.\n * @returns The price on the grid.\n * @throws {SymmError} when `tickSize` is not a positive finite number.\n *\n * @example\n * ```ts\n * roundToTick(63018.17, 0.1, \"down\"); // 63018.1\n * roundToTick(63018.17, 0.1, \"up\"); // 63018.2\n * roundToTick(63018.1, 0.1, \"up\"); // 63018.1 — already on the grid\n * ```\n */\nexport function roundToTick(price: number, tickSize: number, mode: TickRoundingMode): number {\n if (!Number.isFinite(tickSize) || tickSize <= 0) {\n throw new SymmError(\n \"validation\",\n \"INVALID_TICK_SIZE\",\n `Tick size must be a positive finite number, got ${tickSize}.`,\n );\n }\n\n const units = price / tickSize;\n const nearest = Math.round(units);\n /** Treat a quotient within float noise of an integer as already on the grid. */\n const onGrid = Math.abs(units - nearest) < 1e-9 * Math.max(1, Math.abs(units));\n const snapped = onGrid ? nearest : mode === \"down\" ? Math.floor(units) : Math.ceil(units);\n\n return Number((snapped * tickSize).toFixed(countTickDecimals(tickSize)));\n}\n\n/** Multipliers applied to the venue tick to build a grouping ladder. */\nconst TICK_LADDER_STEPS = [1, 2, 5, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000, 10_000] as const;\n\n/**\n * Options for {@link suggestOrderbookTickSizes}.\n */\nexport interface SuggestOrderbookTickSizesOptions {\n /**\n * Coarsest grouping to offer, as a fraction of the reference price.\n * Default `0.005` — half a percent, beyond which a ladder collapses into a\n * handful of rows and stops being readable.\n */\n maxFractionOfPrice?: number;\n /** Most entries to return. Default `8`. */\n maxSteps?: number;\n}\n\n/**\n * Build a grouping ladder from a venue's own tick size.\n *\n * Derived rather than hardcoded. A global list of candidate ticks — the\n * approach a UI reaches for first — offers groupings finer than the venue can\n * quote (rows that can never be occupied) and, on a low-priced asset, ones so\n * coarse the whole book lands in one row. Anchoring on the real tick and\n * stepping 1/2/5/10 keeps every entry both quotable and useful.\n *\n * @param tickSize - The venue's smallest price increment.\n * @param referencePrice - A price to scale against, typically the mid.\n * @param options - Ladder bounds.\n * @returns Tick sizes ascending, always starting with `tickSize` itself.\n *\n * @example\n * ```ts\n * suggestOrderbookTickSizes(0.1, 63_000); // [0.1, 0.2, 0.5, 1, 2, 5, 10, 20]\n * suggestOrderbookTickSizes(0.0001, 1.25); // [0.0001, 0.0002, 0.0005, 0.001, 0.002]\n * ```\n */\nexport function suggestOrderbookTickSizes(\n tickSize: number,\n referencePrice: number,\n options: SuggestOrderbookTickSizesOptions = {},\n): number[] {\n if (!Number.isFinite(tickSize) || tickSize <= 0) return [];\n\n const { maxFractionOfPrice = 0.005, maxSteps = 8 } = options;\n const decimals = countTickDecimals(tickSize);\n const ceiling =\n Number.isFinite(referencePrice) && referencePrice > 0\n ? referencePrice * maxFractionOfPrice\n : Number.POSITIVE_INFINITY;\n\n const ladder: number[] = [];\n\n for (const step of TICK_LADDER_STEPS) {\n if (ladder.length >= maxSteps) break;\n const candidate = Number((tickSize * step).toFixed(decimals));\n /** The venue tick is always offered, even on an asset priced below it. */\n if (step > 1 && candidate > ceiling) break;\n ladder.push(candidate);\n }\n\n return ladder;\n}\n"],"mappings":";;AAkBA,SAAgB,EAAkB,GAA0B;CAC1D,IAAI,CAAC,OAAO,SAAS,CAAQ,KAAK,KAAY,GAAG,OAAO;CAExD,IAAM,IAAO,EAAS,SAAS,GACzB,IAAgB,EAAK,QAAQ,IAAI;CAEvC,IAAI,MAAkB,IAAI;EACxB,IAAM,IAAW,OAAO,EAAK,MAAM,IAAgB,CAAC,CAAC,GAC/C,IAAmB,EAAK,MAAM,GAAG,CAAa,EAAE,MAAM,GAAG,EAAE,IAAI,UAAU;EAC/E,OAAO,KAAK,IAAI,KAAK,IAAW,CAAgB;CAClD;CAEA,OAAO,KAAK,IAAI,KAAK,EAAK,MAAM,GAAG,EAAE,IAAI,UAAU,CAAC;AACtD;AA6BA,SAAgB,EAAY,GAAe,GAAkB,GAAgC;CAC3F,IAAI,CAAC,OAAO,SAAS,CAAQ,KAAK,KAAY,GAC5C,MAAM,IAAI,EACR,cACA,qBACA,mDAAmD,EAAS,EAC9D;CAGF,IAAM,IAAQ,IAAQ,GAChB,IAAU,KAAK,MAAM,CAAK,GAG1B,IADS,KAAK,IAAI,IAAQ,CAAO,IAAI,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI,CAAK,CAAC,IACpD,IAAU,MAAS,SAAS,KAAK,MAAM,CAAK,IAAI,KAAK,KAAK,CAAK;CAExF,OAAO,QAAQ,IAAU,GAAU,QAAQ,EAAkB,CAAQ,CAAC,CAAC;AACzE;AAGA,IAAM,IAAoB;CAAC;CAAG;CAAG;CAAG;CAAI;CAAI;CAAI;CAAK;CAAK;CAAK;CAAM;CAAM;CAAM;AAAM;AAoCvF,SAAgB,EACd,GACA,GACA,IAA4C,CAAC,GACnC;CACV,IAAI,CAAC,OAAO,SAAS,CAAQ,KAAK,KAAY,GAAG,OAAO,CAAC;CAEzD,IAAM,EAAE,wBAAqB,MAAO,cAAW,MAAM,GAC/C,IAAW,EAAkB,CAAQ,GACrC,IACJ,OAAO,SAAS,CAAc,KAAK,IAAiB,IAChD,IAAiB,IACjB,UAEA,IAAmB,CAAC;CAE1B,KAAK,IAAM,KAAQ,GAAmB;EACpC,IAAI,EAAO,UAAU,GAAU;EAC/B,IAAM,IAAY,QAAQ,IAAW,GAAM,QAAQ,CAAQ,CAAC;EAE5D,IAAI,IAAO,KAAK,IAAY,GAAS;EACrC,EAAO,KAAK,CAAS;CACvB;CAEA,OAAO;AACT"}
|