@lifi/perps-sdk 0.1.1-alpha.4 → 0.1.1-alpha.40
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 +38 -15
- package/dist/cjs/agent/AgentManager.d.ts +5 -5
- package/dist/cjs/agent/AgentManager.d.ts.map +1 -1
- package/dist/cjs/agent/AgentManager.js +16 -14
- package/dist/cjs/agent/AgentManager.js.map +1 -1
- package/dist/cjs/client/PerpsClient.d.ts +70 -21
- package/dist/cjs/client/PerpsClient.d.ts.map +1 -1
- package/dist/cjs/client/PerpsClient.js +323 -175
- package/dist/cjs/client/PerpsClient.js.map +1 -1
- package/dist/cjs/client/createPerpsClient.d.ts +12 -2
- package/dist/cjs/client/createPerpsClient.d.ts.map +1 -1
- package/dist/cjs/client/createPerpsClient.js +6 -5
- package/dist/cjs/client/createPerpsClient.js.map +1 -1
- package/dist/cjs/client/types.d.ts +42 -25
- package/dist/cjs/client/types.d.ts.map +1 -1
- package/dist/cjs/client/types.js +6 -0
- package/dist/cjs/client/types.js.map +1 -1
- 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 +0 -10
- package/dist/cjs/errors/constants.d.ts.map +1 -1
- package/dist/cjs/errors/constants.js +1 -12
- package/dist/cjs/errors/constants.js.map +1 -1
- package/dist/cjs/index.d.ts +31 -32
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +58 -42
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/realtime/PerpsWsClient.d.ts +1 -0
- package/dist/cjs/realtime/PerpsWsClient.d.ts.map +1 -1
- package/dist/cjs/realtime/PerpsWsClient.js +28 -23
- package/dist/cjs/realtime/PerpsWsClient.js.map +1 -1
- package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.d.ts +9 -5
- package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.d.ts.map +1 -1
- package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.js +162 -52
- package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.js.map +1 -1
- package/dist/cjs/realtime/hyperliquid/types.d.ts +11 -9
- package/dist/cjs/realtime/hyperliquid/types.d.ts.map +1 -1
- package/dist/cjs/services/createAction.d.ts +11 -0
- package/dist/cjs/services/createAction.d.ts.map +1 -0
- package/dist/cjs/services/{submitAuthorization.js → createAction.js} +7 -6
- package/dist/cjs/services/createAction.js.map +1 -0
- package/dist/cjs/services/executeAction.d.ts +11 -0
- package/dist/cjs/services/executeAction.d.ts.map +1 -0
- package/dist/cjs/services/{submitOrder.js → executeAction.js} +6 -5
- package/dist/cjs/services/executeAction.js.map +1 -0
- package/dist/cjs/services/getAccount.d.ts +1 -1
- package/dist/cjs/services/getAccount.d.ts.map +1 -1
- package/dist/cjs/services/getAccount.js +1 -1
- package/dist/cjs/services/getAccount.js.map +1 -1
- package/dist/cjs/services/getActivity.d.ts +13 -0
- package/dist/cjs/services/getActivity.d.ts.map +1 -0
- package/dist/cjs/services/getActivity.js +21 -0
- package/dist/cjs/services/getActivity.js.map +1 -0
- package/dist/cjs/services/getAsset.d.ts +8 -0
- package/dist/cjs/services/getAsset.d.ts.map +1 -0
- package/dist/cjs/services/{getMarkets.js → getAsset.js} +6 -4
- package/dist/cjs/services/getAsset.js.map +1 -0
- package/dist/cjs/services/getAssets.d.ts +7 -0
- package/dist/cjs/services/getAssets.d.ts.map +1 -0
- package/dist/cjs/services/{getMarket.js → getAssets.js} +5 -5
- package/dist/cjs/services/getAssets.js.map +1 -0
- package/dist/cjs/services/getFills.d.ts +12 -0
- package/dist/cjs/services/getFills.d.ts.map +1 -0
- package/dist/cjs/services/{getHistory.js → getFills.js} +7 -5
- package/dist/cjs/services/getFills.js.map +1 -0
- package/dist/cjs/services/getOhlcv.d.ts +1 -1
- package/dist/cjs/services/getOhlcv.d.ts.map +1 -1
- package/dist/cjs/services/getOhlcv.js +1 -1
- package/dist/cjs/services/getOhlcv.js.map +1 -1
- package/dist/cjs/services/getOrder.d.ts +1 -1
- package/dist/cjs/services/getOrder.d.ts.map +1 -1
- package/dist/cjs/services/getOrder.js +1 -1
- package/dist/cjs/services/getOrder.js.map +1 -1
- package/dist/cjs/services/getOrderbook.d.ts +1 -1
- package/dist/cjs/services/getOrderbook.d.ts.map +1 -1
- package/dist/cjs/services/getOrderbook.js +1 -1
- package/dist/cjs/services/getOrderbook.js.map +1 -1
- package/dist/cjs/services/getOrders.d.ts +11 -0
- package/dist/cjs/services/getOrders.d.ts.map +1 -0
- package/dist/cjs/services/getOrders.js +15 -0
- package/dist/cjs/services/getOrders.js.map +1 -0
- package/dist/cjs/services/getPositions.d.ts +11 -0
- package/dist/cjs/services/getPositions.d.ts.map +1 -0
- package/dist/cjs/services/getPositions.js +15 -0
- package/dist/cjs/services/getPositions.js.map +1 -0
- package/dist/cjs/services/getPrices.d.ts +1 -1
- package/dist/cjs/services/getPrices.d.ts.map +1 -1
- package/dist/cjs/services/getPrices.js +1 -1
- package/dist/cjs/services/getPrices.js.map +1 -1
- package/dist/cjs/services/getProviders.d.ts +4 -0
- package/dist/cjs/services/getProviders.d.ts.map +1 -0
- package/dist/cjs/services/{getDexes.js → getProviders.js} +4 -4
- package/dist/cjs/services/getProviders.js.map +1 -0
- package/dist/cjs/utils/accountSummary.d.ts +9 -0
- package/dist/cjs/utils/accountSummary.d.ts.map +1 -0
- package/dist/cjs/utils/accountSummary.js +81 -0
- package/dist/cjs/utils/accountSummary.js.map +1 -0
- package/dist/cjs/utils/calculations.d.ts +16 -0
- package/dist/cjs/utils/calculations.d.ts.map +1 -0
- package/dist/cjs/utils/calculations.js +71 -0
- package/dist/cjs/utils/calculations.js.map +1 -0
- package/dist/cjs/utils/hyperliquid/index.d.ts +3 -0
- package/dist/cjs/utils/hyperliquid/index.d.ts.map +1 -0
- package/dist/cjs/utils/hyperliquid/index.js +11 -0
- package/dist/cjs/utils/hyperliquid/index.js.map +1 -0
- package/dist/cjs/utils/hyperliquid/liquidation.d.ts +3 -0
- package/dist/cjs/utils/hyperliquid/liquidation.d.ts.map +1 -0
- package/dist/cjs/utils/hyperliquid/liquidation.js +24 -0
- package/dist/cjs/utils/hyperliquid/liquidation.js.map +1 -0
- package/dist/cjs/utils/hyperliquid/orderFormatting.d.ts +4 -0
- package/dist/cjs/utils/hyperliquid/orderFormatting.d.ts.map +1 -0
- package/dist/cjs/utils/hyperliquid/orderFormatting.js +33 -0
- package/dist/cjs/utils/hyperliquid/orderFormatting.js.map +1 -0
- package/dist/cjs/utils/orderClassification.d.ts +8 -0
- package/dist/cjs/utils/orderClassification.d.ts.map +1 -0
- package/dist/cjs/utils/orderClassification.js +39 -0
- package/dist/cjs/utils/orderClassification.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/request.d.ts.map +1 -1
- package/dist/cjs/utils/request.js +16 -4
- package/dist/cjs/utils/request.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/esm/agent/AgentManager.d.ts +9 -9
- package/dist/esm/agent/AgentManager.d.ts.map +1 -1
- package/dist/esm/agent/AgentManager.js +20 -18
- package/dist/esm/agent/AgentManager.js.map +1 -1
- package/dist/esm/agent/storage.d.ts +1 -1
- package/dist/esm/agent/storage.js +1 -1
- package/dist/esm/client/PerpsClient.d.ts +70 -189
- package/dist/esm/client/PerpsClient.d.ts.map +1 -1
- package/dist/esm/client/PerpsClient.js +355 -361
- package/dist/esm/client/PerpsClient.js.map +1 -1
- package/dist/esm/client/createPerpsClient.d.ts +30 -7
- package/dist/esm/client/createPerpsClient.d.ts.map +1 -1
- package/dist/esm/client/createPerpsClient.js +6 -6
- package/dist/esm/client/createPerpsClient.js.map +1 -1
- package/dist/esm/client/types.d.ts +75 -48
- package/dist/esm/client/types.d.ts.map +1 -1
- package/dist/esm/client/types.js +11 -1
- package/dist/esm/client/types.js.map +1 -1
- package/dist/esm/errors/PerpsError.d.ts +2 -3
- package/dist/esm/errors/PerpsError.d.ts.map +1 -1
- package/dist/esm/errors/PerpsError.js +3 -15
- package/dist/esm/errors/PerpsError.js.map +1 -1
- package/dist/esm/errors/constants.d.ts +0 -10
- package/dist/esm/errors/constants.d.ts.map +1 -1
- package/dist/esm/errors/constants.js +0 -11
- package/dist/esm/errors/constants.js.map +1 -1
- package/dist/esm/index.d.ts +31 -32
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +22 -23
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/realtime/PerpsWsClient.d.ts +1 -0
- package/dist/esm/realtime/PerpsWsClient.d.ts.map +1 -1
- package/dist/esm/realtime/PerpsWsClient.js +30 -23
- package/dist/esm/realtime/PerpsWsClient.js.map +1 -1
- package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.d.ts +11 -5
- package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.d.ts.map +1 -1
- package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.js +174 -53
- package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.js.map +1 -1
- package/dist/esm/realtime/hyperliquid/types.d.ts +11 -9
- package/dist/esm/realtime/hyperliquid/types.d.ts.map +1 -1
- package/dist/esm/services/createAction.d.ts +11 -0
- package/dist/esm/services/createAction.d.ts.map +1 -0
- package/dist/esm/services/createAction.js +14 -0
- package/dist/esm/services/createAction.js.map +1 -0
- package/dist/esm/services/executeAction.d.ts +11 -0
- package/dist/esm/services/executeAction.d.ts.map +1 -0
- package/dist/esm/services/executeAction.js +14 -0
- package/dist/esm/services/executeAction.js.map +1 -0
- package/dist/esm/services/getAccount.d.ts +7 -7
- package/dist/esm/services/getAccount.d.ts.map +1 -1
- package/dist/esm/services/getAccount.js +6 -6
- package/dist/esm/services/getAccount.js.map +1 -1
- package/dist/esm/services/getActivity.d.ts +49 -0
- package/dist/esm/services/getActivity.d.ts.map +1 -0
- package/dist/esm/services/getActivity.js +47 -0
- package/dist/esm/services/getActivity.js.map +1 -0
- package/dist/esm/services/getAsset.d.ts +20 -0
- package/dist/esm/services/getAsset.d.ts.map +1 -0
- package/dist/esm/services/getAsset.js +18 -0
- package/dist/esm/services/getAsset.js.map +1 -0
- package/dist/esm/services/getAssets.d.ts +18 -0
- package/dist/esm/services/getAssets.d.ts.map +1 -0
- package/dist/esm/services/getAssets.js +18 -0
- package/dist/esm/services/getAssets.js.map +1 -0
- package/dist/{types/services/getHistory.d.ts → esm/services/getFills.d.ts} +17 -13
- package/dist/esm/services/getFills.d.ts.map +1 -0
- package/dist/esm/services/{getHistory.js → getFills.js} +13 -11
- package/dist/esm/services/getFills.js.map +1 -0
- package/dist/esm/services/getOhlcv.d.ts +4 -4
- package/dist/esm/services/getOhlcv.d.ts.map +1 -1
- package/dist/esm/services/getOhlcv.js +3 -3
- package/dist/esm/services/getOhlcv.js.map +1 -1
- package/dist/esm/services/getOrder.d.ts +4 -4
- package/dist/esm/services/getOrder.d.ts.map +1 -1
- package/dist/esm/services/getOrder.js +3 -3
- package/dist/esm/services/getOrder.js.map +1 -1
- package/dist/esm/services/getOrderbook.d.ts +4 -4
- package/dist/esm/services/getOrderbook.d.ts.map +1 -1
- package/dist/esm/services/getOrderbook.js +3 -3
- package/dist/esm/services/getOrderbook.js.map +1 -1
- package/dist/esm/services/getOrders.d.ts +27 -0
- package/dist/esm/services/getOrders.d.ts.map +1 -0
- package/dist/esm/services/getOrders.js +23 -0
- package/dist/esm/services/getOrders.js.map +1 -0
- package/dist/esm/services/getPositions.d.ts +27 -0
- package/dist/esm/services/getPositions.d.ts.map +1 -0
- package/dist/esm/services/getPositions.js +23 -0
- package/dist/esm/services/getPositions.js.map +1 -0
- package/dist/esm/services/getPrices.d.ts +5 -5
- package/dist/esm/services/getPrices.d.ts.map +1 -1
- package/dist/esm/services/getPrices.js +4 -4
- 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 +21 -0
- package/dist/esm/services/getProviders.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 +92 -0
- package/dist/esm/utils/accountSummary.js.map +1 -0
- package/dist/esm/utils/calculations.d.ts +109 -0
- package/dist/esm/utils/calculations.d.ts.map +1 -0
- package/dist/esm/utils/calculations.js +154 -0
- package/dist/esm/utils/calculations.js.map +1 -0
- package/dist/esm/utils/hyperliquid/index.d.ts +3 -0
- package/dist/esm/utils/hyperliquid/index.d.ts.map +1 -0
- package/dist/esm/utils/hyperliquid/index.js +3 -0
- package/dist/esm/utils/hyperliquid/index.js.map +1 -0
- package/dist/esm/utils/hyperliquid/liquidation.d.ts +46 -0
- package/dist/esm/utils/hyperliquid/liquidation.d.ts.map +1 -0
- package/dist/esm/utils/hyperliquid/liquidation.js +63 -0
- package/dist/esm/utils/hyperliquid/liquidation.js.map +1 -0
- package/dist/esm/utils/hyperliquid/orderFormatting.d.ts +44 -0
- package/dist/esm/utils/hyperliquid/orderFormatting.d.ts.map +1 -0
- package/dist/esm/utils/hyperliquid/orderFormatting.js +79 -0
- package/dist/esm/utils/hyperliquid/orderFormatting.js.map +1 -0
- package/dist/esm/utils/orderClassification.d.ts +29 -0
- package/dist/esm/utils/orderClassification.d.ts.map +1 -0
- package/dist/esm/utils/orderClassification.js +53 -0
- package/dist/esm/utils/orderClassification.js.map +1 -0
- package/dist/esm/utils/parse.d.ts +18 -0
- package/dist/esm/utils/parse.d.ts.map +1 -0
- package/dist/esm/utils/parse.js +28 -0
- package/dist/esm/utils/parse.js.map +1 -0
- package/dist/esm/utils/request.d.ts +1 -2
- package/dist/esm/utils/request.d.ts.map +1 -1
- package/dist/esm/utils/request.js +20 -7
- package/dist/esm/utils/request.js.map +1 -1
- package/dist/esm/utils/units.d.ts +20 -0
- package/dist/esm/utils/units.d.ts.map +1 -0
- package/dist/esm/utils/units.js +31 -0
- package/dist/esm/utils/units.js.map +1 -0
- package/dist/esm/utils/validation.d.ts +15 -0
- package/dist/esm/utils/validation.d.ts.map +1 -0
- package/dist/esm/utils/validation.js +26 -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/types/agent/AgentManager.d.ts +9 -9
- package/dist/types/agent/AgentManager.d.ts.map +1 -1
- package/dist/types/agent/storage.d.ts +1 -1
- package/dist/types/client/PerpsClient.d.ts +70 -189
- package/dist/types/client/PerpsClient.d.ts.map +1 -1
- package/dist/types/client/createPerpsClient.d.ts +30 -7
- package/dist/types/client/createPerpsClient.d.ts.map +1 -1
- package/dist/types/client/types.d.ts +75 -48
- package/dist/types/client/types.d.ts.map +1 -1
- package/dist/types/errors/PerpsError.d.ts +2 -3
- package/dist/types/errors/PerpsError.d.ts.map +1 -1
- package/dist/types/errors/constants.d.ts +0 -10
- package/dist/types/errors/constants.d.ts.map +1 -1
- package/dist/types/index.d.ts +31 -32
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/realtime/PerpsWsClient.d.ts +1 -0
- package/dist/types/realtime/PerpsWsClient.d.ts.map +1 -1
- package/dist/types/realtime/hyperliquid/HyperliquidWsProvider.d.ts +11 -5
- package/dist/types/realtime/hyperliquid/HyperliquidWsProvider.d.ts.map +1 -1
- package/dist/types/realtime/hyperliquid/types.d.ts +11 -9
- package/dist/types/realtime/hyperliquid/types.d.ts.map +1 -1
- package/dist/types/services/createAction.d.ts +11 -0
- package/dist/types/services/createAction.d.ts.map +1 -0
- package/dist/types/services/executeAction.d.ts +11 -0
- package/dist/types/services/executeAction.d.ts.map +1 -0
- package/dist/types/services/getAccount.d.ts +7 -7
- package/dist/types/services/getAccount.d.ts.map +1 -1
- package/dist/types/services/getActivity.d.ts +49 -0
- package/dist/types/services/getActivity.d.ts.map +1 -0
- package/dist/types/services/getAsset.d.ts +20 -0
- package/dist/types/services/getAsset.d.ts.map +1 -0
- package/dist/types/services/getAssets.d.ts +18 -0
- package/dist/types/services/getAssets.d.ts.map +1 -0
- package/dist/{esm/services/getHistory.d.ts → types/services/getFills.d.ts} +17 -13
- package/dist/types/services/getFills.d.ts.map +1 -0
- package/dist/types/services/getOhlcv.d.ts +4 -4
- package/dist/types/services/getOhlcv.d.ts.map +1 -1
- package/dist/types/services/getOrder.d.ts +4 -4
- package/dist/types/services/getOrder.d.ts.map +1 -1
- package/dist/types/services/getOrderbook.d.ts +4 -4
- package/dist/types/services/getOrderbook.d.ts.map +1 -1
- package/dist/types/services/getOrders.d.ts +27 -0
- package/dist/types/services/getOrders.d.ts.map +1 -0
- package/dist/types/services/getPositions.d.ts +27 -0
- package/dist/types/services/getPositions.d.ts.map +1 -0
- package/dist/types/services/getPrices.d.ts +5 -5
- 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/utils/accountSummary.d.ts +13 -0
- package/dist/types/utils/accountSummary.d.ts.map +1 -0
- package/dist/types/utils/calculations.d.ts +109 -0
- package/dist/types/utils/calculations.d.ts.map +1 -0
- package/dist/types/utils/hyperliquid/index.d.ts +3 -0
- package/dist/types/utils/hyperliquid/index.d.ts.map +1 -0
- package/dist/types/utils/hyperliquid/liquidation.d.ts +46 -0
- package/dist/types/utils/hyperliquid/liquidation.d.ts.map +1 -0
- package/dist/types/utils/hyperliquid/orderFormatting.d.ts +44 -0
- package/dist/types/utils/hyperliquid/orderFormatting.d.ts.map +1 -0
- package/dist/types/utils/orderClassification.d.ts +29 -0
- package/dist/types/utils/orderClassification.d.ts.map +1 -0
- package/dist/types/utils/parse.d.ts +18 -0
- package/dist/types/utils/parse.d.ts.map +1 -0
- package/dist/types/utils/request.d.ts +1 -2
- package/dist/types/utils/request.d.ts.map +1 -1
- package/dist/types/utils/units.d.ts +20 -0
- package/dist/types/utils/units.d.ts.map +1 -0
- package/dist/types/utils/validation.d.ts +15 -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/package.json +8 -4
- package/src/agent/AgentManager.ts +21 -19
- package/src/agent/storage.ts +1 -1
- package/src/client/PerpsClient.ts +569 -446
- package/src/client/createPerpsClient.ts +36 -11
- package/src/client/types.ts +84 -51
- package/src/errors/PerpsError.ts +3 -22
- package/src/errors/constants.ts +0 -11
- package/src/index.ts +70 -47
- package/src/realtime/PerpsWsClient.ts +47 -31
- package/src/realtime/hyperliquid/HyperliquidWsProvider.ts +203 -64
- package/src/realtime/hyperliquid/types.ts +8 -10
- package/src/services/createAction.ts +41 -0
- package/src/services/executeAction.ts +41 -0
- package/src/services/getAccount.ts +8 -8
- package/src/services/getActivity.ts +77 -0
- package/src/services/getAsset.ts +34 -0
- package/src/services/getAssets.ts +32 -0
- package/src/services/{getHistory.ts → getFills.ts} +23 -17
- package/src/services/getOhlcv.ts +5 -5
- package/src/services/getOrder.ts +5 -5
- package/src/services/getOrderbook.ts +5 -5
- package/src/services/getOrders.ts +45 -0
- package/src/services/getPositions.ts +45 -0
- package/src/services/getPrices.ts +6 -6
- package/src/services/{getDexes.ts → getProviders.ts} +10 -10
- package/src/utils/accountSummary.ts +124 -0
- package/src/utils/calculations.ts +209 -0
- package/src/utils/hyperliquid/index.ts +9 -0
- package/src/utils/hyperliquid/liquidation.ts +71 -0
- package/src/utils/hyperliquid/orderFormatting.ts +96 -0
- package/src/utils/orderClassification.ts +64 -0
- package/src/utils/parse.ts +28 -0
- package/src/utils/request.ts +22 -7
- package/src/utils/units.ts +32 -0
- package/src/utils/validation.ts +35 -0
- package/src/version.ts +1 -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/dex/types.js +0 -3
- package/dist/cjs/dex/types.js.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/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.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.map +0 -1
- package/dist/cjs/services/getMarket.d.ts +0 -8
- package/dist/cjs/services/getMarket.d.ts.map +0 -1
- package/dist/cjs/services/getMarket.js.map +0 -1
- package/dist/cjs/services/getMarkets.d.ts +0 -7
- package/dist/cjs/services/getMarkets.d.ts.map +0 -1
- package/dist/cjs/services/getMarkets.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.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/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/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.map +0 -1
- package/dist/esm/services/getHistory.js.map +0 -1
- package/dist/esm/services/getMarket.d.ts +0 -27
- package/dist/esm/services/getMarket.d.ts.map +0 -1
- package/dist/esm/services/getMarket.js +0 -25
- package/dist/esm/services/getMarket.js.map +0 -1
- package/dist/esm/services/getMarkets.d.ts +0 -25
- package/dist/esm/services/getMarkets.d.ts.map +0 -1
- package/dist/esm/services/getMarkets.js +0 -23
- package/dist/esm/services/getMarkets.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/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/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.map +0 -1
- package/dist/types/services/getMarket.d.ts +0 -27
- package/dist/types/services/getMarket.d.ts.map +0 -1
- package/dist/types/services/getMarkets.d.ts +0 -25
- package/dist/types/services/getMarkets.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/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/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/getMarket.ts +0 -41
- package/src/services/getMarkets.ts +0 -37
- package/src/services/submitAuthorization.ts +0 -70
- package/src/services/submitOrder.ts +0 -72
- package/src/services/submitWithdrawal.ts +0 -67
|
@@ -1,10 +1,30 @@
|
|
|
1
1
|
import { PerpsErrorCode } from '@lifi/perps-types'
|
|
2
2
|
import { AgentManager } from '../agent/AgentManager.js'
|
|
3
3
|
import type { StorageAdapter } from '../agent/types.js'
|
|
4
|
-
import { PerpsErrorName } from '../errors/constants.js'
|
|
5
4
|
import { PerpsError } from '../errors/PerpsError.js'
|
|
6
5
|
|
|
7
|
-
const DEFAULT_API_URL = 'https://li.quest/v1/perps'
|
|
6
|
+
export const DEFAULT_API_URL = 'https://develop.li.quest/v1/perps'
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Per-provider configuration.
|
|
10
|
+
*/
|
|
11
|
+
export interface ProviderConfig {
|
|
12
|
+
/** Markets to include. Filters visible assets and various API calls. */
|
|
13
|
+
markets?: string[]
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Provider-specific configuration for Hyperliquid.
|
|
18
|
+
* @deprecated Use ProviderConfig instead — this alias exists for backwards compatibility.
|
|
19
|
+
*/
|
|
20
|
+
export type HyperliquidConfig = ProviderConfig
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Provider-specific configurations keyed by provider name.
|
|
24
|
+
*/
|
|
25
|
+
export interface ProviderConfigs {
|
|
26
|
+
[provider: string]: ProviderConfig | undefined
|
|
27
|
+
}
|
|
8
28
|
|
|
9
29
|
/**
|
|
10
30
|
* Configuration options for creating a Perps SDK client.
|
|
@@ -12,9 +32,9 @@ const DEFAULT_API_URL = 'https://li.quest/v1/perps'
|
|
|
12
32
|
export interface PerpsConfig {
|
|
13
33
|
/** Integrator identifier (required) */
|
|
14
34
|
integrator: string
|
|
15
|
-
/**
|
|
16
|
-
apiKey
|
|
17
|
-
/** Base API URL. Defaults to
|
|
35
|
+
/** API key for authenticated requests (get one at https://portal.li.fi/) */
|
|
36
|
+
apiKey: string
|
|
37
|
+
/** Base API URL. Defaults to DEFAULT_API_URL */
|
|
18
38
|
apiUrl?: string
|
|
19
39
|
/** Disable version update check in development mode */
|
|
20
40
|
disableVersionCheck?: boolean
|
|
@@ -22,6 +42,8 @@ export interface PerpsConfig {
|
|
|
22
42
|
storage?: StorageAdapter
|
|
23
43
|
/** Optional request interceptor for custom handling */
|
|
24
44
|
requestInterceptor?: RequestInterceptor
|
|
45
|
+
/** Provider-specific configuration */
|
|
46
|
+
providers?: ProviderConfigs
|
|
25
47
|
}
|
|
26
48
|
|
|
27
49
|
/**
|
|
@@ -30,14 +52,16 @@ export interface PerpsConfig {
|
|
|
30
52
|
export interface PerpsBaseConfig {
|
|
31
53
|
/** Integrator identifier (required) */
|
|
32
54
|
integrator: string
|
|
33
|
-
/**
|
|
34
|
-
apiKey
|
|
55
|
+
/** API key for authenticated requests */
|
|
56
|
+
apiKey: string
|
|
35
57
|
/** Resolved API URL (always set) */
|
|
36
58
|
apiUrl: string
|
|
37
59
|
/** Disable version update check in development mode */
|
|
38
60
|
disableVersionCheck?: boolean
|
|
39
61
|
/** Optional request interceptor for custom handling */
|
|
40
62
|
requestInterceptor?: RequestInterceptor
|
|
63
|
+
/** Provider-specific configuration */
|
|
64
|
+
providers?: ProviderConfigs
|
|
41
65
|
}
|
|
42
66
|
|
|
43
67
|
/**
|
|
@@ -79,20 +103,20 @@ export interface PerpsSDKClient {
|
|
|
79
103
|
* ```ts
|
|
80
104
|
* const client = createPerpsClient({
|
|
81
105
|
* integrator: 'my-app',
|
|
82
|
-
* apiKey: '
|
|
106
|
+
* apiKey: 'your-api-key',
|
|
83
107
|
* })
|
|
84
108
|
*
|
|
85
109
|
* // Use with service functions
|
|
86
|
-
* const {
|
|
110
|
+
* const { providers } = await getProviders(client)
|
|
87
111
|
* ```
|
|
88
112
|
*/
|
|
89
113
|
export function createPerpsClient(options: PerpsConfig): PerpsSDKClient {
|
|
90
114
|
if (!options.integrator) {
|
|
91
115
|
const error = new PerpsError(
|
|
92
|
-
PerpsErrorCode.
|
|
116
|
+
PerpsErrorCode.SDKError,
|
|
93
117
|
'Integrator is required. Please see documentation at https://docs.li.fi'
|
|
94
118
|
)
|
|
95
|
-
error.
|
|
119
|
+
error.tool = '@lifi/perps-sdk'
|
|
96
120
|
throw error
|
|
97
121
|
}
|
|
98
122
|
|
|
@@ -104,6 +128,7 @@ export function createPerpsClient(options: PerpsConfig): PerpsSDKClient {
|
|
|
104
128
|
apiUrl,
|
|
105
129
|
disableVersionCheck: options.disableVersionCheck,
|
|
106
130
|
requestInterceptor: options.requestInterceptor,
|
|
131
|
+
providers: options.providers,
|
|
107
132
|
}
|
|
108
133
|
|
|
109
134
|
const agentManager = new AgentManager(options.storage)
|
package/src/client/types.ts
CHANGED
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
import type {
|
|
2
|
+
ActionStep,
|
|
2
3
|
Address,
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
AssetIdentity,
|
|
5
|
+
ExecuteActionResponse,
|
|
6
|
+
ModifyOrderInput,
|
|
6
7
|
OrderSide,
|
|
7
8
|
OrderType,
|
|
8
|
-
|
|
9
|
+
SignedActionStep,
|
|
9
10
|
TimeInForce,
|
|
10
11
|
TriggerOrderInput,
|
|
11
|
-
|
|
12
|
+
WithdrawalParams,
|
|
12
13
|
} from '@lifi/perps-types'
|
|
13
14
|
import type { StorageAdapter } from '../agent/types.js'
|
|
15
|
+
import type { ProviderConfigs } from './createPerpsClient.js'
|
|
14
16
|
|
|
15
17
|
// Re-export the SDK client types from createPerpsClient
|
|
16
18
|
export type {
|
|
19
|
+
HyperliquidConfig,
|
|
17
20
|
PerpsBaseConfig,
|
|
18
21
|
PerpsConfig,
|
|
19
22
|
PerpsSDKClient,
|
|
23
|
+
ProviderConfig,
|
|
24
|
+
ProviderConfigs,
|
|
20
25
|
RequestInterceptor,
|
|
21
26
|
SDKRequestOptions,
|
|
22
27
|
} from './createPerpsClient.js'
|
|
@@ -27,7 +32,10 @@ export type {
|
|
|
27
32
|
* - `USER`: User wallet signs each action (requires wallet popup per action)
|
|
28
33
|
* - `USER_AGENT`: SDK-generated agent signs actions (no popups after initial setup)
|
|
29
34
|
*/
|
|
30
|
-
export
|
|
35
|
+
export enum SigningMode {
|
|
36
|
+
USER = 'USER',
|
|
37
|
+
USER_AGENT = 'USER_AGENT',
|
|
38
|
+
}
|
|
31
39
|
|
|
32
40
|
/**
|
|
33
41
|
* Options for PerpsClient constructor.
|
|
@@ -35,40 +43,38 @@ export type SigningMode = 'USER' | 'USER_AGENT'
|
|
|
35
43
|
export interface PerpsClientOptions {
|
|
36
44
|
/** Integrator identifier (required) */
|
|
37
45
|
integrator: string
|
|
38
|
-
/**
|
|
39
|
-
apiKey
|
|
40
|
-
/** Base API URL. Defaults to
|
|
46
|
+
/** API key for authenticated requests (get one at https://portal.li.fi/) */
|
|
47
|
+
apiKey: string
|
|
48
|
+
/** Base API URL. Defaults to DEFAULT_API_URL */
|
|
41
49
|
apiUrl?: string
|
|
42
50
|
/** Custom storage adapter for agent keys. Defaults to localStorage. */
|
|
43
51
|
storage?: StorageAdapter
|
|
52
|
+
/** Provider-specific configuration */
|
|
53
|
+
providers?: ProviderConfigs
|
|
44
54
|
}
|
|
45
55
|
|
|
46
56
|
/**
|
|
47
|
-
* Parameters for building authorization payloads.
|
|
57
|
+
* Parameters for checking prerequisites (previously: building authorization payloads).
|
|
48
58
|
*/
|
|
49
|
-
export interface
|
|
50
|
-
/**
|
|
51
|
-
|
|
59
|
+
export interface CheckPrerequisitesParams {
|
|
60
|
+
/** Provider to check prerequisites for */
|
|
61
|
+
provider: string
|
|
52
62
|
/** User wallet address */
|
|
53
63
|
address: Address
|
|
54
64
|
/** Address of the signer (auto-set in USER_AGENT mode) */
|
|
55
65
|
signerAddress?: Address
|
|
56
|
-
/** Authorizations to create */
|
|
57
|
-
authorizations: AuthorizationInput[]
|
|
58
66
|
}
|
|
59
67
|
|
|
60
68
|
/**
|
|
61
69
|
* Parameters for placing an order.
|
|
62
70
|
*/
|
|
63
71
|
export interface PlaceOrderParams {
|
|
64
|
-
/**
|
|
65
|
-
|
|
72
|
+
/** Provider to place order on */
|
|
73
|
+
provider: string
|
|
66
74
|
/** User wallet address */
|
|
67
75
|
address: Address
|
|
68
|
-
/**
|
|
69
|
-
|
|
70
|
-
/** Market symbol */
|
|
71
|
-
symbol: string
|
|
76
|
+
/** Asset identity */
|
|
77
|
+
asset: AssetIdentity
|
|
72
78
|
/** Order side */
|
|
73
79
|
side: OrderSide
|
|
74
80
|
/** Order type */
|
|
@@ -91,24 +97,37 @@ export interface PlaceOrderParams {
|
|
|
91
97
|
stopLoss?: TriggerOrderInput
|
|
92
98
|
}
|
|
93
99
|
|
|
100
|
+
/**
|
|
101
|
+
* Parameters for placing trigger-only orders (TP/SL on existing positions).
|
|
102
|
+
* Sends a TRIGGER_ONLY order that skips the main order wire.
|
|
103
|
+
*/
|
|
104
|
+
export interface PlaceTriggerOrderParams {
|
|
105
|
+
provider: string
|
|
106
|
+
address: Address
|
|
107
|
+
asset: AssetIdentity
|
|
108
|
+
side: OrderSide
|
|
109
|
+
takeProfit?: TriggerOrderInput
|
|
110
|
+
stopLoss?: TriggerOrderInput
|
|
111
|
+
}
|
|
112
|
+
|
|
94
113
|
/**
|
|
95
114
|
* Parameters for building a withdrawal payload.
|
|
96
115
|
*/
|
|
97
116
|
export interface BuildWithdrawalParams {
|
|
98
|
-
/**
|
|
99
|
-
|
|
117
|
+
/** Provider to withdraw from */
|
|
118
|
+
provider: string
|
|
100
119
|
/** User wallet address (account owner) */
|
|
101
120
|
address: Address
|
|
102
121
|
/** Withdrawal details */
|
|
103
|
-
withdrawal:
|
|
122
|
+
withdrawal: WithdrawalParams
|
|
104
123
|
}
|
|
105
124
|
|
|
106
125
|
/**
|
|
107
126
|
* Parameters for canceling orders.
|
|
108
127
|
*/
|
|
109
128
|
export interface CancelOrdersParams {
|
|
110
|
-
/**
|
|
111
|
-
|
|
129
|
+
/** Provider to cancel orders on */
|
|
130
|
+
provider: string
|
|
112
131
|
/** User wallet address */
|
|
113
132
|
address: Address
|
|
114
133
|
/** Order IDs to cancel */
|
|
@@ -116,47 +135,61 @@ export interface CancelOrdersParams {
|
|
|
116
135
|
}
|
|
117
136
|
|
|
118
137
|
/**
|
|
119
|
-
* Parameters for
|
|
138
|
+
* Parameters for modifying orders.
|
|
139
|
+
*/
|
|
140
|
+
export interface ModifyOrdersParams {
|
|
141
|
+
/** Provider to modify orders on */
|
|
142
|
+
provider: string
|
|
143
|
+
/** User wallet address */
|
|
144
|
+
address: Address
|
|
145
|
+
/** Modifications to apply */
|
|
146
|
+
modifications: ModifyOrderInput[]
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Parameters for checkPrerequisites().
|
|
120
151
|
*/
|
|
121
|
-
export interface
|
|
122
|
-
/**
|
|
123
|
-
|
|
152
|
+
export interface GetPrerequisitesParams {
|
|
153
|
+
/** Provider to check prerequisites for */
|
|
154
|
+
provider: string
|
|
124
155
|
/** User wallet address */
|
|
125
156
|
address: Address
|
|
126
157
|
}
|
|
127
158
|
|
|
128
159
|
/**
|
|
129
|
-
* Result from
|
|
160
|
+
* Result from checkPrerequisites().
|
|
130
161
|
*/
|
|
131
|
-
export interface
|
|
132
|
-
/**
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
|
|
136
|
-
/** Whether all
|
|
162
|
+
export interface PrerequisitesResult {
|
|
163
|
+
/** Prerequisite steps requiring user wallet signature */
|
|
164
|
+
userPrerequisites: ActionStep[]
|
|
165
|
+
/** Prerequisite steps the SDK auto-signs with the agent */
|
|
166
|
+
agentPrerequisites: ActionStep[]
|
|
167
|
+
/** Whether all prerequisites are already satisfied (ready to trade) */
|
|
137
168
|
isReady: boolean
|
|
138
169
|
}
|
|
139
170
|
|
|
140
171
|
/**
|
|
141
|
-
* Parameters for
|
|
172
|
+
* Parameters for executePrerequisites().
|
|
142
173
|
*/
|
|
143
|
-
export interface
|
|
144
|
-
/**
|
|
145
|
-
|
|
174
|
+
export interface ExecutePrerequisitesParams {
|
|
175
|
+
/** Provider to authorize */
|
|
176
|
+
provider: string
|
|
146
177
|
/** User wallet address */
|
|
147
178
|
address: Address
|
|
148
|
-
/** The result from
|
|
149
|
-
required:
|
|
150
|
-
/** User-signed actions corresponding to required.
|
|
151
|
-
userSignedActions:
|
|
179
|
+
/** The result from checkPrerequisites() */
|
|
180
|
+
required: PrerequisitesResult
|
|
181
|
+
/** User-signed actions corresponding to required.userPrerequisites */
|
|
182
|
+
userSignedActions: SignedActionStep[]
|
|
152
183
|
}
|
|
153
184
|
|
|
154
185
|
/**
|
|
155
|
-
* Result from
|
|
186
|
+
* Result from executePrerequisites().
|
|
156
187
|
*/
|
|
157
|
-
export interface
|
|
158
|
-
/** Results from user-signed
|
|
159
|
-
userResults:
|
|
160
|
-
/** Results from agent-signed
|
|
161
|
-
agentResults?:
|
|
188
|
+
export interface ExecutePrerequisitesResult {
|
|
189
|
+
/** Results from user-signed prerequisite submission */
|
|
190
|
+
userResults: ExecuteActionResponse
|
|
191
|
+
/** Results from agent-signed prerequisite submission (if any) */
|
|
192
|
+
agentResults?: ExecuteActionResponse
|
|
193
|
+
/** Fallback user prerequisites when agent prerequisites fail (e.g. USER_SET_ABSTRACTION when AGENT_SET_ABSTRACTION cannot upgrade from dexAbstraction) */
|
|
194
|
+
fallbackUserPrerequisites?: ActionStep[]
|
|
162
195
|
}
|
package/src/errors/PerpsError.ts
CHANGED
|
@@ -1,34 +1,15 @@
|
|
|
1
1
|
import { PerpsErrorCode } from '@lifi/perps-types'
|
|
2
|
-
import { version } from '../version.js'
|
|
3
|
-
import { PerpsErrorName } from './constants.js'
|
|
4
2
|
|
|
5
3
|
export class PerpsError extends Error {
|
|
6
4
|
code: PerpsErrorCode
|
|
7
|
-
override name =
|
|
5
|
+
override name = 'PerpsError'
|
|
6
|
+
tool?: string
|
|
8
7
|
|
|
9
8
|
constructor(
|
|
10
9
|
code: PerpsErrorCode = PerpsErrorCode.DefaultError,
|
|
11
10
|
message = 'Unknown error occurred'
|
|
12
11
|
) {
|
|
13
|
-
|
|
14
|
-
super(errorMessage)
|
|
12
|
+
super(message)
|
|
15
13
|
this.code = code
|
|
16
|
-
this.name = PerpsErrorName.PerpsError
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
static fromError(error: unknown, defaultCode?: PerpsErrorCode): PerpsError {
|
|
20
|
-
if (error instanceof PerpsError) {
|
|
21
|
-
return error
|
|
22
|
-
}
|
|
23
|
-
if (error instanceof Error) {
|
|
24
|
-
return new PerpsError(
|
|
25
|
-
defaultCode ?? PerpsErrorCode.DefaultError,
|
|
26
|
-
error.message
|
|
27
|
-
)
|
|
28
|
-
}
|
|
29
|
-
return new PerpsError(
|
|
30
|
-
defaultCode ?? PerpsErrorCode.DefaultError,
|
|
31
|
-
String(error)
|
|
32
|
-
)
|
|
33
14
|
}
|
|
34
15
|
}
|
package/src/errors/constants.ts
CHANGED
|
@@ -1,15 +1,4 @@
|
|
|
1
|
-
export enum PerpsErrorName {
|
|
2
|
-
PerpsError = 'PerpsError',
|
|
3
|
-
HTTPError = 'HTTPError',
|
|
4
|
-
ValidationError = 'ValidationError',
|
|
5
|
-
ServerError = 'ServerError',
|
|
6
|
-
ConfigError = 'ConfigError',
|
|
7
|
-
AgentError = 'AgentError',
|
|
8
|
-
}
|
|
9
|
-
|
|
10
1
|
export enum PerpsErrorMessage {
|
|
11
|
-
UnknownError = 'Unknown error occurred.',
|
|
12
|
-
ConfigNotInitialized = 'SDK not configured. Call createPerpsConfig() first.',
|
|
13
2
|
AgentNotFound = 'Agent not found. Call setSigningMode() first.',
|
|
14
3
|
InvalidSigningMode = 'Invalid signing mode for this operation.',
|
|
15
4
|
}
|
package/src/index.ts
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
// Types
|
|
4
4
|
export * from '@lifi/perps-types'
|
|
5
|
+
// Utils
|
|
6
|
+
// biome-ignore lint/correctness/useImportExtensions: package subpath export
|
|
7
|
+
export { HlAbstractionMode } from '@lifi/perps-types/providers/hyperliquid'
|
|
5
8
|
// Agent
|
|
6
9
|
export { AgentManager } from './agent/AgentManager.js'
|
|
7
10
|
export { createMemoryStorage, localStorageAdapter } from './agent/storage.js'
|
|
@@ -13,76 +16,96 @@ export type {
|
|
|
13
16
|
RequestInterceptor,
|
|
14
17
|
SDKRequestOptions,
|
|
15
18
|
} from './client/createPerpsClient.js'
|
|
16
|
-
export {
|
|
19
|
+
export {
|
|
20
|
+
createPerpsClient,
|
|
21
|
+
DEFAULT_API_URL,
|
|
22
|
+
} from './client/createPerpsClient.js'
|
|
17
23
|
export { PerpsClient } from './client/PerpsClient.js'
|
|
18
24
|
export type {
|
|
19
|
-
BuildAuthorizationParams,
|
|
20
25
|
BuildWithdrawalParams,
|
|
21
26
|
CancelOrdersParams,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
27
|
+
CheckPrerequisitesParams,
|
|
28
|
+
ExecutePrerequisitesParams,
|
|
29
|
+
ExecutePrerequisitesResult,
|
|
30
|
+
GetPrerequisitesParams,
|
|
31
|
+
HyperliquidConfig,
|
|
32
|
+
ModifyOrdersParams,
|
|
25
33
|
PerpsClientOptions,
|
|
26
|
-
PlaceOrderParams,
|
|
27
|
-
|
|
28
|
-
|
|
34
|
+
PlaceOrderParams as ClientPlaceOrderParams,
|
|
35
|
+
PlaceTriggerOrderParams as ClientPlaceTriggerOrderParams,
|
|
36
|
+
PrerequisitesResult,
|
|
37
|
+
ProviderConfig,
|
|
38
|
+
ProviderConfigs,
|
|
29
39
|
} from './client/types.js'
|
|
30
|
-
|
|
31
|
-
export { getDexAuthProvider } from './dex/registry.js'
|
|
32
|
-
export type { DexAuthInputs, DexAuthProvider } from './dex/types.js'
|
|
33
|
-
export { AgentError } from './errors/AgentError.js'
|
|
34
|
-
export { PerpsErrorMessage, PerpsErrorName } from './errors/constants.js'
|
|
40
|
+
export { SigningMode } from './client/types.js'
|
|
35
41
|
// Errors
|
|
36
|
-
export {
|
|
42
|
+
export { PerpsErrorMessage } from './errors/constants.js'
|
|
37
43
|
export { PerpsError } from './errors/PerpsError.js'
|
|
38
|
-
export { PerpsSDKError } from './errors/PerpsSDKError.js'
|
|
39
|
-
export { ServerError } from './errors/ServerError.js'
|
|
40
|
-
export {
|
|
41
|
-
findErrorType,
|
|
42
|
-
getErrorChain,
|
|
43
|
-
getRootCause,
|
|
44
|
-
getRootCauseMessage,
|
|
45
|
-
hasErrorType,
|
|
46
|
-
} from './errors/utils/rootCause.js'
|
|
47
|
-
export { ValidationError } from './errors/ValidationError.js'
|
|
48
44
|
// Realtime
|
|
49
45
|
export { PerpsWsClient } from './realtime/PerpsWsClient.js'
|
|
50
46
|
export type { EventForSubscription } from './realtime/types.js'
|
|
51
|
-
export type { CancelOrderParams } from './services/cancelOrder.js'
|
|
52
47
|
// Services
|
|
53
|
-
export {
|
|
54
|
-
export
|
|
55
|
-
export {
|
|
56
|
-
export
|
|
57
|
-
export { createOrder } from './services/createOrder.js'
|
|
58
|
-
export type { CreateWithdrawalParams } from './services/createWithdrawal.js'
|
|
59
|
-
export { createWithdrawal } from './services/createWithdrawal.js'
|
|
48
|
+
export type { CreateActionParams } from './services/createAction.js'
|
|
49
|
+
export { createAction } from './services/createAction.js'
|
|
50
|
+
export type { ExecuteActionParams } from './services/executeAction.js'
|
|
51
|
+
export { executeAction } from './services/executeAction.js'
|
|
60
52
|
export type { GetAccountParams } from './services/getAccount.js'
|
|
61
53
|
export { getAccount } from './services/getAccount.js'
|
|
62
|
-
export {
|
|
63
|
-
export
|
|
64
|
-
export {
|
|
65
|
-
export
|
|
66
|
-
export {
|
|
67
|
-
export
|
|
68
|
-
export {
|
|
54
|
+
export type { GetActivityParams } from './services/getActivity.js'
|
|
55
|
+
export { getActivity } from './services/getActivity.js'
|
|
56
|
+
export type { GetAssetParams } from './services/getAsset.js'
|
|
57
|
+
export { getAsset } from './services/getAsset.js'
|
|
58
|
+
export type { GetAssetsParams } from './services/getAssets.js'
|
|
59
|
+
export { getAssets } from './services/getAssets.js'
|
|
60
|
+
export type { GetFillsParams } from './services/getFills.js'
|
|
61
|
+
export { getFills } from './services/getFills.js'
|
|
69
62
|
export type { GetOhlcvParams } from './services/getOhlcv.js'
|
|
70
63
|
export { getOhlcv } from './services/getOhlcv.js'
|
|
71
64
|
export type { GetOrderParams } from './services/getOrder.js'
|
|
72
65
|
export { getOrder } from './services/getOrder.js'
|
|
73
66
|
export type { GetOrderbookParams } from './services/getOrderbook.js'
|
|
74
67
|
export { getOrderbook } from './services/getOrderbook.js'
|
|
68
|
+
export type { GetOrdersParams } from './services/getOrders.js'
|
|
69
|
+
export { getOrders } from './services/getOrders.js'
|
|
70
|
+
export type { GetPositionsParams } from './services/getPositions.js'
|
|
71
|
+
export { getPositions } from './services/getPositions.js'
|
|
75
72
|
export type { GetPricesParams } from './services/getPrices.js'
|
|
76
73
|
export { getPrices } from './services/getPrices.js'
|
|
77
|
-
export
|
|
78
|
-
export {
|
|
79
|
-
export
|
|
80
|
-
export {
|
|
81
|
-
export
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
74
|
+
export { getProviders } from './services/getProviders.js'
|
|
75
|
+
export type { AccountSummary } from './utils/accountSummary.js'
|
|
76
|
+
export { calculateAccountSummary } from './utils/accountSummary.js'
|
|
77
|
+
export type { ExpectedPnl } from './utils/calculations.js'
|
|
78
|
+
export {
|
|
79
|
+
applySlippage,
|
|
80
|
+
calculateExpectedPnl,
|
|
81
|
+
calculateNotionalValue,
|
|
82
|
+
calculatePositionSize,
|
|
83
|
+
calculateRealizedPnlPercent,
|
|
84
|
+
calculateRequiredMargin,
|
|
85
|
+
calculateRoe,
|
|
86
|
+
calculateUnrealizedPnl,
|
|
87
|
+
estimateFees,
|
|
88
|
+
percentFromPrice,
|
|
89
|
+
priceFromPercent,
|
|
90
|
+
} from './utils/calculations.js'
|
|
91
|
+
export {
|
|
92
|
+
calculateLiquidationPrice,
|
|
93
|
+
calculateMaintenanceMarginRate,
|
|
94
|
+
formatOrderPrice,
|
|
95
|
+
formatOrderSize,
|
|
96
|
+
getMaxPriceDecimals,
|
|
97
|
+
} from './utils/hyperliquid/index.js'
|
|
98
|
+
export {
|
|
99
|
+
classifyFill,
|
|
100
|
+
FillClassification,
|
|
101
|
+
isStopLossOrder,
|
|
102
|
+
isTakeProfitOrder,
|
|
103
|
+
isTpSlOrder,
|
|
104
|
+
} from './utils/orderClassification.js'
|
|
105
|
+
export { stringToFloat } from './utils/parse.js'
|
|
85
106
|
export { signTypedData } from './utils/signTypedData.js'
|
|
107
|
+
export { fromBaseUnits, fromBaseUnitsNumber } from './utils/units.js'
|
|
108
|
+
export { validateMargin } from './utils/validation.js'
|
|
86
109
|
|
|
87
110
|
// Version
|
|
88
111
|
export { name, version } from './version.js'
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import type { Subscription } from '@lifi/perps-types'
|
|
2
2
|
import type { PerpsSDKClient } from '../client/createPerpsClient.js'
|
|
3
|
-
import {
|
|
4
|
-
import { getMarkets } from '../services/getMarkets.js'
|
|
3
|
+
import { getProviders } from '../services/getProviders.js'
|
|
5
4
|
import { HyperliquidWsProvider } from './hyperliquid/HyperliquidWsProvider.js'
|
|
6
|
-
import type {
|
|
5
|
+
import type {
|
|
6
|
+
EventForSubscription,
|
|
7
|
+
SubscriptionListener,
|
|
8
|
+
WsProvider,
|
|
9
|
+
} from './types.js'
|
|
7
10
|
|
|
8
11
|
export class PerpsWsClient {
|
|
9
12
|
private readonly client: PerpsSDKClient
|
|
10
|
-
private providers = new Map<string,
|
|
11
|
-
private initPromises = new Map<string, Promise<
|
|
13
|
+
private providers = new Map<string, WsProvider>()
|
|
14
|
+
private initPromises = new Map<string, Promise<WsProvider>>()
|
|
12
15
|
|
|
13
16
|
constructor(client: PerpsSDKClient) {
|
|
14
17
|
this.client = client
|
|
@@ -18,7 +21,8 @@ export class PerpsWsClient {
|
|
|
18
21
|
sub: S,
|
|
19
22
|
listener: (event: EventForSubscription<S>) => void
|
|
20
23
|
): Promise<() => void> {
|
|
21
|
-
const
|
|
24
|
+
const providerKey = sub.dex
|
|
25
|
+
const provider = await this.getOrCreateProvider(providerKey)
|
|
22
26
|
return provider.subscribe(sub, listener as SubscriptionListener)
|
|
23
27
|
}
|
|
24
28
|
|
|
@@ -30,44 +34,56 @@ export class PerpsWsClient {
|
|
|
30
34
|
this.initPromises.clear()
|
|
31
35
|
}
|
|
32
36
|
|
|
33
|
-
private async getOrCreateProvider(
|
|
34
|
-
|
|
35
|
-
): Promise<HyperliquidWsProvider> {
|
|
36
|
-
const existing = this.providers.get(dex)
|
|
37
|
+
private async getOrCreateProvider(provider: string): Promise<WsProvider> {
|
|
38
|
+
const existing = this.providers.get(provider)
|
|
37
39
|
if (existing) {
|
|
38
40
|
return existing
|
|
39
41
|
}
|
|
40
42
|
|
|
41
|
-
let initPromise = this.initPromises.get(
|
|
43
|
+
let initPromise = this.initPromises.get(provider)
|
|
42
44
|
if (!initPromise) {
|
|
43
|
-
initPromise = this.initProvider(
|
|
44
|
-
this.initPromises.set(
|
|
45
|
+
initPromise = this.initProvider(provider)
|
|
46
|
+
this.initPromises.set(provider, initPromise)
|
|
45
47
|
}
|
|
46
48
|
return initPromise
|
|
47
49
|
}
|
|
48
50
|
|
|
49
|
-
private async initProvider(
|
|
50
|
-
const
|
|
51
|
-
getDexes(this.client),
|
|
52
|
-
getMarkets(this.client, { dex }),
|
|
53
|
-
])
|
|
51
|
+
private async initProvider(provider: string): Promise<WsProvider> {
|
|
52
|
+
const { providers } = await getProviders(this.client)
|
|
54
53
|
|
|
55
|
-
const
|
|
56
|
-
if (!
|
|
57
|
-
throw new Error(`No WebSocket URL found for
|
|
54
|
+
const providerInfo = providers.find((d) => d.key === provider)
|
|
55
|
+
if (!providerInfo?.wsUrl) {
|
|
56
|
+
throw new Error(`No WebSocket URL found for provider: ${provider}`)
|
|
58
57
|
}
|
|
59
58
|
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
59
|
+
const allMarkets = (providerInfo.markets ?? []) as Array<{
|
|
60
|
+
id: string
|
|
61
|
+
}>
|
|
62
|
+
const providerConfig = this.client.config.providers?.[provider]
|
|
63
|
+
const configuredMarkets = providerConfig?.markets
|
|
64
|
+
const filteredMarkets = configuredMarkets
|
|
65
|
+
? allMarkets.filter((m) => configuredMarkets.includes(m.id))
|
|
66
|
+
: allMarkets
|
|
67
|
+
const subProviders = filteredMarkets
|
|
68
|
+
.map((m) => m.id)
|
|
69
|
+
.filter((id) => id !== provider && id !== 'spot')
|
|
64
70
|
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
71
|
+
const wsProvider = this.createWsProvider(
|
|
72
|
+
provider,
|
|
73
|
+
providerInfo.wsUrl,
|
|
74
|
+
subProviders
|
|
69
75
|
)
|
|
70
|
-
this.providers.set(
|
|
71
|
-
return
|
|
76
|
+
this.providers.set(provider, wsProvider)
|
|
77
|
+
return wsProvider
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
private createWsProvider(
|
|
81
|
+
provider: string,
|
|
82
|
+
wsUrl: string,
|
|
83
|
+
subProviders: string[]
|
|
84
|
+
): WsProvider {
|
|
85
|
+
// Currently only Hyperliquid has a WS implementation.
|
|
86
|
+
// Future providers can be added here with their own WsProvider classes.
|
|
87
|
+
return new HyperliquidWsProvider(wsUrl, provider, subProviders)
|
|
72
88
|
}
|
|
73
89
|
}
|