@lifi/perps-sdk 0.1.1-alpha.9 → 1.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 +157 -20
- package/dist/cjs/client/PerpsClient.d.ts +57 -24
- package/dist/cjs/client/PerpsClient.d.ts.map +1 -1
- package/dist/cjs/client/PerpsClient.js +218 -208
- package/dist/cjs/client/PerpsClient.js.map +1 -1
- package/dist/cjs/client/bindProvider.d.ts +3 -0
- package/dist/cjs/client/bindProvider.d.ts.map +1 -0
- package/dist/cjs/client/bindProvider.js +9 -0
- package/dist/cjs/client/bindProvider.js.map +1 -0
- package/dist/cjs/client/createPerpsClient.d.ts +7 -25
- package/dist/cjs/client/createPerpsClient.d.ts.map +1 -1
- package/dist/cjs/client/createPerpsClient.js +28 -8
- package/dist/cjs/client/createPerpsClient.js.map +1 -1
- package/dist/cjs/client/requireProvider.d.ts +3 -0
- package/dist/cjs/client/requireProvider.d.ts.map +1 -0
- package/dist/cjs/client/requireProvider.js +16 -0
- package/dist/cjs/client/requireProvider.js.map +1 -0
- package/dist/cjs/errors/PerpsError.d.ts +2 -3
- package/dist/cjs/errors/PerpsError.d.ts.map +1 -1
- package/dist/cjs/errors/PerpsError.js +3 -15
- package/dist/cjs/errors/PerpsError.js.map +1 -1
- package/dist/cjs/errors/constants.d.ts +2 -12
- package/dist/cjs/errors/constants.d.ts.map +1 -1
- package/dist/cjs/errors/constants.js +3 -14
- package/dist/cjs/errors/constants.js.map +1 -1
- package/dist/cjs/index.d.ts +58 -34
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +122 -45
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/registry/assetRegistry.d.ts +11 -0
- package/dist/cjs/registry/assetRegistry.d.ts.map +1 -0
- package/dist/cjs/registry/assetRegistry.js +39 -0
- package/dist/cjs/registry/assetRegistry.js.map +1 -0
- package/dist/cjs/registry/marketRegistry.d.ts +13 -0
- package/dist/cjs/registry/marketRegistry.d.ts.map +1 -0
- package/dist/cjs/registry/marketRegistry.js +58 -0
- package/dist/cjs/registry/marketRegistry.js.map +1 -0
- package/dist/cjs/registry/referenceDataRegistry.d.ts +20 -0
- package/dist/cjs/registry/referenceDataRegistry.d.ts.map +1 -0
- package/dist/cjs/registry/referenceDataRegistry.js +59 -0
- package/dist/cjs/registry/referenceDataRegistry.js.map +1 -0
- package/dist/cjs/services/createAction.d.ts +13 -0
- package/dist/cjs/services/createAction.d.ts.map +1 -0
- package/dist/cjs/services/createAction.js +17 -0
- package/dist/cjs/services/createAction.js.map +1 -0
- package/dist/cjs/services/executeAction.d.ts +13 -0
- package/dist/cjs/services/executeAction.d.ts.map +1 -0
- package/dist/cjs/services/{submitAuthorization.js → executeAction.js} +8 -6
- package/dist/cjs/services/executeAction.js.map +1 -0
- package/dist/cjs/services/getAccount.d.ts +5 -3
- package/dist/cjs/services/getAccount.d.ts.map +1 -1
- package/dist/cjs/services/getAccount.js +2 -6
- package/dist/cjs/services/getAccount.js.map +1 -1
- package/dist/cjs/services/getActivity.d.ts +15 -0
- package/dist/cjs/services/getActivity.d.ts.map +1 -0
- package/dist/cjs/services/getActivity.js +15 -0
- package/dist/cjs/services/getActivity.js.map +1 -0
- package/dist/cjs/services/getAssets.d.ts +8 -0
- package/dist/cjs/services/getAssets.d.ts.map +1 -0
- package/dist/cjs/services/getAssets.js +11 -0
- package/dist/cjs/services/getAssets.js.map +1 -0
- package/dist/cjs/services/getFills.d.ts +14 -0
- package/dist/cjs/services/getFills.d.ts.map +1 -0
- package/dist/cjs/services/getFills.js +14 -0
- package/dist/cjs/services/getFills.js.map +1 -0
- package/dist/cjs/services/getMarket.d.ts +4 -3
- package/dist/cjs/services/getMarket.d.ts.map +1 -1
- package/dist/cjs/services/getMarket.js +6 -4
- package/dist/cjs/services/getMarket.js.map +1 -1
- package/dist/cjs/services/getMarkets.d.ts +4 -2
- package/dist/cjs/services/getMarkets.d.ts.map +1 -1
- package/dist/cjs/services/getMarkets.js +5 -2
- package/dist/cjs/services/getMarkets.js.map +1 -1
- package/dist/cjs/services/getMeta.d.ts +5 -0
- package/dist/cjs/services/getMeta.d.ts.map +1 -0
- package/dist/cjs/services/getMeta.js +8 -0
- package/dist/cjs/services/getMeta.js.map +1 -0
- package/dist/cjs/services/getOhlcv.d.ts +4 -3
- package/dist/cjs/services/getOhlcv.d.ts.map +1 -1
- package/dist/cjs/services/getOhlcv.js +4 -3
- package/dist/cjs/services/getOhlcv.js.map +1 -1
- package/dist/cjs/services/getOrder.d.ts +5 -3
- package/dist/cjs/services/getOrder.d.ts.map +1 -1
- package/dist/cjs/services/getOrder.js +2 -6
- package/dist/cjs/services/getOrder.js.map +1 -1
- package/dist/cjs/services/getOrderbook.d.ts +4 -3
- package/dist/cjs/services/getOrderbook.d.ts.map +1 -1
- package/dist/cjs/services/getOrderbook.js +4 -3
- package/dist/cjs/services/getOrderbook.js.map +1 -1
- package/dist/cjs/services/getOrders.d.ts +13 -0
- package/dist/cjs/services/getOrders.d.ts.map +1 -0
- package/dist/cjs/services/getOrders.js +13 -0
- package/dist/cjs/services/getOrders.js.map +1 -0
- package/dist/cjs/services/getPositions.d.ts +13 -0
- package/dist/cjs/services/getPositions.d.ts.map +1 -0
- package/dist/cjs/services/getPositions.js +13 -0
- package/dist/cjs/services/getPositions.js.map +1 -0
- package/dist/cjs/services/getPrices.d.ts +4 -3
- package/dist/cjs/services/getPrices.d.ts.map +1 -1
- package/dist/cjs/services/getPrices.js +3 -3
- package/dist/cjs/services/getPrices.js.map +1 -1
- package/dist/cjs/services/getProviders.d.ts +5 -0
- package/dist/cjs/services/getProviders.d.ts.map +1 -0
- package/dist/cjs/services/getProviders.js +8 -0
- package/dist/cjs/services/getProviders.js.map +1 -0
- package/dist/cjs/services/getQuote.d.ts +12 -0
- package/dist/cjs/services/getQuote.d.ts.map +1 -0
- package/dist/cjs/services/getQuote.js +13 -0
- package/dist/cjs/services/getQuote.js.map +1 -0
- package/dist/cjs/services/getTermsAcceptance.d.ts +6 -0
- package/dist/cjs/services/getTermsAcceptance.d.ts.map +1 -0
- package/dist/cjs/services/getTermsAcceptance.js +9 -0
- package/dist/cjs/services/getTermsAcceptance.js.map +1 -0
- package/dist/cjs/services/resolveQuote.d.ts +7 -0
- package/dist/cjs/services/resolveQuote.d.ts.map +1 -0
- package/dist/cjs/services/resolveQuote.js +50 -0
- package/dist/cjs/services/resolveQuote.js.map +1 -0
- package/dist/cjs/services/resolveSubscribeQuote.d.ts +6 -0
- package/dist/cjs/services/resolveSubscribeQuote.d.ts.map +1 -0
- package/dist/cjs/services/resolveSubscribeQuote.js +65 -0
- package/dist/cjs/services/resolveSubscribeQuote.js.map +1 -0
- package/dist/cjs/storage/parseStoredRecord.d.ts +4 -0
- package/dist/cjs/storage/parseStoredRecord.d.ts.map +1 -0
- package/dist/cjs/storage/parseStoredRecord.js +26 -0
- package/dist/cjs/storage/parseStoredRecord.js.map +1 -0
- package/dist/cjs/storage/storage.d.ts.map +1 -0
- package/dist/cjs/storage/storage.js.map +1 -0
- package/dist/cjs/{agent → storage}/types.d.ts +0 -5
- package/dist/cjs/storage/types.d.ts.map +1 -0
- package/dist/cjs/{agent → storage}/types.js.map +1 -1
- package/dist/cjs/transport/fetchWithRetry.d.ts +8 -0
- package/dist/cjs/transport/fetchWithRetry.d.ts.map +1 -0
- package/dist/cjs/transport/fetchWithRetry.js +81 -0
- package/dist/cjs/transport/fetchWithRetry.js.map +1 -0
- package/dist/cjs/{utils → transport}/request.d.ts +3 -2
- package/dist/cjs/transport/request.d.ts.map +1 -0
- package/dist/cjs/transport/request.js +75 -0
- package/dist/cjs/transport/request.js.map +1 -0
- package/dist/cjs/transport/retryPolicy.d.ts +37 -0
- package/dist/cjs/transport/retryPolicy.d.ts.map +1 -0
- package/dist/cjs/transport/retryPolicy.js +79 -0
- package/dist/cjs/transport/retryPolicy.js.map +1 -0
- package/dist/cjs/types/api.d.ts +85 -0
- package/dist/cjs/types/api.d.ts.map +1 -0
- package/dist/cjs/{dex/types.js → types/api.js} +1 -1
- package/dist/cjs/types/api.js.map +1 -0
- package/dist/cjs/types/config.d.ts +26 -0
- package/dist/cjs/types/config.d.ts.map +1 -0
- package/dist/cjs/{realtime/hyperliquid/types.js → types/config.js} +1 -1
- package/dist/cjs/types/config.js.map +1 -0
- package/dist/cjs/types/provider.d.ts +84 -0
- package/dist/cjs/types/provider.d.ts.map +1 -0
- package/dist/cjs/types/provider.js +3 -0
- package/dist/cjs/types/provider.js.map +1 -0
- package/dist/cjs/utils/accountSummary.d.ts +3 -0
- package/dist/cjs/utils/accountSummary.d.ts.map +1 -0
- package/dist/cjs/utils/accountSummary.js +25 -0
- package/dist/cjs/utils/accountSummary.js.map +1 -0
- package/dist/cjs/utils/assertNever.d.ts +2 -0
- package/dist/cjs/utils/assertNever.d.ts.map +1 -0
- package/dist/cjs/utils/assertNever.js +7 -0
- package/dist/cjs/utils/assertNever.js.map +1 -0
- package/dist/cjs/utils/calculations.d.ts +52 -0
- package/dist/cjs/utils/calculations.d.ts.map +1 -0
- package/dist/cjs/utils/calculations.js +148 -0
- package/dist/cjs/utils/calculations.js.map +1 -0
- package/dist/cjs/utils/depositChain.d.ts +6 -0
- package/dist/cjs/utils/depositChain.d.ts.map +1 -0
- package/dist/cjs/utils/depositChain.js +13 -0
- package/dist/cjs/utils/depositChain.js.map +1 -0
- package/dist/cjs/utils/explorer.d.ts +9 -0
- package/dist/cjs/utils/explorer.d.ts.map +1 -0
- package/dist/cjs/utils/explorer.js +23 -0
- package/dist/cjs/utils/explorer.js.map +1 -0
- package/dist/cjs/utils/fillClassification.d.ts +3 -0
- package/dist/cjs/utils/fillClassification.d.ts.map +1 -0
- package/dist/cjs/utils/fillClassification.js +37 -0
- package/dist/cjs/utils/fillClassification.js.map +1 -0
- package/dist/cjs/utils/format.d.ts +13 -0
- package/dist/cjs/utils/format.d.ts.map +1 -0
- package/dist/cjs/utils/format.js +117 -0
- package/dist/cjs/utils/format.js.map +1 -0
- package/dist/cjs/utils/orderClassification.d.ts +10 -0
- package/dist/cjs/utils/orderClassification.d.ts.map +1 -0
- package/dist/cjs/utils/orderClassification.js +49 -0
- package/dist/cjs/utils/orderClassification.js.map +1 -0
- package/dist/cjs/utils/orderMath.d.ts +6 -0
- package/dist/cjs/utils/orderMath.d.ts.map +1 -0
- package/dist/cjs/utils/orderMath.js +71 -0
- package/dist/cjs/utils/orderMath.js.map +1 -0
- package/dist/cjs/utils/parse.d.ts +2 -0
- package/dist/cjs/utils/parse.d.ts.map +1 -0
- package/dist/cjs/utils/parse.js +14 -0
- package/dist/cjs/utils/parse.js.map +1 -0
- package/dist/cjs/utils/positionMath.d.ts +32 -0
- package/dist/cjs/utils/positionMath.d.ts.map +1 -0
- package/dist/cjs/utils/positionMath.js +52 -0
- package/dist/cjs/utils/positionMath.js.map +1 -0
- package/dist/cjs/utils/signTypedData.d.ts +3 -1
- package/dist/cjs/utils/signTypedData.d.ts.map +1 -1
- package/dist/cjs/utils/signTypedData.js +11 -3
- package/dist/cjs/utils/signTypedData.js.map +1 -1
- package/dist/cjs/utils/sleep.d.ts.map +1 -1
- package/dist/cjs/utils/sleep.js.map +1 -1
- package/dist/cjs/utils/units.d.ts +3 -0
- package/dist/cjs/utils/units.d.ts.map +1 -0
- package/dist/cjs/utils/units.js +18 -0
- package/dist/cjs/utils/units.js.map +1 -0
- package/dist/cjs/utils/validation.d.ts +2 -0
- package/dist/cjs/utils/validation.d.ts.map +1 -0
- package/dist/cjs/utils/validation.js +16 -0
- package/dist/cjs/utils/validation.js.map +1 -0
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.d.ts.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/websocket/PerpsWsClient.d.ts +27 -0
- package/dist/cjs/websocket/PerpsWsClient.d.ts.map +1 -0
- package/dist/cjs/websocket/PerpsWsClient.js +84 -0
- package/dist/cjs/websocket/PerpsWsClient.js.map +1 -0
- package/dist/{esm/realtime → cjs/websocket}/ReconnectingWebSocket.d.ts +23 -7
- package/dist/cjs/websocket/ReconnectingWebSocket.d.ts.map +1 -0
- package/dist/cjs/websocket/ReconnectingWebSocket.js +213 -0
- package/dist/cjs/websocket/ReconnectingWebSocket.js.map +1 -0
- package/dist/cjs/websocket/WsProviderBase.d.ts +31 -0
- package/dist/cjs/websocket/WsProviderBase.d.ts.map +1 -0
- package/dist/cjs/websocket/WsProviderBase.js +197 -0
- package/dist/cjs/websocket/WsProviderBase.js.map +1 -0
- package/dist/cjs/websocket/cachePromise.d.ts +2 -0
- package/dist/cjs/websocket/cachePromise.d.ts.map +1 -0
- package/dist/cjs/websocket/cachePromise.js +18 -0
- package/dist/cjs/websocket/cachePromise.js.map +1 -0
- package/dist/cjs/websocket/types.d.ts +15 -0
- package/dist/cjs/websocket/types.d.ts.map +1 -0
- package/dist/cjs/{dex → websocket}/types.js.map +1 -1
- package/dist/cjs/websocket/wsLog.d.ts +10 -0
- package/dist/cjs/websocket/wsLog.d.ts.map +1 -0
- package/dist/cjs/websocket/wsLog.js +31 -0
- package/dist/cjs/websocket/wsLog.js.map +1 -0
- package/dist/esm/client/PerpsClient.d.ts +223 -136
- package/dist/esm/client/PerpsClient.d.ts.map +1 -1
- package/dist/esm/client/PerpsClient.js +399 -339
- package/dist/esm/client/PerpsClient.js.map +1 -1
- package/dist/esm/client/bindProvider.d.ts +13 -0
- package/dist/esm/client/bindProvider.d.ts.map +1 -0
- package/dist/esm/client/bindProvider.js +16 -0
- package/dist/esm/client/bindProvider.js.map +1 -0
- package/dist/esm/client/createPerpsClient.d.ts +24 -64
- package/dist/esm/client/createPerpsClient.d.ts.map +1 -1
- package/dist/esm/client/createPerpsClient.js +45 -17
- package/dist/esm/client/createPerpsClient.js.map +1 -1
- package/dist/esm/client/requireProvider.d.ts +12 -0
- package/dist/esm/client/requireProvider.d.ts.map +1 -0
- package/dist/esm/client/requireProvider.js +22 -0
- package/dist/esm/client/requireProvider.js.map +1 -0
- package/dist/esm/errors/PerpsError.d.ts +10 -3
- package/dist/esm/errors/PerpsError.d.ts.map +1 -1
- package/dist/esm/errors/PerpsError.js +11 -15
- package/dist/esm/errors/PerpsError.js.map +1 -1
- package/dist/esm/errors/constants.d.ts +8 -12
- package/dist/esm/errors/constants.d.ts.map +1 -1
- package/dist/esm/errors/constants.js +8 -13
- package/dist/esm/errors/constants.js.map +1 -1
- package/dist/esm/index.d.ts +66 -34
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +49 -29
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/registry/assetRegistry.d.ts +25 -0
- package/dist/esm/registry/assetRegistry.d.ts.map +1 -0
- package/dist/esm/registry/assetRegistry.js +48 -0
- package/dist/esm/registry/assetRegistry.js.map +1 -0
- package/dist/esm/registry/marketRegistry.d.ts +42 -0
- package/dist/esm/registry/marketRegistry.d.ts.map +1 -0
- package/dist/esm/registry/marketRegistry.js +81 -0
- package/dist/esm/registry/marketRegistry.js.map +1 -0
- package/dist/esm/registry/referenceDataRegistry.d.ts +44 -0
- package/dist/esm/registry/referenceDataRegistry.d.ts.map +1 -0
- package/dist/esm/registry/referenceDataRegistry.js +79 -0
- package/dist/esm/registry/referenceDataRegistry.js.map +1 -0
- package/dist/esm/services/createAction.d.ts +26 -0
- package/dist/esm/services/createAction.d.ts.map +1 -0
- package/dist/esm/services/createAction.js +22 -0
- package/dist/esm/services/createAction.js.map +1 -0
- package/dist/esm/services/executeAction.d.ts +26 -0
- package/dist/esm/services/executeAction.d.ts.map +1 -0
- package/dist/esm/services/executeAction.js +26 -0
- package/dist/esm/services/executeAction.js.map +1 -0
- package/dist/esm/services/getAccount.d.ts +21 -18
- package/dist/esm/services/getAccount.d.ts.map +1 -1
- package/dist/esm/services/getAccount.js +13 -19
- package/dist/esm/services/getAccount.js.map +1 -1
- package/dist/esm/services/getActivity.d.ts +39 -0
- package/dist/esm/services/getActivity.d.ts.map +1 -0
- package/dist/esm/services/getActivity.js +29 -0
- package/dist/esm/services/getActivity.js.map +1 -0
- package/dist/esm/services/getAssets.d.ts +27 -0
- package/dist/esm/services/getAssets.d.ts.map +1 -0
- package/dist/esm/services/getAssets.js +22 -0
- package/dist/esm/services/getAssets.js.map +1 -0
- package/dist/esm/services/getFills.d.ts +38 -0
- package/dist/esm/services/getFills.d.ts.map +1 -0
- package/dist/esm/services/getFills.js +28 -0
- package/dist/esm/services/getFills.js.map +1 -0
- package/dist/esm/services/getMarket.d.ts +22 -15
- package/dist/esm/services/getMarket.d.ts.map +1 -1
- package/dist/esm/services/getMarket.js +14 -14
- package/dist/esm/services/getMarket.js.map +1 -1
- package/dist/esm/services/getMarkets.d.ts +16 -13
- package/dist/esm/services/getMarkets.d.ts.map +1 -1
- package/dist/esm/services/getMarkets.js +11 -12
- package/dist/esm/services/getMarkets.js.map +1 -1
- package/dist/esm/services/getMeta.d.ts +19 -0
- package/dist/esm/services/getMeta.d.ts.map +1 -0
- package/dist/esm/services/getMeta.js +19 -0
- package/dist/esm/services/getMeta.js.map +1 -0
- package/dist/esm/services/getOhlcv.d.ts +17 -21
- package/dist/esm/services/getOhlcv.d.ts.map +1 -1
- package/dist/esm/services/getOhlcv.js +9 -15
- package/dist/esm/services/getOhlcv.js.map +1 -1
- package/dist/esm/services/getOrder.d.ts +18 -18
- package/dist/esm/services/getOrder.d.ts.map +1 -1
- package/dist/esm/services/getOrder.js +10 -18
- package/dist/esm/services/getOrder.js.map +1 -1
- package/dist/esm/services/getOrderbook.d.ts +14 -24
- package/dist/esm/services/getOrderbook.d.ts.map +1 -1
- package/dist/esm/services/getOrderbook.js +8 -22
- package/dist/esm/services/getOrderbook.js.map +1 -1
- package/dist/esm/services/getOrders.d.ts +35 -0
- package/dist/esm/services/getOrders.d.ts.map +1 -0
- package/dist/esm/services/getOrders.js +26 -0
- package/dist/esm/services/getOrders.js.map +1 -0
- package/dist/esm/services/getPositions.d.ts +35 -0
- package/dist/esm/services/getPositions.d.ts.map +1 -0
- package/dist/esm/services/getPositions.js +26 -0
- package/dist/esm/services/getPositions.js.map +1 -0
- package/dist/esm/services/getPrices.d.ts +13 -25
- package/dist/esm/services/getPrices.d.ts.map +1 -1
- package/dist/esm/services/getPrices.js +6 -23
- package/dist/esm/services/getPrices.js.map +1 -1
- package/dist/esm/services/getProviders.d.ts +20 -0
- package/dist/esm/services/getProviders.d.ts.map +1 -0
- package/dist/esm/services/getProviders.js +20 -0
- package/dist/esm/services/getProviders.js.map +1 -0
- package/dist/esm/services/getQuote.d.ts +42 -0
- package/dist/esm/services/getQuote.d.ts.map +1 -0
- package/dist/esm/services/getQuote.js +33 -0
- package/dist/esm/services/getQuote.js.map +1 -0
- package/dist/esm/services/getTermsAcceptance.d.ts +24 -0
- package/dist/esm/services/getTermsAcceptance.d.ts.map +1 -0
- package/dist/esm/services/getTermsAcceptance.js +24 -0
- package/dist/esm/services/getTermsAcceptance.js.map +1 -0
- package/dist/esm/services/resolveQuote.d.ts +36 -0
- package/dist/esm/services/resolveQuote.d.ts.map +1 -0
- package/dist/esm/services/resolveQuote.js +74 -0
- package/dist/esm/services/resolveQuote.js.map +1 -0
- package/dist/esm/services/resolveSubscribeQuote.d.ts +31 -0
- package/dist/esm/services/resolveSubscribeQuote.d.ts.map +1 -0
- package/dist/esm/services/resolveSubscribeQuote.js +86 -0
- package/dist/esm/services/resolveSubscribeQuote.js.map +1 -0
- package/dist/esm/storage/parseStoredRecord.d.ts +29 -0
- package/dist/esm/storage/parseStoredRecord.d.ts.map +1 -0
- package/dist/esm/storage/parseStoredRecord.js +47 -0
- package/dist/esm/storage/parseStoredRecord.js.map +1 -0
- package/dist/{types/agent → esm/storage}/storage.d.ts +6 -3
- package/dist/esm/storage/storage.d.ts.map +1 -0
- package/dist/esm/{agent → storage}/storage.js +6 -4
- package/dist/esm/storage/storage.js.map +1 -0
- package/dist/esm/storage/types.d.ts +14 -0
- package/dist/esm/storage/types.d.ts.map +1 -0
- package/dist/{cjs/client → esm/storage}/types.js.map +1 -1
- package/dist/esm/transport/fetchWithRetry.d.ts +22 -0
- package/dist/esm/transport/fetchWithRetry.d.ts.map +1 -0
- package/dist/esm/transport/fetchWithRetry.js +87 -0
- package/dist/esm/transport/fetchWithRetry.js.map +1 -0
- package/dist/esm/transport/request.d.ts +25 -0
- package/dist/esm/transport/request.d.ts.map +1 -0
- package/dist/esm/transport/request.js +82 -0
- package/dist/esm/transport/request.js.map +1 -0
- package/dist/esm/transport/retryPolicy.d.ts +106 -0
- package/dist/esm/transport/retryPolicy.d.ts.map +1 -0
- package/dist/esm/transport/retryPolicy.js +99 -0
- package/dist/esm/transport/retryPolicy.js.map +1 -0
- package/dist/esm/types/api.d.ts +214 -0
- package/dist/esm/types/api.d.ts.map +1 -0
- package/dist/esm/types/api.js +2 -0
- package/dist/esm/types/api.js.map +1 -0
- package/dist/esm/types/config.d.ts +70 -0
- package/dist/esm/types/config.d.ts.map +1 -0
- package/dist/esm/types/config.js +2 -0
- package/dist/esm/types/config.js.map +1 -0
- package/dist/esm/types/provider.d.ts +330 -0
- package/dist/esm/types/provider.d.ts.map +1 -0
- package/dist/esm/types/provider.js +2 -0
- package/dist/esm/types/provider.js.map +1 -0
- package/dist/esm/utils/accountSummary.d.ts +13 -0
- package/dist/esm/utils/accountSummary.d.ts.map +1 -0
- package/dist/esm/utils/accountSummary.js +32 -0
- package/dist/esm/utils/accountSummary.js.map +1 -0
- package/dist/esm/utils/assertNever.d.ts +20 -0
- package/dist/esm/utils/assertNever.d.ts.map +1 -0
- package/dist/esm/utils/assertNever.js +22 -0
- package/dist/esm/utils/assertNever.js.map +1 -0
- package/dist/esm/utils/calculations.d.ts +225 -0
- package/dist/esm/utils/calculations.d.ts.map +1 -0
- package/dist/esm/utils/calculations.js +291 -0
- package/dist/esm/utils/calculations.js.map +1 -0
- package/dist/esm/utils/depositChain.d.ts +25 -0
- package/dist/esm/utils/depositChain.d.ts.map +1 -0
- package/dist/esm/utils/depositChain.js +23 -0
- package/dist/esm/utils/depositChain.js.map +1 -0
- package/dist/esm/utils/explorer.d.ts +33 -0
- package/dist/esm/utils/explorer.d.ts.map +1 -0
- package/dist/esm/utils/explorer.js +38 -0
- package/dist/esm/utils/explorer.js.map +1 -0
- package/dist/esm/utils/fillClassification.d.ts +13 -0
- package/dist/esm/utils/fillClassification.d.ts.map +1 -0
- package/dist/esm/utils/fillClassification.js +44 -0
- package/dist/esm/utils/fillClassification.js.map +1 -0
- package/dist/esm/utils/format.d.ts +66 -0
- package/dist/esm/utils/format.d.ts.map +1 -0
- package/dist/esm/utils/format.js +171 -0
- package/dist/esm/utils/format.js.map +1 -0
- package/dist/esm/utils/orderClassification.d.ts +47 -0
- package/dist/esm/utils/orderClassification.d.ts.map +1 -0
- package/dist/esm/utils/orderClassification.js +78 -0
- package/dist/esm/utils/orderClassification.js.map +1 -0
- package/dist/esm/utils/orderMath.d.ts +44 -0
- package/dist/esm/utils/orderMath.d.ts.map +1 -0
- package/dist/esm/utils/orderMath.js +103 -0
- package/dist/esm/utils/orderMath.js.map +1 -0
- package/dist/esm/utils/parse.d.ts +21 -0
- package/dist/esm/utils/parse.d.ts.map +1 -0
- package/dist/esm/utils/parse.js +30 -0
- package/dist/esm/utils/parse.js.map +1 -0
- package/dist/esm/utils/positionMath.d.ts +107 -0
- package/dist/esm/utils/positionMath.d.ts.map +1 -0
- package/dist/esm/utils/positionMath.js +119 -0
- package/dist/esm/utils/positionMath.js.map +1 -0
- package/dist/esm/utils/signTypedData.d.ts +13 -10
- package/dist/esm/utils/signTypedData.d.ts.map +1 -1
- package/dist/esm/utils/signTypedData.js +20 -13
- package/dist/esm/utils/signTypedData.js.map +1 -1
- package/dist/esm/utils/sleep.d.ts +5 -0
- package/dist/esm/utils/sleep.d.ts.map +1 -1
- package/dist/esm/utils/sleep.js +5 -0
- package/dist/esm/utils/sleep.js.map +1 -1
- package/dist/esm/utils/units.d.ts +27 -0
- package/dist/esm/utils/units.d.ts.map +1 -0
- package/dist/esm/utils/units.js +38 -0
- package/dist/esm/utils/units.js.map +1 -0
- package/dist/esm/utils/validation.d.ts +18 -0
- package/dist/esm/utils/validation.d.ts.map +1 -0
- package/dist/esm/utils/validation.js +29 -0
- package/dist/esm/utils/validation.js.map +1 -0
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.d.ts.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/websocket/PerpsWsClient.d.ts +100 -0
- package/dist/esm/websocket/PerpsWsClient.d.ts.map +1 -0
- package/dist/esm/websocket/PerpsWsClient.js +121 -0
- package/dist/esm/websocket/PerpsWsClient.js.map +1 -0
- package/dist/esm/websocket/ReconnectingWebSocket.d.ts +130 -0
- package/dist/esm/websocket/ReconnectingWebSocket.d.ts.map +1 -0
- package/dist/esm/websocket/ReconnectingWebSocket.js +288 -0
- package/dist/esm/websocket/ReconnectingWebSocket.js.map +1 -0
- package/dist/esm/websocket/WsProviderBase.d.ts +89 -0
- package/dist/esm/websocket/WsProviderBase.d.ts.map +1 -0
- package/dist/esm/websocket/WsProviderBase.js +246 -0
- package/dist/esm/websocket/WsProviderBase.js.map +1 -0
- package/dist/esm/websocket/cachePromise.d.ts +14 -0
- package/dist/esm/websocket/cachePromise.d.ts.map +1 -0
- package/dist/esm/websocket/cachePromise.js +27 -0
- package/dist/esm/websocket/cachePromise.js.map +1 -0
- package/dist/esm/websocket/types.d.ts +60 -0
- package/dist/esm/websocket/types.d.ts.map +1 -0
- package/dist/{cjs/realtime → esm/websocket}/types.js.map +1 -1
- package/dist/esm/websocket/wsLog.d.ts +50 -0
- package/dist/esm/websocket/wsLog.d.ts.map +1 -0
- package/dist/esm/websocket/wsLog.js +68 -0
- package/dist/esm/websocket/wsLog.js.map +1 -0
- package/dist/types/client/PerpsClient.d.ts +223 -136
- package/dist/types/client/PerpsClient.d.ts.map +1 -1
- package/dist/types/client/bindProvider.d.ts +13 -0
- package/dist/types/client/bindProvider.d.ts.map +1 -0
- package/dist/types/client/createPerpsClient.d.ts +24 -64
- package/dist/types/client/createPerpsClient.d.ts.map +1 -1
- package/dist/types/client/requireProvider.d.ts +12 -0
- package/dist/types/client/requireProvider.d.ts.map +1 -0
- package/dist/types/errors/PerpsError.d.ts +10 -3
- package/dist/types/errors/PerpsError.d.ts.map +1 -1
- package/dist/types/errors/constants.d.ts +8 -12
- package/dist/types/errors/constants.d.ts.map +1 -1
- package/dist/types/index.d.ts +66 -34
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/registry/assetRegistry.d.ts +25 -0
- package/dist/types/registry/assetRegistry.d.ts.map +1 -0
- package/dist/types/registry/marketRegistry.d.ts +42 -0
- package/dist/types/registry/marketRegistry.d.ts.map +1 -0
- package/dist/types/registry/referenceDataRegistry.d.ts +44 -0
- package/dist/types/registry/referenceDataRegistry.d.ts.map +1 -0
- package/dist/types/services/createAction.d.ts +26 -0
- package/dist/types/services/createAction.d.ts.map +1 -0
- package/dist/types/services/executeAction.d.ts +26 -0
- package/dist/types/services/executeAction.d.ts.map +1 -0
- package/dist/types/services/getAccount.d.ts +21 -18
- package/dist/types/services/getAccount.d.ts.map +1 -1
- package/dist/types/services/getActivity.d.ts +39 -0
- package/dist/types/services/getActivity.d.ts.map +1 -0
- package/dist/types/services/getAssets.d.ts +27 -0
- package/dist/types/services/getAssets.d.ts.map +1 -0
- package/dist/types/services/getFills.d.ts +38 -0
- package/dist/types/services/getFills.d.ts.map +1 -0
- package/dist/types/services/getMarket.d.ts +22 -15
- package/dist/types/services/getMarket.d.ts.map +1 -1
- package/dist/types/services/getMarkets.d.ts +16 -13
- package/dist/types/services/getMarkets.d.ts.map +1 -1
- package/dist/types/services/getMeta.d.ts +19 -0
- package/dist/types/services/getMeta.d.ts.map +1 -0
- package/dist/types/services/getOhlcv.d.ts +17 -21
- package/dist/types/services/getOhlcv.d.ts.map +1 -1
- package/dist/types/services/getOrder.d.ts +18 -18
- package/dist/types/services/getOrder.d.ts.map +1 -1
- package/dist/types/services/getOrderbook.d.ts +14 -24
- package/dist/types/services/getOrderbook.d.ts.map +1 -1
- package/dist/types/services/getOrders.d.ts +35 -0
- package/dist/types/services/getOrders.d.ts.map +1 -0
- package/dist/types/services/getPositions.d.ts +35 -0
- package/dist/types/services/getPositions.d.ts.map +1 -0
- package/dist/types/services/getPrices.d.ts +13 -25
- package/dist/types/services/getPrices.d.ts.map +1 -1
- package/dist/types/services/getProviders.d.ts +20 -0
- package/dist/types/services/getProviders.d.ts.map +1 -0
- package/dist/types/services/getQuote.d.ts +42 -0
- package/dist/types/services/getQuote.d.ts.map +1 -0
- package/dist/types/services/getTermsAcceptance.d.ts +24 -0
- package/dist/types/services/getTermsAcceptance.d.ts.map +1 -0
- package/dist/types/services/resolveQuote.d.ts +36 -0
- package/dist/types/services/resolveQuote.d.ts.map +1 -0
- package/dist/types/services/resolveSubscribeQuote.d.ts +31 -0
- package/dist/types/services/resolveSubscribeQuote.d.ts.map +1 -0
- package/dist/types/storage/parseStoredRecord.d.ts +29 -0
- package/dist/types/storage/parseStoredRecord.d.ts.map +1 -0
- package/dist/{esm/agent → types/storage}/storage.d.ts +6 -3
- package/dist/types/storage/storage.d.ts.map +1 -0
- package/dist/types/storage/types.d.ts +14 -0
- package/dist/types/storage/types.d.ts.map +1 -0
- package/dist/types/transport/fetchWithRetry.d.ts +22 -0
- package/dist/types/transport/fetchWithRetry.d.ts.map +1 -0
- package/dist/types/transport/request.d.ts +25 -0
- package/dist/types/transport/request.d.ts.map +1 -0
- package/dist/types/transport/retryPolicy.d.ts +106 -0
- package/dist/types/transport/retryPolicy.d.ts.map +1 -0
- package/dist/types/types/api.d.ts +214 -0
- package/dist/types/types/api.d.ts.map +1 -0
- package/dist/types/types/config.d.ts +70 -0
- package/dist/types/types/config.d.ts.map +1 -0
- package/dist/types/types/provider.d.ts +330 -0
- package/dist/types/types/provider.d.ts.map +1 -0
- package/dist/types/utils/accountSummary.d.ts +13 -0
- package/dist/types/utils/accountSummary.d.ts.map +1 -0
- package/dist/types/utils/assertNever.d.ts +20 -0
- package/dist/types/utils/assertNever.d.ts.map +1 -0
- package/dist/types/utils/calculations.d.ts +225 -0
- package/dist/types/utils/calculations.d.ts.map +1 -0
- package/dist/types/utils/depositChain.d.ts +25 -0
- package/dist/types/utils/depositChain.d.ts.map +1 -0
- package/dist/types/utils/explorer.d.ts +33 -0
- package/dist/types/utils/explorer.d.ts.map +1 -0
- package/dist/types/utils/fillClassification.d.ts +13 -0
- package/dist/types/utils/fillClassification.d.ts.map +1 -0
- package/dist/types/utils/format.d.ts +66 -0
- package/dist/types/utils/format.d.ts.map +1 -0
- package/dist/types/utils/orderClassification.d.ts +47 -0
- package/dist/types/utils/orderClassification.d.ts.map +1 -0
- package/dist/types/utils/orderMath.d.ts +44 -0
- package/dist/types/utils/orderMath.d.ts.map +1 -0
- package/dist/types/utils/parse.d.ts +21 -0
- package/dist/types/utils/parse.d.ts.map +1 -0
- package/dist/types/utils/positionMath.d.ts +107 -0
- package/dist/types/utils/positionMath.d.ts.map +1 -0
- package/dist/types/utils/signTypedData.d.ts +13 -10
- package/dist/types/utils/signTypedData.d.ts.map +1 -1
- package/dist/types/utils/sleep.d.ts +5 -0
- package/dist/types/utils/sleep.d.ts.map +1 -1
- package/dist/types/utils/units.d.ts +27 -0
- package/dist/types/utils/units.d.ts.map +1 -0
- package/dist/types/utils/validation.d.ts +18 -0
- package/dist/types/utils/validation.d.ts.map +1 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/types/version.d.ts.map +1 -1
- package/dist/types/websocket/PerpsWsClient.d.ts +100 -0
- package/dist/types/websocket/PerpsWsClient.d.ts.map +1 -0
- package/dist/types/websocket/ReconnectingWebSocket.d.ts +130 -0
- package/dist/types/websocket/ReconnectingWebSocket.d.ts.map +1 -0
- package/dist/types/websocket/WsProviderBase.d.ts +89 -0
- package/dist/types/websocket/WsProviderBase.d.ts.map +1 -0
- package/dist/types/websocket/cachePromise.d.ts +14 -0
- package/dist/types/websocket/cachePromise.d.ts.map +1 -0
- package/dist/types/websocket/types.d.ts +60 -0
- package/dist/types/websocket/types.d.ts.map +1 -0
- package/dist/types/websocket/wsLog.d.ts +50 -0
- package/dist/types/websocket/wsLog.d.ts.map +1 -0
- package/package.json +12 -50
- package/src/client/PerpsClient.ts +549 -435
- package/src/client/bindProvider.ts +24 -0
- package/src/client/createPerpsClient.ts +61 -80
- package/src/client/requireProvider.ts +29 -0
- package/src/errors/PerpsError.ts +11 -22
- package/src/errors/constants.ts +8 -13
- package/src/index.ts +189 -65
- package/src/registry/assetRegistry.ts +62 -0
- package/src/registry/marketRegistry.ts +100 -0
- package/src/registry/referenceDataRegistry.ts +95 -0
- package/src/services/createAction.ts +52 -0
- package/src/services/executeAction.ts +56 -0
- package/src/services/getAccount.ts +26 -27
- package/src/services/getActivity.ts +57 -0
- package/src/services/getAssets.ts +38 -0
- package/src/services/getFills.ts +55 -0
- package/src/services/getMarket.ts +34 -23
- package/src/services/getMarkets.ts +21 -18
- package/src/services/getMeta.ts +30 -0
- package/src/services/getOhlcv.ts +21 -27
- package/src/services/getOrder.ts +23 -27
- package/src/services/getOrderbook.ts +18 -30
- package/src/services/getOrders.ts +51 -0
- package/src/services/getPositions.ts +51 -0
- package/src/services/getPrices.ts +16 -31
- package/src/services/getProviders.ts +31 -0
- package/src/services/getQuote.ts +58 -0
- package/src/services/getTermsAcceptance.ts +32 -0
- package/src/services/resolveQuote.ts +122 -0
- package/src/services/resolveSubscribeQuote.ts +109 -0
- package/src/storage/parseStoredRecord.ts +55 -0
- package/src/{agent → storage}/storage.ts +6 -4
- package/src/storage/types.ts +13 -0
- package/src/transport/fetchWithRetry.ts +116 -0
- package/src/transport/request.ts +123 -0
- package/src/transport/retryPolicy.ts +202 -0
- package/src/types/api.ts +239 -0
- package/src/types/config.ts +79 -0
- package/src/types/provider.ts +429 -0
- package/src/utils/accountSummary.ts +46 -0
- package/src/utils/assertNever.ts +23 -0
- package/src/utils/calculations.ts +406 -0
- package/src/utils/depositChain.ts +37 -0
- package/src/utils/explorer.ts +51 -0
- package/src/utils/fillClassification.ts +51 -0
- package/src/utils/format.ts +212 -0
- package/src/utils/orderClassification.ts +96 -0
- package/src/utils/orderMath.ts +134 -0
- package/src/utils/parse.ts +29 -0
- package/src/utils/positionMath.ts +149 -0
- package/src/utils/signTypedData.ts +25 -15
- package/src/utils/sleep.ts +5 -0
- package/src/utils/units.ts +39 -0
- package/src/utils/validation.ts +38 -0
- package/src/version.ts +1 -1
- package/src/websocket/PerpsWsClient.ts +204 -0
- package/src/websocket/ReconnectingWebSocket.ts +353 -0
- package/src/websocket/WsProviderBase.ts +333 -0
- package/src/websocket/cachePromise.ts +30 -0
- package/src/websocket/types.ts +75 -0
- package/src/websocket/wsLog.ts +82 -0
- package/dist/cjs/agent/AgentManager.d.ts +0 -15
- package/dist/cjs/agent/AgentManager.d.ts.map +0 -1
- package/dist/cjs/agent/AgentManager.js +0 -80
- package/dist/cjs/agent/AgentManager.js.map +0 -1
- package/dist/cjs/agent/storage.d.ts.map +0 -1
- package/dist/cjs/agent/storage.js.map +0 -1
- package/dist/cjs/agent/types.d.ts.map +0 -1
- package/dist/cjs/client/types.d.ts +0 -62
- package/dist/cjs/client/types.d.ts.map +0 -1
- package/dist/cjs/dex/hyperliquid.d.ts +0 -3
- package/dist/cjs/dex/hyperliquid.d.ts.map +0 -1
- package/dist/cjs/dex/hyperliquid.js +0 -21
- package/dist/cjs/dex/hyperliquid.js.map +0 -1
- package/dist/cjs/dex/registry.d.ts +0 -3
- package/dist/cjs/dex/registry.d.ts.map +0 -1
- package/dist/cjs/dex/registry.js +0 -16
- package/dist/cjs/dex/registry.js.map +0 -1
- package/dist/cjs/dex/types.d.ts +0 -13
- package/dist/cjs/dex/types.d.ts.map +0 -1
- package/dist/cjs/errors/AgentError.d.ts +0 -10
- package/dist/cjs/errors/AgentError.d.ts.map +0 -1
- package/dist/cjs/errors/AgentError.js +0 -23
- package/dist/cjs/errors/AgentError.js.map +0 -1
- package/dist/cjs/errors/HTTPError.d.ts +0 -11
- package/dist/cjs/errors/HTTPError.d.ts.map +0 -1
- package/dist/cjs/errors/HTTPError.js +0 -62
- package/dist/cjs/errors/HTTPError.js.map +0 -1
- package/dist/cjs/errors/PerpsSDKError.d.ts +0 -9
- package/dist/cjs/errors/PerpsSDKError.d.ts.map +0 -1
- package/dist/cjs/errors/PerpsSDKError.js +0 -36
- package/dist/cjs/errors/PerpsSDKError.js.map +0 -1
- package/dist/cjs/errors/ServerError.d.ts +0 -10
- package/dist/cjs/errors/ServerError.d.ts.map +0 -1
- package/dist/cjs/errors/ServerError.js +0 -24
- package/dist/cjs/errors/ServerError.js.map +0 -1
- package/dist/cjs/errors/ValidationError.d.ts +0 -9
- package/dist/cjs/errors/ValidationError.d.ts.map +0 -1
- package/dist/cjs/errors/ValidationError.js +0 -23
- package/dist/cjs/errors/ValidationError.js.map +0 -1
- package/dist/cjs/errors/utils/rootCause.d.ts +0 -6
- package/dist/cjs/errors/utils/rootCause.d.ts.map +0 -1
- package/dist/cjs/errors/utils/rootCause.js +0 -41
- package/dist/cjs/errors/utils/rootCause.js.map +0 -1
- package/dist/cjs/realtime/PerpsWsClient.d.ts +0 -14
- package/dist/cjs/realtime/PerpsWsClient.d.ts.map +0 -1
- package/dist/cjs/realtime/PerpsWsClient.js +0 -56
- package/dist/cjs/realtime/PerpsWsClient.js.map +0 -1
- package/dist/cjs/realtime/ReconnectingWebSocket.d.ts +0 -36
- package/dist/cjs/realtime/ReconnectingWebSocket.d.ts.map +0 -1
- package/dist/cjs/realtime/ReconnectingWebSocket.js +0 -132
- package/dist/cjs/realtime/ReconnectingWebSocket.js.map +0 -1
- package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.d.ts +0 -26
- package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.d.ts.map +0 -1
- package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.js +0 -225
- package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.js.map +0 -1
- package/dist/cjs/realtime/hyperliquid/types.d.ts +0 -35
- package/dist/cjs/realtime/hyperliquid/types.d.ts.map +0 -1
- package/dist/cjs/realtime/hyperliquid/types.js.map +0 -1
- package/dist/cjs/realtime/types.d.ts +0 -10
- package/dist/cjs/realtime/types.d.ts.map +0 -1
- package/dist/cjs/realtime/types.js +0 -3
- package/dist/cjs/services/cancelOrder.d.ts +0 -10
- package/dist/cjs/services/cancelOrder.d.ts.map +0 -1
- package/dist/cjs/services/cancelOrder.js +0 -16
- package/dist/cjs/services/cancelOrder.js.map +0 -1
- package/dist/cjs/services/createAuthorization.d.ts +0 -10
- package/dist/cjs/services/createAuthorization.d.ts.map +0 -1
- package/dist/cjs/services/createAuthorization.js +0 -16
- package/dist/cjs/services/createAuthorization.js.map +0 -1
- package/dist/cjs/services/createOrder.d.ts +0 -21
- package/dist/cjs/services/createOrder.d.ts.map +0 -1
- package/dist/cjs/services/createOrder.js +0 -27
- package/dist/cjs/services/createOrder.js.map +0 -1
- package/dist/cjs/services/createWithdrawal.d.ts +0 -9
- package/dist/cjs/services/createWithdrawal.d.ts.map +0 -1
- package/dist/cjs/services/createWithdrawal.js +0 -15
- package/dist/cjs/services/createWithdrawal.js.map +0 -1
- package/dist/cjs/services/getDexes.d.ts +0 -4
- package/dist/cjs/services/getDexes.d.ts.map +0 -1
- package/dist/cjs/services/getDexes.js +0 -8
- package/dist/cjs/services/getDexes.js.map +0 -1
- package/dist/cjs/services/getHistory.d.ts +0 -10
- package/dist/cjs/services/getHistory.d.ts.map +0 -1
- package/dist/cjs/services/getHistory.js +0 -14
- package/dist/cjs/services/getHistory.js.map +0 -1
- package/dist/cjs/services/submitAuthorization.d.ts +0 -10
- package/dist/cjs/services/submitAuthorization.d.ts.map +0 -1
- package/dist/cjs/services/submitAuthorization.js.map +0 -1
- package/dist/cjs/services/submitOrder.d.ts +0 -10
- package/dist/cjs/services/submitOrder.d.ts.map +0 -1
- package/dist/cjs/services/submitOrder.js +0 -16
- package/dist/cjs/services/submitOrder.js.map +0 -1
- package/dist/cjs/services/submitWithdrawal.d.ts +0 -9
- package/dist/cjs/services/submitWithdrawal.d.ts.map +0 -1
- package/dist/cjs/services/submitWithdrawal.js +0 -15
- package/dist/cjs/services/submitWithdrawal.js.map +0 -1
- package/dist/cjs/utils/request.d.ts.map +0 -1
- package/dist/cjs/utils/request.js +0 -60
- package/dist/cjs/utils/request.js.map +0 -1
- package/dist/esm/agent/AgentManager.d.ts +0 -45
- package/dist/esm/agent/AgentManager.d.ts.map +0 -1
- package/dist/esm/agent/AgentManager.js +0 -110
- package/dist/esm/agent/AgentManager.js.map +0 -1
- package/dist/esm/agent/storage.d.ts.map +0 -1
- package/dist/esm/agent/storage.js.map +0 -1
- package/dist/esm/agent/types.d.ts +0 -23
- package/dist/esm/agent/types.d.ts.map +0 -1
- package/dist/esm/agent/types.js.map +0 -1
- package/dist/esm/client/types.d.ts +0 -134
- package/dist/esm/client/types.d.ts.map +0 -1
- package/dist/esm/client/types.js.map +0 -1
- package/dist/esm/dex/hyperliquid.d.ts +0 -3
- package/dist/esm/dex/hyperliquid.d.ts.map +0 -1
- package/dist/esm/dex/hyperliquid.js +0 -19
- package/dist/esm/dex/hyperliquid.js.map +0 -1
- package/dist/esm/dex/registry.d.ts +0 -3
- package/dist/esm/dex/registry.d.ts.map +0 -1
- package/dist/esm/dex/registry.js +0 -13
- package/dist/esm/dex/registry.js.map +0 -1
- package/dist/esm/dex/types.d.ts +0 -15
- package/dist/esm/dex/types.d.ts.map +0 -1
- package/dist/esm/dex/types.js +0 -2
- package/dist/esm/dex/types.js.map +0 -1
- package/dist/esm/errors/AgentError.d.ts +0 -25
- package/dist/esm/errors/AgentError.d.ts.map +0 -1
- package/dist/esm/errors/AgentError.js +0 -35
- package/dist/esm/errors/AgentError.js.map +0 -1
- package/dist/esm/errors/HTTPError.d.ts +0 -11
- package/dist/esm/errors/HTTPError.d.ts.map +0 -1
- package/dist/esm/errors/HTTPError.js +0 -61
- package/dist/esm/errors/HTTPError.js.map +0 -1
- package/dist/esm/errors/PerpsSDKError.d.ts +0 -40
- package/dist/esm/errors/PerpsSDKError.d.ts.map +0 -1
- package/dist/esm/errors/PerpsSDKError.js +0 -67
- package/dist/esm/errors/PerpsSDKError.js.map +0 -1
- package/dist/esm/errors/ServerError.d.ts +0 -23
- package/dist/esm/errors/ServerError.d.ts.map +0 -1
- package/dist/esm/errors/ServerError.js +0 -34
- package/dist/esm/errors/ServerError.js.map +0 -1
- package/dist/esm/errors/ValidationError.d.ts +0 -23
- package/dist/esm/errors/ValidationError.d.ts.map +0 -1
- package/dist/esm/errors/ValidationError.js +0 -34
- package/dist/esm/errors/ValidationError.js.map +0 -1
- package/dist/esm/errors/utils/rootCause.d.ts +0 -71
- package/dist/esm/errors/utils/rootCause.d.ts.map +0 -1
- package/dist/esm/errors/utils/rootCause.js +0 -99
- package/dist/esm/errors/utils/rootCause.js.map +0 -1
- package/dist/esm/realtime/PerpsWsClient.d.ts +0 -14
- package/dist/esm/realtime/PerpsWsClient.d.ts.map +0 -1
- package/dist/esm/realtime/PerpsWsClient.js +0 -52
- package/dist/esm/realtime/PerpsWsClient.js.map +0 -1
- package/dist/esm/realtime/ReconnectingWebSocket.d.ts.map +0 -1
- package/dist/esm/realtime/ReconnectingWebSocket.js +0 -128
- package/dist/esm/realtime/ReconnectingWebSocket.js.map +0 -1
- package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.d.ts +0 -26
- package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.d.ts.map +0 -1
- package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.js +0 -222
- package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.js.map +0 -1
- package/dist/esm/realtime/hyperliquid/types.d.ts +0 -35
- package/dist/esm/realtime/hyperliquid/types.d.ts.map +0 -1
- package/dist/esm/realtime/hyperliquid/types.js +0 -4
- package/dist/esm/realtime/hyperliquid/types.js.map +0 -1
- package/dist/esm/realtime/types.d.ts +0 -10
- package/dist/esm/realtime/types.d.ts.map +0 -1
- package/dist/esm/realtime/types.js +0 -2
- package/dist/esm/realtime/types.js.map +0 -1
- package/dist/esm/services/cancelOrder.d.ts +0 -51
- package/dist/esm/services/cancelOrder.d.ts.map +0 -1
- package/dist/esm/services/cancelOrder.js +0 -50
- package/dist/esm/services/cancelOrder.js.map +0 -1
- package/dist/esm/services/createAuthorization.d.ts +0 -51
- package/dist/esm/services/createAuthorization.d.ts.map +0 -1
- package/dist/esm/services/createAuthorization.js +0 -50
- package/dist/esm/services/createAuthorization.js.map +0 -1
- package/dist/esm/services/createOrder.d.ts +0 -74
- package/dist/esm/services/createOrder.d.ts.map +0 -1
- package/dist/esm/services/createOrder.js +0 -62
- package/dist/esm/services/createOrder.js.map +0 -1
- package/dist/esm/services/createWithdrawal.d.ts +0 -49
- package/dist/esm/services/createWithdrawal.d.ts.map +0 -1
- package/dist/esm/services/createWithdrawal.js +0 -49
- package/dist/esm/services/createWithdrawal.js.map +0 -1
- package/dist/esm/services/getDexes.d.ts +0 -20
- package/dist/esm/services/getDexes.d.ts.map +0 -1
- package/dist/esm/services/getDexes.js +0 -21
- package/dist/esm/services/getDexes.js.map +0 -1
- package/dist/esm/services/getHistory.d.ts +0 -45
- package/dist/esm/services/getHistory.d.ts.map +0 -1
- package/dist/esm/services/getHistory.js +0 -42
- package/dist/esm/services/getHistory.js.map +0 -1
- package/dist/esm/services/submitAuthorization.d.ts +0 -42
- package/dist/esm/services/submitAuthorization.d.ts.map +0 -1
- package/dist/esm/services/submitAuthorization.js +0 -41
- package/dist/esm/services/submitAuthorization.js.map +0 -1
- package/dist/esm/services/submitOrder.d.ts +0 -44
- package/dist/esm/services/submitOrder.d.ts.map +0 -1
- package/dist/esm/services/submitOrder.js +0 -43
- package/dist/esm/services/submitOrder.js.map +0 -1
- package/dist/esm/services/submitWithdrawal.d.ts +0 -40
- package/dist/esm/services/submitWithdrawal.d.ts.map +0 -1
- package/dist/esm/services/submitWithdrawal.js +0 -40
- package/dist/esm/services/submitWithdrawal.js.map +0 -1
- package/dist/esm/utils/request.d.ts +0 -26
- package/dist/esm/utils/request.d.ts.map +0 -1
- package/dist/esm/utils/request.js +0 -78
- package/dist/esm/utils/request.js.map +0 -1
- package/dist/types/agent/AgentManager.d.ts +0 -45
- package/dist/types/agent/AgentManager.d.ts.map +0 -1
- package/dist/types/agent/storage.d.ts.map +0 -1
- package/dist/types/agent/types.d.ts +0 -23
- package/dist/types/agent/types.d.ts.map +0 -1
- package/dist/types/client/types.d.ts +0 -134
- package/dist/types/client/types.d.ts.map +0 -1
- package/dist/types/dex/hyperliquid.d.ts +0 -3
- package/dist/types/dex/hyperliquid.d.ts.map +0 -1
- package/dist/types/dex/registry.d.ts +0 -3
- package/dist/types/dex/registry.d.ts.map +0 -1
- package/dist/types/dex/types.d.ts +0 -15
- package/dist/types/dex/types.d.ts.map +0 -1
- package/dist/types/errors/AgentError.d.ts +0 -25
- package/dist/types/errors/AgentError.d.ts.map +0 -1
- package/dist/types/errors/HTTPError.d.ts +0 -11
- package/dist/types/errors/HTTPError.d.ts.map +0 -1
- package/dist/types/errors/PerpsSDKError.d.ts +0 -40
- package/dist/types/errors/PerpsSDKError.d.ts.map +0 -1
- package/dist/types/errors/ServerError.d.ts +0 -23
- package/dist/types/errors/ServerError.d.ts.map +0 -1
- package/dist/types/errors/ValidationError.d.ts +0 -23
- package/dist/types/errors/ValidationError.d.ts.map +0 -1
- package/dist/types/errors/utils/rootCause.d.ts +0 -71
- package/dist/types/errors/utils/rootCause.d.ts.map +0 -1
- package/dist/types/realtime/PerpsWsClient.d.ts +0 -14
- package/dist/types/realtime/PerpsWsClient.d.ts.map +0 -1
- package/dist/types/realtime/ReconnectingWebSocket.d.ts +0 -36
- package/dist/types/realtime/ReconnectingWebSocket.d.ts.map +0 -1
- package/dist/types/realtime/hyperliquid/HyperliquidWsProvider.d.ts +0 -26
- package/dist/types/realtime/hyperliquid/HyperliquidWsProvider.d.ts.map +0 -1
- package/dist/types/realtime/hyperliquid/types.d.ts +0 -35
- package/dist/types/realtime/hyperliquid/types.d.ts.map +0 -1
- package/dist/types/realtime/types.d.ts +0 -10
- package/dist/types/realtime/types.d.ts.map +0 -1
- package/dist/types/services/cancelOrder.d.ts +0 -51
- package/dist/types/services/cancelOrder.d.ts.map +0 -1
- package/dist/types/services/createAuthorization.d.ts +0 -51
- package/dist/types/services/createAuthorization.d.ts.map +0 -1
- package/dist/types/services/createOrder.d.ts +0 -74
- package/dist/types/services/createOrder.d.ts.map +0 -1
- package/dist/types/services/createWithdrawal.d.ts +0 -49
- package/dist/types/services/createWithdrawal.d.ts.map +0 -1
- package/dist/types/services/getDexes.d.ts +0 -20
- package/dist/types/services/getDexes.d.ts.map +0 -1
- package/dist/types/services/getHistory.d.ts +0 -45
- package/dist/types/services/getHistory.d.ts.map +0 -1
- package/dist/types/services/submitAuthorization.d.ts +0 -42
- package/dist/types/services/submitAuthorization.d.ts.map +0 -1
- package/dist/types/services/submitOrder.d.ts +0 -44
- package/dist/types/services/submitOrder.d.ts.map +0 -1
- package/dist/types/services/submitWithdrawal.d.ts +0 -40
- package/dist/types/services/submitWithdrawal.d.ts.map +0 -1
- package/dist/types/utils/request.d.ts +0 -26
- package/dist/types/utils/request.d.ts.map +0 -1
- package/src/agent/AgentManager.ts +0 -135
- package/src/agent/types.ts +0 -24
- package/src/client/types.ts +0 -162
- package/src/dex/hyperliquid.ts +0 -20
- package/src/dex/registry.ts +0 -15
- package/src/dex/types.ts +0 -16
- package/src/errors/AgentError.ts +0 -43
- package/src/errors/HTTPError.ts +0 -72
- package/src/errors/PerpsSDKError.ts +0 -79
- package/src/errors/ServerError.ts +0 -41
- package/src/errors/ValidationError.ts +0 -38
- package/src/errors/utils/rootCause.ts +0 -112
- package/src/realtime/PerpsWsClient.ts +0 -73
- package/src/realtime/ReconnectingWebSocket.ts +0 -156
- package/src/realtime/hyperliquid/HyperliquidWsProvider.ts +0 -278
- package/src/realtime/hyperliquid/types.ts +0 -48
- package/src/realtime/types.ts +0 -16
- package/src/services/cancelOrder.ts +0 -75
- package/src/services/createAuthorization.ts +0 -79
- package/src/services/createOrder.ts +0 -116
- package/src/services/createWithdrawal.ts +0 -76
- package/src/services/getDexes.ts +0 -34
- package/src/services/getHistory.ts +0 -62
- package/src/services/submitAuthorization.ts +0 -70
- package/src/services/submitOrder.ts +0 -72
- package/src/services/submitWithdrawal.ts +0 -67
- package/src/utils/request.ts +0 -116
- /package/dist/cjs/{agent → storage}/storage.d.ts +0 -0
- /package/dist/cjs/{agent → storage}/storage.js +0 -0
- /package/dist/cjs/{agent → storage}/types.js +0 -0
- /package/dist/cjs/{client → websocket}/types.js +0 -0
- /package/dist/esm/{agent → storage}/types.js +0 -0
- /package/dist/esm/{client → websocket}/types.js +0 -0
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
import type { Subscription, SubscriptionEvent } from '@lifi/perps-types'
|
|
2
|
+
import type {
|
|
3
|
+
ProviderGetQuoteParams,
|
|
4
|
+
QuoteListener,
|
|
5
|
+
} from '../types/provider.js'
|
|
6
|
+
import type { ReconnectingWebSocket } from './ReconnectingWebSocket.js'
|
|
7
|
+
import type {
|
|
8
|
+
SubscriptionListener,
|
|
9
|
+
WsProvider,
|
|
10
|
+
WsStatusListener,
|
|
11
|
+
} from './types.js'
|
|
12
|
+
import { wsLog } from './wsLog.js'
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Linger before tearing a channel off the wire after its last listener
|
|
16
|
+
* releases. A re-subscribe to the same key within this window cancels the
|
|
17
|
+
* pending teardown, so React StrictMode's synchronous unmount→remount (ref
|
|
18
|
+
* count 1→0→1) and fast route flips collapse to one wire subscription rather
|
|
19
|
+
* than a subscribe→unsubscribe→subscribe churn the venue would reject.
|
|
20
|
+
*
|
|
21
|
+
* @public
|
|
22
|
+
*/
|
|
23
|
+
export const WS_CHANNEL_TEARDOWN_LINGER_MS = 250
|
|
24
|
+
|
|
25
|
+
interface ChannelEntry {
|
|
26
|
+
/**
|
|
27
|
+
* Per-listener ref count — a `Map`, not a `Set`, because the same listener
|
|
28
|
+
* reference may subscribe twice (StrictMode) and only the matching number of
|
|
29
|
+
* releases may drop it; a `Set` would lose it on the first sibling release.
|
|
30
|
+
*/
|
|
31
|
+
listeners: Map<SubscriptionListener, number>
|
|
32
|
+
/** Wire teardown from {@link WsProviderBase.openChannel}, set once the open resolves. */
|
|
33
|
+
teardown?: () => void
|
|
34
|
+
/** In-flight open, set on the 0→1 transition so concurrent subscribes share it. */
|
|
35
|
+
opening?: Promise<() => void>
|
|
36
|
+
/** Deferred-teardown timer, set on the 1→0 transition; cleared if re-subscribed within the linger. */
|
|
37
|
+
pendingTeardown?: ReturnType<typeof setTimeout>
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Base for per-provider realtime transports. Owns the {@link
|
|
42
|
+
* ReconnectingWebSocket}, the fan-out lifecycle — ref-counted multi-listener
|
|
43
|
+
* subscription per channel key, deferred teardown, status fan-out — so any
|
|
44
|
+
* number of consumers (and StrictMode double-mounts) collapse to exactly one
|
|
45
|
+
* wire subscribe/unsubscribe per key, and the wire-subscription registry:
|
|
46
|
+
* subs recorded via {@link WsProviderBase.registerSub} are sent only while
|
|
47
|
+
* connected and replayed (failure-isolated) on every (re)open. Subclasses own
|
|
48
|
+
* everything wire-specific via {@link WsProviderBase.openChannel}, {@link
|
|
49
|
+
* WsProviderBase.sendSubscribe} and {@link WsProviderBase.handleMessage}:
|
|
50
|
+
* payload framing, frame validation and dispatch.
|
|
51
|
+
*
|
|
52
|
+
* `TSub` is the per-subscription state {@link WsProviderBase.sendSubscribe}
|
|
53
|
+
* needs to (re)build one subscribe frame.
|
|
54
|
+
*
|
|
55
|
+
* @public
|
|
56
|
+
*/
|
|
57
|
+
export abstract class WsProviderBase<TSub = unknown> implements WsProvider {
|
|
58
|
+
protected readonly rws: ReconnectingWebSocket
|
|
59
|
+
protected readonly providerKey: string
|
|
60
|
+
|
|
61
|
+
private readonly channels = new Map<string, ChannelEntry>()
|
|
62
|
+
private readonly statusListeners = new Map<WsStatusListener, number>()
|
|
63
|
+
private readonly wireSubs = new Map<string, TSub>()
|
|
64
|
+
|
|
65
|
+
constructor(rws: ReconnectingWebSocket, providerKey: string) {
|
|
66
|
+
this.providerKey = providerKey
|
|
67
|
+
this.rws = rws
|
|
68
|
+
this.rws.on('message', (data) => this.handleMessage(data))
|
|
69
|
+
this.rws.on('open', () => {
|
|
70
|
+
void this.replaySubs()
|
|
71
|
+
})
|
|
72
|
+
this.rws.onStatus((status) => {
|
|
73
|
+
for (const fn of this.statusListeners.keys()) {
|
|
74
|
+
this.callListener('status', fn, status)
|
|
75
|
+
}
|
|
76
|
+
})
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
async subscribe(
|
|
80
|
+
sub: Subscription,
|
|
81
|
+
listener: SubscriptionListener,
|
|
82
|
+
onStatus?: WsStatusListener
|
|
83
|
+
): Promise<() => void> {
|
|
84
|
+
this.reconnect()
|
|
85
|
+
|
|
86
|
+
const key = this.toKey(sub)
|
|
87
|
+
await this.acquireChannel(key, sub, listener)
|
|
88
|
+
|
|
89
|
+
if (onStatus) {
|
|
90
|
+
this.statusListeners.set(
|
|
91
|
+
onStatus,
|
|
92
|
+
(this.statusListeners.get(onStatus) ?? 0) + 1
|
|
93
|
+
)
|
|
94
|
+
onStatus(this.rws.getStatus())
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return () => {
|
|
98
|
+
if (onStatus) {
|
|
99
|
+
const remaining = (this.statusListeners.get(onStatus) ?? 0) - 1
|
|
100
|
+
if (remaining > 0) {
|
|
101
|
+
this.statusListeners.set(onStatus, remaining)
|
|
102
|
+
} else {
|
|
103
|
+
this.statusListeners.delete(onStatus)
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
this.releaseChannel(key, listener)
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
reconnect(): void {
|
|
111
|
+
if (this.rws.getStatus() !== 'disconnected') {
|
|
112
|
+
return
|
|
113
|
+
}
|
|
114
|
+
this.rws.reconnect()
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
close(): void {
|
|
118
|
+
for (const entry of this.channels.values()) {
|
|
119
|
+
if (entry.pendingTeardown !== undefined) {
|
|
120
|
+
clearTimeout(entry.pendingTeardown)
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
this.onClose()
|
|
124
|
+
this.rws.close()
|
|
125
|
+
this.channels.clear()
|
|
126
|
+
this.statusListeners.clear()
|
|
127
|
+
this.wireSubs.clear()
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/** Deliver an event to every listener on `key`. */
|
|
131
|
+
protected emit(key: string, event: SubscriptionEvent): void {
|
|
132
|
+
const entry = this.channels.get(key)
|
|
133
|
+
if (entry === undefined) {
|
|
134
|
+
return
|
|
135
|
+
}
|
|
136
|
+
for (const fn of entry.listeners.keys()) {
|
|
137
|
+
this.callListener(`subscription:${key}`, fn, event)
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Tear `key` off the wire immediately if no listener holds it — i.e. it is
|
|
143
|
+
* lingering in the deferred-teardown window (or its open is still
|
|
144
|
+
* unwinding). Returns `true` when the key is free (absent or just torn
|
|
145
|
+
* down), `false` — leaving the channel untouched — while live listeners
|
|
146
|
+
* hold it. Lets a subclass that enforces an exclusivity invariant across
|
|
147
|
+
* keys reclaim a released channel without waiting out the linger.
|
|
148
|
+
*/
|
|
149
|
+
protected closeChannelIfIdle(key: string): boolean {
|
|
150
|
+
const entry = this.channels.get(key)
|
|
151
|
+
if (entry === undefined) {
|
|
152
|
+
return true
|
|
153
|
+
}
|
|
154
|
+
if (entry.listeners.size > 0) {
|
|
155
|
+
return false
|
|
156
|
+
}
|
|
157
|
+
if (entry.pendingTeardown !== undefined) {
|
|
158
|
+
clearTimeout(entry.pendingTeardown)
|
|
159
|
+
}
|
|
160
|
+
entry.teardown?.()
|
|
161
|
+
this.channels.delete(key)
|
|
162
|
+
return true
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Record a wire subscription for replay-on-(re)open and, when the socket is
|
|
167
|
+
* already connected, send its subscribe frame via {@link sendSubscribe}.
|
|
168
|
+
* While the socket is down the replay loop on the next open is the sole
|
|
169
|
+
* sender — sending in both places would double-subscribe. A failed send
|
|
170
|
+
* removes the sub again so a rejected open leaves no registry entry behind.
|
|
171
|
+
*/
|
|
172
|
+
protected async registerSub(key: string, state: TSub): Promise<void> {
|
|
173
|
+
this.wireSubs.set(key, state)
|
|
174
|
+
if (this.rws.getStatus() !== 'connected') {
|
|
175
|
+
return
|
|
176
|
+
}
|
|
177
|
+
try {
|
|
178
|
+
await this.sendSubscribe(state)
|
|
179
|
+
} catch (err) {
|
|
180
|
+
this.wireSubs.delete(key)
|
|
181
|
+
throw err
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/** Forget a wire subscription so the next (re)open no longer replays it. */
|
|
186
|
+
protected unregisterSub(key: string): void {
|
|
187
|
+
this.wireSubs.delete(key)
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
private async replaySubs(): Promise<void> {
|
|
191
|
+
for (const [key, state] of this.wireSubs) {
|
|
192
|
+
// Isolate each resubscribe: a send can reject (e.g. an auth-token fetch
|
|
193
|
+
// after reconnect), and one sub's failure must not abort the rest of
|
|
194
|
+
// the loop or escape as an unhandled rejection.
|
|
195
|
+
try {
|
|
196
|
+
await this.sendSubscribe(state)
|
|
197
|
+
} catch (err) {
|
|
198
|
+
wsLog.subscribeFailure(this.providerKey, key, err)
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
/** Venue-specific {@link WsProvider.subscribeQuote}; see `resolveSubscribeQuote`. */
|
|
204
|
+
abstract subscribeQuote(
|
|
205
|
+
params: ProviderGetQuoteParams,
|
|
206
|
+
onQuote: QuoteListener
|
|
207
|
+
): Promise<() => void>
|
|
208
|
+
|
|
209
|
+
/** Canonical fan-out key for `sub`; must match the key the subclass emits to. */
|
|
210
|
+
protected abstract toKey(sub: Subscription): string
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Open the channel on the wire (0→1 transition only). Record the wire
|
|
214
|
+
* sub(s) via {@link registerSub} and return a closure that unregisters them
|
|
215
|
+
* and sends the unsubscribe frame(s).
|
|
216
|
+
*/
|
|
217
|
+
protected abstract openChannel(sub: Subscription): Promise<() => void>
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Encode and send the subscribe frame for one registered sub. Called by the
|
|
221
|
+
* base while connected — once on register and again on every (re)open — so
|
|
222
|
+
* it must be safe to invoke repeatedly with the same state (e.g. re-fetch a
|
|
223
|
+
* fresh auth token per call rather than embedding one in `state`).
|
|
224
|
+
*/
|
|
225
|
+
protected abstract sendSubscribe(state: TSub): void | Promise<void>
|
|
226
|
+
|
|
227
|
+
/** Parse one inbound frame and route it via {@link emit}. */
|
|
228
|
+
protected abstract handleMessage(raw: string): void
|
|
229
|
+
|
|
230
|
+
/** Release subclass-only resources on {@link close} (keep-alive, cached state). */
|
|
231
|
+
protected onClose(): void {}
|
|
232
|
+
|
|
233
|
+
private callListener<TArgs extends unknown[]>(
|
|
234
|
+
listenerType: string,
|
|
235
|
+
listener: (...args: TArgs) => void,
|
|
236
|
+
...args: TArgs
|
|
237
|
+
): void {
|
|
238
|
+
try {
|
|
239
|
+
listener(...args)
|
|
240
|
+
} catch (error) {
|
|
241
|
+
wsLog.listenerFailure(this.providerKey, listenerType, error)
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
private async acquireChannel(
|
|
246
|
+
key: string,
|
|
247
|
+
sub: Subscription,
|
|
248
|
+
listener: SubscriptionListener
|
|
249
|
+
): Promise<void> {
|
|
250
|
+
let entry = this.channels.get(key)
|
|
251
|
+
if (entry === undefined) {
|
|
252
|
+
entry = { listeners: new Map() }
|
|
253
|
+
this.channels.set(key, entry)
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
// Register first (ref-counted) so a frame arriving during an in-flight open
|
|
257
|
+
// is delivered; cancel any pending teardown (re-subscribe within the linger).
|
|
258
|
+
entry.listeners.set(listener, (entry.listeners.get(listener) ?? 0) + 1)
|
|
259
|
+
if (entry.pendingTeardown !== undefined) {
|
|
260
|
+
clearTimeout(entry.pendingTeardown)
|
|
261
|
+
entry.pendingTeardown = undefined
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
if (entry.teardown !== undefined) {
|
|
265
|
+
return
|
|
266
|
+
}
|
|
267
|
+
if (entry.opening !== undefined) {
|
|
268
|
+
await entry.opening
|
|
269
|
+
return
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
const opening = this.openChannel(sub)
|
|
273
|
+
entry.opening = opening
|
|
274
|
+
try {
|
|
275
|
+
const teardown = await opening
|
|
276
|
+
const current = this.channels.get(key)
|
|
277
|
+
if (current === undefined || current.listeners.size === 0) {
|
|
278
|
+
// Every listener released while opening — unwind immediately.
|
|
279
|
+
teardown()
|
|
280
|
+
this.channels.delete(key)
|
|
281
|
+
return
|
|
282
|
+
}
|
|
283
|
+
current.teardown = teardown
|
|
284
|
+
current.opening = undefined
|
|
285
|
+
} catch (err) {
|
|
286
|
+
// Open failed: drop the channel so all (concurrent) subscribers reject
|
|
287
|
+
// cleanly and a later subscribe re-opens.
|
|
288
|
+
this.channels.delete(key)
|
|
289
|
+
throw err
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
private releaseChannel(key: string, listener: SubscriptionListener): void {
|
|
294
|
+
const entry = this.channels.get(key)
|
|
295
|
+
if (entry === undefined) {
|
|
296
|
+
return
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
const remaining = (entry.listeners.get(listener) ?? 0) - 1
|
|
300
|
+
if (remaining > 0) {
|
|
301
|
+
entry.listeners.set(listener, remaining)
|
|
302
|
+
return
|
|
303
|
+
}
|
|
304
|
+
entry.listeners.delete(listener)
|
|
305
|
+
if (entry.listeners.size > 0) {
|
|
306
|
+
return
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
if (entry.teardown === undefined) {
|
|
310
|
+
// Open not resolved yet — acquireChannel's post-open check unwinds it.
|
|
311
|
+
if (entry.opening === undefined) {
|
|
312
|
+
this.channels.delete(key)
|
|
313
|
+
}
|
|
314
|
+
return
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
if (entry.pendingTeardown !== undefined) {
|
|
318
|
+
return
|
|
319
|
+
}
|
|
320
|
+
entry.pendingTeardown = setTimeout(() => {
|
|
321
|
+
const e = this.channels.get(key)
|
|
322
|
+
if (e === undefined) {
|
|
323
|
+
return
|
|
324
|
+
}
|
|
325
|
+
if (e.listeners.size > 0) {
|
|
326
|
+
e.pendingTeardown = undefined
|
|
327
|
+
return
|
|
328
|
+
}
|
|
329
|
+
e.teardown?.()
|
|
330
|
+
this.channels.delete(key)
|
|
331
|
+
}, WS_CHANNEL_TEARDOWN_LINGER_MS)
|
|
332
|
+
}
|
|
333
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single-flight a promise through a caller-owned cache slot, evicting the
|
|
3
|
+
* cached promise if it rejects so the next call retries cleanly.
|
|
4
|
+
*
|
|
5
|
+
* Concurrent callers share the one in-flight promise; the rejection still
|
|
6
|
+
* propagates to every awaiter that triggered it. Only a settled rejection is
|
|
7
|
+
* evicted — a resolved promise stays cached.
|
|
8
|
+
*
|
|
9
|
+
* @param read - Returns the currently cached promise, or `undefined` if none.
|
|
10
|
+
* @param write - Stores (or with `undefined`, clears) the cached promise.
|
|
11
|
+
* @param factory - Creates the promise when the slot is empty.
|
|
12
|
+
*/
|
|
13
|
+
export function cachePromise<T>(
|
|
14
|
+
read: () => Promise<T> | undefined,
|
|
15
|
+
write: (promise: Promise<T> | undefined) => void,
|
|
16
|
+
factory: () => Promise<T>
|
|
17
|
+
): Promise<T> {
|
|
18
|
+
const cached = read()
|
|
19
|
+
if (cached) {
|
|
20
|
+
return cached
|
|
21
|
+
}
|
|
22
|
+
const promise = factory()
|
|
23
|
+
promise.catch(() => {
|
|
24
|
+
if (read() === promise) {
|
|
25
|
+
write(undefined)
|
|
26
|
+
}
|
|
27
|
+
})
|
|
28
|
+
write(promise)
|
|
29
|
+
return promise
|
|
30
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { Subscription, SubscriptionEvent } from '@lifi/perps-types'
|
|
2
|
+
import type {
|
|
3
|
+
ProviderGetQuoteParams,
|
|
4
|
+
QuoteListener,
|
|
5
|
+
} from '../types/provider.js'
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* The concrete {@link SubscriptionEvent} variant a given subscription `S`
|
|
9
|
+
* emits, narrowed by its `channel`.
|
|
10
|
+
*
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export type EventForSubscription<S extends Subscription> = Extract<
|
|
14
|
+
SubscriptionEvent,
|
|
15
|
+
{ channel: S['channel'] }
|
|
16
|
+
>
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Listener invoked with each realtime {@link SubscriptionEvent}.
|
|
20
|
+
*
|
|
21
|
+
* @public
|
|
22
|
+
*/
|
|
23
|
+
export type SubscriptionListener = (event: SubscriptionEvent) => void
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Health of a provider's underlying WS connection.
|
|
27
|
+
*
|
|
28
|
+
* - `connected` — socket open, live data flowing.
|
|
29
|
+
* - `reconnecting` — socket dropped; auto-reconnect with backoff in progress.
|
|
30
|
+
* Data may be stale until it returns to `connected`.
|
|
31
|
+
* - `disconnected` — reconnection abandoned after the retry cap. The
|
|
32
|
+
* connection is permanently dead and will not recover on its own; the
|
|
33
|
+
* subscription's data is stale. Terminal.
|
|
34
|
+
*
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
export type WsConnectionStatus = 'connected' | 'reconnecting' | 'disconnected'
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Listener invoked when the underlying WS connection's health changes.
|
|
41
|
+
*
|
|
42
|
+
* @public
|
|
43
|
+
*/
|
|
44
|
+
export type WsStatusListener = (status: WsConnectionStatus) => void
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Per-provider realtime transport contract used by {@link PerpsWsClient}.
|
|
48
|
+
* Implemented by the provider packages' WS plugins.
|
|
49
|
+
*
|
|
50
|
+
* @public
|
|
51
|
+
*/
|
|
52
|
+
export interface WsProvider {
|
|
53
|
+
subscribe(
|
|
54
|
+
sub: Subscription,
|
|
55
|
+
listener: SubscriptionListener,
|
|
56
|
+
onStatus?: WsStatusListener
|
|
57
|
+
): Promise<() => void>
|
|
58
|
+
/**
|
|
59
|
+
* Recover a terminally exhausted connection. Safe no-op unless status is
|
|
60
|
+
* `disconnected`.
|
|
61
|
+
*/
|
|
62
|
+
reconnect(): void
|
|
63
|
+
/**
|
|
64
|
+
* Stream live fill {@link Quote}s for `params.size` USD notional of
|
|
65
|
+
* `params.symbol` on this venue, layered on the orderbook channel: the
|
|
66
|
+
* provider resolves the symbol against its own markets and re-runs the
|
|
67
|
+
* one-shot quote transform on each (throttled) book update, applying its
|
|
68
|
+
* public base fee tier. Returns an idempotent unsubscribe.
|
|
69
|
+
*/
|
|
70
|
+
subscribeQuote(
|
|
71
|
+
params: ProviderGetQuoteParams,
|
|
72
|
+
onQuote: QuoteListener
|
|
73
|
+
): Promise<() => void>
|
|
74
|
+
close(): void
|
|
75
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
const MAX_PAYLOAD_CHARS = 512
|
|
2
|
+
|
|
3
|
+
const truncate = (raw: string): string =>
|
|
4
|
+
raw.length > MAX_PAYLOAD_CHARS
|
|
5
|
+
? `${raw.slice(0, MAX_PAYLOAD_CHARS)}…(${raw.length} chars)`
|
|
6
|
+
: raw
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Structured logger for WS message-handling and subscription failures, shared
|
|
10
|
+
* by the provider packages so a malformed frame, a throwing mapper, or a failed
|
|
11
|
+
* resubscribe never vanishes silently.
|
|
12
|
+
*
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export const wsLog = {
|
|
16
|
+
/**
|
|
17
|
+
* A single frame that could not be parsed as JSON. Expected to recur on a
|
|
18
|
+
* noisy stream, so logged at `warn` with a truncated payload — never fatal.
|
|
19
|
+
*/
|
|
20
|
+
parseFailure(provider: string, raw: string): void {
|
|
21
|
+
console.warn(`[${provider}:ws] dropping unparseable frame`, truncate(raw))
|
|
22
|
+
},
|
|
23
|
+
/**
|
|
24
|
+
* A frame parsed but its handler threw (mapper bug, `MarketNotFound`, …).
|
|
25
|
+
* This is unexpected and must surface; the frame is skipped so one bad
|
|
26
|
+
* frame does not stall the stream or starve other channels.
|
|
27
|
+
*/
|
|
28
|
+
handlerFailure(provider: string, error: unknown): void {
|
|
29
|
+
console.error(`[${provider}:ws] message handler threw`, error)
|
|
30
|
+
},
|
|
31
|
+
/**
|
|
32
|
+
* An `error`-channel frame the server pushed (e.g. a rejected or duplicate
|
|
33
|
+
* subscription). The frame parsed fine — this is the venue reporting a
|
|
34
|
+
* problem, not a malformed frame — so surface it at `error` with the
|
|
35
|
+
* server's own text rather than mislabelling it a parse failure.
|
|
36
|
+
*/
|
|
37
|
+
serverError(provider: string, message: string): void {
|
|
38
|
+
console.error(`[${provider}:ws] server error`, message)
|
|
39
|
+
},
|
|
40
|
+
/**
|
|
41
|
+
* A channel's (re)subscribe threw while (re)opening the socket — e.g. an
|
|
42
|
+
* auth-token fetch rejected after a reconnect. Surfaced at `error`; the
|
|
43
|
+
* channel is skipped so one failure does not abort the others.
|
|
44
|
+
*/
|
|
45
|
+
subscribeFailure(provider: string, channel: string, error: unknown): void {
|
|
46
|
+
console.error(
|
|
47
|
+
`[${provider}:ws] resubscribe failed for channel '${channel}'; it will not receive updates until the next reconnect.`,
|
|
48
|
+
error
|
|
49
|
+
)
|
|
50
|
+
},
|
|
51
|
+
/**
|
|
52
|
+
* A frame item referenced a market id missing from the registry (e.g.
|
|
53
|
+
* listed after the snapshot). The item is skipped — never the whole frame —
|
|
54
|
+
* so logged at `warn`.
|
|
55
|
+
*/
|
|
56
|
+
unknownMarket(provider: string, marketId: string): void {
|
|
57
|
+
console.warn(
|
|
58
|
+
`[${provider}:ws] skipping item for unknown market '${marketId}'`
|
|
59
|
+
)
|
|
60
|
+
},
|
|
61
|
+
/**
|
|
62
|
+
* A background market-registry refetch rejected. Unknown-market items keep
|
|
63
|
+
* being skipped until the next cooldown-gated retry, so logged at `warn`.
|
|
64
|
+
*/
|
|
65
|
+
marketRefreshFailure(provider: string, error: unknown): void {
|
|
66
|
+
console.warn(`[${provider}:ws] market registry refresh failed`, error)
|
|
67
|
+
},
|
|
68
|
+
/**
|
|
69
|
+
* A consumer listener callback threw during fan-out. Logged and skipped so
|
|
70
|
+
* one bad listener cannot starve sibling listeners or break socket flow.
|
|
71
|
+
*/
|
|
72
|
+
listenerFailure(
|
|
73
|
+
provider: string,
|
|
74
|
+
listenerType: string,
|
|
75
|
+
error: unknown
|
|
76
|
+
): void {
|
|
77
|
+
console.error(
|
|
78
|
+
`[${provider}:ws] listener threw during '${listenerType}' fan-out`,
|
|
79
|
+
error
|
|
80
|
+
)
|
|
81
|
+
},
|
|
82
|
+
} as const
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { Address, Hex } from '@lifi/perps-types';
|
|
2
|
-
import type { Agent, StorageAdapter } from './types.js';
|
|
3
|
-
export declare class AgentManager {
|
|
4
|
-
private storage;
|
|
5
|
-
private cache;
|
|
6
|
-
constructor(storage?: StorageAdapter);
|
|
7
|
-
private storageKey;
|
|
8
|
-
getAgent(address: Address, dex: string): Promise<Agent>;
|
|
9
|
-
getOrCreateAgent(address: Address, dex: string): Promise<Agent>;
|
|
10
|
-
hasAgent(address: Address, dex: string): Promise<boolean>;
|
|
11
|
-
removeAgent(address: Address, dex: string): Promise<void>;
|
|
12
|
-
importAgent(address: Address, dex: string, privateKey: Hex): Promise<Agent>;
|
|
13
|
-
clearCache(): void;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=AgentManager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AgentManager.d.ts","sourceRoot":"","sources":["../../../src/agent/AgentManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAMrD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAQvD,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,KAAK,CAAgC;gBAEjC,OAAO,CAAC,EAAE,cAAc;IAOpC,OAAO,CAAC,UAAU;IASZ,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IA0BvD,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAyB/D,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAazD,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUzD,WAAW,CACf,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,GAAG,GACd,OAAO,CAAC,KAAK,CAAC;IAmBjB,UAAU,IAAI,IAAI;CAGnB"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AgentManager = void 0;
|
|
4
|
-
const perps_types_1 = require("@lifi/perps-types");
|
|
5
|
-
const accounts_1 = require("viem/accounts");
|
|
6
|
-
const constants_js_1 = require("../errors/constants.js");
|
|
7
|
-
const PerpsError_js_1 = require("../errors/PerpsError.js");
|
|
8
|
-
const storage_js_1 = require("./storage.js");
|
|
9
|
-
const STORAGE_PREFIX = 'lifi-perps-agent';
|
|
10
|
-
class AgentManager {
|
|
11
|
-
storage;
|
|
12
|
-
cache = new Map();
|
|
13
|
-
constructor(storage) {
|
|
14
|
-
this.storage = storage ?? storage_js_1.localStorageAdapter;
|
|
15
|
-
}
|
|
16
|
-
storageKey(address, dex) {
|
|
17
|
-
return `${STORAGE_PREFIX}:${address.toLowerCase()}:${dex.toLowerCase()}`;
|
|
18
|
-
}
|
|
19
|
-
async getAgent(address, dex) {
|
|
20
|
-
const key = this.storageKey(address, dex);
|
|
21
|
-
const cached = this.cache.get(key);
|
|
22
|
-
if (cached) {
|
|
23
|
-
return cached;
|
|
24
|
-
}
|
|
25
|
-
const stored = await this.storage.get(key);
|
|
26
|
-
if (stored) {
|
|
27
|
-
const agent = JSON.parse(stored);
|
|
28
|
-
this.cache.set(key, agent);
|
|
29
|
-
return agent;
|
|
30
|
-
}
|
|
31
|
-
throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.AgentUnauthorized, constants_js_1.PerpsErrorMessage.AgentNotFound);
|
|
32
|
-
}
|
|
33
|
-
async getOrCreateAgent(address, dex) {
|
|
34
|
-
try {
|
|
35
|
-
return await this.getAgent(address, dex);
|
|
36
|
-
}
|
|
37
|
-
catch {
|
|
38
|
-
const privateKey = (0, accounts_1.generatePrivateKey)();
|
|
39
|
-
const account = (0, accounts_1.privateKeyToAccount)(privateKey);
|
|
40
|
-
const agent = {
|
|
41
|
-
address: account.address,
|
|
42
|
-
privateKey,
|
|
43
|
-
};
|
|
44
|
-
const key = this.storageKey(address, dex);
|
|
45
|
-
await this.storage.set(key, JSON.stringify(agent));
|
|
46
|
-
this.cache.set(key, agent);
|
|
47
|
-
return agent;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
async hasAgent(address, dex) {
|
|
51
|
-
try {
|
|
52
|
-
await this.getAgent(address, dex);
|
|
53
|
-
return true;
|
|
54
|
-
}
|
|
55
|
-
catch {
|
|
56
|
-
return false;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
async removeAgent(address, dex) {
|
|
60
|
-
const key = this.storageKey(address, dex);
|
|
61
|
-
this.cache.delete(key);
|
|
62
|
-
await this.storage.remove(key);
|
|
63
|
-
}
|
|
64
|
-
async importAgent(address, dex, privateKey) {
|
|
65
|
-
const account = (0, accounts_1.privateKeyToAccount)(privateKey);
|
|
66
|
-
const agent = {
|
|
67
|
-
address: account.address,
|
|
68
|
-
privateKey,
|
|
69
|
-
};
|
|
70
|
-
const key = this.storageKey(address, dex);
|
|
71
|
-
await this.storage.set(key, JSON.stringify(agent));
|
|
72
|
-
this.cache.set(key, agent);
|
|
73
|
-
return agent;
|
|
74
|
-
}
|
|
75
|
-
clearCache() {
|
|
76
|
-
this.cache.clear();
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
exports.AgentManager = AgentManager;
|
|
80
|
-
//# sourceMappingURL=AgentManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AgentManager.js","sourceRoot":"","sources":["../../../src/agent/AgentManager.ts"],"names":[],"mappings":";;;AACA,mDAAkD;AAClD,4CAAuE;AACvE,yDAA0D;AAC1D,2DAAoD;AACpD,6CAAkD;AAGlD,MAAM,cAAc,GAAG,kBAAkB,CAAA;AAMzC,MAAa,YAAY;IACf,OAAO,CAAgB;IACvB,KAAK,GAAuB,IAAI,GAAG,EAAE,CAAA;IAE7C,YAAY,OAAwB;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,gCAAmB,CAAA;IAC/C,CAAC;IAKO,UAAU,CAAC,OAAgB,EAAE,GAAW;QAC9C,OAAO,GAAG,cAAc,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE,CAAA;IAC1E,CAAC;IAOD,KAAK,CAAC,QAAQ,CAAC,OAAgB,EAAE,GAAW;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAGzC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAA;QACf,CAAC;QAGD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC1C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAU,CAAA;YACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YAC1B,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,iBAAiB,EAChC,gCAAiB,CAAC,aAAa,CAChC,CAAA;IACH,CAAC;IAKD,KAAK,CAAC,gBAAgB,CAAC,OAAgB,EAAE,GAAW;QAClD,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAC1C,CAAC;QAAC,MAAM,CAAC;YAEP,MAAM,UAAU,GAAG,IAAA,6BAAkB,GAAE,CAAA;YACvC,MAAM,OAAO,GAAG,IAAA,8BAAmB,EAAC,UAAU,CAAC,CAAA;YAE/C,MAAM,KAAK,GAAU;gBACnB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,UAAU;aACX,CAAA;YAGD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;YACzC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;YAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YAE1B,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,QAAQ,CAAC,OAAgB,EAAE,GAAW;QAC1C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;YACjC,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAMD,KAAK,CAAC,WAAW,CAAC,OAAgB,EAAE,GAAW;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACzC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACtB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAChC,CAAC;IAMD,KAAK,CAAC,WAAW,CACf,OAAgB,EAChB,GAAW,EACX,UAAe;QAEf,MAAM,OAAO,GAAG,IAAA,8BAAmB,EAAC,UAAU,CAAC,CAAA;QAE/C,MAAM,KAAK,GAAU;YACnB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU;SACX,CAAA;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACzC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAE1B,OAAO,KAAK,CAAA;IACd,CAAC;IAMD,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;CACF;AAxHD,oCAwHC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/agent/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAOhD,eAAO,MAAM,mBAAmB,EAAE,cA2BjC,CAAA;AAKD,wBAAgB,mBAAmB,IAAI,cAAc,CAkBpD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/agent/storage.ts"],"names":[],"mappings":";;;AAuCA,kDAkBC;AAlDY,QAAA,mBAAmB,GAAmB;IACjD,GAAG,EAAE,CAAC,GAAW,EAA0B,EAAE;QAC3C,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QACnD,CAAC;QAAC,MAAM,CAAC;YAEP,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,GAAG,EAAE,CAAC,GAAW,EAAE,KAAa,EAAiB,EAAE;QACjD,IAAI,CAAC;YACH,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAClC,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IAED,MAAM,EAAE,CAAC,GAAW,EAAiB,EAAE;QACrC,IAAI,CAAC;YACH,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAC9B,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF,CAAA;AAKD,SAAgB,mBAAmB;IACjC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEvC,OAAO;QACL,GAAG,EAAE,CAAC,GAAW,EAA0B,EAAE;YAC3C,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAA;QAChD,CAAC;QAED,GAAG,EAAE,CAAC,GAAW,EAAE,KAAa,EAAiB,EAAE;YACjD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACrB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAC1B,CAAC;QAED,MAAM,EAAE,CAAC,GAAW,EAAiB,EAAE;YACrC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACjB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAC1B,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agent/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAKrD,MAAM,WAAW,KAAK;IAEpB,OAAO,EAAE,OAAO,CAAA;IAEhB,UAAU,EAAE,GAAG,CAAA;CAChB;AAMD,MAAM,WAAW,cAAc;IAE7B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAExC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACnC"}
|