@lifi/perps-sdk 0.0.0-preview-64fca0d
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/LICENSE +201 -0
- package/dist/cjs/client/PerpsClient.d.ts +63 -0
- package/dist/cjs/client/PerpsClient.d.ts.map +1 -0
- package/dist/cjs/client/PerpsClient.js +269 -0
- package/dist/cjs/client/PerpsClient.js.map +1 -0
- 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 +10 -0
- package/dist/cjs/client/createPerpsClient.d.ts.map +1 -0
- package/dist/cjs/client/createPerpsClient.js +54 -0
- package/dist/cjs/client/createPerpsClient.js.map +1 -0
- 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 +8 -0
- package/dist/cjs/errors/PerpsError.d.ts.map +1 -0
- package/dist/cjs/errors/PerpsError.js +15 -0
- package/dist/cjs/errors/PerpsError.js.map +1 -0
- package/dist/cjs/errors/constants.d.ts +5 -0
- package/dist/cjs/errors/constants.d.ts.map +1 -0
- package/dist/cjs/errors/constants.js +9 -0
- package/dist/cjs/errors/constants.js.map +1 -0
- package/dist/cjs/index.d.ts +78 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +168 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- 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/executeAction.js +18 -0
- package/dist/cjs/services/executeAction.js.map +1 -0
- package/dist/cjs/services/getAccount.d.ts +10 -0
- package/dist/cjs/services/getAccount.d.ts.map +1 -0
- package/dist/cjs/services/getAccount.js +8 -0
- package/dist/cjs/services/getAccount.js.map +1 -0
- 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 +9 -0
- package/dist/cjs/services/getMarket.d.ts.map +1 -0
- package/dist/cjs/services/getMarket.js +13 -0
- package/dist/cjs/services/getMarket.js.map +1 -0
- package/dist/cjs/services/getMarkets.d.ts +9 -0
- package/dist/cjs/services/getMarkets.d.ts.map +1 -0
- package/dist/cjs/services/getMarkets.js +12 -0
- package/dist/cjs/services/getMarkets.js.map +1 -0
- 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 +13 -0
- package/dist/cjs/services/getOhlcv.d.ts.map +1 -0
- package/dist/cjs/services/getOhlcv.js +16 -0
- package/dist/cjs/services/getOhlcv.js.map +1 -0
- package/dist/cjs/services/getOrder.d.ts +11 -0
- package/dist/cjs/services/getOrder.d.ts.map +1 -0
- package/dist/cjs/services/getOrder.js +8 -0
- package/dist/cjs/services/getOrder.js.map +1 -0
- package/dist/cjs/services/getOrderbook.d.ts +10 -0
- package/dist/cjs/services/getOrderbook.d.ts.map +1 -0
- package/dist/cjs/services/getOrderbook.js +13 -0
- package/dist/cjs/services/getOrderbook.js.map +1 -0
- 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 +9 -0
- package/dist/cjs/services/getPrices.d.ts.map +1 -0
- package/dist/cjs/services/getPrices.js +12 -0
- package/dist/cjs/services/getPrices.js.map +1 -0
- 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 +6 -0
- package/dist/cjs/services/resolveQuote.d.ts.map +1 -0
- package/dist/cjs/services/resolveQuote.js +36 -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 +63 -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 +4 -0
- package/dist/cjs/storage/storage.d.ts.map +1 -0
- package/dist/cjs/storage/storage.js +47 -0
- package/dist/cjs/storage/storage.js.map +1 -0
- package/dist/cjs/storage/types.d.ts +6 -0
- package/dist/cjs/storage/types.d.ts.map +1 -0
- package/dist/cjs/storage/types.js +3 -0
- package/dist/cjs/storage/types.js.map +1 -0
- 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/transport/request.d.ts +8 -0
- 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/types/api.js +3 -0
- 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/types/config.js +3 -0
- 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 +51 -0
- package/dist/cjs/utils/calculations.d.ts.map +1 -0
- package/dist/cjs/utils/calculations.js +149 -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 +5 -0
- package/dist/cjs/utils/signTypedData.d.ts.map +1 -0
- package/dist/cjs/utils/signTypedData.js +23 -0
- package/dist/cjs/utils/signTypedData.js.map +1 -0
- package/dist/cjs/utils/sleep.d.ts +2 -0
- package/dist/cjs/utils/sleep.d.ts.map +1 -0
- package/dist/cjs/utils/sleep.js +6 -0
- package/dist/cjs/utils/sleep.js.map +1 -0
- 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 +3 -0
- package/dist/cjs/version.d.ts.map +1 -0
- package/dist/cjs/version.js +6 -0
- package/dist/cjs/version.js.map +1 -0
- 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/cjs/websocket/ReconnectingWebSocket.d.ts +52 -0
- 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/websocket/types.js +3 -0
- package/dist/cjs/websocket/types.js.map +1 -0
- 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 +285 -0
- package/dist/esm/client/PerpsClient.d.ts.map +1 -0
- package/dist/esm/client/PerpsClient.js +498 -0
- package/dist/esm/client/PerpsClient.js.map +1 -0
- 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 +37 -0
- package/dist/esm/client/createPerpsClient.d.ts.map +1 -0
- package/dist/esm/client/createPerpsClient.js +76 -0
- package/dist/esm/client/createPerpsClient.js.map +1 -0
- 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 +16 -0
- package/dist/esm/errors/PerpsError.d.ts.map +1 -0
- package/dist/esm/errors/PerpsError.js +19 -0
- package/dist/esm/errors/PerpsError.js.map +1 -0
- package/dist/esm/errors/constants.d.ts +11 -0
- package/dist/esm/errors/constants.d.ts.map +1 -0
- package/dist/esm/errors/constants.js +12 -0
- package/dist/esm/errors/constants.js.map +1 -0
- package/dist/esm/index.d.ts +86 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +63 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +1 -0
- 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 +35 -0
- package/dist/esm/services/getAccount.d.ts.map +1 -0
- package/dist/esm/services/getAccount.js +25 -0
- package/dist/esm/services/getAccount.js.map +1 -0
- 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 +34 -0
- package/dist/esm/services/getMarket.d.ts.map +1 -0
- package/dist/esm/services/getMarket.js +25 -0
- package/dist/esm/services/getMarket.js.map +1 -0
- package/dist/esm/services/getMarkets.d.ts +28 -0
- package/dist/esm/services/getMarkets.d.ts.map +1 -0
- package/dist/esm/services/getMarkets.js +22 -0
- package/dist/esm/services/getMarkets.js.map +1 -0
- package/dist/esm/services/getMeta.d.ts +21 -0
- package/dist/esm/services/getMeta.d.ts.map +1 -0
- package/dist/esm/services/getMeta.js +21 -0
- package/dist/esm/services/getMeta.js.map +1 -0
- package/dist/esm/services/getOhlcv.d.ts +36 -0
- package/dist/esm/services/getOhlcv.d.ts.map +1 -0
- package/dist/esm/services/getOhlcv.js +28 -0
- package/dist/esm/services/getOhlcv.js.map +1 -0
- package/dist/esm/services/getOrder.d.ts +33 -0
- package/dist/esm/services/getOrder.d.ts.map +1 -0
- package/dist/esm/services/getOrder.js +22 -0
- package/dist/esm/services/getOrder.js.map +1 -0
- package/dist/esm/services/getOrderbook.d.ts +24 -0
- package/dist/esm/services/getOrderbook.d.ts.map +1 -0
- package/dist/esm/services/getOrderbook.js +17 -0
- package/dist/esm/services/getOrderbook.js.map +1 -0
- 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 +21 -0
- package/dist/esm/services/getPrices.d.ts.map +1 -0
- package/dist/esm/services/getPrices.js +15 -0
- package/dist/esm/services/getPrices.js.map +1 -0
- package/dist/esm/services/getProviders.d.ts +22 -0
- package/dist/esm/services/getProviders.d.ts.map +1 -0
- package/dist/esm/services/getProviders.js +22 -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 +26 -0
- package/dist/esm/services/getTermsAcceptance.d.ts.map +1 -0
- package/dist/esm/services/getTermsAcceptance.js +26 -0
- package/dist/esm/services/getTermsAcceptance.js.map +1 -0
- package/dist/esm/services/resolveQuote.d.ts +26 -0
- package/dist/esm/services/resolveQuote.d.ts.map +1 -0
- package/dist/esm/services/resolveQuote.js +52 -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 +84 -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/esm/storage/storage.d.ts +15 -0
- package/dist/esm/storage/storage.d.ts.map +1 -0
- package/dist/esm/storage/storage.js +56 -0
- 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/esm/storage/types.js +2 -0
- package/dist/esm/storage/types.js.map +1 -0
- 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 +223 -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 +22 -0
- package/dist/esm/utils/parse.d.ts.map +1 -0
- package/dist/esm/utils/parse.js +31 -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 +18 -0
- package/dist/esm/utils/signTypedData.d.ts.map +1 -0
- package/dist/esm/utils/signTypedData.js +32 -0
- package/dist/esm/utils/signTypedData.js.map +1 -0
- package/dist/esm/utils/sleep.d.ts +7 -0
- package/dist/esm/utils/sleep.d.ts.map +1 -0
- package/dist/esm/utils/sleep.js +7 -0
- package/dist/esm/utils/sleep.js.map +1 -0
- 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 +3 -0
- package/dist/esm/version.d.ts.map +1 -0
- package/dist/esm/version.js +3 -0
- package/dist/esm/version.js.map +1 -0
- 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/esm/websocket/types.js +2 -0
- package/dist/esm/websocket/types.js.map +1 -0
- 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 +285 -0
- package/dist/types/client/PerpsClient.d.ts.map +1 -0
- 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 +37 -0
- package/dist/types/client/createPerpsClient.d.ts.map +1 -0
- 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 +16 -0
- package/dist/types/errors/PerpsError.d.ts.map +1 -0
- package/dist/types/errors/constants.d.ts +11 -0
- package/dist/types/errors/constants.d.ts.map +1 -0
- package/dist/types/index.d.ts +86 -0
- package/dist/types/index.d.ts.map +1 -0
- 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 +35 -0
- package/dist/types/services/getAccount.d.ts.map +1 -0
- 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 +34 -0
- package/dist/types/services/getMarket.d.ts.map +1 -0
- package/dist/types/services/getMarkets.d.ts +28 -0
- package/dist/types/services/getMarkets.d.ts.map +1 -0
- package/dist/types/services/getMeta.d.ts +21 -0
- package/dist/types/services/getMeta.d.ts.map +1 -0
- package/dist/types/services/getOhlcv.d.ts +36 -0
- package/dist/types/services/getOhlcv.d.ts.map +1 -0
- package/dist/types/services/getOrder.d.ts +33 -0
- package/dist/types/services/getOrder.d.ts.map +1 -0
- package/dist/types/services/getOrderbook.d.ts +24 -0
- package/dist/types/services/getOrderbook.d.ts.map +1 -0
- 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 +21 -0
- package/dist/types/services/getPrices.d.ts.map +1 -0
- package/dist/types/services/getProviders.d.ts +22 -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 +26 -0
- package/dist/types/services/getTermsAcceptance.d.ts.map +1 -0
- package/dist/types/services/resolveQuote.d.ts +26 -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/types/storage/storage.d.ts +15 -0
- 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 +223 -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 +22 -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 +18 -0
- package/dist/types/utils/signTypedData.d.ts.map +1 -0
- package/dist/types/utils/sleep.d.ts +7 -0
- package/dist/types/utils/sleep.d.ts.map +1 -0
- 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 +3 -0
- package/dist/types/version.d.ts.map +1 -0
- 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 +63 -0
- package/src/client/PerpsClient.ts +686 -0
- package/src/client/bindProvider.ts +24 -0
- package/src/client/createPerpsClient.ts +100 -0
- package/src/client/requireProvider.ts +29 -0
- package/src/errors/PerpsError.ts +23 -0
- package/src/errors/constants.ts +10 -0
- package/src/index.ts +215 -0
- 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 +46 -0
- 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 +52 -0
- package/src/services/getMarkets.ts +40 -0
- package/src/services/getMeta.ts +32 -0
- package/src/services/getOhlcv.ts +52 -0
- package/src/services/getOrder.ts +44 -0
- package/src/services/getOrderbook.ts +37 -0
- package/src/services/getOrders.ts +51 -0
- package/src/services/getPositions.ts +51 -0
- package/src/services/getPrices.ts +33 -0
- package/src/services/getProviders.ts +33 -0
- package/src/services/getQuote.ts +58 -0
- package/src/services/getTermsAcceptance.ts +34 -0
- package/src/services/resolveQuote.ts +90 -0
- package/src/services/resolveSubscribeQuote.ts +107 -0
- package/src/storage/parseStoredRecord.ts +55 -0
- package/src/storage/storage.ts +60 -0
- 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 +407 -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 +30 -0
- package/src/utils/positionMath.ts +149 -0
- package/src/utils/signTypedData.ts +41 -0
- package/src/utils/sleep.ts +7 -0
- package/src/utils/units.ts +39 -0
- package/src/utils/validation.ts +38 -0
- package/src/version.ts +2 -0
- 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
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ActionType,
|
|
3
|
+
ExecuteActionResponse,
|
|
4
|
+
SignedActionStep,
|
|
5
|
+
} from '@lifi/perps-types'
|
|
6
|
+
import type { Address } from 'viem'
|
|
7
|
+
import { request } from '../transport/request.js'
|
|
8
|
+
import type { SDKRequestOptions } from '../types/config.js'
|
|
9
|
+
import type { PerpsSDKClient } from '../types/provider.js'
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Parameters for {@link executeAction}.
|
|
13
|
+
*
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export interface ExecuteActionParams {
|
|
17
|
+
provider: string
|
|
18
|
+
address: Address
|
|
19
|
+
signerAddress?: Address
|
|
20
|
+
action: ActionType
|
|
21
|
+
actions: SignedActionStep[]
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Submit client-signed `ActionStep`s to the backend for execution. This is a
|
|
26
|
+
* money-moving write — the request is never auto-retried (the signed bytes
|
|
27
|
+
* could already have landed on a transport failure).
|
|
28
|
+
*
|
|
29
|
+
* @throws {PerpsError} On backend error responses, network, or parsing errors.
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
32
|
+
export async function executeAction(
|
|
33
|
+
client: PerpsSDKClient,
|
|
34
|
+
params: ExecuteActionParams,
|
|
35
|
+
options?: SDKRequestOptions
|
|
36
|
+
): Promise<ExecuteActionResponse> {
|
|
37
|
+
return request<ExecuteActionResponse>(
|
|
38
|
+
client.config,
|
|
39
|
+
`${client.config.apiUrl}/executeAction`,
|
|
40
|
+
{
|
|
41
|
+
method: 'POST',
|
|
42
|
+
// Money-moving write: a network/5xx failure is outcome-unknown, so the
|
|
43
|
+
// request must never be auto-resubmitted (the signed bytes could already
|
|
44
|
+
// have landed). Retries stay enabled for reads and `createAction`.
|
|
45
|
+
retry: false,
|
|
46
|
+
body: JSON.stringify({
|
|
47
|
+
provider: params.provider,
|
|
48
|
+
address: params.address,
|
|
49
|
+
signerAddress: params.signerAddress,
|
|
50
|
+
action: params.action,
|
|
51
|
+
actions: params.actions,
|
|
52
|
+
}),
|
|
53
|
+
},
|
|
54
|
+
options
|
|
55
|
+
)
|
|
56
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { AccountResponse } from '@lifi/perps-types'
|
|
2
|
+
import type { Address } from 'viem'
|
|
3
|
+
import { requireProvider } from '../client/requireProvider.js'
|
|
4
|
+
import type { SDKRequestOptions } from '../types/config.js'
|
|
5
|
+
import type { PerpsSDKClient } from '../types/provider.js'
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Parameters for {@link getAccount}.
|
|
9
|
+
*
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export interface GetAccountParams {
|
|
13
|
+
provider: string
|
|
14
|
+
address: Address
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Get account information (balances, margin, fee tier, typed config).
|
|
19
|
+
* Delegates to the registered venue plugin (direct-to-venue); requires the
|
|
20
|
+
* provider plugin to be registered on the client.
|
|
21
|
+
*
|
|
22
|
+
* Use {@link getPositions} and {@link getOrders} to fetch positions and orders
|
|
23
|
+
* separately.
|
|
24
|
+
*
|
|
25
|
+
* @throws {PerpsError} When the provider plugin is not registered, or on
|
|
26
|
+
* backend / network / parsing errors.
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* const account = await getAccount(client, {
|
|
30
|
+
* provider: 'hyperliquid',
|
|
31
|
+
* address: '0x1234...',
|
|
32
|
+
* })
|
|
33
|
+
* console.log(account.balances)
|
|
34
|
+
* ```
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
export async function getAccount(
|
|
38
|
+
client: PerpsSDKClient,
|
|
39
|
+
params: GetAccountParams,
|
|
40
|
+
options?: SDKRequestOptions
|
|
41
|
+
): Promise<AccountResponse> {
|
|
42
|
+
return requireProvider(client, params.provider).getAccount(
|
|
43
|
+
{ address: params.address },
|
|
44
|
+
options
|
|
45
|
+
)
|
|
46
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { ActivitiesResponse, ActivityType } from '@lifi/perps-types'
|
|
2
|
+
import type { Address } from 'viem'
|
|
3
|
+
import { requireProvider } from '../client/requireProvider.js'
|
|
4
|
+
import type { SDKRequestOptions } from '../types/config.js'
|
|
5
|
+
import type { PerpsSDKClient } from '../types/provider.js'
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Parameters for {@link getActivity}.
|
|
9
|
+
*
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export interface GetActivityParams {
|
|
13
|
+
provider: string
|
|
14
|
+
address: Address
|
|
15
|
+
limit?: number
|
|
16
|
+
cursor?: string
|
|
17
|
+
/** Filter: activity after this timestamp (ms) */
|
|
18
|
+
startTime?: number
|
|
19
|
+
/** Filter: activity before this timestamp (ms) */
|
|
20
|
+
endTime?: number
|
|
21
|
+
type?: ActivityType[]
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Get account activity (deposits, withdrawals, liquidations, funding payments).
|
|
26
|
+
* Delegates to the registered venue plugin (direct-to-venue); requires the
|
|
27
|
+
* provider plugin to be registered on the client.
|
|
28
|
+
*
|
|
29
|
+
* @throws {PerpsError} When the provider plugin is not registered, or on
|
|
30
|
+
* backend / network / parsing errors.
|
|
31
|
+
* @example
|
|
32
|
+
* ```ts
|
|
33
|
+
* const { items, pagination } = await getActivity(client, {
|
|
34
|
+
* provider: 'hyperliquid',
|
|
35
|
+
* address: '0x1234...',
|
|
36
|
+
* limit: 50,
|
|
37
|
+
* })
|
|
38
|
+
* ```
|
|
39
|
+
* @public
|
|
40
|
+
*/
|
|
41
|
+
export async function getActivity(
|
|
42
|
+
client: PerpsSDKClient,
|
|
43
|
+
params: GetActivityParams,
|
|
44
|
+
options?: SDKRequestOptions
|
|
45
|
+
): Promise<ActivitiesResponse> {
|
|
46
|
+
return requireProvider(client, params.provider).getActivity(
|
|
47
|
+
{
|
|
48
|
+
address: params.address,
|
|
49
|
+
limit: params.limit,
|
|
50
|
+
cursor: params.cursor,
|
|
51
|
+
startTime: params.startTime,
|
|
52
|
+
endTime: params.endTime,
|
|
53
|
+
type: params.type,
|
|
54
|
+
},
|
|
55
|
+
options
|
|
56
|
+
)
|
|
57
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { AssetsResponse } from '@lifi/perps-types'
|
|
2
|
+
import { buildUrl, request } from '../transport/request.js'
|
|
3
|
+
import type { SDKRequestOptions } from '../types/config.js'
|
|
4
|
+
import type { PerpsSDKClient } from '../types/provider.js'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Parameters for {@link getAssets}.
|
|
8
|
+
*
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export interface GetAssetsParams {
|
|
12
|
+
provider: string
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Get the token/asset registry for a provider. Thin pass-through to the
|
|
17
|
+
* LI.FI backend's Valkey-cached `/perps/assets` route, which centralises the
|
|
18
|
+
* `asset id → symbol → logoURI` join so the SDK never calls a provider's
|
|
19
|
+
* REST API directly for static registry data.
|
|
20
|
+
*
|
|
21
|
+
* @throws {PerpsError} On backend, network, or parsing errors.
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* const client = createPerpsClient({ integrator: 'my-app' })
|
|
25
|
+
* const { assets } = await getAssets(client, { provider: 'lighter' })
|
|
26
|
+
* ```
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
export async function getAssets(
|
|
30
|
+
client: PerpsSDKClient,
|
|
31
|
+
params: GetAssetsParams,
|
|
32
|
+
options?: SDKRequestOptions
|
|
33
|
+
): Promise<AssetsResponse> {
|
|
34
|
+
const url = buildUrl(`${client.config.apiUrl}/assets`, {
|
|
35
|
+
provider: params.provider,
|
|
36
|
+
})
|
|
37
|
+
return request<AssetsResponse>(client.config, url, {}, options)
|
|
38
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { FillsResponse } from '@lifi/perps-types'
|
|
2
|
+
import type { Address } from 'viem'
|
|
3
|
+
import { requireProvider } from '../client/requireProvider.js'
|
|
4
|
+
import type { SDKRequestOptions } from '../types/config.js'
|
|
5
|
+
import type { PerpsSDKClient } from '../types/provider.js'
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Parameters for {@link getFills}.
|
|
9
|
+
*
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export interface GetFillsParams {
|
|
13
|
+
provider: string
|
|
14
|
+
address: Address
|
|
15
|
+
limit?: number
|
|
16
|
+
cursor?: string
|
|
17
|
+
/** Filter: fills after this timestamp (ms) */
|
|
18
|
+
startTime?: number
|
|
19
|
+
/** Filter: fills before this timestamp (ms) */
|
|
20
|
+
endTime?: number
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Get order fills for an account. Delegates to the registered venue plugin
|
|
25
|
+
* (direct-to-venue); requires the provider plugin to be registered on the
|
|
26
|
+
* client.
|
|
27
|
+
*
|
|
28
|
+
* @throws {PerpsError} When the provider plugin is not registered, or on
|
|
29
|
+
* backend / network / parsing errors.
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* const { items, pagination } = await getFills(client, {
|
|
33
|
+
* provider: 'hyperliquid',
|
|
34
|
+
* address: '0x1234...',
|
|
35
|
+
* limit: 50,
|
|
36
|
+
* })
|
|
37
|
+
* ```
|
|
38
|
+
* @public
|
|
39
|
+
*/
|
|
40
|
+
export async function getFills(
|
|
41
|
+
client: PerpsSDKClient,
|
|
42
|
+
params: GetFillsParams,
|
|
43
|
+
options?: SDKRequestOptions
|
|
44
|
+
): Promise<FillsResponse> {
|
|
45
|
+
return requireProvider(client, params.provider).getFills(
|
|
46
|
+
{
|
|
47
|
+
address: params.address,
|
|
48
|
+
limit: params.limit,
|
|
49
|
+
cursor: params.cursor,
|
|
50
|
+
startTime: params.startTime,
|
|
51
|
+
endTime: params.endTime,
|
|
52
|
+
},
|
|
53
|
+
options
|
|
54
|
+
)
|
|
55
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { Market, MarketsResponse } from '@lifi/perps-types'
|
|
2
|
+
import { buildUrl, request } from '../transport/request.js'
|
|
3
|
+
import type { SDKRequestOptions } from '../types/config.js'
|
|
4
|
+
import type { PerpsSDKClient } from '../types/provider.js'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Parameters for {@link getMarket}.
|
|
8
|
+
*
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export interface GetMarketParams {
|
|
12
|
+
provider: string
|
|
13
|
+
/**
|
|
14
|
+
* Opaque provider `Market.id` (e.g. `"BTC"`, `"xyz:PURR"`, `"@142"` on
|
|
15
|
+
* Hyperliquid; `"0"`, `"1"` on Lighter). Pass a `displaySymbol` here and
|
|
16
|
+
* lookups will 404 for providers where the two diverge.
|
|
17
|
+
*/
|
|
18
|
+
marketId: string
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Get a specific market by its opaque marketId. Requests the single market
|
|
23
|
+
* from the backend `/markets` route (filtered by `marketIds`) and returns the
|
|
24
|
+
* first match; the backend responds 404 (thrown as a {@link PerpsError}) when
|
|
25
|
+
* nothing matches.
|
|
26
|
+
*
|
|
27
|
+
* @throws {PerpsError} On backend (e.g. 404), network, or parsing errors.
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* const client = createPerpsClient({ integrator: 'my-app' })
|
|
31
|
+
* const market = await getMarket(client, { provider: 'hyperliquid', marketId: 'BTC' })
|
|
32
|
+
* console.log(market.baseAsset.displaySymbol)
|
|
33
|
+
* ```
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
export async function getMarket(
|
|
37
|
+
client: PerpsSDKClient,
|
|
38
|
+
params: GetMarketParams,
|
|
39
|
+
options?: SDKRequestOptions
|
|
40
|
+
): Promise<Market> {
|
|
41
|
+
const url = buildUrl(`${client.config.apiUrl}/markets`, {
|
|
42
|
+
provider: params.provider,
|
|
43
|
+
marketIds: params.marketId,
|
|
44
|
+
})
|
|
45
|
+
const { markets } = await request<MarketsResponse>(
|
|
46
|
+
client.config,
|
|
47
|
+
url,
|
|
48
|
+
{},
|
|
49
|
+
options
|
|
50
|
+
)
|
|
51
|
+
return markets[0]
|
|
52
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { MarketsResponse } from '@lifi/perps-types'
|
|
2
|
+
import { buildUrl, request } from '../transport/request.js'
|
|
3
|
+
import type { SDKRequestOptions } from '../types/config.js'
|
|
4
|
+
import type { PerpsSDKClient } from '../types/provider.js'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Parameters for {@link getMarkets}.
|
|
8
|
+
*
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export interface GetMarketsParams {
|
|
12
|
+
provider: string
|
|
13
|
+
/** Optional filter — opaque `Market.id`s (not display symbols). */
|
|
14
|
+
marketIds?: string[]
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Get all available markets for a provider. Thin pass-through to the LI.FI
|
|
19
|
+
* backend's Valkey-cached `/perps/markets` route — the canonical source of
|
|
20
|
+
* public market data for widget consumers.
|
|
21
|
+
*
|
|
22
|
+
* @throws {PerpsError} On backend, network, or parsing errors.
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* const client = createPerpsClient({ integrator: 'my-app' })
|
|
26
|
+
* const { markets } = await getMarkets(client, { provider: 'hyperliquid' })
|
|
27
|
+
* ```
|
|
28
|
+
* @public
|
|
29
|
+
*/
|
|
30
|
+
export async function getMarkets(
|
|
31
|
+
client: PerpsSDKClient,
|
|
32
|
+
params: GetMarketsParams,
|
|
33
|
+
options?: SDKRequestOptions
|
|
34
|
+
): Promise<MarketsResponse> {
|
|
35
|
+
const url = buildUrl(`${client.config.apiUrl}/markets`, {
|
|
36
|
+
provider: params.provider,
|
|
37
|
+
marketIds: params.marketIds?.join(','),
|
|
38
|
+
})
|
|
39
|
+
return request<MarketsResponse>(client.config, url, {}, options)
|
|
40
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Meta } from '@lifi/perps-types'
|
|
2
|
+
import { request } from '../transport/request.js'
|
|
3
|
+
import type { SDKRequestOptions } from '../types/config.js'
|
|
4
|
+
import type { PerpsSDKClient } from '../types/provider.js'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Get platform metadata: the API version and any active platform-level notices.
|
|
8
|
+
*
|
|
9
|
+
* @param client - The SDK client instance
|
|
10
|
+
* @param options - Request options (e.g., AbortSignal)
|
|
11
|
+
* @returns Platform version and the list of active notices
|
|
12
|
+
* @throws {PerpsError} On API error responses
|
|
13
|
+
* @throws {PerpsError} On network or parsing errors
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* const client = createPerpsClient({ integrator: 'my-app' })
|
|
18
|
+
* const { version, notices } = await getMeta(client)
|
|
19
|
+
* ```
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
export async function getMeta(
|
|
23
|
+
client: PerpsSDKClient,
|
|
24
|
+
options?: SDKRequestOptions
|
|
25
|
+
): Promise<Meta> {
|
|
26
|
+
return request<Meta>(
|
|
27
|
+
client.config,
|
|
28
|
+
`${client.config.apiUrl}/meta`,
|
|
29
|
+
{},
|
|
30
|
+
options
|
|
31
|
+
)
|
|
32
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { OhlcvInterval, OhlcvResponse } from '@lifi/perps-types'
|
|
2
|
+
import { buildUrl, request } from '../transport/request.js'
|
|
3
|
+
import type { SDKRequestOptions } from '../types/config.js'
|
|
4
|
+
import type { PerpsSDKClient } from '../types/provider.js'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Parameters for {@link getOhlcv}.
|
|
8
|
+
*
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export interface GetOhlcvParams {
|
|
12
|
+
provider: string
|
|
13
|
+
/** Opaque provider `Market.id` (not `displaySymbol`). */
|
|
14
|
+
marketId: string
|
|
15
|
+
interval: OhlcvInterval
|
|
16
|
+
/** Unix timestamp in milliseconds */
|
|
17
|
+
startTime?: number
|
|
18
|
+
/** Unix timestamp in milliseconds */
|
|
19
|
+
endTime?: number
|
|
20
|
+
limit?: number
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Get OHLCV (candlestick) data for a market.
|
|
25
|
+
*
|
|
26
|
+
* @throws {PerpsError} On backend, network, or parsing errors.
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* const { candles } = await getOhlcv(client, {
|
|
30
|
+
* provider: 'hyperliquid',
|
|
31
|
+
* marketId: 'BTC',
|
|
32
|
+
* interval: '1h',
|
|
33
|
+
* limit: 100,
|
|
34
|
+
* })
|
|
35
|
+
* ```
|
|
36
|
+
* @public
|
|
37
|
+
*/
|
|
38
|
+
export async function getOhlcv(
|
|
39
|
+
client: PerpsSDKClient,
|
|
40
|
+
params: GetOhlcvParams,
|
|
41
|
+
options?: SDKRequestOptions
|
|
42
|
+
): Promise<OhlcvResponse> {
|
|
43
|
+
const url = buildUrl(`${client.config.apiUrl}/ohlcv`, {
|
|
44
|
+
provider: params.provider,
|
|
45
|
+
marketId: params.marketId,
|
|
46
|
+
interval: params.interval,
|
|
47
|
+
startTime: params.startTime,
|
|
48
|
+
endTime: params.endTime,
|
|
49
|
+
limit: params.limit,
|
|
50
|
+
})
|
|
51
|
+
return request<OhlcvResponse>(client.config, url, {}, options)
|
|
52
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { Order } from '@lifi/perps-types'
|
|
2
|
+
import type { Address } from 'viem'
|
|
3
|
+
import { requireProvider } from '../client/requireProvider.js'
|
|
4
|
+
import type { SDKRequestOptions } from '../types/config.js'
|
|
5
|
+
import type { PerpsSDKClient } from '../types/provider.js'
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Parameters for {@link getOrder}.
|
|
9
|
+
*
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export interface GetOrderParams {
|
|
13
|
+
provider: string
|
|
14
|
+
address: Address
|
|
15
|
+
id: string
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Get a specific order by ID. Delegates to the registered venue plugin
|
|
20
|
+
* (direct-to-venue); requires the provider plugin to be registered on the
|
|
21
|
+
* client.
|
|
22
|
+
*
|
|
23
|
+
* @throws {PerpsError} When the provider plugin is not registered, or on
|
|
24
|
+
* backend / network / parsing errors.
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* const order = await getOrder(client, {
|
|
28
|
+
* provider: 'hyperliquid',
|
|
29
|
+
* address: '0x1234...',
|
|
30
|
+
* id: '123456',
|
|
31
|
+
* })
|
|
32
|
+
* ```
|
|
33
|
+
* @public
|
|
34
|
+
*/
|
|
35
|
+
export async function getOrder(
|
|
36
|
+
client: PerpsSDKClient,
|
|
37
|
+
params: GetOrderParams,
|
|
38
|
+
options?: SDKRequestOptions
|
|
39
|
+
): Promise<Order> {
|
|
40
|
+
return requireProvider(client, params.provider).getOrder(
|
|
41
|
+
{ address: params.address, id: params.id },
|
|
42
|
+
options
|
|
43
|
+
)
|
|
44
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { OrderbookResponse } from '@lifi/perps-types'
|
|
2
|
+
import { buildUrl, request } from '../transport/request.js'
|
|
3
|
+
import type { SDKRequestOptions } from '../types/config.js'
|
|
4
|
+
import type { PerpsSDKClient } from '../types/provider.js'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Parameters for {@link getOrderbook}.
|
|
8
|
+
*
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export interface GetOrderbookParams {
|
|
12
|
+
provider: string
|
|
13
|
+
/** Opaque provider `Market.id` (not `displaySymbol`). */
|
|
14
|
+
marketId: string
|
|
15
|
+
/** Number of levels to return (default varies by DEX) */
|
|
16
|
+
depth?: number
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Get an orderbook backfill snapshot for a market. Pair with a provider WS
|
|
21
|
+
* subscription for live updates.
|
|
22
|
+
*
|
|
23
|
+
* @throws {PerpsError} On backend error responses, network, or parsing errors.
|
|
24
|
+
* @public
|
|
25
|
+
*/
|
|
26
|
+
export async function getOrderbook(
|
|
27
|
+
client: PerpsSDKClient,
|
|
28
|
+
params: GetOrderbookParams,
|
|
29
|
+
options?: SDKRequestOptions
|
|
30
|
+
): Promise<OrderbookResponse> {
|
|
31
|
+
const url = buildUrl(`${client.config.apiUrl}/orderbook`, {
|
|
32
|
+
provider: params.provider,
|
|
33
|
+
marketId: params.marketId,
|
|
34
|
+
depth: params.depth,
|
|
35
|
+
})
|
|
36
|
+
return request<OrderbookResponse>(client.config, url, {}, options)
|
|
37
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { OrdersResponse } from '@lifi/perps-types'
|
|
2
|
+
import type { Address } from 'viem'
|
|
3
|
+
import { requireProvider } from '../client/requireProvider.js'
|
|
4
|
+
import type { SDKRequestOptions } from '../types/config.js'
|
|
5
|
+
import type { PerpsSDKClient } from '../types/provider.js'
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Parameters for {@link getOrders}.
|
|
9
|
+
*
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export interface GetOrdersParams {
|
|
13
|
+
provider: string
|
|
14
|
+
address: Address
|
|
15
|
+
/** Optional filter — opaque `Market.id` (not `displaySymbol`) */
|
|
16
|
+
marketId?: string
|
|
17
|
+
limit?: number
|
|
18
|
+
cursor?: string
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Get open orders and trigger orders for an account. Delegates to the
|
|
23
|
+
* registered venue plugin (direct-to-venue); requires the provider plugin to be
|
|
24
|
+
* registered on the client.
|
|
25
|
+
*
|
|
26
|
+
* @throws {PerpsError} When the provider plugin is not registered, or on
|
|
27
|
+
* backend / network / parsing errors.
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* const { openOrders, triggerOrders } = await getOrders(client, {
|
|
31
|
+
* provider: 'hyperliquid',
|
|
32
|
+
* address: '0x1234...',
|
|
33
|
+
* })
|
|
34
|
+
* ```
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
export async function getOrders(
|
|
38
|
+
client: PerpsSDKClient,
|
|
39
|
+
params: GetOrdersParams,
|
|
40
|
+
options?: SDKRequestOptions
|
|
41
|
+
): Promise<OrdersResponse> {
|
|
42
|
+
return requireProvider(client, params.provider).getOrders(
|
|
43
|
+
{
|
|
44
|
+
address: params.address,
|
|
45
|
+
marketId: params.marketId,
|
|
46
|
+
limit: params.limit,
|
|
47
|
+
cursor: params.cursor,
|
|
48
|
+
},
|
|
49
|
+
options
|
|
50
|
+
)
|
|
51
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { PositionsResponse } from '@lifi/perps-types'
|
|
2
|
+
import type { Address } from 'viem'
|
|
3
|
+
import { requireProvider } from '../client/requireProvider.js'
|
|
4
|
+
import type { SDKRequestOptions } from '../types/config.js'
|
|
5
|
+
import type { PerpsSDKClient } from '../types/provider.js'
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Parameters for {@link getPositions}.
|
|
9
|
+
*
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export interface GetPositionsParams {
|
|
13
|
+
provider: string
|
|
14
|
+
address: Address
|
|
15
|
+
/** Optional filter — opaque `Market.id` (not `displaySymbol`) */
|
|
16
|
+
marketId?: string
|
|
17
|
+
limit?: number
|
|
18
|
+
cursor?: string
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Get open positions for an account. Delegates to the registered venue plugin
|
|
23
|
+
* (direct-to-venue); requires the provider plugin to be registered on the
|
|
24
|
+
* client.
|
|
25
|
+
*
|
|
26
|
+
* @throws {PerpsError} When the provider plugin is not registered, or on
|
|
27
|
+
* backend / network / parsing errors.
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* const { positions } = await getPositions(client, {
|
|
31
|
+
* provider: 'hyperliquid',
|
|
32
|
+
* address: '0x1234...',
|
|
33
|
+
* })
|
|
34
|
+
* ```
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
export async function getPositions(
|
|
38
|
+
client: PerpsSDKClient,
|
|
39
|
+
params: GetPositionsParams,
|
|
40
|
+
options?: SDKRequestOptions
|
|
41
|
+
): Promise<PositionsResponse> {
|
|
42
|
+
return requireProvider(client, params.provider).getPositions(
|
|
43
|
+
{
|
|
44
|
+
address: params.address,
|
|
45
|
+
marketId: params.marketId,
|
|
46
|
+
limit: params.limit,
|
|
47
|
+
cursor: params.cursor,
|
|
48
|
+
},
|
|
49
|
+
options
|
|
50
|
+
)
|
|
51
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { PricesResponse } from '@lifi/perps-types'
|
|
2
|
+
import { buildUrl, request } from '../transport/request.js'
|
|
3
|
+
import type { SDKRequestOptions } from '../types/config.js'
|
|
4
|
+
import type { PerpsSDKClient } from '../types/provider.js'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Parameters for {@link getPrices}.
|
|
8
|
+
*
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export interface GetPricesParams {
|
|
12
|
+
provider: string
|
|
13
|
+
/** Optional filter — opaque `Market.id`s (not display symbols). */
|
|
14
|
+
marketIds?: string[]
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Get current prices for markets, optionally filtered by `Market.id`.
|
|
19
|
+
*
|
|
20
|
+
* @throws {PerpsError} On backend error responses, network, or parsing errors.
|
|
21
|
+
* @public
|
|
22
|
+
*/
|
|
23
|
+
export async function getPrices(
|
|
24
|
+
client: PerpsSDKClient,
|
|
25
|
+
params: GetPricesParams,
|
|
26
|
+
options?: SDKRequestOptions
|
|
27
|
+
): Promise<PricesResponse> {
|
|
28
|
+
const url = buildUrl(`${client.config.apiUrl}/prices`, {
|
|
29
|
+
provider: params.provider,
|
|
30
|
+
marketIds: params.marketIds?.join(','),
|
|
31
|
+
})
|
|
32
|
+
return request<PricesResponse>(client.config, url, {}, options)
|
|
33
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ProvidersResponse } from '@lifi/perps-types'
|
|
2
|
+
import { request } from '../transport/request.js'
|
|
3
|
+
import type { SDKRequestOptions } from '../types/config.js'
|
|
4
|
+
import type { PerpsSDKClient } from '../types/provider.js'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Get all available providers.
|
|
8
|
+
*
|
|
9
|
+
* @param client - The SDK client instance
|
|
10
|
+
* @param options - Request options (e.g., AbortSignal)
|
|
11
|
+
* @returns List of supported providers with their authorization requirements
|
|
12
|
+
* @throws {PerpsError} On API error responses
|
|
13
|
+
* @throws {PerpsError} On network or parsing errors
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* const client = createPerpsClient({ integrator: 'my-app' })
|
|
18
|
+
* const { providers } = await getProviders(client)
|
|
19
|
+
* console.log(providers) // [{ key: 'hyperliquid', name: 'Hyperliquid', ... }]
|
|
20
|
+
* ```
|
|
21
|
+
* @public
|
|
22
|
+
*/
|
|
23
|
+
export async function getProviders(
|
|
24
|
+
client: PerpsSDKClient,
|
|
25
|
+
options?: SDKRequestOptions
|
|
26
|
+
): Promise<ProvidersResponse> {
|
|
27
|
+
return request<ProvidersResponse>(
|
|
28
|
+
client.config,
|
|
29
|
+
`${client.config.apiUrl}/providers`,
|
|
30
|
+
{},
|
|
31
|
+
options
|
|
32
|
+
)
|
|
33
|
+
}
|