@lifi/perps-sdk-provider-hyperliquid 0.2.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +174 -0
- package/dist/cjs/HyperliquidProvider.d.ts +15 -0
- package/dist/cjs/HyperliquidProvider.d.ts.map +1 -0
- package/dist/cjs/HyperliquidProvider.js +135 -0
- package/dist/cjs/HyperliquidProvider.js.map +1 -0
- package/dist/cjs/accountConfig.d.ts +3 -0
- package/dist/cjs/accountConfig.d.ts.map +1 -0
- package/dist/cjs/accountConfig.js +45 -0
- package/dist/cjs/accountConfig.js.map +1 -0
- package/dist/cjs/accountSummary.d.ts +3 -0
- package/dist/cjs/accountSummary.d.ts.map +1 -0
- package/dist/cjs/accountSummary.js +12 -0
- package/dist/cjs/accountSummary.js.map +1 -0
- package/dist/cjs/constants.d.ts +11 -0
- package/dist/cjs/constants.d.ts.map +1 -0
- package/dist/cjs/constants.js +16 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/context.d.ts +13 -0
- package/dist/cjs/context.d.ts.map +1 -0
- package/dist/cjs/context.js +24 -0
- package/dist/cjs/context.js.map +1 -0
- package/dist/cjs/index.d.ts +22 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +47 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/services/getAccount.d.ts +6 -0
- package/dist/cjs/services/getAccount.d.ts.map +1 -0
- package/dist/cjs/services/getAccount.js +109 -0
- package/dist/cjs/services/getAccount.js.map +1 -0
- package/dist/cjs/services/getActivity.d.ts +15 -0
- package/dist/cjs/services/getActivity.d.ts.map +1 -0
- package/dist/cjs/services/getActivity.js +65 -0
- package/dist/cjs/services/getActivity.js.map +1 -0
- package/dist/cjs/services/getFills.d.ts +13 -0
- package/dist/cjs/services/getFills.d.ts.map +1 -0
- package/dist/cjs/services/getFills.js +40 -0
- package/dist/cjs/services/getFills.js.map +1 -0
- package/dist/cjs/services/getOrder.d.ts +6 -0
- package/dist/cjs/services/getOrder.d.ts.map +1 -0
- package/dist/cjs/services/getOrder.js +27 -0
- package/dist/cjs/services/getOrder.js.map +1 -0
- 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 +51 -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 +33 -0
- package/dist/cjs/services/getPositions.js.map +1 -0
- package/dist/cjs/signers/HyperliquidAgentStore.d.ts +19 -0
- package/dist/cjs/signers/HyperliquidAgentStore.d.ts.map +1 -0
- package/dist/cjs/signers/HyperliquidAgentStore.js +110 -0
- package/dist/cjs/signers/HyperliquidAgentStore.js.map +1 -0
- package/dist/cjs/signers/index.d.ts +4 -0
- package/dist/cjs/signers/index.d.ts.map +1 -0
- package/dist/cjs/signers/index.js +8 -0
- package/dist/cjs/signers/index.js.map +1 -0
- package/dist/cjs/signers/signActions.d.ts +7 -0
- package/dist/cjs/signers/signActions.d.ts.map +1 -0
- package/dist/cjs/signers/signActions.js +33 -0
- package/dist/cjs/signers/signActions.js.map +1 -0
- package/dist/cjs/types/account.d.ts +51 -0
- package/dist/cjs/types/account.d.ts.map +1 -0
- package/dist/cjs/types/account.js +10 -0
- package/dist/cjs/types/account.js.map +1 -0
- package/dist/cjs/types/action.d.ts +51 -0
- package/dist/cjs/types/action.d.ts.map +1 -0
- package/dist/cjs/types/action.js +11 -0
- package/dist/cjs/types/action.js.map +1 -0
- package/dist/cjs/types/asset.d.ts +66 -0
- package/dist/cjs/types/asset.d.ts.map +1 -0
- package/dist/cjs/types/asset.js +3 -0
- package/dist/cjs/types/asset.js.map +1 -0
- package/dist/cjs/types/fill.d.ts +18 -0
- package/dist/cjs/types/fill.d.ts.map +1 -0
- package/dist/cjs/types/fill.js +3 -0
- package/dist/cjs/types/fill.js.map +1 -0
- package/dist/cjs/types/index.d.ts +8 -0
- package/dist/cjs/types/index.d.ts.map +1 -0
- package/dist/cjs/types/index.js +24 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/ledger.d.ts +53 -0
- package/dist/cjs/types/ledger.d.ts.map +1 -0
- package/dist/cjs/types/ledger.js +8 -0
- package/dist/cjs/types/ledger.js.map +1 -0
- package/dist/cjs/types/order.d.ts +46 -0
- package/dist/cjs/types/order.d.ts.map +1 -0
- package/dist/cjs/types/order.js +3 -0
- package/dist/cjs/types/order.js.map +1 -0
- package/dist/cjs/types/ws.d.ts +36 -0
- package/dist/cjs/types/ws.d.ts.map +1 -0
- package/dist/cjs/types/ws.js +3 -0
- package/dist/cjs/types/ws.js.map +1 -0
- package/dist/cjs/utils/assetId.d.ts +4 -0
- package/dist/cjs/utils/assetId.d.ts.map +1 -0
- package/dist/cjs/utils/assetId.js +21 -0
- package/dist/cjs/utils/assetId.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +15 -0
- package/dist/cjs/utils/index.d.ts.map +1 -0
- package/dist/cjs/utils/index.js +49 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/infoClient.d.ts +10 -0
- package/dist/cjs/utils/infoClient.d.ts.map +1 -0
- package/dist/cjs/utils/infoClient.js +58 -0
- package/dist/cjs/utils/infoClient.js.map +1 -0
- package/dist/cjs/utils/liquidation.d.ts +3 -0
- package/dist/cjs/utils/liquidation.d.ts.map +1 -0
- package/dist/cjs/utils/liquidation.js +24 -0
- package/dist/cjs/utils/liquidation.js.map +1 -0
- package/dist/cjs/utils/mapActivity.d.ts +5 -0
- package/dist/cjs/utils/mapActivity.d.ts.map +1 -0
- package/dist/cjs/utils/mapActivity.js +133 -0
- package/dist/cjs/utils/mapActivity.js.map +1 -0
- package/dist/cjs/utils/mapFill.d.ts +6 -0
- package/dist/cjs/utils/mapFill.d.ts.map +1 -0
- package/dist/cjs/utils/mapFill.js +33 -0
- package/dist/cjs/utils/mapFill.js.map +1 -0
- package/dist/cjs/utils/mapMarket.d.ts +4 -0
- package/dist/cjs/utils/mapMarket.d.ts.map +1 -0
- package/dist/cjs/utils/mapMarket.js +22 -0
- package/dist/cjs/utils/mapMarket.js.map +1 -0
- package/dist/cjs/utils/mapMarketPrice.d.ts +4 -0
- package/dist/cjs/utils/mapMarketPrice.d.ts.map +1 -0
- package/dist/cjs/utils/mapMarketPrice.js +22 -0
- package/dist/cjs/utils/mapMarketPrice.js.map +1 -0
- package/dist/cjs/utils/mapOrder.d.ts +12 -0
- package/dist/cjs/utils/mapOrder.d.ts.map +1 -0
- package/dist/cjs/utils/mapOrder.js +156 -0
- package/dist/cjs/utils/mapOrder.js.map +1 -0
- package/dist/cjs/utils/mapPosition.d.ts +5 -0
- package/dist/cjs/utils/mapPosition.d.ts.map +1 -0
- package/dist/cjs/utils/mapPosition.js +28 -0
- package/dist/cjs/utils/mapPosition.js.map +1 -0
- package/dist/cjs/utils/marketDisplay.d.ts +4 -0
- package/dist/cjs/utils/marketDisplay.d.ts.map +1 -0
- package/dist/cjs/utils/marketDisplay.js +23 -0
- package/dist/cjs/utils/marketDisplay.js.map +1 -0
- package/dist/cjs/utils/orderFormatting.d.ts +4 -0
- package/dist/cjs/utils/orderFormatting.d.ts.map +1 -0
- package/dist/cjs/utils/orderFormatting.js +30 -0
- package/dist/cjs/utils/orderFormatting.js.map +1 -0
- package/dist/cjs/utils/priceStepToAggregation.d.ts +5 -0
- package/dist/cjs/utils/priceStepToAggregation.d.ts.map +1 -0
- package/dist/cjs/utils/priceStepToAggregation.js +36 -0
- package/dist/cjs/utils/priceStepToAggregation.js.map +1 -0
- package/dist/cjs/utils/spotBalance.d.ts +6 -0
- package/dist/cjs/utils/spotBalance.d.ts.map +1 -0
- package/dist/cjs/utils/spotBalance.js +34 -0
- package/dist/cjs/utils/spotBalance.js.map +1 -0
- package/dist/cjs/websocket/HyperliquidWsProvider.d.ts +29 -0
- package/dist/cjs/websocket/HyperliquidWsProvider.d.ts.map +1 -0
- package/dist/cjs/websocket/HyperliquidWsProvider.js +359 -0
- package/dist/cjs/websocket/HyperliquidWsProvider.js.map +1 -0
- package/dist/cjs/websocket/index.d.ts +2 -0
- package/dist/cjs/websocket/index.d.ts.map +1 -0
- package/dist/cjs/websocket/index.js +6 -0
- package/dist/cjs/websocket/index.js.map +1 -0
- package/dist/esm/HyperliquidProvider.d.ts +64 -0
- package/dist/esm/HyperliquidProvider.d.ts.map +1 -0
- package/dist/esm/HyperliquidProvider.js +162 -0
- package/dist/esm/HyperliquidProvider.js.map +1 -0
- package/dist/esm/accountConfig.d.ts +10 -0
- package/dist/esm/accountConfig.d.ts.map +1 -0
- package/dist/esm/accountConfig.js +65 -0
- package/dist/esm/accountConfig.js.map +1 -0
- package/dist/esm/accountSummary.d.ts +10 -0
- package/dist/esm/accountSummary.d.ts.map +1 -0
- package/dist/esm/accountSummary.js +22 -0
- package/dist/esm/accountSummary.js.map +1 -0
- package/dist/esm/constants.d.ts +40 -0
- package/dist/esm/constants.d.ts.map +1 -0
- package/dist/esm/constants.js +42 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/context.d.ts +26 -0
- package/dist/esm/context.d.ts.map +1 -0
- package/dist/esm/context.js +25 -0
- package/dist/esm/context.js.map +1 -0
- package/dist/esm/index.d.ts +31 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +26 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/services/getAccount.d.ts +28 -0
- package/dist/esm/services/getAccount.d.ts.map +1 -0
- package/dist/esm/services/getAccount.js +134 -0
- package/dist/esm/services/getAccount.js.map +1 -0
- package/dist/esm/services/getActivity.d.ts +33 -0
- package/dist/esm/services/getActivity.d.ts.map +1 -0
- package/dist/esm/services/getActivity.js +75 -0
- package/dist/esm/services/getActivity.js.map +1 -0
- package/dist/esm/services/getFills.d.ts +34 -0
- package/dist/esm/services/getFills.d.ts.map +1 -0
- package/dist/esm/services/getFills.js +49 -0
- package/dist/esm/services/getFills.js.map +1 -0
- package/dist/esm/services/getOrder.d.ts +17 -0
- package/dist/esm/services/getOrder.d.ts.map +1 -0
- package/dist/esm/services/getOrder.js +29 -0
- package/dist/esm/services/getOrder.js.map +1 -0
- 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 +57 -0
- package/dist/esm/services/getOrders.js.map +1 -0
- package/dist/esm/services/getPositions.d.ts +26 -0
- package/dist/esm/services/getPositions.d.ts.map +1 -0
- package/dist/esm/services/getPositions.js +37 -0
- package/dist/esm/services/getPositions.js.map +1 -0
- package/dist/esm/signers/HyperliquidAgentStore.d.ts +54 -0
- package/dist/esm/signers/HyperliquidAgentStore.d.ts.map +1 -0
- package/dist/esm/signers/HyperliquidAgentStore.js +134 -0
- package/dist/esm/signers/HyperliquidAgentStore.js.map +1 -0
- package/dist/esm/signers/index.d.ts +4 -0
- package/dist/esm/signers/index.d.ts.map +1 -0
- package/dist/esm/signers/index.js +4 -0
- package/dist/esm/signers/index.js.map +1 -0
- package/dist/esm/signers/signActions.d.ts +15 -0
- package/dist/esm/signers/signActions.d.ts.map +1 -0
- package/dist/esm/signers/signActions.js +38 -0
- package/dist/esm/signers/signActions.js.map +1 -0
- package/dist/esm/types/account.d.ts +64 -0
- package/dist/esm/types/account.d.ts.map +1 -0
- package/dist/esm/types/account.js +13 -0
- package/dist/esm/types/account.js.map +1 -0
- package/dist/esm/types/action.d.ts +61 -0
- package/dist/esm/types/action.d.ts.map +1 -0
- package/dist/esm/types/action.js +16 -0
- package/dist/esm/types/action.js.map +1 -0
- package/dist/esm/types/asset.d.ts +82 -0
- package/dist/esm/types/asset.d.ts.map +1 -0
- package/dist/esm/types/asset.js +3 -0
- package/dist/esm/types/asset.js.map +1 -0
- package/dist/esm/types/fill.d.ts +21 -0
- package/dist/esm/types/fill.d.ts.map +1 -0
- package/dist/esm/types/fill.js +3 -0
- package/dist/esm/types/fill.js.map +1 -0
- package/dist/esm/types/index.d.ts +8 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/index.js +11 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/ledger.d.ts +93 -0
- package/dist/esm/types/ledger.d.ts.map +1 -0
- package/dist/esm/types/ledger.js +16 -0
- package/dist/esm/types/ledger.js.map +1 -0
- package/dist/esm/types/order.d.ts +51 -0
- package/dist/esm/types/order.d.ts.map +1 -0
- package/dist/esm/types/order.js +3 -0
- package/dist/esm/types/order.js.map +1 -0
- package/dist/esm/types/ws.d.ts +43 -0
- package/dist/esm/types/ws.d.ts.map +1 -0
- package/dist/esm/types/ws.js +3 -0
- package/dist/esm/types/ws.js.map +1 -0
- package/dist/esm/utils/assetId.d.ts +20 -0
- package/dist/esm/utils/assetId.d.ts.map +1 -0
- package/dist/esm/utils/assetId.js +31 -0
- package/dist/esm/utils/assetId.js.map +1 -0
- package/dist/esm/utils/index.d.ts +15 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +17 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/infoClient.d.ts +28 -0
- package/dist/esm/utils/infoClient.d.ts.map +1 -0
- package/dist/esm/utils/infoClient.js +70 -0
- package/dist/esm/utils/infoClient.js.map +1 -0
- package/dist/esm/utils/liquidation.d.ts +48 -0
- package/dist/esm/utils/liquidation.d.ts.map +1 -0
- package/dist/esm/utils/liquidation.js +65 -0
- package/dist/esm/utils/liquidation.js.map +1 -0
- package/dist/esm/utils/mapActivity.d.ts +15 -0
- package/dist/esm/utils/mapActivity.d.ts.map +1 -0
- package/dist/esm/utils/mapActivity.js +148 -0
- package/dist/esm/utils/mapActivity.js.map +1 -0
- package/dist/esm/utils/mapFill.d.ts +11 -0
- package/dist/esm/utils/mapFill.d.ts.map +1 -0
- package/dist/esm/utils/mapFill.js +34 -0
- package/dist/esm/utils/mapFill.js.map +1 -0
- package/dist/esm/utils/mapMarket.d.ts +12 -0
- package/dist/esm/utils/mapMarket.d.ts.map +1 -0
- package/dist/esm/utils/mapMarket.js +27 -0
- package/dist/esm/utils/mapMarket.js.map +1 -0
- package/dist/esm/utils/mapMarketPrice.d.ts +10 -0
- package/dist/esm/utils/mapMarketPrice.d.ts.map +1 -0
- package/dist/esm/utils/mapMarketPrice.js +24 -0
- package/dist/esm/utils/mapMarketPrice.js.map +1 -0
- package/dist/esm/utils/mapOrder.d.ts +49 -0
- package/dist/esm/utils/mapOrder.d.ts.map +1 -0
- package/dist/esm/utils/mapOrder.js +182 -0
- package/dist/esm/utils/mapOrder.js.map +1 -0
- package/dist/esm/utils/mapPosition.d.ts +12 -0
- package/dist/esm/utils/mapPosition.d.ts.map +1 -0
- package/dist/esm/utils/mapPosition.js +30 -0
- package/dist/esm/utils/mapPosition.js.map +1 -0
- package/dist/esm/utils/marketDisplay.d.ts +17 -0
- package/dist/esm/utils/marketDisplay.d.ts.map +1 -0
- package/dist/esm/utils/marketDisplay.js +31 -0
- package/dist/esm/utils/marketDisplay.js.map +1 -0
- package/dist/esm/utils/orderFormatting.d.ts +50 -0
- package/dist/esm/utils/orderFormatting.d.ts.map +1 -0
- package/dist/esm/utils/orderFormatting.js +78 -0
- package/dist/esm/utils/orderFormatting.js.map +1 -0
- package/dist/esm/utils/priceStepToAggregation.d.ts +20 -0
- package/dist/esm/utils/priceStepToAggregation.d.ts.map +1 -0
- package/dist/esm/utils/priceStepToAggregation.js +51 -0
- package/dist/esm/utils/priceStepToAggregation.js.map +1 -0
- package/dist/esm/utils/spotBalance.d.ts +18 -0
- package/dist/esm/utils/spotBalance.d.ts.map +1 -0
- package/dist/esm/utils/spotBalance.js +40 -0
- package/dist/esm/utils/spotBalance.js.map +1 -0
- package/dist/esm/websocket/HyperliquidWsProvider.d.ts +61 -0
- package/dist/esm/websocket/HyperliquidWsProvider.d.ts.map +1 -0
- package/dist/esm/websocket/HyperliquidWsProvider.js +406 -0
- package/dist/esm/websocket/HyperliquidWsProvider.js.map +1 -0
- package/dist/esm/websocket/index.d.ts +2 -0
- package/dist/esm/websocket/index.d.ts.map +1 -0
- package/dist/esm/websocket/index.js +3 -0
- package/dist/esm/websocket/index.js.map +1 -0
- package/dist/types/HyperliquidProvider.d.ts +64 -0
- package/dist/types/HyperliquidProvider.d.ts.map +1 -0
- package/dist/types/accountConfig.d.ts +10 -0
- package/dist/types/accountConfig.d.ts.map +1 -0
- package/dist/types/accountSummary.d.ts +10 -0
- package/dist/types/accountSummary.d.ts.map +1 -0
- package/dist/types/constants.d.ts +40 -0
- package/dist/types/constants.d.ts.map +1 -0
- package/dist/types/context.d.ts +26 -0
- package/dist/types/context.d.ts.map +1 -0
- package/dist/types/index.d.ts +31 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/services/getAccount.d.ts +28 -0
- package/dist/types/services/getAccount.d.ts.map +1 -0
- package/dist/types/services/getActivity.d.ts +33 -0
- package/dist/types/services/getActivity.d.ts.map +1 -0
- package/dist/types/services/getFills.d.ts +34 -0
- package/dist/types/services/getFills.d.ts.map +1 -0
- package/dist/types/services/getOrder.d.ts +17 -0
- package/dist/types/services/getOrder.d.ts.map +1 -0
- 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 +26 -0
- package/dist/types/services/getPositions.d.ts.map +1 -0
- package/dist/types/signers/HyperliquidAgentStore.d.ts +54 -0
- package/dist/types/signers/HyperliquidAgentStore.d.ts.map +1 -0
- package/dist/types/signers/index.d.ts +4 -0
- package/dist/types/signers/index.d.ts.map +1 -0
- package/dist/types/signers/signActions.d.ts +15 -0
- package/dist/types/signers/signActions.d.ts.map +1 -0
- package/dist/types/types/account.d.ts +64 -0
- package/dist/types/types/account.d.ts.map +1 -0
- package/dist/types/types/action.d.ts +61 -0
- package/dist/types/types/action.d.ts.map +1 -0
- package/dist/types/types/asset.d.ts +82 -0
- package/dist/types/types/asset.d.ts.map +1 -0
- package/dist/types/types/fill.d.ts +21 -0
- package/dist/types/types/fill.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +8 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/ledger.d.ts +93 -0
- package/dist/types/types/ledger.d.ts.map +1 -0
- package/dist/types/types/order.d.ts +51 -0
- package/dist/types/types/order.d.ts.map +1 -0
- package/dist/types/types/ws.d.ts +43 -0
- package/dist/types/types/ws.d.ts.map +1 -0
- package/dist/types/utils/assetId.d.ts +20 -0
- package/dist/types/utils/assetId.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +15 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/infoClient.d.ts +28 -0
- package/dist/types/utils/infoClient.d.ts.map +1 -0
- package/dist/types/utils/liquidation.d.ts +48 -0
- package/dist/types/utils/liquidation.d.ts.map +1 -0
- package/dist/types/utils/mapActivity.d.ts +15 -0
- package/dist/types/utils/mapActivity.d.ts.map +1 -0
- package/dist/types/utils/mapFill.d.ts +11 -0
- package/dist/types/utils/mapFill.d.ts.map +1 -0
- package/dist/types/utils/mapMarket.d.ts +12 -0
- package/dist/types/utils/mapMarket.d.ts.map +1 -0
- package/dist/types/utils/mapMarketPrice.d.ts +10 -0
- package/dist/types/utils/mapMarketPrice.d.ts.map +1 -0
- package/dist/types/utils/mapOrder.d.ts +49 -0
- package/dist/types/utils/mapOrder.d.ts.map +1 -0
- package/dist/types/utils/mapPosition.d.ts +12 -0
- package/dist/types/utils/mapPosition.d.ts.map +1 -0
- package/dist/types/utils/marketDisplay.d.ts +17 -0
- package/dist/types/utils/marketDisplay.d.ts.map +1 -0
- package/dist/types/utils/orderFormatting.d.ts +50 -0
- package/dist/types/utils/orderFormatting.d.ts.map +1 -0
- package/dist/types/utils/priceStepToAggregation.d.ts +20 -0
- package/dist/types/utils/priceStepToAggregation.d.ts.map +1 -0
- package/dist/types/utils/spotBalance.d.ts +18 -0
- package/dist/types/utils/spotBalance.d.ts.map +1 -0
- package/dist/types/websocket/HyperliquidWsProvider.d.ts +61 -0
- package/dist/types/websocket/HyperliquidWsProvider.d.ts.map +1 -0
- package/dist/types/websocket/index.d.ts +2 -0
- package/dist/types/websocket/index.d.ts.map +1 -0
- package/package.json +73 -0
- package/src/HyperliquidProvider.ts +381 -0
- package/src/accountConfig.ts +89 -0
- package/src/accountSummary.ts +32 -0
- package/src/constants.ts +47 -0
- package/src/context.ts +41 -0
- package/src/index.ts +45 -0
- package/src/services/getAccount.ts +263 -0
- package/src/services/getActivity.ts +162 -0
- package/src/services/getFills.ts +96 -0
- package/src/services/getOrder.ts +61 -0
- package/src/services/getOrders.ts +101 -0
- package/src/services/getPositions.ts +76 -0
- package/src/signers/HyperliquidAgentStore.ts +176 -0
- package/src/signers/index.ts +5 -0
- package/src/signers/signActions.ts +78 -0
- package/src/types/account.ts +74 -0
- package/src/types/action.ts +66 -0
- package/src/types/asset.ts +96 -0
- package/src/types/fill.ts +24 -0
- package/src/types/index.ts +11 -0
- package/src/types/ledger.ts +111 -0
- package/src/types/order.ts +56 -0
- package/src/types/ws.ts +47 -0
- package/src/utils/assetId.ts +38 -0
- package/src/utils/index.ts +38 -0
- package/src/utils/infoClient.ts +111 -0
- package/src/utils/liquidation.ts +74 -0
- package/src/utils/mapActivity.ts +182 -0
- package/src/utils/mapFill.ts +48 -0
- package/src/utils/mapMarket.ts +33 -0
- package/src/utils/mapMarketPrice.ts +33 -0
- package/src/utils/mapOrder.ts +218 -0
- package/src/utils/mapPosition.ts +40 -0
- package/src/utils/marketDisplay.ts +38 -0
- package/src/utils/orderFormatting.ts +93 -0
- package/src/utils/priceStepToAggregation.ts +58 -0
- package/src/utils/spotBalance.ts +51 -0
- package/src/websocket/HyperliquidWsProvider.ts +533 -0
- package/src/websocket/index.ts +3 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mapOrder = exports.mapStatusReason = exports.mapOrderStatus = exports.mapTriggerOrder = exports.mapOpenOrder = exports.isTriggerOrder = exports.isTriggerType = exports.mapOrderType = void 0;
|
|
4
|
+
const perps_types_1 = require("@lifi/perps-types");
|
|
5
|
+
const mapOrderType = (orderType) => {
|
|
6
|
+
switch (orderType) {
|
|
7
|
+
case 'Take Profit Market':
|
|
8
|
+
return perps_types_1.OrderType.TAKE_PROFIT_MARKET;
|
|
9
|
+
case 'Take Profit Limit':
|
|
10
|
+
return perps_types_1.OrderType.TAKE_PROFIT_LIMIT;
|
|
11
|
+
case 'Stop Market':
|
|
12
|
+
return perps_types_1.OrderType.STOP_MARKET;
|
|
13
|
+
case 'Stop Limit':
|
|
14
|
+
return perps_types_1.OrderType.STOP_LIMIT;
|
|
15
|
+
case 'Market':
|
|
16
|
+
return perps_types_1.OrderType.MARKET;
|
|
17
|
+
default:
|
|
18
|
+
return perps_types_1.OrderType.LIMIT;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
exports.mapOrderType = mapOrderType;
|
|
22
|
+
const isTriggerType = (type) => type === perps_types_1.OrderType.TAKE_PROFIT_MARKET ||
|
|
23
|
+
type === perps_types_1.OrderType.TAKE_PROFIT_LIMIT ||
|
|
24
|
+
type === perps_types_1.OrderType.STOP_MARKET ||
|
|
25
|
+
type === perps_types_1.OrderType.STOP_LIMIT;
|
|
26
|
+
exports.isTriggerType = isTriggerType;
|
|
27
|
+
const isTriggerOrder = (o) => {
|
|
28
|
+
if ('isTrigger' in o && o.isTrigger === true) {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
if ('isPositionTpsl' in o && o.isPositionTpsl === true) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
if (o.triggerCondition && o.triggerCondition !== 'N/A') {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
if (o.triggerPx != null &&
|
|
38
|
+
o.triggerPx !== '' &&
|
|
39
|
+
parseFloat(o.triggerPx) > 0) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
return (0, exports.isTriggerType)((0, exports.mapOrderType)(o.orderType));
|
|
43
|
+
};
|
|
44
|
+
exports.isTriggerOrder = isTriggerOrder;
|
|
45
|
+
const mapOpenOrder = (o, market) => ({
|
|
46
|
+
orderId: String(o.oid),
|
|
47
|
+
market,
|
|
48
|
+
side: o.side === 'B' ? perps_types_1.OrderSide.BUY : perps_types_1.OrderSide.SELL,
|
|
49
|
+
type: (0, exports.mapOrderType)(o.orderType),
|
|
50
|
+
size: o.sz,
|
|
51
|
+
price: o.limitPx,
|
|
52
|
+
filledSize: o.origSz
|
|
53
|
+
? (parseFloat(o.origSz) - parseFloat(o.sz)).toString()
|
|
54
|
+
: '0',
|
|
55
|
+
reduceOnly: o.reduceOnly ?? false,
|
|
56
|
+
label: o.isTrigger ? o.triggerCondition : undefined,
|
|
57
|
+
createdAt: new Date(o.timestamp).toISOString(),
|
|
58
|
+
});
|
|
59
|
+
exports.mapOpenOrder = mapOpenOrder;
|
|
60
|
+
const mapTriggerOrder = (o, market) => {
|
|
61
|
+
const type = (0, exports.mapOrderType)(o.orderType);
|
|
62
|
+
const isLimit = type === perps_types_1.OrderType.TAKE_PROFIT_LIMIT || type === perps_types_1.OrderType.STOP_LIMIT;
|
|
63
|
+
return {
|
|
64
|
+
orderId: String(o.oid),
|
|
65
|
+
market,
|
|
66
|
+
type,
|
|
67
|
+
size: o.sz,
|
|
68
|
+
triggerPrice: o.triggerPx,
|
|
69
|
+
...(isLimit ? { limitPrice: o.limitPx } : {}),
|
|
70
|
+
label: o.triggerCondition,
|
|
71
|
+
createdAt: new Date(o.timestamp).toISOString(),
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
exports.mapTriggerOrder = mapTriggerOrder;
|
|
75
|
+
const mapOrderStatus = (status) => {
|
|
76
|
+
switch (status) {
|
|
77
|
+
case 'open':
|
|
78
|
+
case 'resting':
|
|
79
|
+
return perps_types_1.OrderStatus.OPEN;
|
|
80
|
+
case 'filled':
|
|
81
|
+
return perps_types_1.OrderStatus.FILLED;
|
|
82
|
+
case 'canceled':
|
|
83
|
+
case 'cancelled':
|
|
84
|
+
return perps_types_1.OrderStatus.CANCELLED;
|
|
85
|
+
case 'rejected':
|
|
86
|
+
return perps_types_1.OrderStatus.REJECTED;
|
|
87
|
+
case 'triggered':
|
|
88
|
+
return perps_types_1.OrderStatus.TRIGGERED;
|
|
89
|
+
case 'marginCanceled':
|
|
90
|
+
return perps_types_1.OrderStatus.CANCELLED;
|
|
91
|
+
default:
|
|
92
|
+
return perps_types_1.OrderStatus.PENDING;
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
exports.mapOrderStatus = mapOrderStatus;
|
|
96
|
+
const mapStatusReason = (status) => {
|
|
97
|
+
switch (status) {
|
|
98
|
+
case 'iocCanceled':
|
|
99
|
+
return 'Order cancelled: not enough liquidity to fill immediately.';
|
|
100
|
+
case 'reduceOnlyCanceled':
|
|
101
|
+
return 'Order cancelled: would not reduce your position.';
|
|
102
|
+
case 'marginCanceled':
|
|
103
|
+
return 'Order cancelled: insufficient margin.';
|
|
104
|
+
case 'liquidatedCanceled':
|
|
105
|
+
return 'Order cancelled: account was liquidated.';
|
|
106
|
+
case 'siblingFilledCanceled':
|
|
107
|
+
return 'Order cancelled: sibling OCO order filled first.';
|
|
108
|
+
case 'selfTradeCanceled':
|
|
109
|
+
return 'Order cancelled: would self-trade against your own resting order.';
|
|
110
|
+
case 'tickRejected':
|
|
111
|
+
return 'Order rejected: price did not match the tick size.';
|
|
112
|
+
case 'minTradeNtlRejected':
|
|
113
|
+
return 'Order rejected: notional value below the minimum trade size.';
|
|
114
|
+
case 'delistedRejected':
|
|
115
|
+
return 'Order rejected: market has been delisted.';
|
|
116
|
+
default:
|
|
117
|
+
return undefined;
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
exports.mapStatusReason = mapStatusReason;
|
|
121
|
+
const mapTimeInForce = (tif) => {
|
|
122
|
+
switch (tif) {
|
|
123
|
+
case 'Gtc':
|
|
124
|
+
return perps_types_1.TimeInForce.GTC;
|
|
125
|
+
case 'Ioc':
|
|
126
|
+
return perps_types_1.TimeInForce.IOC;
|
|
127
|
+
case 'Alo':
|
|
128
|
+
return perps_types_1.TimeInForce.POST_ONLY;
|
|
129
|
+
default:
|
|
130
|
+
return undefined;
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
const mapOrder = (detail, market) => {
|
|
134
|
+
const o = detail.order;
|
|
135
|
+
const filled = parseFloat(o.origSz) - parseFloat(o.sz);
|
|
136
|
+
return {
|
|
137
|
+
orderId: String(o.oid),
|
|
138
|
+
market,
|
|
139
|
+
side: o.side === 'B' ? perps_types_1.OrderSide.BUY : perps_types_1.OrderSide.SELL,
|
|
140
|
+
type: (0, exports.mapOrderType)(o.orderType),
|
|
141
|
+
price: o.limitPx,
|
|
142
|
+
originalSize: o.origSz,
|
|
143
|
+
remainingSize: o.sz,
|
|
144
|
+
filledSize: filled.toString(),
|
|
145
|
+
timeInForce: mapTimeInForce(o.tif ?? undefined),
|
|
146
|
+
reduceOnly: o.reduceOnly ?? undefined,
|
|
147
|
+
isTrigger: o.triggerCondition !== undefined && o.triggerCondition !== 'N/A',
|
|
148
|
+
triggerPrice: o.triggerPx ?? undefined,
|
|
149
|
+
status: (0, exports.mapOrderStatus)(detail.status),
|
|
150
|
+
statusReason: (0, exports.mapStatusReason)(detail.status),
|
|
151
|
+
createdAt: new Date(o.timestamp).toISOString(),
|
|
152
|
+
updatedAt: new Date(detail.statusTimestamp).toISOString(),
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
exports.mapOrder = mapOrder;
|
|
156
|
+
//# sourceMappingURL=mapOrder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapOrder.js","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { MarketDisplay, Position } from '@lifi/perps-types';
|
|
2
|
+
import type { HlAssetPosition } from '../types/index.js';
|
|
3
|
+
export declare const isOpenAssetPosition: (ap: HlAssetPosition) => boolean;
|
|
4
|
+
export declare const mapPosition: (ap: HlAssetPosition, market: MarketDisplay) => Position;
|
|
5
|
+
//# sourceMappingURL=mapPosition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapPosition.d.ts","sourceRoot":"","sources":["../../../src/utils/mapPosition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAQxD,eAAO,MAAM,mBAAmB,GAAI,IAAI,eAAe,KAAG,OAChB,CAAA;AAG1C,eAAO,MAAM,WAAW,GACtB,IAAI,eAAe,EACnB,QAAQ,aAAa,KACpB,QAsBF,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mapPosition = exports.isOpenAssetPosition = void 0;
|
|
4
|
+
const perps_types_1 = require("@lifi/perps-types");
|
|
5
|
+
const isOpenAssetPosition = (ap) => Number.parseFloat(ap.position.szi) !== 0;
|
|
6
|
+
exports.isOpenAssetPosition = isOpenAssetPosition;
|
|
7
|
+
const mapPosition = (ap, market) => {
|
|
8
|
+
const pos = ap.position;
|
|
9
|
+
const szi = parseFloat(pos.szi);
|
|
10
|
+
return {
|
|
11
|
+
market,
|
|
12
|
+
side: szi >= 0 ? perps_types_1.PositionSide.LONG : perps_types_1.PositionSide.SHORT,
|
|
13
|
+
size: Math.abs(szi).toString(),
|
|
14
|
+
entryPrice: pos.entryPx ?? '0',
|
|
15
|
+
markPrice: pos.positionValue && szi !== 0
|
|
16
|
+
? (parseFloat(pos.positionValue) / Math.abs(szi)).toString()
|
|
17
|
+
: '0',
|
|
18
|
+
liquidationPrice: pos.liquidationPx ?? '0',
|
|
19
|
+
unrealizedPnl: pos.unrealizedPnl,
|
|
20
|
+
leverage: ap.position.leverage.value,
|
|
21
|
+
marginUsed: pos.marginUsed,
|
|
22
|
+
marginMode: ap.position.leverage.type === 'cross'
|
|
23
|
+
? perps_types_1.MarginMode.CROSS
|
|
24
|
+
: perps_types_1.MarginMode.ISOLATED,
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
exports.mapPosition = mapPosition;
|
|
28
|
+
//# sourceMappingURL=mapPosition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapPosition.js","sourceRoot":"","sources":["../../../src/utils/mapPosition.ts"],"names":[],"mappings":";;;AACA,mDAA4D;AASrD,MAAM,mBAAmB,GAAG,CAAC,EAAmB,EAAW,EAAE,CAClE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAD7B,QAAA,mBAAmB,uBACU;AAGnC,MAAM,WAAW,GAAG,CACzB,EAAmB,EACnB,MAAqB,EACX,EAAE;IACZ,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAA;IACvB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAE/B,OAAO;QACL,MAAM;QACN,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,0BAAY,CAAC,IAAI,CAAC,CAAC,CAAC,0BAAY,CAAC,KAAK;QACvD,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QAC9B,UAAU,EAAE,GAAG,CAAC,OAAO,IAAI,GAAG;QAC9B,SAAS,EACP,GAAG,CAAC,aAAa,IAAI,GAAG,KAAK,CAAC;YAC5B,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC5D,CAAC,CAAC,GAAG;QACT,gBAAgB,EAAE,GAAG,CAAC,aAAa,IAAI,GAAG;QAC1C,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;QACpC,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,UAAU,EACR,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO;YACnC,CAAC,CAAC,wBAAU,CAAC,KAAK;YAClB,CAAC,CAAC,wBAAU,CAAC,QAAQ;KAC1B,CAAA;AACH,CAAC,CAAA;AAzBY,QAAA,WAAW,eAyBvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketDisplay.d.ts","sourceRoot":"","sources":["../../../src/utils/marketDisplay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAetD,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,KAKvC,CAAA;AAQF,eAAO,MAAM,aAAa,GAAI,SAAS,SAAS,MAAM,EAAE,KAAG,MAAM,EAShE,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.perpsDexNames = exports.coinAsset = void 0;
|
|
4
|
+
const constants_js_1 = require("../constants.js");
|
|
5
|
+
const coinAsset = (coin) => ({
|
|
6
|
+
providerId: constants_js_1.PROVIDER_KEY,
|
|
7
|
+
id: coin,
|
|
8
|
+
displaySymbol: coin.includes(':') ? coin.slice(coin.indexOf(':') + 1) : coin,
|
|
9
|
+
logoURI: `https://app.hyperliquid.xyz/coins/${coin}.svg`,
|
|
10
|
+
});
|
|
11
|
+
exports.coinAsset = coinAsset;
|
|
12
|
+
const perpsDexNames = (markets) => {
|
|
13
|
+
const names = new Set();
|
|
14
|
+
for (const m of markets) {
|
|
15
|
+
if (m.categoryId === constants_js_1.SPOT_MARKET_ID) {
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
names.add(m.categoryId === constants_js_1.MAIN_MARKET_ID ? constants_js_1.MAIN_DEX_NAME : m.categoryId);
|
|
19
|
+
}
|
|
20
|
+
return [...names];
|
|
21
|
+
};
|
|
22
|
+
exports.perpsDexNames = perpsDexNames;
|
|
23
|
+
//# sourceMappingURL=marketDisplay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketDisplay.js","sourceRoot":"","sources":["../../../src/utils/marketDisplay.ts"],"names":[],"mappings":";;;AACA,kDAKwB;AASjB,MAAM,SAAS,GAAG,CAAC,IAAY,EAAS,EAAE,CAAC,CAAC;IACjD,UAAU,EAAE,2BAAY;IACxB,EAAE,EAAE,IAAI;IACR,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;IAC5E,OAAO,EAAE,qCAAqC,IAAI,MAAM;CACzD,CAAC,CAAA;AALW,QAAA,SAAS,aAKpB;AAQK,MAAM,aAAa,GAAG,CAAC,OAA0B,EAAY,EAAE;IACpE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IAC/B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,UAAU,KAAK,6BAAc,EAAE,CAAC;YACpC,SAAQ;QACV,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,KAAK,6BAAc,CAAC,CAAC,CAAC,4BAAa,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IAC3E,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAA;AACnB,CAAC,CAAA;AATY,QAAA,aAAa,iBASzB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function getMaxPriceDecimals(szDecimals: number, market?: string): number;
|
|
2
|
+
export declare function formatOrderSize(size: number, szDecimals: number): string;
|
|
3
|
+
export declare function formatOrderPrice(price: number, szDecimals: number, market?: string): string;
|
|
4
|
+
//# sourceMappingURL=orderFormatting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orderFormatting.d.ts","sourceRoot":"","sources":["../../../src/utils/orderFormatting.ts"],"names":[],"mappings":"AA8BA,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAER;AAcD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAOxE;AAoBD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAYR"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getMaxPriceDecimals = getMaxPriceDecimals;
|
|
7
|
+
exports.formatOrderSize = formatOrderSize;
|
|
8
|
+
exports.formatOrderPrice = formatOrderPrice;
|
|
9
|
+
const big_js_1 = __importDefault(require("big.js"));
|
|
10
|
+
const MAX_DECIMALS_PERPS = 6;
|
|
11
|
+
const MAX_DECIMALS_SPOT = 8;
|
|
12
|
+
function getMaxDecimals(market) {
|
|
13
|
+
return market === 'spot' ? MAX_DECIMALS_SPOT : MAX_DECIMALS_PERPS;
|
|
14
|
+
}
|
|
15
|
+
function getMaxPriceDecimals(szDecimals, market) {
|
|
16
|
+
return Math.max(0, getMaxDecimals(market) - szDecimals);
|
|
17
|
+
}
|
|
18
|
+
function formatOrderSize(size, szDecimals) {
|
|
19
|
+
const truncated = new big_js_1.default(size).round(szDecimals, big_js_1.default.roundDown);
|
|
20
|
+
return truncated.eq(0) ? '0' : truncated.toFixed();
|
|
21
|
+
}
|
|
22
|
+
function formatOrderPrice(price, szDecimals, market) {
|
|
23
|
+
const maxPriceDecimals = getMaxPriceDecimals(szDecimals, market);
|
|
24
|
+
let rounded = new big_js_1.default(price).round(maxPriceDecimals, big_js_1.default.roundHalfUp);
|
|
25
|
+
if (!rounded.mod(1).eq(0)) {
|
|
26
|
+
rounded = rounded.prec(5, big_js_1.default.roundHalfUp);
|
|
27
|
+
}
|
|
28
|
+
return rounded.eq(0) ? '0' : rounded.toFixed();
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=orderFormatting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orderFormatting.js","sourceRoot":"","sources":["../../../src/utils/orderFormatting.ts"],"names":[],"mappings":";;;;;AA8BA,kDAKC;AAcD,0CAOC;AAoBD,4CAgBC;AAnFD,oDAAwB;AAMxB,MAAM,kBAAkB,GAAG,CAAC,CAAA;AAC5B,MAAM,iBAAiB,GAAG,CAAC,CAAA;AAE3B,SAAS,cAAc,CAAC,MAAe;IACrC,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,CAAA;AACnE,CAAC;AAUD,SAAgB,mBAAmB,CACjC,UAAkB,EAClB,MAAe;IAEf,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAA;AACzD,CAAC;AAcD,SAAgB,eAAe,CAAC,IAAY,EAAE,UAAkB;IAI9D,MAAM,SAAS,GAAG,IAAI,gBAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,gBAAG,CAAC,SAAS,CAAC,CAAA;IAEhE,OAAO,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;AACpD,CAAC;AAoBD,SAAgB,gBAAgB,CAC9B,KAAa,EACb,UAAkB,EAClB,MAAe;IAEf,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAEhE,IAAI,OAAO,GAAG,IAAI,gBAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,gBAAG,CAAC,WAAW,CAAC,CAAA;IAGrE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,gBAAG,CAAC,WAAW,CAAC,CAAA;IAC5C,CAAC;IAGD,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;AAChD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"priceStepToAggregation.d.ts","sourceRoot":"","sources":["../../../src/utils/priceStepToAggregation.ts"],"names":[],"mappings":"AAgCA,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,GACrB;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAsB1C"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.priceStepToAggregation = priceStepToAggregation;
|
|
4
|
+
const HL_MIN_SIG_FIGS = 2;
|
|
5
|
+
const HL_MAX_SIG_FIGS = 5;
|
|
6
|
+
const HL_MANTISSA_VALUES = [1, 2, 5];
|
|
7
|
+
function snapToMantissa(ratio) {
|
|
8
|
+
let closest = HL_MANTISSA_VALUES[0];
|
|
9
|
+
for (const m of HL_MANTISSA_VALUES) {
|
|
10
|
+
if (Math.abs(ratio - m) < Math.abs(ratio - closest)) {
|
|
11
|
+
closest = m;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return closest;
|
|
15
|
+
}
|
|
16
|
+
function priceStepToAggregation(step, referencePrice) {
|
|
17
|
+
if (!Number.isFinite(step) || step <= 0) {
|
|
18
|
+
return {};
|
|
19
|
+
}
|
|
20
|
+
if (!Number.isFinite(referencePrice) || referencePrice <= 0) {
|
|
21
|
+
return {};
|
|
22
|
+
}
|
|
23
|
+
const stepExp = Math.floor(Math.log10(step));
|
|
24
|
+
const priceExp = Math.floor(Math.log10(referencePrice));
|
|
25
|
+
const nSigFigs = priceExp - stepExp + 1;
|
|
26
|
+
if (nSigFigs > HL_MAX_SIG_FIGS) {
|
|
27
|
+
return {};
|
|
28
|
+
}
|
|
29
|
+
const clamped = Math.max(HL_MIN_SIG_FIGS, nSigFigs);
|
|
30
|
+
const mantissa = snapToMantissa(step / 10 ** stepExp);
|
|
31
|
+
if (clamped === HL_MAX_SIG_FIGS && mantissa !== 1) {
|
|
32
|
+
return { nSigFigs: clamped, mantissa };
|
|
33
|
+
}
|
|
34
|
+
return { nSigFigs: clamped };
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=priceStepToAggregation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"priceStepToAggregation.js","sourceRoot":"","sources":["../../../src/utils/priceStepToAggregation.ts"],"names":[],"mappings":";;AAgCA,wDAyBC;AAxDD,MAAM,eAAe,GAAG,CAAC,CAAA;AACzB,MAAM,eAAe,GAAG,CAAC,CAAA;AAEzB,MAAM,kBAAkB,GAAmC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAGpE,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,OAAO,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;IACnC,KAAK,MAAM,CAAC,IAAI,kBAAkB,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;YACpD,OAAO,GAAG,CAAC,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAiBD,SAAgB,sBAAsB,CACpC,IAAY,EACZ,cAAsB;IAEtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,CAAA;IACX,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;QAC5D,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAA;IACvD,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAA;IAEvC,IAAI,QAAQ,GAAG,eAAe,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;IACnD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,GAAG,EAAE,IAAI,OAAO,CAAC,CAAA;IACrD,IAAI,OAAO,KAAK,eAAe,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;IACxC,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;AAC9B,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Asset, Balance, Market } from '@lifi/perps-types';
|
|
2
|
+
import type { HlSpotBalance } from '../types/index.js';
|
|
3
|
+
export declare const spotPriceById: (markets: readonly Market[], priceByMarketId: ReadonlyMap<string, number>) => Map<string, number>;
|
|
4
|
+
export declare const spotAssetFromToken: (b: HlSpotBalance) => Asset;
|
|
5
|
+
export declare const spotBalance: (asset: Asset, total: string, priceById: Map<string, number>) => Balance;
|
|
6
|
+
//# sourceMappingURL=spotBalance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spotBalance.d.ts","sourceRoot":"","sources":["../../../src/utils/spotBalance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAStD,eAAO,MAAM,aAAa,GACxB,SAAS,SAAS,MAAM,EAAE,EAC1B,iBAAiB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3C,GAAG,CAAC,MAAM,EAAE,MAAM,CAapB,CAAA;AAOD,eAAO,MAAM,kBAAkB,GAAI,GAAG,aAAa,KAAG,KAGpD,CAAA;AAGF,eAAO,MAAM,WAAW,GACtB,OAAO,KAAK,EACZ,OAAO,MAAM,EACb,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAC7B,OAKD,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.spotBalance = exports.spotAssetFromToken = exports.spotPriceById = void 0;
|
|
4
|
+
const perps_sdk_1 = require("@lifi/perps-sdk");
|
|
5
|
+
const constants_js_1 = require("../constants.js");
|
|
6
|
+
const marketDisplay_js_1 = require("./marketDisplay.js");
|
|
7
|
+
const spotPriceById = (markets, priceByMarketId) => {
|
|
8
|
+
const map = new Map();
|
|
9
|
+
for (const m of markets) {
|
|
10
|
+
if (m.categoryId === constants_js_1.SPOT_MARKET_ID) {
|
|
11
|
+
map.set(m.baseAsset.id, priceByMarketId.get(m.id) ?? 0);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
for (const m of markets) {
|
|
15
|
+
if (!map.has(m.quoteAsset.id)) {
|
|
16
|
+
map.set(m.quoteAsset.id, 1);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return map;
|
|
20
|
+
};
|
|
21
|
+
exports.spotPriceById = spotPriceById;
|
|
22
|
+
const spotAssetFromToken = (b) => ({
|
|
23
|
+
...(0, marketDisplay_js_1.coinAsset)(b.coin),
|
|
24
|
+
id: String(b.token),
|
|
25
|
+
});
|
|
26
|
+
exports.spotAssetFromToken = spotAssetFromToken;
|
|
27
|
+
const spotBalance = (asset, total, priceById) => ({
|
|
28
|
+
categoryId: constants_js_1.SPOT_MARKET_ID,
|
|
29
|
+
asset,
|
|
30
|
+
units: total,
|
|
31
|
+
valueUsd: ((0, perps_sdk_1.stringToFloat)(total) * (priceById.get(asset.id) ?? 0)).toString(),
|
|
32
|
+
});
|
|
33
|
+
exports.spotBalance = spotBalance;
|
|
34
|
+
//# sourceMappingURL=spotBalance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spotBalance.js","sourceRoot":"","sources":["../../../src/utils/spotBalance.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAE/C,kDAAgD;AAEhD,yDAA8C;AAQvC,MAAM,aAAa,GAAG,CAC3B,OAA0B,EAC1B,eAA4C,EACvB,EAAE;IACvB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAA;IACrC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,UAAU,KAAK,6BAAc,EAAE,CAAC;YACpC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAhBY,QAAA,aAAa,iBAgBzB;AAOM,MAAM,kBAAkB,GAAG,CAAC,CAAgB,EAAS,EAAE,CAAC,CAAC;IAC9D,GAAG,IAAA,4BAAS,EAAC,CAAC,CAAC,IAAI,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;CACpB,CAAC,CAAA;AAHW,QAAA,kBAAkB,sBAG7B;AAGK,MAAM,WAAW,GAAG,CACzB,KAAY,EACZ,KAAa,EACb,SAA8B,EACrB,EAAE,CAAC,CAAC;IACb,UAAU,EAAE,6BAAc;IAC1B,KAAK;IACL,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,CAAC,IAAA,yBAAa,EAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC7E,CAAC,CAAA;AATW,QAAA,WAAW,eAStB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type PerpsSDKClient, type ProviderGetQuoteParams, type QuoteListener, WsProviderBase, type WsProviderFactory } from '@lifi/perps-sdk';
|
|
2
|
+
import { type Subscription } from '@lifi/perps-types';
|
|
3
|
+
export declare const hyperliquidWsProvider: () => WsProviderFactory;
|
|
4
|
+
export declare class HyperliquidWsProvider extends WsProviderBase<object> {
|
|
5
|
+
private orderUpdatesKey;
|
|
6
|
+
private readonly subDexes;
|
|
7
|
+
private readonly client;
|
|
8
|
+
private readonly registry;
|
|
9
|
+
private midsBySubDex;
|
|
10
|
+
constructor(wsUrl: string, providerKey: string, subDexes: string[], client?: PerpsSDKClient);
|
|
11
|
+
subscribeQuote(params: ProviderGetQuoteParams, onQuote: QuoteListener): Promise<() => void>;
|
|
12
|
+
protected openChannel(sub: Subscription): Promise<() => void>;
|
|
13
|
+
private claimOrderUpdatesKey;
|
|
14
|
+
private getPriceSubEntries;
|
|
15
|
+
protected onClose(): void;
|
|
16
|
+
protected sendSubscribe(payload: object): void;
|
|
17
|
+
protected toKey(sub: Subscription): string;
|
|
18
|
+
private toHlPayload;
|
|
19
|
+
protected handleMessage(raw: string): void;
|
|
20
|
+
private handleAllMids;
|
|
21
|
+
private mergedMids;
|
|
22
|
+
private handleL2Book;
|
|
23
|
+
private handleCandle;
|
|
24
|
+
private handleOrderUpdates;
|
|
25
|
+
private handleUserFills;
|
|
26
|
+
private handleAllDexsClearinghouseState;
|
|
27
|
+
private handleSpotState;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=HyperliquidWsProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HyperliquidWsProvider.d.ts","sourceRoot":"","sources":["../../../src/websocket/HyperliquidWsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAGlB,cAAc,EACd,KAAK,iBAAiB,EAEvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAIL,KAAK,YAAY,EAElB,MAAM,mBAAmB,CAAA;AAyC1B,eAAO,MAAM,qBAAqB,QAC5B,iBAIH,CAAA;AAeH,qBAAa,qBAAsB,SAAQ,cAAc,CAAC,MAAM,CAAC;IAC/D,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,YAAY,CAA4C;gBAG9D,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAAE,EAClB,MAAM,CAAC,EAAE,cAAc;IAWnB,cAAc,CAClB,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,IAAI,CAAC;cAkBN,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAsDnE,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,kBAAkB;cAaP,OAAO,IAAI,IAAI;IAKlC,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM9C,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;IAmB1C,OAAO,CAAC,WAAW;IAqCnB,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM;IAyDnC,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,kBAAkB;IA0D1B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,+BAA+B;IAkBvC,OAAO,CAAC,eAAe;CAaxB"}
|