@symmio/trading-core 1.1.0 → 3.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/README.md +2 -2
- package/dist/balance-history/get-balance-history/types.d.ts +1 -1
- package/dist/balance-history/get-balance-history/types.js.map +1 -1
- 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-chain-config.d.ts +1 -1
- package/dist/core/chains/actions/get-chain-config.js.map +1 -1
- 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/actions/list-supported-chains.js.map +1 -1
- 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 +90 -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 +5 -3
- 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 +252 -24
- 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 +44 -16
- package/dist/core/config/create-config.d.ts.map +1 -1
- package/dist/core/config/create-config.js +48 -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 +82 -28
- package/dist/core/config/merge-chain-config.js.map +1 -1
- package/dist/index.d.ts +293 -37
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +495 -288
- 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 +1 -12
- 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-document.d.ts +1 -1
- package/dist/quotes/get-quote-history/query-document.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-quote-history/types.d.ts +2 -2
- package/dist/quotes/get-quote-history/types.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 +8 -2
- 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 +2 -2
- 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/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/calldata.js +1 -1
- package/dist/solvers/instant-close/shared/calldata.js.map +1 -1
- 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-fees/get-instant-open-fees.d.ts +129 -0
- package/dist/solvers/instant-open/get-instant-open-fees/get-instant-open-fees.d.ts.map +1 -0
- package/dist/solvers/instant-open/get-instant-open-fees/get-instant-open-fees.js +115 -0
- package/dist/solvers/instant-open/get-instant-open-fees/get-instant-open-fees.js.map +1 -0
- package/dist/solvers/instant-open/get-instant-open-fees/index.d.ts +3 -0
- package/dist/solvers/instant-open/get-instant-open-fees/index.d.ts.map +1 -0
- package/dist/solvers/instant-open/get-instant-open-fees/query.d.ts +34 -0
- package/dist/solvers/instant-open/get-instant-open-fees/query.d.ts.map +1 -0
- package/dist/solvers/instant-open/get-instant-open-fees/query.js +33 -0
- package/dist/solvers/instant-open/get-instant-open-fees/query.js.map +1 -0
- 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/index.d.ts +1 -0
- package/dist/solvers/instant-open/index.d.ts.map +1 -1
- 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 +76 -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 +101 -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 +46 -11
- 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 +157 -68
- 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 +76 -3
- package/dist/solvers/instant-open/shared/calldata.d.ts.map +1 -1
- package/dist/solvers/instant-open/shared/calldata.js +84 -19
- 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/index.d.ts +1 -0
- package/dist/solvers/instant-open/shared/index.d.ts.map +1 -1
- package/dist/solvers/instant-open/shared/open-estimate-guard.d.ts +89 -0
- package/dist/solvers/instant-open/shared/open-estimate-guard.d.ts.map +1 -0
- package/dist/solvers/instant-open/shared/open-estimate-guard.js +52 -0
- package/dist/solvers/instant-open/shared/open-estimate-guard.js.map +1 -0
- 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/selectors.d.ts +46 -7
- package/dist/solvers/instant-open/shared/selectors.d.ts.map +1 -1
- package/dist/solvers/instant-open/shared/selectors.js +12 -5
- package/dist/solvers/instant-open/shared/selectors.js.map +1 -1
- package/dist/solvers/instant-open/shared/trade-math.d.ts +123 -8
- package/dist/solvers/instant-open/shared/trade-math.d.ts.map +1 -1
- package/dist/solvers/instant-open/shared/trade-math.js +60 -22
- package/dist/solvers/instant-open/shared/trade-math.js.map +1 -1
- package/dist/solvers/instant-open/shared/types.d.ts +44 -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 +50 -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 +111 -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 +14 -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/index.d.ts +1 -0
- package/dist/solvers/shared/index.d.ts.map +1 -1
- 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 +43 -5
- package/dist/solvers/shared/resolvers/resolve-market.d.ts.map +1 -1
- package/dist/solvers/shared/resolvers/resolve-market.js +33 -10
- package/dist/solvers/shared/resolvers/resolve-market.js.map +1 -1
- package/dist/solvers/shared/resolvers/types.d.ts +14 -0
- package/dist/solvers/shared/resolvers/types.d.ts.map +1 -1
- package/dist/solvers/shared/solver-close-fee.d.ts +76 -0
- package/dist/solvers/shared/solver-close-fee.d.ts.map +1 -0
- package/dist/solvers/shared/solver-close-fee.js +26 -0
- package/dist/solvers/shared/solver-close-fee.js.map +1 -0
- 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 +46 -0
- package/dist/solvers/symbols/to-solver-symbol.js.map +1 -0
- package/dist/solvers/symbols/types.d.ts +92 -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 +146 -82
- package/dist/solvers/types/generated/enigma-solver.d.ts.map +1 -1
- package/dist/solvers/types/generated/enigma-solver.js +20 -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 +13 -6
- package/dist/symmio-contracts/abi/index.d.ts.map +1 -1
- package/dist/symmio-contracts/abi/{v0.8.5 → v0.8.6}/account-layer.d.ts +499 -132
- package/dist/symmio-contracts/abi/{v0.8.5 → v0.8.6}/account-layer.d.ts.map +1 -1
- package/dist/symmio-contracts/abi/{v0.8.5 → v0.8.6}/account-layer.js +591 -149
- package/dist/symmio-contracts/abi/v0.8.6/account-layer.js.map +1 -0
- package/dist/symmio-contracts/abi/{v0.8.5 → v0.8.6}/index.d.ts.map +1 -1
- package/dist/symmio-contracts/abi/{v0.8.5 → v0.8.6}/instant-layer.d.ts +24 -24
- package/dist/symmio-contracts/abi/{v0.8.5 → v0.8.6}/instant-layer.d.ts.map +1 -1
- package/dist/symmio-contracts/abi/{v0.8.5 → v0.8.6}/instant-layer.js +28 -28
- package/dist/symmio-contracts/abi/v0.8.6/instant-layer.js.map +1 -0
- package/dist/symmio-contracts/abi/{v0.8.5 → v0.8.6}/symmio.d.ts +4724 -1019
- package/dist/symmio-contracts/abi/{v0.8.5 → v0.8.6}/symmio.d.ts.map +1 -1
- package/dist/symmio-contracts/abi/{v0.8.5 → v0.8.6}/symmio.js +12750 -8308
- package/dist/symmio-contracts/abi/v0.8.6/symmio.js.map +1 -0
- package/dist/symmio-contracts/account-layer/actions/add-margin.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/add-margin.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/cancel-registration.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/cancel-registration.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/create-sub-accounts.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/create-sub-accounts.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/delete-sub-account.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/delete-sub-account.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/deposit-and-allocate-for-account.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/deposit-and-allocate-for-account.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/deposit-for-account.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/deposit-for-account.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/edit-account-name.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/edit-account-name.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/generate-account-manager-address.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/generate-account-manager-address.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-account-balance-info.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-account-balance-info.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-account-balance-of.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-account-balance-of.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-affiliate-state.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-affiliate-state.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-sub-account-virtual-nonce.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-sub-account-virtual-nonce.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-sub-account.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-sub-account.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-sub-accounts-count-of-user.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-sub-accounts-count-of-user.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-user-sub-accounts-addresses.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-user-sub-accounts-addresses.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-user-sub-accounts.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-user-sub-accounts.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-virtual-account.d.ts +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-virtual-account.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-virtual-account.js.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 +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/actions/predict-next-virtual-account.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/predict-next-virtual-account.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/remove-margin.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/remove-margin.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/request-to-register-affiliate.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/request-to-register-affiliate.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-add-margin.d.ts +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-add-margin.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-add-margin.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-cancel-registration.d.ts +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-cancel-registration.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-cancel-registration.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-create-sub-accounts.d.ts +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-create-sub-accounts.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-create-sub-accounts.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-delete-sub-account.d.ts +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-delete-sub-account.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-delete-sub-account.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-deposit-and-allocate-for-account.d.ts +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-deposit-and-allocate-for-account.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-deposit-and-allocate-for-account.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-deposit-for-account.d.ts +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-deposit-for-account.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-deposit-for-account.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-edit-account-name.d.ts +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-edit-account-name.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-edit-account-name.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-remove-margin.d.ts +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-remove-margin.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-remove-margin.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-request-to-register-affiliate.d.ts +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-request-to-register-affiliate.js +1 -1
- package/dist/symmio-contracts/account-layer/actions/simulate-request-to-register-affiliate.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/account-layer/types.d.ts +10 -10
- package/dist/symmio-contracts/account-layer/types.js.map +1 -1
- package/dist/symmio-contracts/instant-layer/actions/get-delegation-expiry.js +1 -1
- package/dist/symmio-contracts/instant-layer/actions/get-delegation-expiry.js.map +1 -1
- package/dist/symmio-contracts/instant-layer/actions/get-is-delegation-active.js +1 -1
- package/dist/symmio-contracts/instant-layer/actions/get-is-delegation-active.js.map +1 -1
- package/dist/symmio-contracts/instant-layer/actions/grant-delegation.js +1 -1
- package/dist/symmio-contracts/instant-layer/actions/grant-delegation.js.map +1 -1
- package/dist/symmio-contracts/instant-layer/actions/simulate-grant-delegation.d.ts +1 -1
- package/dist/symmio-contracts/instant-layer/actions/simulate-grant-delegation.js +1 -1
- package/dist/symmio-contracts/instant-layer/actions/simulate-grant-delegation.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/allocate.js +1 -1
- package/dist/symmio-contracts/symmio/actions/allocate.js.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 +16 -12
- package/dist/symmio-contracts/symmio/actions/deallocate.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/finalize-withdraw-request.js +1 -1
- package/dist/symmio-contracts/symmio/actions/finalize-withdraw-request.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-fee-for-user.js +1 -1
- package/dist/symmio-contracts/symmio/actions/get-fee-for-user.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/get-last-withdraw-request-id.js +1 -1
- package/dist/symmio-contracts/symmio/actions/get-last-withdraw-request-id.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/get-onchain-contract-markets.js +1 -1
- package/dist/symmio-contracts/symmio/actions/get-onchain-contract-markets.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/get-party-a-open-positions.js +1 -1
- package/dist/symmio-contracts/symmio/actions/get-party-a-open-positions.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/get-party-a-pending-quotes.js +1 -1
- package/dist/symmio-contracts/symmio/actions/get-party-a-pending-quotes.js.map +1 -1
- 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/get-pending-withdraw-requests.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/actions/get-pending-withdraw-requests.js +10 -9
- package/dist/symmio-contracts/symmio/actions/get-pending-withdraw-requests.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/get-quote.js +1 -1
- package/dist/symmio-contracts/symmio/actions/get-quote.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/get-withdraw-requests.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/actions/get-withdraw-requests.js +9 -8
- package/dist/symmio-contracts/symmio/actions/get-withdraw-requests.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/get-withdrawable-time.js +1 -1
- package/dist/symmio-contracts/symmio/actions/get-withdrawable-time.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/initiate-withdraw.d.ts +1 -1
- package/dist/symmio-contracts/symmio/actions/initiate-withdraw.js +1 -1
- package/dist/symmio-contracts/symmio/actions/initiate-withdraw.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/request-cancel-withdraw.js +1 -1
- package/dist/symmio-contracts/symmio/actions/request-cancel-withdraw.js.map +1 -1
- 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-allocate.js +1 -1
- package/dist/symmio-contracts/symmio/actions/simulate-allocate.js.map +1 -1
- 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 +14 -10
- package/dist/symmio-contracts/symmio/actions/simulate-deallocate.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/simulate-finalize-withdraw-request.d.ts +1 -1
- package/dist/symmio-contracts/symmio/actions/simulate-finalize-withdraw-request.js +1 -1
- package/dist/symmio-contracts/symmio/actions/simulate-finalize-withdraw-request.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/simulate-initiate-withdraw.js +1 -1
- package/dist/symmio-contracts/symmio/actions/simulate-initiate-withdraw.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/simulate-request-cancel-withdraw.js +1 -1
- package/dist/symmio-contracts/symmio/actions/simulate-request-cancel-withdraw.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 +8 -8
- 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 +5 -3
- 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 +4 -4
- package/dist/symmio-contracts/symmio/internal/simulate-call-as-sub-account.js.map +1 -1
- package/dist/symmio-contracts/symmio/internal/withdraw-requests-v0-8-5.d.ts +214 -0
- package/dist/symmio-contracts/symmio/internal/withdraw-requests-v0-8-5.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/internal/withdraw-requests-v0-8-5.js +248 -0
- package/dist/symmio-contracts/symmio/internal/withdraw-requests-v0-8-5.js.map +1 -0
- package/dist/symmio-contracts/symmio/parts.d.ts +1 -1
- package/dist/symmio-contracts/symmio/parts.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 +111 -18
- 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 +2 -2
- 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 +2 -2
- 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/symmio-contracts/abi/v0.8.5/account-layer.js.map +0 -1
- package/dist/symmio-contracts/abi/v0.8.5/instant-layer.js.map +0 -1
- package/dist/symmio-contracts/abi/v0.8.5/symmio.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
- /package/dist/symmio-contracts/abi/{v0.8.5 → v0.8.6}/index.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconcile-quotes.js","names":[],"sources":["../../src/quotes/reconcile-quotes.ts"],"sourcesContent":["import type { Address } from \"viem\";\nimport type { PendingInstantClose } from \"../solvers/instant-close/get-instant-closes/to-pending-instant-close\";\nimport type { PendingInstantOpen } from \"../solvers/instant-open/get-instant-opens/to-pending-instant-open\";\nimport type { Quote } from \"../symmio-contracts/symmio/types\";\nimport type { Notification } from \"../websocket/notifications/types\";\nimport { applyNotificationToQuotes } from \"./apply-notification\";\nimport { fingerprintQuote } from \"./fingerprint\";\nimport { toUnifiedQuoteFromInstantOpen, toUnifiedQuoteFromOnchain } from \"./to-unified-quote\";\nimport { QuoteLifecycle, type UnifiedQuote } from \"./unified-quote\";\n\n/**\n * Inputs to {@link reconcileQuotes}: one snapshot of every quote source. The\n * result is \"active quotes only\" — a quote appears in the output iff it is\n * present in at least one of these sources this tick.\n */\nexport interface ReconcileQuotesInput {\n /** Sub-account (partyA) the snapshot belongs to. */\n partyA: Address;\n /** On-chain open positions (`getPartyAOpenPositions`). */\n onchainPositions: readonly Quote[];\n /** On-chain pending quotes hydrated via `getQuote`. */\n onchainPendingQuotes: readonly Quote[];\n /** Pending instant-open records from the hedger. */\n instantOpens: readonly PendingInstantOpen[];\n /** Pending instant-close records from the hedger. */\n instantCloses: readonly PendingInstantClose[];\n /**\n * Map from a pending instant-open's `tempQuoteId` to the Virtual Account (VA)\n * address its position will land in (from `resolveQuoteAccounts`). When a temp\n * id is present here, the optimistic row is stamped with its eventual VA so the\n * UI can show the VA before the trade anchors on-chain.\n */\n instantOpenVaByTempId?: Record<number, Address>;\n /** Notifications to apply after the merge, in arrival order. */\n notifications?: readonly Notification[];\n /**\n * Rows that anchored on-chain on a prior tick (a notification set their\n * `quoteId`) but whose on-chain struct has not been read yet — the\n * `pendingAnchors` returned by the previous {@link reconcileQuotes} call. The\n * consumer feeds them back so an anchored row survives the gap between \"the\n * hedger drops the pending open\" and \"the on-chain read returns the quote\"\n * instead of vanishing for a tick. Each is dropped automatically once the\n * matching on-chain read arrives (its `key` is already populated with the real\n * struct, so the retained copy is ignored).\n */\n retainedAnchors?: readonly UnifiedQuote[];\n}\n\n/** Output of {@link reconcileQuotes}: the merged rows plus the temp ↔ on-chain links. */\nexport interface ReconcileQuotesResult {\n /** Merged, de-duplicated, lifecycle-tagged rows, newest first. */\n quotes: UnifiedQuote[];\n /**\n * Map from `tempQuoteId` to the on-chain row `key` it resolved to, recorded\n * **only once the row has anchored on-chain** (`quoteId` present). A\n * still-optimistic temp id is absent until then, so consumers can use this to\n * clear an optimistic seed exactly when its on-chain twin exists.\n */\n links: Record<number, string>;\n /**\n * Rows currently in {@link QuoteLifecycle.WRITE_ONCHAIN} — anchored per a\n * notification but not yet returned by the on-chain read. The consumer retains\n * these and feeds them back as {@link ReconcileQuotesInput.retainedAnchors} on\n * the next tick so they do not flicker out while the RPC catches up.\n */\n pendingAnchors: UnifiedQuote[];\n}\n\n/**\n * Merge every quote source for a sub-account into one stable, de-duplicated,\n * lifecycle-tagged list — **active quotes only**: a quote appears iff it is in at\n * least one source this tick, so a quote that has left every source is simply\n * absent (no lingering \"removed\" rows). **Pure** and stateless: given the same\n * `input` it always returns the same result, reading no clock and no randomness.\n *\n * Pipeline:\n *\n * 1. On-chain positions + pending quotes become anchored rows; `retainedAnchors`\n * re-seed any anchored-but-not-yet-read row so it does not flicker out.\n * 2. Pending instant-closes overlay the matching on-chain row — `CLOSING` once the\n * on-chain status shows the close pending, else `WRITE_ONCHAIN_CLOSE`.\n * 3. Pending instant-opens become `OPTIMISTIC` rows, **dropped** when an on-chain\n * row already carries the same {@link fingerprintQuote} (the trade landed).\n * 4. Notifications are applied in order to link temp ↔ on-chain ids and advance\n * lifecycles (an anchored-but-unread row sits at `WRITE_ONCHAIN`); `collapseByKey`\n * then merges a rekeyed optimistic row into its on-chain twin, so the off-chain\n * row drops once on-chain.\n * 5. Rows are sorted by `statusModifyTimestamp` descending (newest first), and the\n * `WRITE_ONCHAIN` rows are returned as `pendingAnchors` for the next tick.\n *\n * @param input - One snapshot of all sources.\n * @returns The merged rows plus the temp ↔ on-chain `links`.\n *\n * @example\n * ```ts\n * const { quotes } = reconcileQuotes({\n * partyA,\n * onchainPositions,\n * onchainPendingQuotes,\n * instantOpens,\n * instantCloses,\n * notifications,\n * });\n * ```\n */\nexport function reconcileQuotes(input: ReconcileQuotesInput): ReconcileQuotesResult {\n const byKey = new Map<string, UnifiedQuote>();\n\n for (const quote of input.onchainPositions) {\n const row = withVaAddress(toUnifiedQuoteFromOnchain(quote), input.partyA);\n byKey.set(row.key, row);\n }\n for (const quote of input.onchainPendingQuotes) {\n const row = withVaAddress(toUnifiedQuoteFromOnchain(quote), input.partyA);\n if (!byKey.has(row.key)) byKey.set(row.key, row);\n }\n /**\n * Re-seed rows that anchored on a prior tick but have no on-chain struct yet, so\n * they survive the hedger-drop → on-chain-read gap. Skipped the moment the real\n * on-chain read populates the same `key` (inserted above), so retention ends\n * itself once the RPC confirms.\n */\n for (const anchor of input.retainedAnchors ?? []) {\n if (!byKey.has(anchor.key)) byKey.set(anchor.key, anchor);\n }\n for (const close of input.instantCloses) {\n const key = `onchain:${close.quoteId}`;\n const existing = byKey.get(key);\n /**\n * An instant-close always references a quote that already exists on-chain, so\n * we only overlay the close onto its matching row. If the on-chain row has not\n * loaded yet we skip it rather than synthesize a placeholder with no market or\n * side; the overlay applies on the next tick once the position read catches up.\n */\n if (!existing) continue;\n byKey.set(key, {\n ...existing,\n lifecycle: overlayCloseLifecycle(existing),\n quantityToClose: close.quantityToClose,\n raw: { ...existing.raw, instantClose: close },\n });\n }\n\n const onchainFingerprints = new Set<string>();\n\n for (const row of byKey.values()) {\n if (row.origin === \"onchain\") onchainFingerprints.add(fingerprintQuote(row));\n }\n for (const open of input.instantOpens) {\n const row = toUnifiedQuoteFromInstantOpen(open);\n if (onchainFingerprints.has(fingerprintQuote(row))) continue;\n const vaAddress = input.instantOpenVaByTempId?.[open.tempQuoteId];\n if (vaAddress) row.vaAddress = vaAddress;\n if (!byKey.has(row.key)) byKey.set(row.key, row);\n }\n let merged = [...byKey.values()];\n for (const notification of input.notifications ?? []) {\n merged = applyNotificationToQuotes(merged, notification);\n }\n merged = collapseByKey(merged);\n merged.sort((a, b) => {\n const aTs = a.statusModifyTimestamp ?? 0n;\n const bTs = b.statusModifyTimestamp ?? 0n;\n if (aTs !== bTs) return aTs > bTs ? -1 : 1;\n const aId = stableSortKey(a);\n const bId = stableSortKey(b);\n if (aId !== bId) return aId > bId ? -1 : 1;\n return 0;\n });\n const links: Record<number, string> = {};\n for (const row of merged) {\n /**\n * Only record a temp ↔ on-chain link once the row has actually anchored\n * (`quoteId` set). A still-optimistic row carries only its own `temp:` key —\n * recording that as a \"link\" would let the consumer clear its optimistic seed\n * before the on-chain twin exists, dropping the row for a tick (the\n * appear→disappear→reappear flicker).\n */\n if (row.tempQuoteId !== undefined && row.quoteId !== undefined) links[row.tempQuoteId] = row.key;\n }\n const pendingAnchors = merged.filter((row) => row.lifecycle === QuoteLifecycle.WRITE_ONCHAIN);\n return { quotes: merged, links, pendingAnchors };\n}\n\n/**\n * Lifecycle for an on-chain row that a pending instant-close overlays. Keep a\n * terminal `CLOSED` as-is; keep `CLOSING` when the on-chain status already shows\n * the close pending; otherwise the close is in-flight but the read still shows the\n * position open — surface {@link QuoteLifecycle.OPTIMISTIC_CLOSE} as the base close\n * stage. Close notifications (applied after this overlay) then advance it to\n * `CLOSE_PRICE_FILLED` → `WRITE_ONCHAIN_CLOSE`; the poll moves it to `CLOSING` once\n * the on-chain status reflects the pending close.\n */\nfunction overlayCloseLifecycle(existing: UnifiedQuote): QuoteLifecycle {\n if (existing.lifecycle === QuoteLifecycle.CLOSED) return QuoteLifecycle.CLOSED;\n if (existing.lifecycle === QuoteLifecycle.CLOSING) return QuoteLifecycle.CLOSING;\n return QuoteLifecycle.OPTIMISTIC_CLOSE;\n}\n\n/**\n * Collapse rows that ended up sharing a `key` after a notification rekeyed an\n * optimistic row (`temp:<id>` → `onchain:<id>`) onto an on-chain twin the poll\n * already returned. Without this the same quote can appear twice — once from the\n * poll and once from the rekeyed optimistic row — yielding duplicate React keys.\n * The genuine on-chain row (the one carrying `raw.onchain`) wins; the optimistic\n * row's `tempQuoteId` / `raw.instantOpen` are grafted on so the temp ↔ on-chain\n * link survives and the optimistic entry can be cleared.\n */\nfunction collapseByKey(rows: UnifiedQuote[]): UnifiedQuote[] {\n const byKey = new Map<string, UnifiedQuote>();\n for (const row of rows) {\n const existing = byKey.get(row.key);\n byKey.set(row.key, existing ? mergeDuplicateRows(existing, row) : row);\n }\n return [...byKey.values()];\n}\n\n/**\n * Merge two rows that resolved to the same `key`, preferring the one that carries\n * the polled on-chain struct and grafting the off-chain identifiers from the other.\n */\nfunction mergeDuplicateRows(a: UnifiedQuote, b: UnifiedQuote): UnifiedQuote {\n const primary = a.raw.onchain ? a : b;\n const secondary = primary === a ? b : a;\n return {\n ...primary,\n tempQuoteId: primary.tempQuoteId ?? secondary.tempQuoteId,\n vaAddress: primary.vaAddress ?? secondary.vaAddress,\n openedPrice: primary.openedPrice ?? secondary.openedPrice,\n avgClosedPrice: primary.avgClosedPrice ?? secondary.avgClosedPrice,\n quantityToClose: primary.quantityToClose ?? secondary.quantityToClose,\n raw: { ...secondary.raw, ...primary.raw },\n };\n}\n\n/**\n * Stamp the row's Virtual Account on `vaAddress` when it was read from a VA — in\n * lowcap a VA-scoped position's `partyA` IS its VA, so when the row's `partyA`\n * differs from the sub-account being reconciled we surface it on the dedicated\n * `vaAddress` field for the consumer.\n */\nfunction withVaAddress(row: UnifiedQuote, subAccount: Address): UnifiedQuote {\n if (row.partyA.toLowerCase() === subAccount.toLowerCase()) return row;\n return { ...row, vaAddress: row.partyA };\n}\n\n/**\n * Deterministic tiebreak key for rows that share a `statusModifyTimestamp`: the\n * on-chain quote id when anchored, else the (negative) temp id. Keeps the sort\n * order reproducible regardless of the unstable on-chain read order — the\n * contract stores positions with swap-and-pop, so the raw read order reshuffles\n * on every open/close.\n */\nfunction stableSortKey(quote: UnifiedQuote): bigint {\n if (quote.quoteId !== undefined) return quote.quoteId;\n if (quote.tempQuoteId !== undefined) return BigInt(quote.tempQuoteId);\n return 0n;\n}\n"],"mappings":";;;;;AAyGA,SAAgB,EAAgB,GAAoD;CAClF,IAAM,oBAAQ,IAAI,IAA0B;CAE5C,KAAK,IAAM,KAAS,EAAM,kBAAkB;EAC1C,IAAM,IAAM,EAAc,EAA0B,CAAK,GAAG,EAAM,MAAM;EACxE,EAAM,IAAI,EAAI,KAAK,CAAG;CACxB;CACA,KAAK,IAAM,KAAS,EAAM,sBAAsB;EAC9C,IAAM,IAAM,EAAc,EAA0B,CAAK,GAAG,EAAM,MAAM;EACxE,AAAK,EAAM,IAAI,EAAI,GAAG,KAAG,EAAM,IAAI,EAAI,KAAK,CAAG;CACjD;CAOA,KAAK,IAAM,KAAU,EAAM,mBAAmB,CAAC,GAC7C,AAAK,EAAM,IAAI,EAAO,GAAG,KAAG,EAAM,IAAI,EAAO,KAAK,CAAM;CAE1D,KAAK,IAAM,KAAS,EAAM,eAAe;EACvC,IAAM,IAAM,WAAW,EAAM,WACvB,IAAW,EAAM,IAAI,CAAG;EAOzB,KACL,EAAM,IAAI,GAAK;GACb,GAAG;GACH,WAAW,EAAsB,CAAQ;GACzC,iBAAiB,EAAM;GACvB,KAAK;IAAE,GAAG,EAAS;IAAK,cAAc;GAAM;EAC9C,CAAC;CACH;CAEA,IAAM,oBAAsB,IAAI,IAAY;CAE5C,KAAK,IAAM,KAAO,EAAM,OAAO,GAC7B,AAAI,EAAI,WAAW,aAAW,EAAoB,IAAI,EAAiB,CAAG,CAAC;CAE7E,KAAK,IAAM,KAAQ,EAAM,cAAc;EACrC,IAAM,IAAM,EAA8B,CAAI;EAC9C,IAAI,EAAoB,IAAI,EAAiB,CAAG,CAAC,GAAG;EACpD,IAAM,IAAY,EAAM,wBAAwB,EAAK;EAErD,AADI,MAAW,EAAI,YAAY,IAC1B,EAAM,IAAI,EAAI,GAAG,KAAG,EAAM,IAAI,EAAI,KAAK,CAAG;CACjD;CACA,IAAI,IAAS,CAAC,GAAG,EAAM,OAAO,CAAC;CAC/B,KAAK,IAAM,KAAgB,EAAM,iBAAiB,CAAC,GACjD,IAAS,EAA0B,GAAQ,CAAY;CAGzD,AADA,IAAS,EAAc,CAAM,GAC7B,EAAO,MAAM,GAAG,MAAM;EACpB,IAAM,IAAM,EAAE,yBAAyB,IACjC,IAAM,EAAE,yBAAyB;EACvC,IAAI,MAAQ,GAAK,OAAO,IAAM,IAAM,KAAK;EACzC,IAAM,IAAM,EAAc,CAAC,GACrB,IAAM,EAAc,CAAC;EAE3B,OADI,MAAQ,IACL,IADiB,IAAM,IAAM,KAAK;CAE3C,CAAC;CACD,IAAM,IAAgC,CAAC;CACvC,KAAK,IAAM,KAAO,GAQhB,AAAI,EAAI,gBAAgB,KAAA,KAAa,EAAI,YAAY,KAAA,MAAW,EAAM,EAAI,eAAe,EAAI;CAE/F,IAAM,IAAiB,EAAO,QAAQ,MAAQ,EAAI,cAAc,EAAe,aAAa;CAC5F,OAAO;EAAE,QAAQ;EAAQ;EAAO;CAAe;AACjD;AAWA,SAAS,EAAsB,GAAwC;CAGrE,OAFI,EAAS,cAAc,EAAe,SAAe,EAAe,SACpE,EAAS,cAAc,EAAe,UAAgB,EAAe,UAClE,EAAe;AACxB;AAWA,SAAS,EAAc,GAAsC;CAC3D,IAAM,oBAAQ,IAAI,IAA0B;CAC5C,KAAK,IAAM,KAAO,GAAM;EACtB,IAAM,IAAW,EAAM,IAAI,EAAI,GAAG;EAClC,EAAM,IAAI,EAAI,KAAK,IAAW,EAAmB,GAAU,CAAG,IAAI,CAAG;CACvE;CACA,OAAO,CAAC,GAAG,EAAM,OAAO,CAAC;AAC3B;AAMA,SAAS,EAAmB,GAAiB,GAA+B;CAC1E,IAAM,IAAU,EAAE,IAAI,UAAU,IAAI,GAC9B,IAAY,MAAY,IAAI,IAAI;CACtC,OAAO;EACL,GAAG;EACH,aAAa,EAAQ,eAAe,EAAU;EAC9C,WAAW,EAAQ,aAAa,EAAU;EAC1C,aAAa,EAAQ,eAAe,EAAU;EAC9C,gBAAgB,EAAQ,kBAAkB,EAAU;EACpD,iBAAiB,EAAQ,mBAAmB,EAAU;EACtD,KAAK;GAAE,GAAG,EAAU;GAAK,GAAG,EAAQ;EAAI;CAC1C;AACF;AAQA,SAAS,EAAc,GAAmB,GAAmC;CAE3E,OADI,EAAI,OAAO,YAAY,MAAM,EAAW,YAAY,IAAU,IAC3D;EAAE,GAAG;EAAK,WAAW,EAAI;CAAO;AACzC;AASA,SAAS,EAAc,GAA6B;CAGlD,OAFI,EAAM,YAAY,KAAA,IAClB,EAAM,gBAAgB,KAAA,IACnB,KADqC,OAAO,EAAM,WAAW,IAD5B,EAAM;AAGhD"}
|
|
1
|
+
{"version":3,"file":"reconcile-quotes.js","names":[],"sources":["../../src/quotes/reconcile-quotes.ts"],"sourcesContent":["import type { Address } from \"viem\";\nimport type { PendingInstantClose } from \"../solvers/instant-close/get-instant-closes/to-pending-instant-close\";\nimport type { PendingInstantOpen } from \"../solvers/instant-open/get-instant-opens/types\";\nimport { QuoteStatus, type Quote } from \"../symmio-contracts/symmio/types\";\nimport type { Notification } from \"../websocket/notifications/types\";\nimport { applyNotificationToQuotes } from \"./apply-notification\";\nimport { fingerprintQuote } from \"./fingerprint\";\nimport { toUnifiedQuoteFromInstantOpen, toUnifiedQuoteFromOnchain } from \"./to-unified-quote\";\nimport { QuoteLifecycle, type UnifiedQuote } from \"./unified-quote\";\n\n/**\n * Inputs to {@link reconcileQuotes}: one snapshot of every quote source. The\n * result is \"active quotes only\" — a quote appears in the output iff it is\n * present in at least one of these sources this tick.\n */\nexport interface ReconcileQuotesInput {\n /** Sub-account (partyA) the snapshot belongs to. */\n partyA: Address;\n /** On-chain open positions (`getPartyAOpenPositions`). */\n onchainPositions: readonly Quote[];\n /** On-chain pending quotes hydrated via `getQuote`. */\n onchainPendingQuotes: readonly Quote[];\n /** Pending instant-open records from the hedger. */\n instantOpens: readonly PendingInstantOpen[];\n /** Pending instant-close records from the hedger. */\n instantCloses: readonly PendingInstantClose[];\n /**\n * Map from a pending instant-open's `tempQuoteId` to the Virtual Account (VA)\n * address its position will land in (from `resolveQuoteAccounts`). When a temp\n * id is present here, the optimistic row is stamped with its eventual VA so the\n * UI can show the VA before the trade anchors on-chain.\n */\n instantOpenVaByTempId?: Record<number, Address>;\n /** Notifications to apply after the merge, in arrival order. */\n notifications?: readonly Notification[];\n /**\n * Rows that anchored on-chain on a prior tick (a notification set their\n * `quoteId`) but whose on-chain struct has not been read yet — the\n * `pendingAnchors` returned by the previous {@link reconcileQuotes} call. The\n * consumer feeds them back so an anchored row survives the gap between \"the\n * hedger drops the pending open\" and \"the on-chain read returns the quote\"\n * instead of vanishing for a tick. Each is dropped automatically once the\n * matching on-chain read arrives (its `key` is already populated with the real\n * struct, so the retained copy is ignored).\n */\n retainedAnchors?: readonly UnifiedQuote[];\n /**\n * On-chain quote ids (decimal strings) whose close is **in flight** — filled\n * off-chain but not yet reflected by the on-chain read. The close-side mirror\n * of {@link retainedAnchors}: the poll rebuilds a filled-but-unsettled close as\n * `ONCHAIN` (`OPENED`) every tick, and a replayed close notification cannot\n * restore the stage on a poll-confirmed row (apply-notification's `inClosingFlow`\n * guard), so a row still read `OPENED` whose id is here is held at\n * {@link QuoteLifecycle.WRITE_ONCHAIN_CLOSE}. The caller bounds the set with its\n * close-confirm hold, so it clears at `CLOSE_PENDING` / removal / budget.\n */\n closingQuoteIds?: readonly string[];\n}\n\n/** Output of {@link reconcileQuotes}: the merged rows plus the temp ↔ on-chain links. */\nexport interface ReconcileQuotesResult {\n /** Merged, de-duplicated, lifecycle-tagged rows, newest first. */\n quotes: UnifiedQuote[];\n /**\n * Map from `tempQuoteId` to the on-chain row `key` it resolved to, recorded\n * **only once the row has anchored on-chain** (`quoteId` present). A\n * still-optimistic temp id is absent until then, so consumers can use this to\n * clear an optimistic seed exactly when its on-chain twin exists.\n */\n links: Record<number, string>;\n /**\n * Rows currently in {@link QuoteLifecycle.WRITE_ONCHAIN} — anchored per a\n * notification but not yet returned by the on-chain read. The consumer retains\n * these and feeds them back as {@link ReconcileQuotesInput.retainedAnchors} on\n * the next tick so they do not flicker out while the RPC catches up.\n */\n pendingAnchors: UnifiedQuote[];\n}\n\n/**\n * Merge every quote source for a sub-account into one stable, de-duplicated,\n * lifecycle-tagged list — **active quotes only**: a quote appears iff it is in at\n * least one source this tick, so a quote that has left every source is simply\n * absent (no lingering \"removed\" rows). **Pure** and stateless: given the same\n * `input` it always returns the same result, reading no clock and no randomness.\n *\n * Pipeline:\n *\n * 1. On-chain positions + pending quotes become anchored rows; `retainedAnchors`\n * re-seed any anchored-but-not-yet-read row so it does not flicker out.\n * 2. Pending instant-closes overlay the matching on-chain row — `CLOSING` once the\n * on-chain status shows the close pending, else `WRITE_ONCHAIN_CLOSE`.\n * 3. Pending instant-opens become `OPTIMISTIC` rows, **dropped** when an on-chain\n * row already carries the same {@link fingerprintQuote} (the trade landed).\n * 4. Notifications are applied in order to link temp ↔ on-chain ids and advance\n * lifecycles (an anchored-but-unread row sits at `WRITE_ONCHAIN`); `collapseByKey`\n * then merges a rekeyed optimistic row into its on-chain twin, so the off-chain\n * row drops once on-chain.\n * 5. Rows are sorted by `statusModifyTimestamp` descending (newest first), and the\n * `WRITE_ONCHAIN` rows are returned as `pendingAnchors` for the next tick.\n *\n * @param input - One snapshot of all sources.\n * @returns The merged rows plus the temp ↔ on-chain `links`.\n *\n * @example\n * ```ts\n * const { quotes } = reconcileQuotes({\n * partyA,\n * onchainPositions,\n * onchainPendingQuotes,\n * instantOpens,\n * instantCloses,\n * notifications,\n * });\n * ```\n */\nexport function reconcileQuotes(input: ReconcileQuotesInput): ReconcileQuotesResult {\n const byKey = new Map<string, UnifiedQuote>();\n\n for (const quote of input.onchainPositions) {\n const row = withVaAddress(toUnifiedQuoteFromOnchain(quote), input.partyA);\n byKey.set(row.key, row);\n }\n for (const quote of input.onchainPendingQuotes) {\n const row = withVaAddress(toUnifiedQuoteFromOnchain(quote), input.partyA);\n if (!byKey.has(row.key)) byKey.set(row.key, row);\n }\n /**\n * Re-seed rows that anchored on a prior tick but have no on-chain struct yet, so\n * they survive the hedger-drop → on-chain-read gap. Skipped the moment the real\n * on-chain read populates the same `key` (inserted above), so retention ends\n * itself once the RPC confirms.\n */\n for (const anchor of input.retainedAnchors ?? []) {\n if (!byKey.has(anchor.key)) byKey.set(anchor.key, anchor);\n }\n for (const close of input.instantCloses) {\n const key = `onchain:${close.quoteId}`;\n const existing = byKey.get(key);\n /**\n * An instant-close always references a quote that already exists on-chain, so\n * we only overlay the close onto its matching row. If the on-chain row has not\n * loaded yet we skip it rather than synthesize a placeholder with no market or\n * side; the overlay applies on the next tick once the position read catches up.\n */\n if (!existing) continue;\n byKey.set(key, {\n ...existing,\n lifecycle: overlayCloseLifecycle(existing),\n quantityToClose: close.quantityToClose,\n raw: { ...existing.raw, instantClose: close },\n });\n }\n\n const onchainFingerprints = new Set<string>();\n\n for (const row of byKey.values()) {\n if (row.origin === \"onchain\") onchainFingerprints.add(fingerprintQuote(row));\n }\n for (const open of input.instantOpens) {\n const row = toUnifiedQuoteFromInstantOpen(open);\n if (onchainFingerprints.has(fingerprintQuote(row))) continue;\n const vaAddress = input.instantOpenVaByTempId?.[open.tempQuoteId];\n if (vaAddress) row.vaAddress = vaAddress;\n if (!byKey.has(row.key)) byKey.set(row.key, row);\n }\n let merged = [...byKey.values()];\n for (const notification of input.notifications ?? []) {\n merged = applyNotificationToQuotes(merged, notification);\n }\n merged = collapseByKey(merged);\n /**\n * Close-side retention (mirror of `retainedAnchors`). A close that filled\n * off-chain sits at `WRITE_ONCHAIN_CLOSE`, but the poll keeps reading the quote\n * `OPENED` until the settle mines and rebuilds the row as `ONCHAIN` — and the\n * replayed close notification cannot restore the stage on that poll-confirmed\n * row (`applyNotificationToQuotes`' `inClosingFlow` guard). So a still-`OPENED`\n * row whose close the caller is chasing is held at `WRITE_ONCHAIN_CLOSE` until\n * the chain reflects the close (`CLOSE_PENDING` / removed) or the caller drops it.\n */\n if (input.closingQuoteIds?.length) {\n const closing = new Set(input.closingQuoteIds);\n merged = merged.map((row) =>\n row.quoteId !== undefined &&\n closing.has(`${row.quoteId}`) &&\n row.lifecycle === QuoteLifecycle.ONCHAIN &&\n row.quoteStatus === QuoteStatus.OPENED\n ? { ...row, lifecycle: QuoteLifecycle.WRITE_ONCHAIN_CLOSE }\n : row,\n );\n }\n // Drop terminal quotes: a `CLOSED` lifecycle only comes from an on-chain\n // terminal status (`CANCELED` / `CLOSED` / `EXPIRED`) — a done quote a lagging\n // read still lists (e.g. a just force-cancelled limit order). It is not active,\n // so it must not linger in the list. (Off-chain rows never reach `CLOSED`.)\n merged = merged.filter((row) => row.lifecycle !== QuoteLifecycle.CLOSED);\n merged.sort((a, b) => {\n const aTs = a.statusModifyTimestamp ?? 0n;\n const bTs = b.statusModifyTimestamp ?? 0n;\n if (aTs !== bTs) return aTs > bTs ? -1 : 1;\n const aId = stableSortKey(a);\n const bId = stableSortKey(b);\n if (aId !== bId) return aId > bId ? -1 : 1;\n return 0;\n });\n const links: Record<number, string> = {};\n for (const row of merged) {\n /**\n * Only record a temp ↔ on-chain link once the row has actually anchored\n * (`quoteId` set). A still-optimistic row carries only its own `temp:` key —\n * recording that as a \"link\" would let the consumer clear its optimistic seed\n * before the on-chain twin exists, dropping the row for a tick (the\n * appear→disappear→reappear flicker).\n */\n if (row.tempQuoteId !== undefined && row.quoteId !== undefined) links[row.tempQuoteId] = row.key;\n }\n const pendingAnchors = merged.filter((row) => row.lifecycle === QuoteLifecycle.WRITE_ONCHAIN);\n return { quotes: merged, links, pendingAnchors };\n}\n\n/**\n * Lifecycle for an on-chain row that a pending instant-close overlays. Keep a\n * terminal `CLOSED` as-is; keep the row's on-chain lifecycle (`ONCHAIN`) when the\n * on-chain status **already** reflects the close (`CLOSE_PENDING` /\n * `CANCEL_CLOSE_PENDING`) — the close landed, don't drag it backwards; otherwise\n * the read still shows the position open while the close is in-flight, so surface\n * {@link QuoteLifecycle.OPTIMISTIC_CLOSE} as the base close stage. Close\n * notifications (applied after this overlay) then advance it to\n * `CLOSE_PRICE_FILLED` → `WRITE_ONCHAIN_CLOSE`, and once the on-chain read reflects\n * the pending close it resolves to `ONCHAIN` (with `quoteStatus: CLOSE_PENDING`).\n */\nfunction overlayCloseLifecycle(existing: UnifiedQuote): QuoteLifecycle {\n if (existing.lifecycle === QuoteLifecycle.CLOSED) return QuoteLifecycle.CLOSED;\n if (existing.quoteStatus === QuoteStatus.CLOSE_PENDING || existing.quoteStatus === QuoteStatus.CANCEL_CLOSE_PENDING) {\n return existing.lifecycle;\n }\n return QuoteLifecycle.OPTIMISTIC_CLOSE;\n}\n\n/**\n * Collapse rows that ended up sharing a `key` after a notification rekeyed an\n * optimistic row (`temp:<id>` → `onchain:<id>`) onto an on-chain twin the poll\n * already returned. Without this the same quote can appear twice — once from the\n * poll and once from the rekeyed optimistic row — yielding duplicate React keys.\n * The genuine on-chain row (the one carrying `raw.onchain`) wins; the optimistic\n * row's `tempQuoteId` / `raw.instantOpen` are grafted on so the temp ↔ on-chain\n * link survives and the optimistic entry can be cleared.\n */\nfunction collapseByKey(rows: UnifiedQuote[]): UnifiedQuote[] {\n const byKey = new Map<string, UnifiedQuote>();\n for (const row of rows) {\n const existing = byKey.get(row.key);\n byKey.set(row.key, existing ? mergeDuplicateRows(existing, row) : row);\n }\n return [...byKey.values()];\n}\n\n/**\n * Merge two rows that resolved to the same `key`, preferring the one that carries\n * the polled on-chain struct and grafting the off-chain identifiers from the other.\n */\nfunction mergeDuplicateRows(a: UnifiedQuote, b: UnifiedQuote): UnifiedQuote {\n const primary = a.raw.onchain ? a : b;\n const secondary = primary === a ? b : a;\n return {\n ...primary,\n tempQuoteId: primary.tempQuoteId ?? secondary.tempQuoteId,\n vaAddress: primary.vaAddress ?? secondary.vaAddress,\n openedPrice: primary.openedPrice ?? secondary.openedPrice,\n avgClosedPrice: primary.avgClosedPrice ?? secondary.avgClosedPrice,\n quantityToClose: primary.quantityToClose ?? secondary.quantityToClose,\n raw: { ...secondary.raw, ...primary.raw },\n };\n}\n\n/**\n * Stamp the row's Virtual Account on `vaAddress` when it was read from a VA — in\n * lowcap a VA-scoped position's `partyA` IS its VA, so when the row's `partyA`\n * differs from the sub-account being reconciled we surface it on the dedicated\n * `vaAddress` field for the consumer.\n */\nfunction withVaAddress(row: UnifiedQuote, subAccount: Address): UnifiedQuote {\n if (row.partyA.toLowerCase() === subAccount.toLowerCase()) return row;\n return { ...row, vaAddress: row.partyA };\n}\n\n/**\n * Deterministic tiebreak key for rows that share a `statusModifyTimestamp`: the\n * on-chain quote id when anchored, else the (negative) temp id. Keeps the sort\n * order reproducible regardless of the unstable on-chain read order — the\n * contract stores positions with swap-and-pop, so the raw read order reshuffles\n * on every open/close.\n */\nfunction stableSortKey(quote: UnifiedQuote): bigint {\n if (quote.quoteId !== undefined) return quote.quoteId;\n if (quote.tempQuoteId !== undefined) return BigInt(quote.tempQuoteId);\n return 0n;\n}\n"],"mappings":";;;;;;AAoHA,SAAgB,EAAgB,GAAoD;CAClF,IAAM,oBAAQ,IAAI,IAA0B;CAE5C,KAAK,IAAM,KAAS,EAAM,kBAAkB;EAC1C,IAAM,IAAM,EAAc,EAA0B,CAAK,GAAG,EAAM,MAAM;EACxE,EAAM,IAAI,EAAI,KAAK,CAAG;CACxB;CACA,KAAK,IAAM,KAAS,EAAM,sBAAsB;EAC9C,IAAM,IAAM,EAAc,EAA0B,CAAK,GAAG,EAAM,MAAM;EACxE,AAAK,EAAM,IAAI,EAAI,GAAG,KAAG,EAAM,IAAI,EAAI,KAAK,CAAG;CACjD;CAOA,KAAK,IAAM,KAAU,EAAM,mBAAmB,CAAC,GAC7C,AAAK,EAAM,IAAI,EAAO,GAAG,KAAG,EAAM,IAAI,EAAO,KAAK,CAAM;CAE1D,KAAK,IAAM,KAAS,EAAM,eAAe;EACvC,IAAM,IAAM,WAAW,EAAM,WACvB,IAAW,EAAM,IAAI,CAAG;EAOzB,KACL,EAAM,IAAI,GAAK;GACb,GAAG;GACH,WAAW,EAAsB,CAAQ;GACzC,iBAAiB,EAAM;GACvB,KAAK;IAAE,GAAG,EAAS;IAAK,cAAc;GAAM;EAC9C,CAAC;CACH;CAEA,IAAM,oBAAsB,IAAI,IAAY;CAE5C,KAAK,IAAM,KAAO,EAAM,OAAO,GAC7B,AAAI,EAAI,WAAW,aAAW,EAAoB,IAAI,EAAiB,CAAG,CAAC;CAE7E,KAAK,IAAM,KAAQ,EAAM,cAAc;EACrC,IAAM,IAAM,EAA8B,CAAI;EAC9C,IAAI,EAAoB,IAAI,EAAiB,CAAG,CAAC,GAAG;EACpD,IAAM,IAAY,EAAM,wBAAwB,EAAK;EAErD,AADI,MAAW,EAAI,YAAY,IAC1B,EAAM,IAAI,EAAI,GAAG,KAAG,EAAM,IAAI,EAAI,KAAK,CAAG;CACjD;CACA,IAAI,IAAS,CAAC,GAAG,EAAM,OAAO,CAAC;CAC/B,KAAK,IAAM,KAAgB,EAAM,iBAAiB,CAAC,GACjD,IAAS,EAA0B,GAAQ,CAAY;CAYzD,IAVA,IAAS,EAAc,CAAM,GAUzB,EAAM,iBAAiB,QAAQ;EACjC,IAAM,IAAU,IAAI,IAAI,EAAM,eAAe;EAC7C,IAAS,EAAO,KAAK,MACnB,EAAI,YAAY,KAAA,KAChB,EAAQ,IAAI,GAAG,EAAI,SAAS,KAC5B,EAAI,cAAc,EAAe,WACjC,EAAI,gBAAgB,EAAY,SAC5B;GAAE,GAAG;GAAK,WAAW,EAAe;EAAoB,IACxD,CACN;CACF;CAMA,AADA,IAAS,EAAO,QAAQ,MAAQ,EAAI,cAAc,EAAe,MAAM,GACvE,EAAO,MAAM,GAAG,MAAM;EACpB,IAAM,IAAM,EAAE,yBAAyB,IACjC,IAAM,EAAE,yBAAyB;EACvC,IAAI,MAAQ,GAAK,OAAO,IAAM,IAAM,KAAK;EACzC,IAAM,IAAM,EAAc,CAAC,GACrB,IAAM,EAAc,CAAC;EAE3B,OADI,MAAQ,IACL,IADiB,IAAM,IAAM,KAAK;CAE3C,CAAC;CACD,IAAM,IAAgC,CAAC;CACvC,KAAK,IAAM,KAAO,GAQhB,AAAI,EAAI,gBAAgB,KAAA,KAAa,EAAI,YAAY,KAAA,MAAW,EAAM,EAAI,eAAe,EAAI;CAE/F,IAAM,IAAiB,EAAO,QAAQ,MAAQ,EAAI,cAAc,EAAe,aAAa;CAC5F,OAAO;EAAE,QAAQ;EAAQ;EAAO;CAAe;AACjD;AAaA,SAAS,EAAsB,GAAwC;CAKrE,OAJI,EAAS,cAAc,EAAe,SAAe,EAAe,SACpE,EAAS,gBAAgB,EAAY,iBAAiB,EAAS,gBAAgB,EAAY,uBACtF,EAAS,YAEX,EAAe;AACxB;AAWA,SAAS,EAAc,GAAsC;CAC3D,IAAM,oBAAQ,IAAI,IAA0B;CAC5C,KAAK,IAAM,KAAO,GAAM;EACtB,IAAM,IAAW,EAAM,IAAI,EAAI,GAAG;EAClC,EAAM,IAAI,EAAI,KAAK,IAAW,EAAmB,GAAU,CAAG,IAAI,CAAG;CACvE;CACA,OAAO,CAAC,GAAG,EAAM,OAAO,CAAC;AAC3B;AAMA,SAAS,EAAmB,GAAiB,GAA+B;CAC1E,IAAM,IAAU,EAAE,IAAI,UAAU,IAAI,GAC9B,IAAY,MAAY,IAAI,IAAI;CACtC,OAAO;EACL,GAAG;EACH,aAAa,EAAQ,eAAe,EAAU;EAC9C,WAAW,EAAQ,aAAa,EAAU;EAC1C,aAAa,EAAQ,eAAe,EAAU;EAC9C,gBAAgB,EAAQ,kBAAkB,EAAU;EACpD,iBAAiB,EAAQ,mBAAmB,EAAU;EACtD,KAAK;GAAE,GAAG,EAAU;GAAK,GAAG,EAAQ;EAAI;CAC1C;AACF;AAQA,SAAS,EAAc,GAAmB,GAAmC;CAE3E,OADI,EAAI,OAAO,YAAY,MAAM,EAAW,YAAY,IAAU,IAC3D;EAAE,GAAG;EAAK,WAAW,EAAI;CAAO;AACzC;AASA,SAAS,EAAc,GAA6B;CAGlD,OAFI,EAAM,YAAY,KAAA,IAClB,EAAM,gBAAgB,KAAA,IACnB,KADqC,OAAO,EAAM,WAAW,IAD5B,EAAM;AAGhD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Address } from 'viem';
|
|
2
2
|
import { Config } from '../core/config/index.js';
|
|
3
3
|
import { ChainIdParameter, Compute } from '../shared/types/properties.js';
|
|
4
|
-
import { PendingInstantOpen } from '../solvers/instant-open/get-instant-opens/
|
|
4
|
+
import { PendingInstantOpen } from '../solvers/instant-open/get-instant-opens/types.js';
|
|
5
5
|
/**
|
|
6
6
|
* Parameters for {@link resolveQuoteAccounts}.
|
|
7
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-quote-accounts.d.ts","sourceRoot":"","sources":["../../src/quotes/resolve-quote-accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"resolve-quote-accounts.d.ts","sourceRoot":"","sources":["../../src/quotes/resolve-quote-accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAK1F;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG,OAAO,CAClD,gBAAgB,GAAG;IACjB,kEAAkE;IAClE,UAAU,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC7C;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,2EAA2E;IAC3E,aAAa,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CACpC,CACF,CAAC;AAEF,8CAA8C;AAC9C,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB;;;;OAIG;IACH,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,8BAA8B,GACzC,OAAO,CAAC,0BAA0B,CAAC,CAwDrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-quote-accounts.js","names":[],"sources":["../../src/quotes/resolve-quote-accounts.ts"],"sourcesContent":["import { getAddress, type Address } from \"viem\";\nimport type { Config } from \"../core/config\";\nimport type { ChainIdParameter, Compute } from \"../shared/types/properties\";\nimport type { PendingInstantOpen } from \"../solvers/instant-open/get-instant-opens/
|
|
1
|
+
{"version":3,"file":"resolve-quote-accounts.js","names":[],"sources":["../../src/quotes/resolve-quote-accounts.ts"],"sourcesContent":["import { getAddress, type Address } from \"viem\";\nimport type { Config } from \"../core/config\";\nimport type { ChainIdParameter, Compute } from \"../shared/types/properties\";\nimport type { PendingInstantOpen } from \"../solvers/instant-open/get-instant-opens/types\";\nimport { isolationTypeForSide } from \"../solvers/instant-open/shared/types\";\nimport { getVirtualAccountsAddressesOfSubAccount } from \"../symmio-contracts/account-layer/actions/get-virtual-accounts-addresses-of-sub-account\";\nimport { getPredictedNextVirtualAccount } from \"../symmio-contracts/account-layer/actions/predict-next-virtual-account\";\n\n/**\n * Parameters for {@link resolveQuoteAccounts}.\n */\nexport type ResolveQuoteAccountsParameters = Compute<\n ChainIdParameter & {\n /** The subaccount whose full quote picture is being assembled. */\n subAccount: Address;\n /**\n * Pending instant-opens for the subaccount. Each lands in a Virtual Account\n * (VA) that may not exist on-chain yet; its address is predicted up front.\n */\n instantOpens?: readonly PendingInstantOpen[];\n /**\n * Union the subaccount's existing on-chain VAs into the result.\n * @default true\n */\n includeVirtualAccounts?: boolean;\n /** Extra accounts to union in (e.g. VAs already known to the consumer). */\n extraAccounts?: readonly Address[];\n }\n>;\n\n/** Result of {@link resolveQuoteAccounts}. */\nexport interface ResolveQuoteAccountsResult {\n /**\n * The deduplicated, checksummed set of on-chain `partyA` accounts to read\n * quotes across — the subaccount itself, its existing VAs, the predicted VAs\n * of its pending instant-opens, and any `extraAccounts`. Order is preserved\n * (subaccount first, then VAs, then predicted VAs, then extras).\n */\n accounts: Address[];\n /**\n * Map from a pending instant-open's `tempQuoteId` to the predicted VA address\n * its position will land in. Lets the caller stamp the optimistic quote row\n * with its eventual VA before the trade anchors on-chain.\n */\n instantOpenVaByTempId: Record<number, Address>;\n}\n\n/**\n * Resolve the full set of on-chain `partyA` accounts that together hold a\n * subaccount's quote picture.\n *\n * In lowcap, each isolated position lives under a Virtual Account (VA), and the\n * VA — not the subaccount — is the on-chain `partyA` for quote reads. A\n * brand-new instant-open lands in a VA that does not exist on-chain yet, so its\n * address is predicted from `(subAccount, isolationType, symbolId)` via\n * {@link getPredictedNextVirtualAccount}. This assembles:\n *\n * 1. the subaccount itself;\n * 2. its existing VAs (when `includeVirtualAccounts`, default `true`);\n * 3. one predicted VA per pending instant-open (predictions are deduped by\n * `(isolationType, symbolId)` and run in parallel);\n * 4. any `extraAccounts`.\n *\n * Addresses are deduped case-insensitively, returned checksummed, and kept in\n * the order above.\n *\n * @param config - The SDK config.\n * @param parameters - Subaccount, optional pending opens / VA inclusion / extras, optional chain id.\n * @returns The account set plus the `tempQuoteId` → predicted-VA map.\n * @throws {SymmError} when the chain is not supported.\n * @throws Viem's `ContractFunctionExecutionError` and friends for on-chain failures.\n *\n * @example\n * ```ts\n * const { accounts, instantOpenVaByTempId } = await resolveQuoteAccounts(config, {\n * subAccount: \"0xsub…\",\n * instantOpens,\n * });\n * ```\n */\nexport async function resolveQuoteAccounts(\n config: Config,\n parameters: ResolveQuoteAccountsParameters,\n): Promise<ResolveQuoteAccountsResult> {\n const { chainId, subAccount, instantOpens = [], includeVirtualAccounts = true, extraAccounts = [] } = parameters;\n\n /**\n * `seen` tracks lowercased addresses already collected so dedupe is\n * case-insensitive; `accounts` keeps the checksummed addresses in order.\n */\n const seen = new Set<string>();\n const accounts: Address[] = [];\n\n const add = (address: Address) => {\n const checksummed = getAddress(address);\n const lower = checksummed.toLowerCase();\n if (seen.has(lower)) return;\n seen.add(lower);\n accounts.push(checksummed);\n };\n\n add(subAccount);\n\n if (includeVirtualAccounts) {\n const virtualAccounts = await getVirtualAccountsAddressesOfSubAccount(config, { chainId, subAccount });\n for (const virtualAccount of virtualAccounts) add(virtualAccount);\n }\n\n /**\n * TODO: dose we need to predict the VA's?\n * Predict each pending open's VA. Many opens may share the same\n * `(isolationType, symbolId)` — the prediction is identical for those (until\n * the nonce advances), so dedupe the on-chain reads while still mapping every\n * `tempQuoteId` to its address.\n */\n const predictionByKey = new Map<string, Promise<Address>>();\n const predictPromises = instantOpens.map((open) => {\n const isolationType = isolationTypeForSide(open.positionType);\n const symbolId = BigInt(open.marketId);\n const key = `${isolationType}:${symbolId}`;\n let prediction = predictionByKey.get(key);\n if (!prediction) {\n prediction = getPredictedNextVirtualAccount(config, { chainId, subAccount, isolationType, symbolId });\n predictionByKey.set(key, prediction);\n }\n return prediction.then((predictedVa) => ({ tempQuoteId: open.tempQuoteId, predictedVa }));\n });\n const predicted = await Promise.all(predictPromises);\n\n const instantOpenVaByTempId: Record<number, Address> = {};\n for (const { tempQuoteId, predictedVa } of predicted) {\n const checksummed = getAddress(predictedVa);\n instantOpenVaByTempId[tempQuoteId] = checksummed;\n add(checksummed);\n }\n\n for (const extra of extraAccounts) add(extra);\n\n return { accounts, instantOpenVaByTempId };\n}\n"],"mappings":";;;;;AAgFA,eAAsB,EACpB,GACA,GACqC;CACrC,IAAM,EAAE,YAAS,eAAY,kBAAe,CAAC,GAAG,4BAAyB,IAAM,mBAAgB,CAAC,MAAM,GAMhG,oBAAO,IAAI,IAAY,GACvB,IAAsB,CAAC,GAEvB,KAAO,MAAqB;EAChC,IAAM,IAAc,EAAW,CAAO,GAChC,IAAQ,EAAY,YAAY;EAClC,EAAK,IAAI,CAAK,MAClB,EAAK,IAAI,CAAK,GACd,EAAS,KAAK,CAAW;CAC3B;CAIA,IAFA,EAAI,CAAU,GAEV,GAAwB;EAC1B,IAAM,IAAkB,MAAM,EAAwC,GAAQ;GAAE;GAAS;EAAW,CAAC;EACrG,KAAK,IAAM,KAAkB,GAAiB,EAAI,CAAc;CAClE;CASA,IAAM,oBAAkB,IAAI,IAA8B,GACpD,IAAkB,EAAa,KAAK,MAAS;EACjD,IAAM,IAAgB,EAAqB,EAAK,YAAY,GACtD,IAAW,OAAO,EAAK,QAAQ,GAC/B,IAAM,GAAG,EAAc,GAAG,KAC5B,IAAa,EAAgB,IAAI,CAAG;EAKxC,OAJK,MACH,IAAa,EAA+B,GAAQ;GAAE;GAAS;GAAY;GAAe;EAAS,CAAC,GACpG,EAAgB,IAAI,GAAK,CAAU,IAE9B,EAAW,MAAM,OAAiB;GAAE,aAAa,EAAK;GAAa;EAAY,EAAE;CAC1F,CAAC,GACK,IAAY,MAAM,QAAQ,IAAI,CAAe,GAE7C,IAAiD,CAAC;CACxD,KAAK,IAAM,EAAE,gBAAa,oBAAiB,GAAW;EACpD,IAAM,IAAc,EAAW,CAAW;EAE1C,AADA,EAAsB,KAAe,GACrC,EAAI,CAAW;CACjB;CAEA,KAAK,IAAM,KAAS,GAAe,EAAI,CAAK;CAE5C,OAAO;EAAE;EAAU;CAAsB;AAC3C"}
|
|
@@ -4,10 +4,13 @@ import { ReconcileQuotesResult } from './reconcile-quotes.js';
|
|
|
4
4
|
*
|
|
5
5
|
* Returns `true` while any row is mid-transition (the open stages `OPTIMISTIC` /
|
|
6
6
|
* `PRICE_FILLED` / `WRITE_ONCHAIN`, or the close stages `OPTIMISTIC_CLOSE` /
|
|
7
|
-
* `CLOSE_PRICE_FILLED` / `WRITE_ONCHAIN_CLOSE`
|
|
8
|
-
* on
|
|
9
|
-
*
|
|
10
|
-
*
|
|
7
|
+
* `CLOSE_PRICE_FILLED` / `WRITE_ONCHAIN_CLOSE`) — those rows are waiting on an
|
|
8
|
+
* on-chain change the SDK can only observe by re-reading, so the consumer should
|
|
9
|
+
* shorten its `refetchInterval` until everything settles, then fall back to the
|
|
10
|
+
* idle interval. Once a close is confirmed on-chain (`ONCHAIN` with
|
|
11
|
+
* `quoteStatus: CLOSE_PENDING`) it no longer accelerates here — a market close's
|
|
12
|
+
* settle chase is driven by the close-confirm hold, and a resting limit close
|
|
13
|
+
* simply sits.
|
|
11
14
|
*
|
|
12
15
|
* @param result - The latest reconciliation result.
|
|
13
16
|
* @returns `true` when at least one transitioning row exists.
|
|
@@ -23,9 +26,9 @@ export declare function shouldAccelerateQuotePolling(result: ReconcileQuotesResu
|
|
|
23
26
|
* interval — the RPC-lag retry. Unlike {@link shouldAccelerateQuotePolling} (which is
|
|
24
27
|
* `true` for every mid-transition stage, including the purely off-chain ones), this is
|
|
25
28
|
* `true` only while a row awaits on-chain confirmation (`WRITE_ONCHAIN` /
|
|
26
|
-
* `WRITE_ONCHAIN_CLOSE`
|
|
27
|
-
* `
|
|
28
|
-
*
|
|
29
|
+
* `WRITE_ONCHAIN_CLOSE`). The off-chain stages (`OPTIMISTIC` / `PRICE_FILLED` /
|
|
30
|
+
* `OPTIMISTIC_CLOSE` / `CLOSE_PRICE_FILLED`) have nothing on-chain to read before
|
|
31
|
+
* the anchor, so they must not drive on-chain polling.
|
|
29
32
|
*
|
|
30
33
|
* @param result - The latest reconciliation result.
|
|
31
34
|
* @returns `true` when at least one row is awaiting on-chain confirmation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"should-accelerate.d.ts","sourceRoot":"","sources":["../../src/quotes/should-accelerate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"should-accelerate.d.ts","sourceRoot":"","sources":["../../src/quotes/should-accelerate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAkBhE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAEnF;AAaD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAEnF"}
|
|
@@ -6,17 +6,12 @@ var t = new Set([
|
|
|
6
6
|
e.WRITE_ONCHAIN,
|
|
7
7
|
e.OPTIMISTIC_CLOSE,
|
|
8
8
|
e.CLOSE_PRICE_FILLED,
|
|
9
|
-
e.WRITE_ONCHAIN_CLOSE
|
|
10
|
-
e.CLOSING
|
|
9
|
+
e.WRITE_ONCHAIN_CLOSE
|
|
11
10
|
]);
|
|
12
11
|
function n(e) {
|
|
13
12
|
return e.quotes.some((e) => t.has(e.lifecycle));
|
|
14
13
|
}
|
|
15
|
-
var r = new Set([
|
|
16
|
-
e.WRITE_ONCHAIN,
|
|
17
|
-
e.WRITE_ONCHAIN_CLOSE,
|
|
18
|
-
e.CLOSING
|
|
19
|
-
]);
|
|
14
|
+
var r = new Set([e.WRITE_ONCHAIN, e.WRITE_ONCHAIN_CLOSE]);
|
|
20
15
|
function i(e) {
|
|
21
16
|
return e.quotes.some((e) => r.has(e.lifecycle));
|
|
22
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"should-accelerate.js","names":[],"sources":["../../src/quotes/should-accelerate.ts"],"sourcesContent":["import type { ReconcileQuotesResult } from \"./reconcile-quotes\";\nimport { QuoteLifecycle } from \"./unified-quote\";\n\n/**\n * Lifecycle stages that mean a quote is mid-transition and the consumer should\n * poll the on-chain reads faster until it settles. The `WRITE_ONCHAIN(_CLOSE)`\n * stages are explicitly waiting on the on-chain read to confirm an anchor/close,\n * so they accelerate too.\n */\nconst ACCELERATING_LIFECYCLES = new Set<QuoteLifecycle>([\n QuoteLifecycle.OPTIMISTIC,\n QuoteLifecycle.PRICE_FILLED,\n QuoteLifecycle.WRITE_ONCHAIN,\n QuoteLifecycle.OPTIMISTIC_CLOSE,\n QuoteLifecycle.CLOSE_PRICE_FILLED,\n QuoteLifecycle.WRITE_ONCHAIN_CLOSE,\n
|
|
1
|
+
{"version":3,"file":"should-accelerate.js","names":[],"sources":["../../src/quotes/should-accelerate.ts"],"sourcesContent":["import type { ReconcileQuotesResult } from \"./reconcile-quotes\";\nimport { QuoteLifecycle } from \"./unified-quote\";\n\n/**\n * Lifecycle stages that mean a quote is mid-transition and the consumer should\n * poll the on-chain reads faster until it settles. The `WRITE_ONCHAIN(_CLOSE)`\n * stages are explicitly waiting on the on-chain read to confirm an anchor/close,\n * so they accelerate too.\n */\nconst ACCELERATING_LIFECYCLES = new Set<QuoteLifecycle>([\n QuoteLifecycle.OPTIMISTIC,\n QuoteLifecycle.PRICE_FILLED,\n QuoteLifecycle.WRITE_ONCHAIN,\n QuoteLifecycle.OPTIMISTIC_CLOSE,\n QuoteLifecycle.CLOSE_PRICE_FILLED,\n QuoteLifecycle.WRITE_ONCHAIN_CLOSE,\n]);\n\n/**\n * Decide whether quote polling should run at the accelerated interval.\n *\n * Returns `true` while any row is mid-transition (the open stages `OPTIMISTIC` /\n * `PRICE_FILLED` / `WRITE_ONCHAIN`, or the close stages `OPTIMISTIC_CLOSE` /\n * `CLOSE_PRICE_FILLED` / `WRITE_ONCHAIN_CLOSE`) — those rows are waiting on an\n * on-chain change the SDK can only observe by re-reading, so the consumer should\n * shorten its `refetchInterval` until everything settles, then fall back to the\n * idle interval. Once a close is confirmed on-chain (`ONCHAIN` with\n * `quoteStatus: CLOSE_PENDING`) it no longer accelerates here — a market close's\n * settle chase is driven by the close-confirm hold, and a resting limit close\n * simply sits.\n *\n * @param result - The latest reconciliation result.\n * @returns `true` when at least one transitioning row exists.\n *\n * @example\n * ```ts\n * const interval = shouldAccelerateQuotePolling(result) ? 1_500 : 10_000;\n * ```\n */\nexport function shouldAccelerateQuotePolling(result: ReconcileQuotesResult): boolean {\n return result.quotes.some((quote) => ACCELERATING_LIFECYCLES.has(quote.lifecycle));\n}\n\n/**\n * Lifecycle stages where the SDK is waiting on the **on-chain read** to confirm a\n * change it already knows is coming — an anchored open (`WRITE_ONCHAIN`) or a\n * requested close (`WRITE_ONCHAIN_CLOSE`): the notification/overlay has advanced\n * the row but `raw.onchain` has not caught up yet.\n */\nconst ONCHAIN_PENDING_LIFECYCLES = new Set<QuoteLifecycle>([\n QuoteLifecycle.WRITE_ONCHAIN,\n QuoteLifecycle.WRITE_ONCHAIN_CLOSE,\n]);\n\n/**\n * Decide whether the **on-chain reads** specifically should poll at the accelerated\n * interval — the RPC-lag retry. Unlike {@link shouldAccelerateQuotePolling} (which is\n * `true` for every mid-transition stage, including the purely off-chain ones), this is\n * `true` only while a row awaits on-chain confirmation (`WRITE_ONCHAIN` /\n * `WRITE_ONCHAIN_CLOSE`). The off-chain stages (`OPTIMISTIC` / `PRICE_FILLED` /\n * `OPTIMISTIC_CLOSE` / `CLOSE_PRICE_FILLED`) have nothing on-chain to read before\n * the anchor, so they must not drive on-chain polling.\n *\n * @param result - The latest reconciliation result.\n * @returns `true` when at least one row is awaiting on-chain confirmation.\n *\n * @example\n * ```ts\n * const onchainInterval = shouldAccelerateOnchainReads(result) ? 1_500 : false;\n * ```\n */\nexport function shouldAccelerateOnchainReads(result: ReconcileQuotesResult): boolean {\n return result.quotes.some((quote) => ONCHAIN_PENDING_LIFECYCLES.has(quote.lifecycle));\n}\n"],"mappings":";;AASA,IAAM,IAA0B,IAAI,IAAoB;CACtD,EAAe;CACf,EAAe;CACf,EAAe;CACf,EAAe;CACf,EAAe;CACf,EAAe;AACjB,CAAC;AAuBD,SAAgB,EAA6B,GAAwC;CACnF,OAAO,EAAO,OAAO,MAAM,MAAU,EAAwB,IAAI,EAAM,SAAS,CAAC;AACnF;AAQA,IAAM,IAA6B,IAAI,IAAoB,CACzD,EAAe,eACf,EAAe,mBACjB,CAAC;AAmBD,SAAgB,EAA6B,GAAwC;CACnF,OAAO,EAAO,OAAO,MAAM,MAAU,EAA2B,IAAI,EAAM,SAAS,CAAC;AACtF"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { Address } from 'viem';
|
|
2
2
|
import { PendingInstantClose } from '../solvers/instant-close/get-instant-closes/to-pending-instant-close.js';
|
|
3
|
-
import { PendingInstantOpen } from '../solvers/instant-open/get-instant-opens/
|
|
3
|
+
import { PendingInstantOpen } from '../solvers/instant-open/get-instant-opens/types.js';
|
|
4
4
|
import { QuoteStatus, Quote } from '../symmio-contracts/symmio/types.js';
|
|
5
5
|
import { QuoteLifecycle, UnifiedQuote } from './unified-quote.js';
|
|
6
6
|
/**
|
|
7
|
-
* Map an on-chain {@link QuoteStatus} to a {@link QuoteLifecycle}.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* Map an on-chain {@link QuoteStatus} to a {@link QuoteLifecycle}. Every
|
|
8
|
+
* non-terminal on-chain status (including `CLOSE_PENDING` /
|
|
9
|
+
* `CANCEL_CLOSE_PENDING`) is `ONCHAIN` — lifecycle tracks the write progression,
|
|
10
|
+
* not the close status; a fully closed/cancelled/expired quote is `CLOSED`, a
|
|
11
|
+
* liquidated one `FAILED`.
|
|
10
12
|
*
|
|
11
13
|
* @param status - The on-chain quote status.
|
|
12
14
|
* @returns The lifecycle stage to surface for an anchored row.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-unified-quote.d.ts","sourceRoot":"","sources":["../../src/quotes/to-unified-quote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sEAAsE,CAAC;AAChH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"to-unified-quote.d.ts","sourceRoot":"","sources":["../../src/quotes/to-unified-quote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sEAAsE,CAAC;AAChH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAE1F,OAAO,EAAE,WAAW,EAAqB,KAAK,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAE9F,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAUpE;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,WAAW,GAAG,cAAc,CAa5E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAuCpE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,kBAAkB,GAAG,YAAY,CAsBvF;AAED;;;;GAIG;AACH,MAAM,WAAW,qCAAqC;IACpD,gEAAgE;IAChE,MAAM,EAAE,OAAO,CAAC;IAChB,sDAAsD;IACtD,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IACnC,yCAAyC;IACzC,YAAY,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IAC3C,+CAA+C;IAC/C,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;CACtC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,qCAAqC,GAC7C,YAAY,CAiBd"}
|
|
@@ -11,8 +11,6 @@ var i = {
|
|
|
11
11
|
};
|
|
12
12
|
function a(t) {
|
|
13
13
|
switch (t) {
|
|
14
|
-
case e.CLOSE_PENDING:
|
|
15
|
-
case e.CANCEL_CLOSE_PENDING: return n.CLOSING;
|
|
16
14
|
case e.CLOSED:
|
|
17
15
|
case e.CANCELED:
|
|
18
16
|
case e.EXPIRED: return n.CLOSED;
|
|
@@ -90,7 +88,7 @@ function c(e, t) {
|
|
|
90
88
|
return {
|
|
91
89
|
key: `onchain:${e.quoteId}`,
|
|
92
90
|
origin: "onchain",
|
|
93
|
-
lifecycle: n.
|
|
91
|
+
lifecycle: n.WRITE_ONCHAIN_CLOSE,
|
|
94
92
|
quoteId: e.quoteId,
|
|
95
93
|
partyA: t.partyA,
|
|
96
94
|
symbolId: t.symbolId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-unified-quote.js","names":[],"sources":["../../src/quotes/to-unified-quote.ts"],"sourcesContent":["import type { Address } from \"viem\";\nimport type { PendingInstantClose } from \"../solvers/instant-close/get-instant-closes/to-pending-instant-close\";\nimport type { PendingInstantOpen } from \"../solvers/instant-open/get-instant-opens/
|
|
1
|
+
{"version":3,"file":"to-unified-quote.js","names":[],"sources":["../../src/quotes/to-unified-quote.ts"],"sourcesContent":["import type { Address } from \"viem\";\nimport type { PendingInstantClose } from \"../solvers/instant-close/get-instant-closes/to-pending-instant-close\";\nimport type { PendingInstantOpen } from \"../solvers/instant-open/get-instant-opens/types\";\nimport { toWeiBigInt } from \"../solvers/instant-open/shared/trade-math\";\nimport { QuoteStatus, type LockedValues, type Quote } from \"../symmio-contracts/symmio/types\";\nimport { quoteOpenQuantity } from \"./open-quantity\";\nimport { QuoteLifecycle, type UnifiedQuote } from \"./unified-quote\";\n\n/** All-zero locked values, used when an off-chain row has no per-leg margin yet. */\nconst EMPTY_LOCKED_VALUES: LockedValues = {\n cva: 0n,\n lf: 0n,\n partyAmm: 0n,\n partyBmm: 0n,\n};\n\n/**\n * Map an on-chain {@link QuoteStatus} to a {@link QuoteLifecycle}. Every\n * non-terminal on-chain status (including `CLOSE_PENDING` /\n * `CANCEL_CLOSE_PENDING`) is `ONCHAIN` — lifecycle tracks the write progression,\n * not the close status; a fully closed/cancelled/expired quote is `CLOSED`, a\n * liquidated one `FAILED`.\n *\n * @param status - The on-chain quote status.\n * @returns The lifecycle stage to surface for an anchored row.\n */\nexport function lifecycleFromQuoteStatus(status: QuoteStatus): QuoteLifecycle {\n switch (status) {\n case QuoteStatus.CLOSED:\n case QuoteStatus.CANCELED:\n case QuoteStatus.EXPIRED:\n return QuoteLifecycle.CLOSED;\n case QuoteStatus.LIQUIDATED:\n return QuoteLifecycle.FAILED;\n // Anything on-chain and non-terminal (OPENED, CLOSE_PENDING,\n // CANCEL_CLOSE_PENDING, …) is ONCHAIN — read `quoteStatus` for the detail.\n default:\n return QuoteLifecycle.ONCHAIN;\n }\n}\n\n/**\n * Build a {@link UnifiedQuote} from an on-chain {@link Quote}.\n *\n * The lifecycle is derived from the quote's {@link QuoteStatus} via\n * {@link lifecycleFromQuoteStatus}. Every amount is already 18-decimal wei on the\n * on-chain struct, so it carries through untouched.\n *\n * @param quote - The on-chain quote/position struct.\n * @returns The unified row, keyed `onchain:<id>`.\n *\n * @example\n * ```ts\n * const row = toUnifiedQuoteFromOnchain(quote);\n * ```\n */\nexport function toUnifiedQuoteFromOnchain(quote: Quote): UnifiedQuote {\n const lifecycle = lifecycleFromQuoteStatus(quote.quoteStatus);\n return {\n key: `onchain:${quote.id}`,\n origin: \"onchain\",\n lifecycle,\n quoteId: quote.id,\n partyA: quote.partyA,\n partyB: quote.partyB,\n symbolId: quote.symbolId,\n positionType: quote.positionType,\n orderType: quote.orderType,\n quoteStatus: quote.quoteStatus,\n requestedOpenPrice: quote.requestedOpenPrice,\n openedPrice: quote.openedPrice,\n initialOpenedPrice: quote.initialOpenedPrice,\n avgClosedPrice: quote.avgClosedPrice,\n requestedClosePrice: quote.requestedClosePrice,\n marketPrice: quote.marketPrice,\n quantity: quote.quantity,\n closedAmount: quote.closedAmount,\n openQuantity: quoteOpenQuantity({ quantity: quote.quantity, closedAmount: quote.closedAmount }),\n quantityToClose: quote.quantityToClose,\n lockedValues: quote.lockedValues,\n initialLockedValues: quote.initialLockedValues,\n maxFundingRate: quote.maxFundingRate,\n accumulatedPaidFunding: quote.accumulatedPaidFunding,\n lastFundingPaymentTimestamp: quote.lastFundingPaymentTimestamp,\n deadline: quote.deadline,\n tradingFee: quote.tradingFee,\n closeFee: quote.closeFee,\n affiliate: quote.affiliate,\n partyBsWhiteList: quote.partyBsWhiteList,\n parentId: quote.parentId,\n data: quote.data,\n createTimestamp: quote.createTimestamp,\n statusModifyTimestamp: quote.statusModifyTimestamp,\n raw: { onchain: quote },\n };\n}\n\n/**\n * Build an optimistic {@link UnifiedQuote} from a pending instant-open record.\n *\n * The hedger reports human-scaled decimal strings; this normalizes price,\n * quantity, and the locked legs to 18-decimal wei via {@link toWeiBigInt}. The\n * row is `OPTIMISTIC` (no fill, no on-chain id yet) and keyed `temp:<tempId>`.\n *\n * @param pending - A normalized pending instant-open record.\n * @returns The unified row.\n *\n * @example\n * ```ts\n * const row = toUnifiedQuoteFromInstantOpen(pending);\n * ```\n */\nexport function toUnifiedQuoteFromInstantOpen(pending: PendingInstantOpen): UnifiedQuote {\n const quantity = toWeiBigInt(pending.quantity);\n return {\n key: `temp:${pending.tempQuoteId}`,\n origin: \"offchain\",\n lifecycle: QuoteLifecycle.OPTIMISTIC,\n tempQuoteId: pending.tempQuoteId,\n partyA: pending.partyA,\n symbolId: BigInt(pending.marketId),\n positionType: pending.positionType,\n orderType: pending.orderType,\n requestedOpenPrice: toWeiBigInt(pending.requestedOpenPrice),\n quantity,\n openQuantity: quantity,\n lockedValues: {\n cva: toWeiBigInt(pending.cva),\n lf: toWeiBigInt(pending.lf),\n partyAmm: toWeiBigInt(pending.partyAmm),\n partyBmm: toWeiBigInt(pending.partyBmm),\n },\n raw: { instantOpen: pending },\n };\n}\n\n/**\n * Inputs identifying the position a pending instant-close targets. A close\n * record only carries the quote id and close amounts, so the market/side fields\n * come from the already-known on-chain row (or sensible zero defaults).\n */\nexport interface ToUnifiedQuoteFromInstantCloseContext {\n /** Sub-account (partyA) that owns the position being closed. */\n partyA: Address;\n /** Market identifier of the position being closed. */\n symbolId: UnifiedQuote[\"symbolId\"];\n /** Side of the position being closed. */\n positionType: UnifiedQuote[\"positionType\"];\n /** Order type of the position being closed. */\n orderType: UnifiedQuote[\"orderType\"];\n}\n\n/**\n * Build a `CLOSING` {@link UnifiedQuote} from a pending instant-close record.\n *\n * A close record carries only the quote id and close amounts (already wei), so\n * market/side metadata is supplied via `context` (typically copied from the\n * matching on-chain row). Reconciliation overlays closes onto the existing\n * on-chain row directly; this helper is exposed for consumers that want to render\n * a standalone close-only row when the on-chain row is not available.\n *\n * @param pending - A normalized pending instant-close record.\n * @param context - Market/side metadata for the targeted position.\n * @returns The unified row, keyed `onchain:<quoteId>`.\n */\nexport function toUnifiedQuoteFromInstantClose(\n pending: PendingInstantClose,\n context: ToUnifiedQuoteFromInstantCloseContext,\n): UnifiedQuote {\n return {\n key: `onchain:${pending.quoteId}`,\n origin: \"onchain\",\n lifecycle: QuoteLifecycle.WRITE_ONCHAIN_CLOSE,\n quoteId: pending.quoteId,\n partyA: context.partyA,\n symbolId: context.symbolId,\n positionType: context.positionType,\n orderType: context.orderType,\n requestedOpenPrice: 0n,\n quantity: 0n,\n openQuantity: 0n,\n quantityToClose: pending.quantityToClose,\n lockedValues: EMPTY_LOCKED_VALUES,\n raw: { instantClose: pending },\n };\n}\n"],"mappings":";;;;;AASA,IAAM,IAAoC;CACxC,KAAK;CACL,IAAI;CACJ,UAAU;CACV,UAAU;AACZ;AAYA,SAAgB,EAAyB,GAAqC;CAC5E,QAAQ,GAAR;EACE,KAAK,EAAY;EACjB,KAAK,EAAY;EACjB,KAAK,EAAY,SACf,OAAO,EAAe;EACxB,KAAK,EAAY,YACf,OAAO,EAAe;EAGxB,SACE,OAAO,EAAe;CAC1B;AACF;AAiBA,SAAgB,EAA0B,GAA4B;CACpE,IAAM,IAAY,EAAyB,EAAM,WAAW;CAC5D,OAAO;EACL,KAAK,WAAW,EAAM;EACtB,QAAQ;EACR;EACA,SAAS,EAAM;EACf,QAAQ,EAAM;EACd,QAAQ,EAAM;EACd,UAAU,EAAM;EAChB,cAAc,EAAM;EACpB,WAAW,EAAM;EACjB,aAAa,EAAM;EACnB,oBAAoB,EAAM;EAC1B,aAAa,EAAM;EACnB,oBAAoB,EAAM;EAC1B,gBAAgB,EAAM;EACtB,qBAAqB,EAAM;EAC3B,aAAa,EAAM;EACnB,UAAU,EAAM;EAChB,cAAc,EAAM;EACpB,cAAc,EAAkB;GAAE,UAAU,EAAM;GAAU,cAAc,EAAM;EAAa,CAAC;EAC9F,iBAAiB,EAAM;EACvB,cAAc,EAAM;EACpB,qBAAqB,EAAM;EAC3B,gBAAgB,EAAM;EACtB,wBAAwB,EAAM;EAC9B,6BAA6B,EAAM;EACnC,UAAU,EAAM;EAChB,YAAY,EAAM;EAClB,UAAU,EAAM;EAChB,WAAW,EAAM;EACjB,kBAAkB,EAAM;EACxB,UAAU,EAAM;EAChB,MAAM,EAAM;EACZ,iBAAiB,EAAM;EACvB,uBAAuB,EAAM;EAC7B,KAAK,EAAE,SAAS,EAAM;CACxB;AACF;AAiBA,SAAgB,EAA8B,GAA2C;CACvF,IAAM,IAAW,EAAY,EAAQ,QAAQ;CAC7C,OAAO;EACL,KAAK,QAAQ,EAAQ;EACrB,QAAQ;EACR,WAAW,EAAe;EAC1B,aAAa,EAAQ;EACrB,QAAQ,EAAQ;EAChB,UAAU,OAAO,EAAQ,QAAQ;EACjC,cAAc,EAAQ;EACtB,WAAW,EAAQ;EACnB,oBAAoB,EAAY,EAAQ,kBAAkB;EAC1D;EACA,cAAc;EACd,cAAc;GACZ,KAAK,EAAY,EAAQ,GAAG;GAC5B,IAAI,EAAY,EAAQ,EAAE;GAC1B,UAAU,EAAY,EAAQ,QAAQ;GACtC,UAAU,EAAY,EAAQ,QAAQ;EACxC;EACA,KAAK,EAAE,aAAa,EAAQ;CAC9B;AACF;AA+BA,SAAgB,EACd,GACA,GACc;CACd,OAAO;EACL,KAAK,WAAW,EAAQ;EACxB,QAAQ;EACR,WAAW,EAAe;EAC1B,SAAS,EAAQ;EACjB,QAAQ,EAAQ;EAChB,UAAU,EAAQ;EAClB,cAAc,EAAQ;EACtB,WAAW,EAAQ;EACnB,oBAAoB;EACpB,UAAU;EACV,cAAc;EACd,iBAAiB,EAAQ;EACzB,cAAc;EACd,KAAK,EAAE,cAAc,EAAQ;CAC/B;AACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Address, Hex } from 'viem';
|
|
2
2
|
import { PendingInstantClose } from '../solvers/instant-close/get-instant-closes/to-pending-instant-close.js';
|
|
3
|
-
import { PendingInstantOpen } from '../solvers/instant-open/get-instant-opens/
|
|
3
|
+
import { PendingInstantOpen } from '../solvers/instant-open/get-instant-opens/types.js';
|
|
4
4
|
import { LockedValues, OrderType, PositionType, Quote, QuoteStatus } from '../symmio-contracts/symmio/types.js';
|
|
5
5
|
/**
|
|
6
6
|
* Where a {@link UnifiedQuote} was sourced from before reconciliation.
|
|
@@ -15,8 +15,11 @@ export type QuoteOrigin = "onchain" | "offchain";
|
|
|
15
15
|
* The stage of a quote's lifecycle as tracked across the on-chain + off-chain
|
|
16
16
|
* merge. Drives row styling and polling acceleration in the consumer.
|
|
17
17
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
18
|
+
* Lifecycle tracks the **write progression** (off-chain → on-chain), not the
|
|
19
|
+
* on-chain status: once a quote is on-chain it is `ONCHAIN` whether it is
|
|
20
|
+
* `OPENED` or `CLOSE_PENDING` — read {@link UnifiedQuote.quoteStatus} for that
|
|
21
|
+
* distinction. The off-chain stages (`OPTIMISTIC*`, `*PRICE_FILLED`,
|
|
22
|
+
* `WRITE_ONCHAIN*`) are SDK-side overlays that do not exist on the on-chain
|
|
20
23
|
* {@link QuoteStatus}; reconciliation assigns them from notifications and hedger
|
|
21
24
|
* records.
|
|
22
25
|
*/
|
|
@@ -48,15 +51,15 @@ export declare enum QuoteLifecycle {
|
|
|
48
51
|
*/
|
|
49
52
|
CLOSE_PRICE_FILLED = "close-price-filled",
|
|
50
53
|
/**
|
|
51
|
-
* The close fill (`FillMarketOrderInstantClose`)
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
* close-
|
|
55
|
-
* {@link QuoteLifecycle.
|
|
54
|
+
* The close fill (`FillMarketOrderInstantClose`) or the limit-close anchor
|
|
55
|
+
* (`InstantRequestToLimitClose`) was reported, or a pending instant-close
|
|
56
|
+
* overlays the row while the on-chain status still shows the position open — the
|
|
57
|
+
* close is being "written on-chain", awaiting the RPC. The close-side analog of
|
|
58
|
+
* {@link QuoteLifecycle.WRITE_ONCHAIN}. Resolves to {@link QuoteLifecycle.ONCHAIN}
|
|
59
|
+
* once the on-chain read returns the quote (now `CLOSE_PENDING`); read
|
|
60
|
+
* {@link UnifiedQuote.quoteStatus} to see the close is pending.
|
|
56
61
|
*/
|
|
57
62
|
WRITE_ONCHAIN_CLOSE = "write-onchain-close",
|
|
58
|
-
/** The close is confirmed pending on-chain — on-chain `CLOSE_PENDING` / `CANCEL_CLOSE_PENDING`. */
|
|
59
|
-
CLOSING = "closing",
|
|
60
63
|
/** The position is fully closed. */
|
|
61
64
|
CLOSED = "closed",
|
|
62
65
|
/** A hedger or notification reported the open/close failed. */
|
|
@@ -117,6 +120,10 @@ export interface UnifiedQuote {
|
|
|
117
120
|
* Remaining **open** size (wei): `quantity − closedAmount`, the live quantity
|
|
118
121
|
* still on the position (the figure a UI shows as "position size"); `0` once
|
|
119
122
|
* fully closed. Derived from the other amount fields by {@link quoteOpenQuantity}.
|
|
123
|
+
*
|
|
124
|
+
* A size, never a state: a quote that has not opened yet still reports its full
|
|
125
|
+
* `quantity`. To ask whether a row is a position, use `isPendingOrder` /
|
|
126
|
+
* `isActivePosition`, which read {@link UnifiedQuote.quoteStatus}.
|
|
120
127
|
*/
|
|
121
128
|
openQuantity: bigint;
|
|
122
129
|
/** Quantity targeted by a pending close (wei), when closing. */
|
|
@@ -127,7 +134,15 @@ export interface UnifiedQuote {
|
|
|
127
134
|
initialLockedValues?: LockedValues;
|
|
128
135
|
/** Maximum funding rate partyA accepts, when known. */
|
|
129
136
|
maxFundingRate?: bigint;
|
|
130
|
-
/**
|
|
137
|
+
/**
|
|
138
|
+
* Cumulative funding-**rate index** already settled on the quote (18-decimal
|
|
139
|
+
* fixed point) — the position's funding rate multiplied by the epochs elapsed
|
|
140
|
+
* since the funding fee started, when known. **Not a currency amount**: the
|
|
141
|
+
* settled fee is only obtained as
|
|
142
|
+
* `openAmount × (currentFee − accumulatedPaidFunding) / 1e18`, so summing this
|
|
143
|
+
* field across quotes is meaningless. For real settled funding amounts use
|
|
144
|
+
* {@link getQuoteFunding} / {@link aggregateGroupFunding}.
|
|
145
|
+
*/
|
|
131
146
|
accumulatedPaidFunding?: bigint;
|
|
132
147
|
/** Block timestamp funding was last applied, when known. */
|
|
133
148
|
lastFundingPaymentTimestamp?: bigint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-quote.d.ts","sourceRoot":"","sources":["../../src/quotes/unified-quote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sEAAsE,CAAC;AAChH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"unified-quote.d.ts","sourceRoot":"","sources":["../../src/quotes/unified-quote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sEAAsE,CAAC;AAChH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAC1F,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAElH;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;AAEjD;;;;;;;;;;;GAWG;AACH,oBAAY,cAAc;IACxB,uEAAuE;IACvE,UAAU,eAAe;IACzB,uGAAuG;IACvG,YAAY,iBAAiB;IAC7B;;;;;;OAMG;IACH,aAAa,kBAAkB;IAC/B,6DAA6D;IAC7D,OAAO,YAAY;IACnB;;;;OAIG;IACH,gBAAgB,qBAAqB;IACrC;;;;OAIG;IACH,kBAAkB,uBAAuB;IACzC;;;;;;;;OAQG;IACH,mBAAmB,wBAAwB;IAC3C,oCAAoC;IACpC,MAAM,WAAW;IACjB,+DAA+D;IAC/D,MAAM,WAAW;CAClB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAY;IAC3B,wEAAwE;IACxE,GAAG,EAAE,MAAM,CAAC;IACZ,0CAA0C;IAC1C,MAAM,EAAE,WAAW,CAAC;IACpB,+BAA+B;IAC/B,SAAS,EAAE,cAAc,CAAC;IAC1B,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,MAAM,EAAE,OAAO,CAAC;IAChB,uEAAuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oEAAoE;IACpE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,YAAY,EAAE,YAAY,CAAC;IAC3B,6BAA6B;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,+CAA+C;IAC/C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4GAA4G;IAC5G,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;OAQG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2CAA2C;IAC3C,YAAY,EAAE,YAAY,CAAC;IAC3B,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,YAAY,CAAC;IACnC,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,4DAA4D;IAC5D,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sDAAsD;IACtD,GAAG,EAAE;QACH,oDAAoD;QACpD,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,+DAA+D;QAC/D,WAAW,CAAC,EAAE,kBAAkB,CAAC;QACjC,gEAAgE;QAChE,YAAY,CAAC,EAAE,mBAAmB,CAAC;KACpC,CAAC;CACH"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/quotes/unified-quote.ts
|
|
2
2
|
var e = /* @__PURE__ */ function(e) {
|
|
3
|
-
return e.OPTIMISTIC = "optimistic", e.PRICE_FILLED = "price-filled", e.WRITE_ONCHAIN = "write-onchain", e.ONCHAIN = "onchain", e.OPTIMISTIC_CLOSE = "optimistic-close", e.CLOSE_PRICE_FILLED = "close-price-filled", e.WRITE_ONCHAIN_CLOSE = "write-onchain-close", e.
|
|
3
|
+
return e.OPTIMISTIC = "optimistic", e.PRICE_FILLED = "price-filled", e.WRITE_ONCHAIN = "write-onchain", e.ONCHAIN = "onchain", e.OPTIMISTIC_CLOSE = "optimistic-close", e.CLOSE_PRICE_FILLED = "close-price-filled", e.WRITE_ONCHAIN_CLOSE = "write-onchain-close", e.CLOSED = "closed", e.FAILED = "failed", e;
|
|
4
4
|
}({});
|
|
5
5
|
//#endregion
|
|
6
6
|
export { e as QuoteLifecycle };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-quote.js","names":[],"sources":["../../src/quotes/unified-quote.ts"],"sourcesContent":["import type { Address, Hex } from \"viem\";\nimport type { PendingInstantClose } from \"../solvers/instant-close/get-instant-closes/to-pending-instant-close\";\nimport type { PendingInstantOpen } from \"../solvers/instant-open/get-instant-opens/
|
|
1
|
+
{"version":3,"file":"unified-quote.js","names":[],"sources":["../../src/quotes/unified-quote.ts"],"sourcesContent":["import type { Address, Hex } from \"viem\";\nimport type { PendingInstantClose } from \"../solvers/instant-close/get-instant-closes/to-pending-instant-close\";\nimport type { PendingInstantOpen } from \"../solvers/instant-open/get-instant-opens/types\";\nimport type { LockedValues, OrderType, PositionType, Quote, QuoteStatus } from \"../symmio-contracts/symmio/types\";\n\n/**\n * Where a {@link UnifiedQuote} was sourced from before reconciliation.\n *\n * - `\"onchain\"` — read from the SYMMIO core (`getPartyAOpenPositions` /\n * `getPartyAPendingQuotes` + `getQuote`); the row carries a real `quoteId`.\n * - `\"offchain\"` — only known to a hedger so far (a pending instant-open or\n * instant-close); the row carries a `tempQuoteId` and waits to anchor on-chain.\n */\nexport type QuoteOrigin = \"onchain\" | \"offchain\";\n\n/**\n * The stage of a quote's lifecycle as tracked across the on-chain + off-chain\n * merge. Drives row styling and polling acceleration in the consumer.\n *\n * Lifecycle tracks the **write progression** (off-chain → on-chain), not the\n * on-chain status: once a quote is on-chain it is `ONCHAIN` whether it is\n * `OPENED` or `CLOSE_PENDING` — read {@link UnifiedQuote.quoteStatus} for that\n * distinction. The off-chain stages (`OPTIMISTIC*`, `*PRICE_FILLED`,\n * `WRITE_ONCHAIN*`) are SDK-side overlays that do not exist on the on-chain\n * {@link QuoteStatus}; reconciliation assigns them from notifications and hedger\n * records.\n */\nexport enum QuoteLifecycle {\n /** Submitted to a hedger; no on-chain quote and no fill report yet. */\n OPTIMISTIC = \"optimistic\",\n /** A hedger reported a fill price (`InstantRFQ` success) but the on-chain quote has not landed yet. */\n PRICE_FILLED = \"price-filled\",\n /**\n * The open anchored on-chain per the notification (the `quoteId` is known), but\n * the on-chain read has not returned the quote struct yet. The row is being\n * \"written on-chain\": shown with its anchored id while the SDK waits for the RPC\n * to confirm it. Resolves to {@link QuoteLifecycle.ONCHAIN} once the on-chain\n * read returns the struct.\n */\n WRITE_ONCHAIN = \"write-onchain\",\n /** Anchored on-chain; mirrors a real {@link QuoteStatus}. */\n ONCHAIN = \"onchain\",\n /**\n * A close was just submitted and the hedger's pending-instant-close feed has it,\n * but no close notification has confirmed a price yet — the close-side analog of\n * {@link QuoteLifecycle.OPTIMISTIC}. Advances to {@link QuoteLifecycle.CLOSE_PRICE_FILLED}.\n */\n OPTIMISTIC_CLOSE = \"optimistic-close\",\n /**\n * A close notification reported the close price/fill request\n * (`InstantRequestToClosePosition`) — the close-side analog of\n * {@link QuoteLifecycle.PRICE_FILLED}. Advances to {@link QuoteLifecycle.WRITE_ONCHAIN_CLOSE}.\n */\n CLOSE_PRICE_FILLED = \"close-price-filled\",\n /**\n * The close fill (`FillMarketOrderInstantClose`) or the limit-close anchor\n * (`InstantRequestToLimitClose`) was reported, or a pending instant-close\n * overlays the row while the on-chain status still shows the position open — the\n * close is being \"written on-chain\", awaiting the RPC. The close-side analog of\n * {@link QuoteLifecycle.WRITE_ONCHAIN}. Resolves to {@link QuoteLifecycle.ONCHAIN}\n * once the on-chain read returns the quote (now `CLOSE_PENDING`); read\n * {@link UnifiedQuote.quoteStatus} to see the close is pending.\n */\n WRITE_ONCHAIN_CLOSE = \"write-onchain-close\",\n /** The position is fully closed. */\n CLOSED = \"closed\",\n /** A hedger or notification reported the open/close failed. */\n FAILED = \"failed\",\n}\n\n/**\n * A single quote/position row merged from every source (on-chain reads, pending\n * instant-opens, pending instant-closes, and notifications) into one stable,\n * de-duplicated shape.\n *\n * All amount and price fields are 18-decimal-wei `bigint`, matching the on-chain\n * {@link Quote}. Off-chain hedger amounts are normalized to wei before they reach\n * this type. The `key` is a stable identity for React lists and the removal\n * ledger; `raw` carries the untouched source rows for advanced use.\n */\nexport interface UnifiedQuote {\n /** Stable identity for this row (`onchain:<id>` or `temp:<tempId>`). */\n key: string;\n /** Source the row was reconciled from. */\n origin: QuoteOrigin;\n /** Current lifecycle stage. */\n lifecycle: QuoteLifecycle;\n /** On-chain quote id, once anchored. */\n quoteId?: bigint;\n /** Hedger-local temp id, before the on-chain id exists. */\n tempQuoteId?: number;\n /** Sub-account (partyA) that owns the row. */\n partyA: Address;\n /** PartyB (hedger/solver) that locked/opened the quote, when known. */\n partyB?: Address;\n /** Solver-assigned Virtual Account address (lowcap), when known. */\n vaAddress?: Address;\n /** Market identifier (`symbolId`). */\n symbolId: bigint;\n /** Long or short. */\n positionType: PositionType;\n /** Limit or market order. */\n orderType: OrderType;\n /** On-chain status, when the row is anchored on-chain. */\n quoteStatus?: QuoteStatus;\n /** Price partyA requested to open at (wei). */\n requestedOpenPrice: bigint;\n /** Price partyB actually opened at (wei), when known. */\n openedPrice?: bigint;\n /** Initial price partyB opened at before any edits (wei), when known. */\n initialOpenedPrice?: bigint;\n /** Average price across executed closes (wei), when known. */\n avgClosedPrice?: bigint;\n /** Requested limit price for a pending close (wei), when known. */\n requestedClosePrice?: bigint;\n /** Market price snapshot at last state change (wei), when known. */\n marketPrice?: bigint;\n /** Total requested quantity (wei) — fixed for the life of the position; partial closes do not shrink it. */\n quantity: bigint;\n /** Quantity already closed (wei), when known. */\n closedAmount?: bigint;\n /**\n * Remaining **open** size (wei): `quantity − closedAmount`, the live quantity\n * still on the position (the figure a UI shows as \"position size\"); `0` once\n * fully closed. Derived from the other amount fields by {@link quoteOpenQuantity}.\n *\n * A size, never a state: a quote that has not opened yet still reports its full\n * `quantity`. To ask whether a row is a position, use `isPendingOrder` /\n * `isActivePosition`, which read {@link UnifiedQuote.quoteStatus}.\n */\n openQuantity: bigint;\n /** Quantity targeted by a pending close (wei), when closing. */\n quantityToClose?: bigint;\n /** Margin locked against the row (wei). */\n lockedValues: LockedValues;\n /** Margin locked at open time — basis for leverage (wei), when known. */\n initialLockedValues?: LockedValues;\n /** Maximum funding rate partyA accepts, when known. */\n maxFundingRate?: bigint;\n /**\n * Cumulative funding-**rate index** already settled on the quote (18-decimal\n * fixed point) — the position's funding rate multiplied by the epochs elapsed\n * since the funding fee started, when known. **Not a currency amount**: the\n * settled fee is only obtained as\n * `openAmount × (currentFee − accumulatedPaidFunding) / 1e18`, so summing this\n * field across quotes is meaningless. For real settled funding amounts use\n * {@link getQuoteFunding} / {@link aggregateGroupFunding}.\n */\n accumulatedPaidFunding?: bigint;\n /** Block timestamp funding was last applied, when known. */\n lastFundingPaymentTimestamp?: bigint;\n /** Quote deadline (expiry) timestamp, when known. */\n deadline?: bigint;\n /** Trading fee charged on the quote (wei), when known. */\n tradingFee?: bigint;\n /** Fee charged on close (wei), when known. */\n closeFee?: bigint;\n /** Affiliate address attributed to the quote, when known. */\n affiliate?: Address;\n /** PartyB addresses allowed to fill this quote (empty means any), when known. */\n partyBsWhiteList?: readonly Address[];\n /** Parent quote id for a partially-opened child, when known. */\n parentId?: bigint;\n /** Opaque per-quote data, when known. */\n data?: Hex;\n /** Block timestamp the quote was created, when known. */\n createTimestamp?: bigint;\n /** Block timestamp of the last status change (sort key), when known. */\n statusModifyTimestamp?: bigint;\n /** Untouched source rows this was reconciled from. */\n raw: {\n /** The on-chain quote, when the row is anchored. */\n onchain?: Quote;\n /** The pending instant-open record, when sourced off-chain. */\n instantOpen?: PendingInstantOpen;\n /** The pending instant-close record, when closing off-chain. */\n instantClose?: PendingInstantClose;\n };\n}\n"],"mappings":";AA2BA,IAAY,IAAL,yBAAA,GAAA;QAEL,EAAA,aAAA,cAEA,EAAA,eAAA,gBAQA,EAAA,gBAAA,iBAEA,EAAA,UAAA,WAMA,EAAA,mBAAA,oBAMA,EAAA,qBAAA,sBAUA,EAAA,sBAAA,uBAEA,EAAA,SAAA,UAEA,EAAA,SAAA;AACF,EAAA,CAAA,CAAA"}
|
|
@@ -4,7 +4,11 @@
|
|
|
4
4
|
export interface CalculateQuoteLeverageParameters {
|
|
5
5
|
/** Quote quantity. */
|
|
6
6
|
quantity: bigint;
|
|
7
|
-
/**
|
|
7
|
+
/** Original open price the position first opened at — the preferred reference. */
|
|
8
|
+
initialOpenedPrice?: bigint;
|
|
9
|
+
/** Settled open price (wei) — reference used when `initialOpenedPrice` is absent. */
|
|
10
|
+
openedPrice?: bigint;
|
|
11
|
+
/** Current requested open price (wei) — last-resort reference; may drift after edits. */
|
|
8
12
|
requestedOpenPrice: bigint;
|
|
9
13
|
/** Locked-margin legs (partyA + partyB) committed when the quote opened. */
|
|
10
14
|
lockedValues: {
|
|
@@ -17,7 +21,9 @@ export interface CalculateQuoteLeverageParameters {
|
|
|
17
21
|
/**
|
|
18
22
|
* Quote leverage as a decimal string.
|
|
19
23
|
*
|
|
20
|
-
* `leverage = quantity × requestedOpenPrice / (CVA + LF + partyAMM + partyBMM)
|
|
24
|
+
* `leverage = quantity × (initialOpenedPrice ?? openedPrice ?? requestedOpenPrice) / (CVA + LF + partyAMM + partyBMM)`
|
|
25
|
+
* — the original open price is the reference; the settled `openedPrice` then the
|
|
26
|
+
* current `requestedOpenPrice` step in as it is absent (see {@link leveragePriceOf}).
|
|
21
27
|
*
|
|
22
28
|
* Returns `"0"` when the locked-margin sum is zero (i.e. the quote has no
|
|
23
29
|
* partyA-locked collateral on record yet) or when any input is non-finite.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculate-quote-leverage.d.ts","sourceRoot":"","sources":["../../../src/quotes/upnl/calculate-quote-leverage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"calculate-quote-leverage.d.ts","sourceRoot":"","sources":["../../../src/quotes/upnl/calculate-quote-leverage.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yFAAyF;IACzF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,4EAA4E;IAC5E,YAAY,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,gCAAgC,GAAG,MAAM,CAkB3F"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { leveragePriceOf as e } from "../open-price.js";
|
|
2
|
+
import { formatUnits as t } from "viem";
|
|
2
3
|
//#region src/quotes/upnl/calculate-quote-leverage.ts
|
|
3
|
-
var
|
|
4
|
-
function
|
|
5
|
-
let r = Number(
|
|
6
|
-
if (!Number.isFinite(
|
|
7
|
-
let
|
|
8
|
-
return Number.isFinite(
|
|
4
|
+
var n = 18;
|
|
5
|
+
function r(r) {
|
|
6
|
+
let i = e(r), a = Number(t(r.quantity, n)), o = Number(t(i, n)), s = Number(t(r.lockedValues.cva + r.lockedValues.lf + r.lockedValues.partyAmm + r.lockedValues.partyBmm, n));
|
|
7
|
+
if (!Number.isFinite(a) || !Number.isFinite(o) || !Number.isFinite(s) || s === 0) return "0";
|
|
8
|
+
let c = a * o / s;
|
|
9
|
+
return Number.isFinite(c) ? String(c) : "0";
|
|
9
10
|
}
|
|
10
11
|
//#endregion
|
|
11
|
-
export {
|
|
12
|
+
export { r as calculateQuoteLeverage };
|
|
12
13
|
|
|
13
14
|
//# sourceMappingURL=calculate-quote-leverage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculate-quote-leverage.js","names":[],"sources":["../../../src/quotes/upnl/calculate-quote-leverage.ts"],"sourcesContent":["import { formatUnits } from \"viem\";\n\n/** Decimal places of an 18-decimal-wei fixed-point value. */\nconst WEI_DECIMALS = 18;\n\n/**\n * Inputs for {@link calculateQuoteLeverage}. All bigint fields are 18-decimal wei.\n */\nexport interface CalculateQuoteLeverageParameters {\n /** Quote quantity. */\n quantity: bigint;\n /**
|
|
1
|
+
{"version":3,"file":"calculate-quote-leverage.js","names":[],"sources":["../../../src/quotes/upnl/calculate-quote-leverage.ts"],"sourcesContent":["import { formatUnits } from \"viem\";\nimport { leveragePriceOf } from \"../open-price\";\n\n/** Decimal places of an 18-decimal-wei fixed-point value. */\nconst WEI_DECIMALS = 18;\n\n/**\n * Inputs for {@link calculateQuoteLeverage}. All bigint fields are 18-decimal wei.\n */\nexport interface CalculateQuoteLeverageParameters {\n /** Quote quantity. */\n quantity: bigint;\n /** Original open price the position first opened at — the preferred reference. */\n initialOpenedPrice?: bigint;\n /** Settled open price (wei) — reference used when `initialOpenedPrice` is absent. */\n openedPrice?: bigint;\n /** Current requested open price (wei) — last-resort reference; may drift after edits. */\n requestedOpenPrice: bigint;\n /** Locked-margin legs (partyA + partyB) committed when the quote opened. */\n lockedValues: { cva: bigint; lf: bigint; partyAmm: bigint; partyBmm: bigint };\n}\n\n/**\n * Quote leverage as a decimal string.\n *\n * `leverage = quantity × (initialOpenedPrice ?? openedPrice ?? requestedOpenPrice) / (CVA + LF + partyAMM + partyBMM)`\n * — the original open price is the reference; the settled `openedPrice` then the\n * current `requestedOpenPrice` step in as it is absent (see {@link leveragePriceOf}).\n *\n * Returns `\"0\"` when the locked-margin sum is zero (i.e. the quote has no\n * partyA-locked collateral on record yet) or when any input is non-finite.\n *\n * @example\n * ```ts\n * const lev = calculateQuoteLeverage({\n * quantity: 1_000_000_000_000_000_000n,\n * requestedOpenPrice: 50_000_000_000_000_000_000n,\n * lockedValues: { cva: 1_000_000_000_000_000_000n, lf: 500_000_000_000_000_000n, partyAmm: 1_500_000_000_000_000_000n },\n * });\n * ```\n */\nexport function calculateQuoteLeverage(parameters: CalculateQuoteLeverageParameters): string {\n const referencePriceWei = leveragePriceOf(parameters);\n const quantity = Number(formatUnits(parameters.quantity, WEI_DECIMALS));\n const referencePrice = Number(formatUnits(referencePriceWei, WEI_DECIMALS));\n const lockedSum = Number(\n formatUnits(\n parameters.lockedValues.cva +\n parameters.lockedValues.lf +\n parameters.lockedValues.partyAmm +\n parameters.lockedValues.partyBmm,\n WEI_DECIMALS,\n ),\n );\n if (!Number.isFinite(quantity) || !Number.isFinite(referencePrice) || !Number.isFinite(lockedSum)) return \"0\";\n if (lockedSum === 0) return \"0\";\n const leverage = (quantity * referencePrice) / lockedSum;\n if (!Number.isFinite(leverage)) return \"0\";\n return String(leverage);\n}\n"],"mappings":";;;AAIA,IAAM,IAAe;AAqCrB,SAAgB,EAAuB,GAAsD;CAC3F,IAAM,IAAoB,EAAgB,CAAU,GAC9C,IAAW,OAAO,EAAY,EAAW,UAAU,CAAY,CAAC,GAChE,IAAiB,OAAO,EAAY,GAAmB,CAAY,CAAC,GACpE,IAAY,OAChB,EACE,EAAW,aAAa,MACtB,EAAW,aAAa,KACxB,EAAW,aAAa,WACxB,EAAW,aAAa,UAC1B,CACF,CACF;CAEA,IADI,CAAC,OAAO,SAAS,CAAQ,KAAK,CAAC,OAAO,SAAS,CAAc,KAAK,CAAC,OAAO,SAAS,CAAS,KAC5F,MAAc,GAAG,OAAO;CAC5B,IAAM,IAAY,IAAW,IAAkB;CAE/C,OADK,OAAO,SAAS,CAAQ,IACtB,OAAO,CAAQ,IADiB;AAEzC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { PositionType } from '../../symmio-contracts/symmio/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Inputs for {@link calculateQuoteUpnlWei}. All amounts are 18-decimal wei.
|
|
4
|
+
*/
|
|
5
|
+
export interface CalculateQuoteUpnlWeiParameters {
|
|
6
|
+
/** Trade side — flips the sign of the mark-vs-open difference. */
|
|
7
|
+
positionType: PositionType;
|
|
8
|
+
/** Remaining open size (`quantity − closedAmount`), wei. */
|
|
9
|
+
openQuantity: bigint;
|
|
10
|
+
/** Settled open price, wei. */
|
|
11
|
+
openedPrice: bigint;
|
|
12
|
+
/** Current mark price, wei. */
|
|
13
|
+
markPrice: bigint;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* A single position's unrealized PnL as a signed 18-decimal wei `bigint`:
|
|
17
|
+
*
|
|
18
|
+
* `upnl = openQuantity × (markPrice − openedPrice)` for LONG, negated for
|
|
19
|
+
* SHORT, rescaled to wei.
|
|
20
|
+
*
|
|
21
|
+
* The exact-`bigint` sibling of `calculateQuoteUpnl` (which formats decimal
|
|
22
|
+
* strings for display): use this wherever the uPnL feeds further wei math —
|
|
23
|
+
* e.g. summing an account's positions for `calculateAvailableForOrder`.
|
|
24
|
+
*
|
|
25
|
+
* @param parameters - Side, open size, open price, and mark price.
|
|
26
|
+
* @returns The signed unrealized PnL, wei.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* const upnl = calculateQuoteUpnlWei({
|
|
31
|
+
* positionType: PositionType.LONG,
|
|
32
|
+
* openQuantity: 2n * 10n ** 18n,
|
|
33
|
+
* openedPrice: 100n * 10n ** 18n,
|
|
34
|
+
* markPrice: 110n * 10n ** 18n,
|
|
35
|
+
* }); // → 20e18
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare function calculateQuoteUpnlWei(parameters: CalculateQuoteUpnlWeiParameters): bigint;
|
|
39
|
+
//# sourceMappingURL=calculate-quote-upnl-wei.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculate-quote-upnl-wei.d.ts","sourceRoot":"","sources":["../../../src/quotes/upnl/calculate-quote-upnl-wei.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,kEAAkE;IAClE,YAAY,EAAE,YAAY,CAAC;IAC3B,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,+BAA+B,GAAG,MAAM,CAIzF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { PositionType as e } from "../../symmio-contracts/symmio/types.js";
|
|
2
|
+
import { WEI as t } from "../../shared/utils/wei.js";
|
|
3
|
+
//#region src/quotes/upnl/calculate-quote-upnl-wei.ts
|
|
4
|
+
function n(n) {
|
|
5
|
+
let r = n.markPrice - n.openedPrice, i = n.positionType === e.LONG ? r : -r;
|
|
6
|
+
return n.openQuantity * i / t;
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { n as calculateQuoteUpnlWei };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=calculate-quote-upnl-wei.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculate-quote-upnl-wei.js","names":[],"sources":["../../../src/quotes/upnl/calculate-quote-upnl-wei.ts"],"sourcesContent":["import { WEI } from \"../../shared/utils/wei\";\nimport { PositionType } from \"../../symmio-contracts/symmio/types\";\n\n/**\n * Inputs for {@link calculateQuoteUpnlWei}. All amounts are 18-decimal wei.\n */\nexport interface CalculateQuoteUpnlWeiParameters {\n /** Trade side — flips the sign of the mark-vs-open difference. */\n positionType: PositionType;\n /** Remaining open size (`quantity − closedAmount`), wei. */\n openQuantity: bigint;\n /** Settled open price, wei. */\n openedPrice: bigint;\n /** Current mark price, wei. */\n markPrice: bigint;\n}\n\n/**\n * A single position's unrealized PnL as a signed 18-decimal wei `bigint`:\n *\n * `upnl = openQuantity × (markPrice − openedPrice)` for LONG, negated for\n * SHORT, rescaled to wei.\n *\n * The exact-`bigint` sibling of `calculateQuoteUpnl` (which formats decimal\n * strings for display): use this wherever the uPnL feeds further wei math —\n * e.g. summing an account's positions for `calculateAvailableForOrder`.\n *\n * @param parameters - Side, open size, open price, and mark price.\n * @returns The signed unrealized PnL, wei.\n *\n * @example\n * ```ts\n * const upnl = calculateQuoteUpnlWei({\n * positionType: PositionType.LONG,\n * openQuantity: 2n * 10n ** 18n,\n * openedPrice: 100n * 10n ** 18n,\n * markPrice: 110n * 10n ** 18n,\n * }); // → 20e18\n * ```\n */\nexport function calculateQuoteUpnlWei(parameters: CalculateQuoteUpnlWeiParameters): bigint {\n const difference = parameters.markPrice - parameters.openedPrice;\n const signed = parameters.positionType === PositionType.LONG ? difference : -difference;\n return (parameters.openQuantity * signed) / WEI;\n}\n"],"mappings":";;;AAwCA,SAAgB,EAAsB,GAAqD;CACzF,IAAM,IAAa,EAAW,YAAY,EAAW,aAC/C,IAAS,EAAW,iBAAiB,EAAa,OAAO,IAAa,CAAC;CAC7E,OAAQ,EAAW,eAAe,IAAU;AAC9C"}
|