@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
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Asset } from '@lifi/perps-types';
|
|
2
|
+
import type { PerpsSDKClient, SDKRequestOptions } from '../client/createPerpsClient.js';
|
|
3
|
+
export interface GetAssetParams {
|
|
4
|
+
/** Provider to get asset from (e.g., 'hyperliquid') */
|
|
5
|
+
provider: string;
|
|
6
|
+
/** Asset symbol (e.g., 'BTC') */
|
|
7
|
+
symbol: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Get a specific asset by symbol.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* const client = createPerpsClient({ integrator: 'my-app' })
|
|
15
|
+
* const asset = await getAsset(client, { provider: 'hyperliquid', symbol: 'BTC' })
|
|
16
|
+
* console.log(asset) // { symbol: 'BTC', markPrice: '95000.00', ... }
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function getAsset(client: PerpsSDKClient, params: GetAssetParams, options?: SDKRequestOptions): Promise<Asset>;
|
|
20
|
+
//# sourceMappingURL=getAsset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAsset.d.ts","sourceRoot":"","sources":["../../../src/services/getAsset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAGvC,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAA;IAChB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;GASG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,KAAK,CAAC,CAKhB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { AssetsResponse } from '@lifi/perps-types';
|
|
2
|
+
import type { PerpsSDKClient, SDKRequestOptions } from '../client/createPerpsClient.js';
|
|
3
|
+
export interface GetAssetsParams {
|
|
4
|
+
/** Provider to get assets from (e.g., 'hyperliquid') */
|
|
5
|
+
provider: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Get all available assets for a DEX, grouped by providerMarketId.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* const client = createPerpsClient({ integrator: 'my-app' })
|
|
13
|
+
* const { assets } = await getAssets(client, { provider: 'hyperliquid' })
|
|
14
|
+
* console.log(assets) // { hyperliquid: [...], xyz: [...], spot: [...] }
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare function getAssets(client: PerpsSDKClient, params: GetAssetsParams, options?: SDKRequestOptions): Promise<AssetsResponse>;
|
|
18
|
+
//# sourceMappingURL=getAssets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAssets.d.ts","sourceRoot":"","sources":["../../../src/services/getAssets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAGvC,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,cAAc,CAAC,CAKzB"}
|
|
@@ -1,30 +1,34 @@
|
|
|
1
|
-
import type { Address,
|
|
1
|
+
import type { Address, FillsResponse } from '@lifi/perps-types';
|
|
2
2
|
import type { PerpsSDKClient, SDKRequestOptions } from '../client/createPerpsClient.js';
|
|
3
|
-
export interface
|
|
4
|
-
/**
|
|
5
|
-
|
|
3
|
+
export interface GetFillsParams {
|
|
4
|
+
/** Provider to get fills from (e.g., 'hyperliquid') */
|
|
5
|
+
provider: string;
|
|
6
6
|
/** Wallet address */
|
|
7
7
|
address: Address;
|
|
8
8
|
/** Maximum number of items to return */
|
|
9
9
|
limit?: number;
|
|
10
10
|
/** Cursor for pagination */
|
|
11
11
|
cursor?: string;
|
|
12
|
+
/** Filter: orders after this timestamp (ms) */
|
|
13
|
+
startTime?: number;
|
|
14
|
+
/** Filter: orders before this timestamp (ms) */
|
|
15
|
+
endTime?: number;
|
|
12
16
|
}
|
|
13
17
|
/**
|
|
14
|
-
* Get order
|
|
18
|
+
* Get order fills for an account.
|
|
15
19
|
*
|
|
16
20
|
* @param client - The SDK client instance
|
|
17
21
|
* @param params - Request parameters
|
|
18
22
|
* @param options - Request options (e.g., AbortSignal)
|
|
19
|
-
* @returns Order
|
|
20
|
-
* @throws {
|
|
23
|
+
* @returns Order fills with pagination
|
|
24
|
+
* @throws {PerpsError} On API error responses
|
|
21
25
|
* @throws {PerpsError} On network or parsing errors
|
|
22
26
|
*
|
|
23
27
|
* @example
|
|
24
28
|
* ```ts
|
|
25
29
|
* const client = createPerpsClient({ integrator: 'my-app' })
|
|
26
|
-
* const { items, pagination } = await
|
|
27
|
-
*
|
|
30
|
+
* const { items, pagination } = await getFills(client, {
|
|
31
|
+
* provider: 'hyperliquid',
|
|
28
32
|
* address: '0x1234...',
|
|
29
33
|
* limit: 50
|
|
30
34
|
* })
|
|
@@ -33,13 +37,13 @@ export interface GetHistoryParams {
|
|
|
33
37
|
*
|
|
34
38
|
* // Fetch next page
|
|
35
39
|
* if (pagination.hasMore) {
|
|
36
|
-
* const nextPage = await
|
|
37
|
-
*
|
|
40
|
+
* const nextPage = await getFills(client, {
|
|
41
|
+
* provider: 'hyperliquid',
|
|
38
42
|
* address: '0x1234...',
|
|
39
43
|
* cursor: pagination.cursor
|
|
40
44
|
* })
|
|
41
45
|
* }
|
|
42
46
|
* ```
|
|
43
47
|
*/
|
|
44
|
-
export declare function
|
|
45
|
-
//# sourceMappingURL=
|
|
48
|
+
export declare function getFills(client: PerpsSDKClient, params: GetFillsParams, options?: SDKRequestOptions): Promise<FillsResponse>;
|
|
49
|
+
//# sourceMappingURL=getFills.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFills.d.ts","sourceRoot":"","sources":["../../../src/services/getFills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAGvC,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAA;IAChB,qBAAqB;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,aAAa,CAAC,CAUxB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { OhlcvInterval, OhlcvResponse } from '@lifi/perps-types';
|
|
2
2
|
import type { PerpsSDKClient, SDKRequestOptions } from '../client/createPerpsClient.js';
|
|
3
3
|
export interface GetOhlcvParams {
|
|
4
|
-
/**
|
|
5
|
-
|
|
4
|
+
/** Provider to get OHLCV from (e.g., 'hyperliquid') */
|
|
5
|
+
provider: string;
|
|
6
6
|
/** Market symbol (e.g., 'BTC') */
|
|
7
7
|
symbol: string;
|
|
8
8
|
/** Candle interval */
|
|
@@ -21,14 +21,14 @@ export interface GetOhlcvParams {
|
|
|
21
21
|
* @param params - Request parameters
|
|
22
22
|
* @param options - Request options (e.g., AbortSignal)
|
|
23
23
|
* @returns OHLCV candle data
|
|
24
|
-
* @throws {
|
|
24
|
+
* @throws {PerpsError} On API error responses
|
|
25
25
|
* @throws {PerpsError} On network or parsing errors
|
|
26
26
|
*
|
|
27
27
|
* @example
|
|
28
28
|
* ```ts
|
|
29
29
|
* const client = createPerpsClient({ integrator: 'my-app' })
|
|
30
30
|
* const { candles } = await getOhlcv(client, {
|
|
31
|
-
*
|
|
31
|
+
* provider: 'hyperliquid',
|
|
32
32
|
* symbol: 'BTC',
|
|
33
33
|
* interval: '1h',
|
|
34
34
|
* limit: 100
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOhlcv.d.ts","sourceRoot":"","sources":["../../../src/services/getOhlcv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACrE,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAGvC,MAAM,WAAW,cAAc;IAC7B,
|
|
1
|
+
{"version":3,"file":"getOhlcv.d.ts","sourceRoot":"","sources":["../../../src/services/getOhlcv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACrE,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAGvC,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAA;IAChB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,sBAAsB;IACtB,QAAQ,EAAE,aAAa,CAAA;IACvB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,aAAa,CAAC,CASxB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Address, Order } from '@lifi/perps-types';
|
|
2
2
|
import type { PerpsSDKClient, SDKRequestOptions } from '../client/createPerpsClient.js';
|
|
3
3
|
export interface GetOrderParams {
|
|
4
|
-
/**
|
|
5
|
-
|
|
4
|
+
/** Provider to get order from (e.g., 'hyperliquid') */
|
|
5
|
+
provider: string;
|
|
6
6
|
/** Wallet address */
|
|
7
7
|
address: Address;
|
|
8
8
|
/** Order ID */
|
|
@@ -15,14 +15,14 @@ export interface GetOrderParams {
|
|
|
15
15
|
* @param params - Request parameters
|
|
16
16
|
* @param options - Request options (e.g., AbortSignal)
|
|
17
17
|
* @returns Order details
|
|
18
|
-
* @throws {
|
|
18
|
+
* @throws {PerpsError} On API error responses (e.g., 404 if order not found)
|
|
19
19
|
* @throws {PerpsError} On network or parsing errors
|
|
20
20
|
*
|
|
21
21
|
* @example
|
|
22
22
|
* ```ts
|
|
23
23
|
* const client = createPerpsClient({ integrator: 'my-app' })
|
|
24
24
|
* const order = await getOrder(client, {
|
|
25
|
-
*
|
|
25
|
+
* provider: 'hyperliquid',
|
|
26
26
|
* address: '0x1234...',
|
|
27
27
|
* id: '123456'
|
|
28
28
|
* })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOrder.d.ts","sourceRoot":"","sources":["../../../src/services/getOrder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAGvC,MAAM,WAAW,cAAc;IAC7B,
|
|
1
|
+
{"version":3,"file":"getOrder.d.ts","sourceRoot":"","sources":["../../../src/services/getOrder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAGvC,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAA;IAChB,qBAAqB;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe;IACf,EAAE,EAAE,MAAM,CAAA;CACX;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,KAAK,CAAC,CAMhB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { OrderbookResponse } from '@lifi/perps-types';
|
|
2
2
|
import type { PerpsSDKClient, SDKRequestOptions } from '../client/createPerpsClient.js';
|
|
3
3
|
export interface GetOrderbookParams {
|
|
4
|
-
/**
|
|
5
|
-
|
|
4
|
+
/** Provider to get orderbook from (e.g., 'hyperliquid') */
|
|
5
|
+
provider: string;
|
|
6
6
|
/** Market symbol (e.g., 'BTC') */
|
|
7
7
|
symbol: string;
|
|
8
8
|
/** Number of levels to return (default varies by DEX) */
|
|
@@ -15,14 +15,14 @@ export interface GetOrderbookParams {
|
|
|
15
15
|
* @param params - Request parameters
|
|
16
16
|
* @param options - Request options (e.g., AbortSignal)
|
|
17
17
|
* @returns Orderbook with bids and asks
|
|
18
|
-
* @throws {
|
|
18
|
+
* @throws {PerpsError} On API error responses
|
|
19
19
|
* @throws {PerpsError} On network or parsing errors
|
|
20
20
|
*
|
|
21
21
|
* @example
|
|
22
22
|
* ```ts
|
|
23
23
|
* const client = createPerpsClient({ integrator: 'my-app' })
|
|
24
24
|
* const { bids, asks } = await getOrderbook(client, {
|
|
25
|
-
*
|
|
25
|
+
* provider: 'hyperliquid',
|
|
26
26
|
* symbol: 'BTC',
|
|
27
27
|
* depth: 20
|
|
28
28
|
* })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOrderbook.d.ts","sourceRoot":"","sources":["../../../src/services/getOrderbook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAGvC,MAAM,WAAW,kBAAkB;IACjC,
|
|
1
|
+
{"version":3,"file":"getOrderbook.d.ts","sourceRoot":"","sources":["../../../src/services/getOrderbook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAGvC,MAAM,WAAW,kBAAkB;IACjC,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAA;IAChB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,kBAAkB,EAC1B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAM5B"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Address, OrdersResponse } from '@lifi/perps-types';
|
|
2
|
+
import type { PerpsSDKClient, SDKRequestOptions } from '../client/createPerpsClient.js';
|
|
3
|
+
export interface GetOrdersParams {
|
|
4
|
+
/** Provider (e.g., 'hyperliquid') */
|
|
5
|
+
provider: string;
|
|
6
|
+
/** Wallet address */
|
|
7
|
+
address: Address;
|
|
8
|
+
/** Optional symbol to filter orders by market */
|
|
9
|
+
symbol?: string;
|
|
10
|
+
/** Maximum number of results */
|
|
11
|
+
limit?: number;
|
|
12
|
+
/** Pagination cursor */
|
|
13
|
+
cursor?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Get open orders and trigger orders for an account.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* const { openOrders, triggerOrders } = await getOrders(client, {
|
|
21
|
+
* provider: 'hyperliquid',
|
|
22
|
+
* address: '0x1234...',
|
|
23
|
+
* })
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function getOrders(client: PerpsSDKClient, params: GetOrdersParams, options?: SDKRequestOptions): Promise<OrdersResponse>;
|
|
27
|
+
//# sourceMappingURL=getOrders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getOrders.d.ts","sourceRoot":"","sources":["../../../src/services/getOrders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAGvC,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,qBAAqB;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,cAAc,CAAC,CASzB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Address, PositionsResponse } from '@lifi/perps-types';
|
|
2
|
+
import type { PerpsSDKClient, SDKRequestOptions } from '../client/createPerpsClient.js';
|
|
3
|
+
export interface GetPositionsParams {
|
|
4
|
+
/** Provider (e.g., 'hyperliquid') */
|
|
5
|
+
provider: string;
|
|
6
|
+
/** Wallet address */
|
|
7
|
+
address: Address;
|
|
8
|
+
/** Optional symbol to filter to a single position */
|
|
9
|
+
symbol?: string;
|
|
10
|
+
/** Maximum number of results */
|
|
11
|
+
limit?: number;
|
|
12
|
+
/** Pagination cursor */
|
|
13
|
+
cursor?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Get open positions for an account.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* const { positions } = await getPositions(client, {
|
|
21
|
+
* provider: 'hyperliquid',
|
|
22
|
+
* address: '0x1234...',
|
|
23
|
+
* })
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function getPositions(client: PerpsSDKClient, params: GetPositionsParams, options?: SDKRequestOptions): Promise<PositionsResponse>;
|
|
27
|
+
//# sourceMappingURL=getPositions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPositions.d.ts","sourceRoot":"","sources":["../../../src/services/getPositions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAGvC,MAAM,WAAW,kBAAkB;IACjC,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,qBAAqB;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,kBAAkB,EAC1B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAS5B"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { PricesResponse } from '@lifi/perps-types';
|
|
2
2
|
import type { PerpsSDKClient, SDKRequestOptions } from '../client/createPerpsClient.js';
|
|
3
3
|
export interface GetPricesParams {
|
|
4
|
-
/**
|
|
5
|
-
|
|
4
|
+
/** Provider to get prices from (e.g., 'hyperliquid') */
|
|
5
|
+
provider: string;
|
|
6
6
|
/** Optional list of symbols to filter (e.g., ['BTC', 'ETH']) */
|
|
7
7
|
symbols?: string[];
|
|
8
8
|
}
|
|
@@ -13,18 +13,18 @@ export interface GetPricesParams {
|
|
|
13
13
|
* @param params - Request parameters
|
|
14
14
|
* @param options - Request options (e.g., AbortSignal)
|
|
15
15
|
* @returns Map of symbol to price
|
|
16
|
-
* @throws {
|
|
16
|
+
* @throws {PerpsError} On API error responses
|
|
17
17
|
* @throws {PerpsError} On network or parsing errors
|
|
18
18
|
*
|
|
19
19
|
* @example
|
|
20
20
|
* ```ts
|
|
21
21
|
* const client = createPerpsClient({ integrator: 'my-app' })
|
|
22
|
-
* const { prices } = await getPrices(client, {
|
|
22
|
+
* const { prices } = await getPrices(client, { provider: 'hyperliquid' })
|
|
23
23
|
* console.log(prices) // { BTC: '95000.00', ETH: '3400.00', ... }
|
|
24
24
|
*
|
|
25
25
|
* // Filter by symbols
|
|
26
26
|
* const { prices } = await getPrices(client, {
|
|
27
|
-
*
|
|
27
|
+
* provider: 'hyperliquid',
|
|
28
28
|
* symbols: ['BTC', 'ETH']
|
|
29
29
|
* })
|
|
30
30
|
* ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPrices.d.ts","sourceRoot":"","sources":["../../../src/services/getPrices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAGvC,MAAM,WAAW,eAAe;IAC9B,
|
|
1
|
+
{"version":3,"file":"getPrices.d.ts","sourceRoot":"","sources":["../../../src/services/getPrices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAGvC,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAA;IAChB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,cAAc,CAAC,CAMzB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ProvidersResponse } from '@lifi/perps-types';
|
|
2
|
+
import type { PerpsSDKClient, SDKRequestOptions } from '../client/createPerpsClient.js';
|
|
3
|
+
/**
|
|
4
|
+
* Get all available providers.
|
|
5
|
+
*
|
|
6
|
+
* @param client - The SDK client instance
|
|
7
|
+
* @param options - Request options (e.g., AbortSignal)
|
|
8
|
+
* @returns List of supported providers with their authorization requirements
|
|
9
|
+
* @throws {PerpsError} On API error responses
|
|
10
|
+
* @throws {PerpsError} On network or parsing errors
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* const client = createPerpsClient({ integrator: 'my-app' })
|
|
15
|
+
* const { providers } = await getProviders(client)
|
|
16
|
+
* console.log(providers) // [{ key: 'hyperliquid', name: 'Hyperliquid', ... }]
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function getProviders(client: PerpsSDKClient, options?: SDKRequestOptions): Promise<ProvidersResponse>;
|
|
20
|
+
//# sourceMappingURL=getProviders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getProviders.d.ts","sourceRoot":"","sources":["../../../src/services/getProviders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAGvC;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAO5B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AccountResponse, Asset, Position } from '@lifi/perps-types';
|
|
2
|
+
export interface AccountSummary {
|
|
3
|
+
/** Total portfolio value in USD */
|
|
4
|
+
portfolioValue: number;
|
|
5
|
+
/** Collateral available for new positions */
|
|
6
|
+
availableMargin: number;
|
|
7
|
+
/** Margin locked in open positions */
|
|
8
|
+
marginUsed: number;
|
|
9
|
+
/** Unrealized PnL across all positions */
|
|
10
|
+
unrealizedPnl: number;
|
|
11
|
+
}
|
|
12
|
+
export declare function calculateAccountSummary(account: AccountResponse, positions: Position[], prices: Record<string, string>, assets?: Asset[], collateralCurrencies?: ReadonlySet<string>): AccountSummary;
|
|
13
|
+
//# sourceMappingURL=accountSummary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accountSummary.d.ts","sourceRoot":"","sources":["../../../src/utils/accountSummary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAIzE,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,cAAc,EAAE,MAAM,CAAA;IACtB,6CAA6C;IAC7C,eAAe,EAAE,MAAM,CAAA;IACvB,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAA;IAClB,0CAA0C;IAC1C,aAAa,EAAE,MAAM,CAAA;CACtB;AAwDD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,QAAQ,EAAE,EACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,MAAM,CAAC,EAAE,KAAK,EAAE,EAChB,oBAAoB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GACzC,cAAc,CAgDhB"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Universal perpetual futures calculation utilities.
|
|
3
|
+
*
|
|
4
|
+
* Pure functions for computing position-related values that any consumer
|
|
5
|
+
* of the perps SDK would need. All parameters are required — no default
|
|
6
|
+
* values for critical financial parameters.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Calculate position size in asset units from margin.
|
|
10
|
+
*
|
|
11
|
+
* @param marginUsd - Margin amount in USD
|
|
12
|
+
* @param leverage - Position leverage
|
|
13
|
+
* @param price - Current asset price
|
|
14
|
+
* @returns Position size in asset units
|
|
15
|
+
*/
|
|
16
|
+
export declare function calculatePositionSize(marginUsd: number, leverage: number, price: number): number;
|
|
17
|
+
/**
|
|
18
|
+
* Calculate notional value of a position.
|
|
19
|
+
*
|
|
20
|
+
* @param size - Position size in asset units
|
|
21
|
+
* @param price - Current asset price
|
|
22
|
+
* @returns Notional value in USD
|
|
23
|
+
*/
|
|
24
|
+
export declare function calculateNotionalValue(size: number, price: number): number;
|
|
25
|
+
/**
|
|
26
|
+
* Calculate unrealized PnL.
|
|
27
|
+
*
|
|
28
|
+
* @param entryPrice - Position entry price
|
|
29
|
+
* @param currentPrice - Current market price
|
|
30
|
+
* @param size - Position size (positive for long, negative for short)
|
|
31
|
+
* @returns Unrealized PnL in USD
|
|
32
|
+
*/
|
|
33
|
+
export declare function calculateUnrealizedPnl(entryPrice: number, currentPrice: number, size: number): number;
|
|
34
|
+
/**
|
|
35
|
+
* Calculate return on equity (ROE) percentage.
|
|
36
|
+
*
|
|
37
|
+
* @param pnl - Profit/loss in USD
|
|
38
|
+
* @param margin - Initial margin in USD
|
|
39
|
+
* @returns ROE as percentage (e.g., 10 for 10%)
|
|
40
|
+
*/
|
|
41
|
+
export declare function calculateRoe(pnl: number, margin: number): number;
|
|
42
|
+
/**
|
|
43
|
+
* Calculate required margin for a position.
|
|
44
|
+
*
|
|
45
|
+
* @param notionalValue - Position notional value in USD
|
|
46
|
+
* @param leverage - Position leverage
|
|
47
|
+
* @returns Required margin in USD
|
|
48
|
+
*/
|
|
49
|
+
export declare function calculateRequiredMargin(notionalValue: number, leverage: number): number;
|
|
50
|
+
/**
|
|
51
|
+
* Estimate trading fees.
|
|
52
|
+
*
|
|
53
|
+
* @param sizeUsd - Position size in USD (notional value)
|
|
54
|
+
* @param feeRate - Fee rate as decimal (e.g., 0.00035 for 0.035%)
|
|
55
|
+
* @returns Estimated fee in USD
|
|
56
|
+
*/
|
|
57
|
+
export declare function estimateFees(sizeUsd: number, feeRate: number): number;
|
|
58
|
+
/**
|
|
59
|
+
* Apply slippage to a price for order execution.
|
|
60
|
+
*
|
|
61
|
+
* @param price - Base price
|
|
62
|
+
* @param slippagePercent - Slippage tolerance as percentage (e.g., 0.5 for 0.5%)
|
|
63
|
+
* @param isBuy - True if buying (price goes up), false if selling (price goes down)
|
|
64
|
+
* @returns Price adjusted for slippage
|
|
65
|
+
*/
|
|
66
|
+
export declare function applySlippage(price: number, slippagePercent: number, isBuy: boolean): number;
|
|
67
|
+
export interface ExpectedPnl {
|
|
68
|
+
amount: number;
|
|
69
|
+
percent: number;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Calculate expected gain/loss for a TP or SL trigger price.
|
|
73
|
+
* Returns signed values — positive means profit, negative means loss.
|
|
74
|
+
*
|
|
75
|
+
* @param triggerPrice - The TP or SL target price
|
|
76
|
+
* @param entryPrice - Position entry / current market price
|
|
77
|
+
* @param leverage - Position leverage multiplier
|
|
78
|
+
* @param isLong - True for long positions, false for short
|
|
79
|
+
* @param margin - Margin amount in USD
|
|
80
|
+
*/
|
|
81
|
+
export declare function calculateExpectedPnl(triggerPrice: number, entryPrice: number, leverage: number, isLong: boolean, margin: number): ExpectedPnl | null;
|
|
82
|
+
/**
|
|
83
|
+
* Convert a percentage gain/loss to a target price.
|
|
84
|
+
*
|
|
85
|
+
* @param percent - Target gain/loss percentage (positive = profitable direction)
|
|
86
|
+
* @param entryPrice - Position entry price
|
|
87
|
+
* @param leverage - Position leverage multiplier
|
|
88
|
+
* @param isLong - True for long positions, false for short
|
|
89
|
+
*/
|
|
90
|
+
export declare function priceFromPercent(percent: number, entryPrice: number, leverage: number, isLong: boolean): number;
|
|
91
|
+
/**
|
|
92
|
+
* Convert a target price to a percentage gain/loss.
|
|
93
|
+
*
|
|
94
|
+
* @param price - Target price
|
|
95
|
+
* @param entryPrice - Position entry price
|
|
96
|
+
* @param leverage - Position leverage multiplier
|
|
97
|
+
* @param isLong - True for long positions, false for short
|
|
98
|
+
*/
|
|
99
|
+
export declare function percentFromPrice(price: number, entryPrice: number, leverage: number, isLong: boolean): number;
|
|
100
|
+
/**
|
|
101
|
+
* Calculate realized PnL as a percentage of position value at close.
|
|
102
|
+
*
|
|
103
|
+
* @param realizedPnl - The realized profit/loss in USD
|
|
104
|
+
* @param size - Position size in asset units at close
|
|
105
|
+
* @param price - Price at close
|
|
106
|
+
* @returns PnL as a percentage of position value
|
|
107
|
+
*/
|
|
108
|
+
export declare function calculateRealizedPnlPercent(realizedPnl: number, size: number, price: number): number;
|
|
109
|
+
//# sourceMappingURL=calculations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculations.d.ts","sourceRoot":"","sources":["../../../src/utils/calculations.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GACX,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,GACf,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAErE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,OAAO,GACb,MAAM,CAGR;AAMD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,MAAM,GACb,WAAW,GAAG,IAAI,CAUpB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,GACd,MAAM,CAMR;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,GACd,MAAM,CAMR;AAMD;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,MAAM,CAMR"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/hyperliquid/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hyperliquid-specific liquidation price calculation.
|
|
3
|
+
*
|
|
4
|
+
* Uses the exact formula from Hyperliquid docs:
|
|
5
|
+
* https://hyperliquid.gitbook.io/hyperliquid-docs/trading/liquidations
|
|
6
|
+
*
|
|
7
|
+
* liq_price = price - side * margin_available / position_size / (1 - l * side)
|
|
8
|
+
*
|
|
9
|
+
* Where:
|
|
10
|
+
* - l = 1 / (2 * maxLeverage) (maintenance margin fraction)
|
|
11
|
+
* - side = 1 (long) or -1 (short)
|
|
12
|
+
* - margin_available = isolated_margin - maintenance_margin_required
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Calculate the maintenance margin fraction for a Hyperliquid asset.
|
|
16
|
+
*
|
|
17
|
+
* Maintenance margin is half of the initial margin at max leverage.
|
|
18
|
+
*
|
|
19
|
+
* @param maxLeverage - Maximum leverage for the asset (e.g., 50 for BTC)
|
|
20
|
+
* @returns Maintenance margin fraction (e.g., 0.01 for 50x max leverage),
|
|
21
|
+
* or undefined if maxLeverage is zero
|
|
22
|
+
*/
|
|
23
|
+
export declare function calculateMaintenanceMarginRate(maxLeverage: number): number | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Calculate liquidation price using the exact Hyperliquid formula.
|
|
26
|
+
*
|
|
27
|
+
* For isolated margin, new position prediction. For existing positions,
|
|
28
|
+
* prefer Position.liquidationPrice from the API.
|
|
29
|
+
*
|
|
30
|
+
* Formula derivation (isolated margin, single position):
|
|
31
|
+
* margin_per_unit = entryPrice / leverage
|
|
32
|
+
* maintenance_per_unit = entryPrice * mmr
|
|
33
|
+
* margin_available = margin_per_unit - maintenance_per_unit
|
|
34
|
+
* liq_price = entryPrice - side * margin_available / (1 - mmr * side)
|
|
35
|
+
*
|
|
36
|
+
* Where mmr = 1 / (2 * maxLeverage).
|
|
37
|
+
*
|
|
38
|
+
* @param entryPrice - Position entry price
|
|
39
|
+
* @param leverage - User-selected leverage (e.g., 10)
|
|
40
|
+
* @param isLong - True if long position, false if short
|
|
41
|
+
* @param maxLeverage - Asset's maximum leverage (e.g., 50 for BTC). Determines
|
|
42
|
+
* the maintenance margin rate: mmr = 1 / (2 * maxLeverage)
|
|
43
|
+
* @returns Estimated liquidation price, or undefined if inputs are invalid
|
|
44
|
+
*/
|
|
45
|
+
export declare function calculateLiquidationPrice(entryPrice: number, leverage: number, isLong: boolean, maxLeverage: number): number | undefined;
|
|
46
|
+
//# sourceMappingURL=liquidation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liquidation.d.ts","sourceRoot":"","sources":["../../../../src/utils/hyperliquid/liquidation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAKpB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAYpB"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hyperliquid order size and price formatting for exchange submission.
|
|
3
|
+
*
|
|
4
|
+
* These encode Hyperliquid-specific order submission rules. Getting size/price
|
|
5
|
+
* formatting wrong causes rejected orders.
|
|
6
|
+
*
|
|
7
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/tick-and-lot-size
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Derive the maximum number of price decimal places for a given asset.
|
|
11
|
+
*
|
|
12
|
+
* @param szDecimals - The asset's szDecimals (from market meta)
|
|
13
|
+
* @param market - Optional market type (e.g. 'spot'). Defaults to perps rules.
|
|
14
|
+
* @returns Maximum allowed price decimals
|
|
15
|
+
*/
|
|
16
|
+
export declare function getMaxPriceDecimals(szDecimals: number, market?: string): number;
|
|
17
|
+
/**
|
|
18
|
+
* Format a size value for order submission.
|
|
19
|
+
*
|
|
20
|
+
* Per Hyperliquid docs (tick-and-lot-size):
|
|
21
|
+
* - Size must be rounded to the asset's szDecimals
|
|
22
|
+
* - Trailing zeroes must be removed for signing
|
|
23
|
+
*
|
|
24
|
+
* @param size - The size value to format
|
|
25
|
+
* @param szDecimals - Number of decimal places allowed for this asset (from meta)
|
|
26
|
+
* @returns Size as a string with correct precision, no trailing zeros
|
|
27
|
+
*/
|
|
28
|
+
export declare function formatOrderSize(size: number, szDecimals: number): string;
|
|
29
|
+
/**
|
|
30
|
+
* Format a price value for order submission.
|
|
31
|
+
*
|
|
32
|
+
* Per Hyperliquid docs (tick-and-lot-size):
|
|
33
|
+
* - Maximum 5 significant figures
|
|
34
|
+
* - Max decimals = MAX_DECIMALS - szDecimals (6 for perps, 8 for spot)
|
|
35
|
+
* - Integer prices always allowed regardless of significant figures
|
|
36
|
+
* - Trailing zeroes must be removed for signing
|
|
37
|
+
*
|
|
38
|
+
* @param price - The price value to format
|
|
39
|
+
* @param szDecimals - The asset's szDecimals (affects max price decimals)
|
|
40
|
+
* @param market - Optional market type (e.g. 'spot'). Defaults to perps rules.
|
|
41
|
+
* @returns Price as a string with correct precision, no trailing zeros
|
|
42
|
+
*/
|
|
43
|
+
export declare function formatOrderPrice(price: number, szDecimals: number, market?: string): string;
|
|
44
|
+
//# sourceMappingURL=orderFormatting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orderFormatting.d.ts","sourceRoot":"","sources":["../../../../src/utils/hyperliquid/orderFormatting.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAeH;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAER;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAMxE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAsBR"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Order classification utilities.
|
|
3
|
+
*
|
|
4
|
+
* Type guards and classifiers that operate on SDK types to determine
|
|
5
|
+
* order categories (TP/SL, open/close). These use the OrderType enum
|
|
6
|
+
* for classification — no string matching.
|
|
7
|
+
*/
|
|
8
|
+
import type { OpenOrder } from '@lifi/perps-types';
|
|
9
|
+
import { FillClassification, OrderSide } from '@lifi/perps-types';
|
|
10
|
+
export { FillClassification };
|
|
11
|
+
/**
|
|
12
|
+
* Check if an open order is a Take Profit trigger order.
|
|
13
|
+
*/
|
|
14
|
+
export declare function isTakeProfitOrder(order: Pick<OpenOrder, 'type'>): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Check if an open order is a Stop Loss trigger order.
|
|
17
|
+
*/
|
|
18
|
+
export declare function isStopLossOrder(order: Pick<OpenOrder, 'type'>): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Check if an open order is a TP or SL trigger order.
|
|
21
|
+
*/
|
|
22
|
+
export declare function isTpSlOrder(order: Pick<OpenOrder, 'type'>): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Classify a fill as open or close based on realizedPnl.
|
|
25
|
+
* @deprecated Use `Fill.classification` instead — it uses startPosition
|
|
26
|
+
* for accurate open/increase/reduce/close/reverse classification.
|
|
27
|
+
*/
|
|
28
|
+
export declare function classifyFill(side: OrderSide, realizedPnl: string | null | undefined): FillClassification;
|
|
29
|
+
//# sourceMappingURL=orderClassification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orderClassification.d.ts","sourceRoot":"","sources":["../../../src/utils/orderClassification.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAa,MAAM,mBAAmB,CAAA;AAG5E,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAY7B;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAEzE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAEvE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACrC,kBAAkB,CAUpB"}
|