@pear-protocol/hyperliquid-sdk 0.0.43 → 0.0.44
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/dist/clients/watchlist.d.ts +2 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/useMarketData.d.ts +1 -0
- package/dist/hooks/useWatchlist.d.ts +6 -0
- package/dist/index.d.ts +24 -2
- package/dist/index.js +37 -2
- package/dist/types.d.ts +13 -0
- package/package.json +1 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import type { ApiResponse, ToggleWatchlistResponseDto, WatchlistAssetDto } from '../types';
|
|
2
|
+
export declare function toggleWatchlist(baseUrl: string, accessToken: string, longAssets: WatchlistAssetDto[], shortAssets: WatchlistAssetDto[]): Promise<ApiResponse<ToggleWatchlistResponseDto>>;
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -4,4 +4,5 @@ export declare const useActiveBaskets: () => ActiveAssetGroupItem[];
|
|
|
4
4
|
export declare const useTopGainers: (limit?: number) => ActiveAssetGroupItem[];
|
|
5
5
|
export declare const useTopLosers: (limit?: number) => ActiveAssetGroupItem[];
|
|
6
6
|
export declare const useHighlightedBaskets: () => ActiveAssetGroupItem[];
|
|
7
|
+
export declare const useWatchlistBaskets: () => ActiveAssetGroupItem[];
|
|
7
8
|
export declare const useFindBasket: (longs: string[], shorts: string[]) => ActiveAssetGroupItem | undefined;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ApiResponse, ToggleWatchlistResponseDto, WatchlistAssetDto, ActiveAssetGroupItem } from '../types';
|
|
2
|
+
export declare function useWatchlist(): {
|
|
3
|
+
readonly watchlists: ActiveAssetGroupItem[] | null;
|
|
4
|
+
readonly isLoading: boolean;
|
|
5
|
+
readonly toggle: (longAssets: WatchlistAssetDto[], shortAssets: WatchlistAssetDto[]) => Promise<ApiResponse<ToggleWatchlistResponseDto>>;
|
|
6
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -53,6 +53,18 @@ interface WebSocketDataMessage<T = unknown> {
|
|
|
53
53
|
channel: WebSocketChannel;
|
|
54
54
|
data: T;
|
|
55
55
|
}
|
|
56
|
+
interface WatchlistAssetDto {
|
|
57
|
+
asset: string;
|
|
58
|
+
weight: number;
|
|
59
|
+
}
|
|
60
|
+
interface WatchlistItemDto {
|
|
61
|
+
id: string;
|
|
62
|
+
longAssets: WatchlistAssetDto[];
|
|
63
|
+
shortAssets: WatchlistAssetDto[];
|
|
64
|
+
}
|
|
65
|
+
interface ToggleWatchlistResponseDto {
|
|
66
|
+
items: WatchlistItemDto[];
|
|
67
|
+
}
|
|
56
68
|
type NotificationCategory = 'TRADE_OPENED_OUTSIDE_PEAR' | 'TRADE_CLOSED_OUTSIDE_PEAR' | 'POSITION_LIQUIDATED' | 'LIMIT_ORDER_FILLED' | 'LIMIT_ORDER_FAILED' | 'TP_ORDER_FILLED' | 'TP_ORDER_FAILED' | 'SL_ORDER_FILLED' | 'SL_ORDER_FAILED';
|
|
57
69
|
interface NotificationDto {
|
|
58
70
|
id: string;
|
|
@@ -532,6 +544,7 @@ interface ActiveAssetsResponse {
|
|
|
532
544
|
topGainers: ActiveAssetGroupItem[];
|
|
533
545
|
topLosers: ActiveAssetGroupItem[];
|
|
534
546
|
highlighted: ActiveAssetGroupItem[];
|
|
547
|
+
watchlist: ActiveAssetGroupItem[];
|
|
535
548
|
}
|
|
536
549
|
/**
|
|
537
550
|
* Candle interval options
|
|
@@ -1011,8 +1024,15 @@ declare const useActiveBaskets: () => ActiveAssetGroupItem[];
|
|
|
1011
1024
|
declare const useTopGainers: (limit?: number) => ActiveAssetGroupItem[];
|
|
1012
1025
|
declare const useTopLosers: (limit?: number) => ActiveAssetGroupItem[];
|
|
1013
1026
|
declare const useHighlightedBaskets: () => ActiveAssetGroupItem[];
|
|
1027
|
+
declare const useWatchlistBaskets: () => ActiveAssetGroupItem[];
|
|
1014
1028
|
declare const useFindBasket: (longs: string[], shorts: string[]) => ActiveAssetGroupItem | undefined;
|
|
1015
1029
|
|
|
1030
|
+
declare function useWatchlist(): {
|
|
1031
|
+
readonly watchlists: ActiveAssetGroupItem[] | null;
|
|
1032
|
+
readonly isLoading: boolean;
|
|
1033
|
+
readonly toggle: (longAssets: WatchlistAssetDto[], shortAssets: WatchlistAssetDto[]) => Promise<ApiResponse<ToggleWatchlistResponseDto>>;
|
|
1034
|
+
};
|
|
1035
|
+
|
|
1016
1036
|
interface UseHyperliquidWebSocketProps {
|
|
1017
1037
|
wsUrl: string;
|
|
1018
1038
|
address: string | null;
|
|
@@ -1047,6 +1067,8 @@ declare function markNotificationReadById(baseUrl: string, accessToken: string,
|
|
|
1047
1067
|
updated: number;
|
|
1048
1068
|
}>>;
|
|
1049
1069
|
|
|
1070
|
+
declare function toggleWatchlist(baseUrl: string, accessToken: string, longAssets: WatchlistAssetDto[], shortAssets: WatchlistAssetDto[]): Promise<ApiResponse<ToggleWatchlistResponseDto>>;
|
|
1071
|
+
|
|
1050
1072
|
/**
|
|
1051
1073
|
* Account summary calculation utility class
|
|
1052
1074
|
*/
|
|
@@ -1151,5 +1173,5 @@ declare function mapCandleIntervalToTradingViewInterval(interval: CandleInterval
|
|
|
1151
1173
|
|
|
1152
1174
|
declare const useMarketData: any;
|
|
1153
1175
|
|
|
1154
|
-
export { AccountSummaryCalculator, AuthStatus, ConflictDetector, PearHyperliquidProvider, TokenMetadataExtractor, adjustOrder, adjustPosition, calculateWeightedRatio, cancelOrder, cancelTwap, cancelTwapOrder, closeAllPositions, closePosition, computeBasketCandles, createCandleLookups, createPosition, getCompleteTimestamps, mapCandleIntervalToTradingViewInterval, mapTradingViewIntervalToCandleInterval, markNotificationReadById, markNotificationsRead, updateRiskParameters, useAccountSummary, useActiveBaskets, useAddress, useAgentWallet, useAuth, useAutoSyncFills, useBasketCandles, useFindBasket, useHighlightedBaskets, useHistoricalPriceData, useHistoricalPriceDataStore, useHyperliquidNativeWebSocket, useHyperliquidWebSocket, useMarketData, useMarketDataPayload, useNotifications, useOpenOrders, useOrders, usePearAgentWallet, usePearAuth, usePearHyperliquid, usePerformanceOverlays, usePosition, useTokenSelectionMetadata, useTopGainers, useTopLosers, useTradeHistories, useTwap, useUserSelection, useWebData };
|
|
1155
|
-
export type { AccountSummaryResponseDto, ActiveAssetGroupItem, ActiveAssetsResponse, AdjustExecutionType, AdjustOrderRequestInput, AdjustOrderResponseDto, AdjustPositionRequestInput, AdjustPositionResponseDto, AgentWalletDto, AgentWalletState, ApiErrorResponse, ApiResponse, AssetCtx, AssetInformationDetail, AssetMarketData, AssetPosition, AutoSyncFillsOptions, AutoSyncFillsState, BalanceSummaryDto, CancelOrderResponseDto, CancelTwapResponseDto, CandleChartData, CandleData, CandleInterval, CandleSnapshotRequest, ClearinghouseState, CloseAllPositionsResponseDto, CloseAllPositionsResultDto, CloseExecutionType, ClosePositionRequestInput, ClosePositionResponseDto, CreatePositionRequestInput, CreatePositionResponseDto, CrossMarginSummaryDto, CumFundingDto, ExecutionType, HLWebSocketResponse, HistoricalRange, LadderConfigInput, MarginSummaryDto, NotificationCategory, NotificationDto, OpenLimitOrderDto, OpenPositionDto, OrderAssetDto, OrderStatus, PairAssetDto, PairAssetInput, PerformanceOverlay, PositionAdjustmentType, PositionAssetDetailDto, PositionAssetSummaryDto, PositionResponseStatus, RealtimeBar, RealtimeBarsCallback, TokenConflict, TokenHistoricalPriceData, TokenMetadata, TokenSelection, TpSlThresholdInput, TpSlThresholdType, TradeHistoryAssetDataDto, TradeHistoryDataDto, TwapChunkStatusDto, TwapMonitoringDto, UniverseAsset, UpdateRiskParametersRequestInput, UpdateRiskParametersResponseDto, UseAgentWalletOptions, UseAuthOptions, UseBasketCandlesReturn, UseHistoricalPriceDataReturn, UseNotificationsResult, UsePerformanceOverlaysReturn, UseTokenSelectionMetadataReturn, UserProfile, UserSelectionState, WebData2Response, WebSocketAckResponse, WebSocketChannel, WebSocketConnectionState, WebSocketDataMessage, WebSocketMessage, WebSocketSubscribeMessage, WsAllMidsData };
|
|
1176
|
+
export { AccountSummaryCalculator, AuthStatus, ConflictDetector, PearHyperliquidProvider, TokenMetadataExtractor, adjustOrder, adjustPosition, calculateWeightedRatio, cancelOrder, cancelTwap, cancelTwapOrder, closeAllPositions, closePosition, computeBasketCandles, createCandleLookups, createPosition, getCompleteTimestamps, mapCandleIntervalToTradingViewInterval, mapTradingViewIntervalToCandleInterval, markNotificationReadById, markNotificationsRead, toggleWatchlist, updateRiskParameters, useAccountSummary, useActiveBaskets, useAddress, useAgentWallet, useAuth, useAutoSyncFills, useBasketCandles, useFindBasket, useHighlightedBaskets, useHistoricalPriceData, useHistoricalPriceDataStore, useHyperliquidNativeWebSocket, useHyperliquidWebSocket, useMarketData, useMarketDataPayload, useNotifications, useOpenOrders, useOrders, usePearAgentWallet, usePearAuth, usePearHyperliquid, usePerformanceOverlays, usePosition, useTokenSelectionMetadata, useTopGainers, useTopLosers, useTradeHistories, useTwap, useUserSelection, useWatchlist, useWatchlistBaskets, useWebData };
|
|
1177
|
+
export type { AccountSummaryResponseDto, ActiveAssetGroupItem, ActiveAssetsResponse, AdjustExecutionType, AdjustOrderRequestInput, AdjustOrderResponseDto, AdjustPositionRequestInput, AdjustPositionResponseDto, AgentWalletDto, AgentWalletState, ApiErrorResponse, ApiResponse, AssetCtx, AssetInformationDetail, AssetMarketData, AssetPosition, AutoSyncFillsOptions, AutoSyncFillsState, BalanceSummaryDto, CancelOrderResponseDto, CancelTwapResponseDto, CandleChartData, CandleData, CandleInterval, CandleSnapshotRequest, ClearinghouseState, CloseAllPositionsResponseDto, CloseAllPositionsResultDto, CloseExecutionType, ClosePositionRequestInput, ClosePositionResponseDto, CreatePositionRequestInput, CreatePositionResponseDto, CrossMarginSummaryDto, CumFundingDto, ExecutionType, HLWebSocketResponse, HistoricalRange, LadderConfigInput, MarginSummaryDto, NotificationCategory, NotificationDto, OpenLimitOrderDto, OpenPositionDto, OrderAssetDto, OrderStatus, PairAssetDto, PairAssetInput, PerformanceOverlay, PositionAdjustmentType, PositionAssetDetailDto, PositionAssetSummaryDto, PositionResponseStatus, RealtimeBar, RealtimeBarsCallback, ToggleWatchlistResponseDto, TokenConflict, TokenHistoricalPriceData, TokenMetadata, TokenSelection, TpSlThresholdInput, TpSlThresholdType, TradeHistoryAssetDataDto, TradeHistoryDataDto, TwapChunkStatusDto, TwapMonitoringDto, UniverseAsset, UpdateRiskParametersRequestInput, UpdateRiskParametersResponseDto, UseAgentWalletOptions, UseAuthOptions, UseBasketCandlesReturn, UseHistoricalPriceDataReturn, UseNotificationsResult, UsePerformanceOverlaysReturn, UseTokenSelectionMetadataReturn, UserProfile, UserSelectionState, WatchlistItemDto, WebData2Response, WebSocketAckResponse, WebSocketChannel, WebSocketConnectionState, WebSocketDataMessage, WebSocketMessage, WebSocketSubscribeMessage, WsAllMidsData };
|
package/dist/index.js
CHANGED
|
@@ -2459,7 +2459,7 @@ const useMarketData = create((set) => ({
|
|
|
2459
2459
|
|
|
2460
2460
|
const useHyperliquidWebSocket = ({ wsUrl, address }) => {
|
|
2461
2461
|
const { setTradeHistories, setRawOpenPositions, setOpenOrders, setAccountSummary, setTwapDetails, setNotifications, clean, } = useUserData();
|
|
2462
|
-
const { setMarketData
|
|
2462
|
+
const { setMarketData } = useMarketData();
|
|
2463
2463
|
const [lastError, setLastError] = useState(null);
|
|
2464
2464
|
const [lastSubscribedAddress, setLastSubscribedAddress] = useState(null);
|
|
2465
2465
|
// WebSocket connection
|
|
@@ -8771,6 +8771,12 @@ const useHighlightedBaskets = () => {
|
|
|
8771
8771
|
const data = useMarketDataPayload();
|
|
8772
8772
|
return (_a = data === null || data === void 0 ? void 0 : data.highlighted) !== null && _a !== void 0 ? _a : [];
|
|
8773
8773
|
};
|
|
8774
|
+
// Watchlist baskets (from market-data payload when subscribed with address)
|
|
8775
|
+
const useWatchlistBaskets = () => {
|
|
8776
|
+
var _a;
|
|
8777
|
+
const data = useMarketDataPayload();
|
|
8778
|
+
return (_a = data === null || data === void 0 ? void 0 : data.watchlist) !== null && _a !== void 0 ? _a : [];
|
|
8779
|
+
};
|
|
8774
8780
|
// Find a basket by its exact asset composition (order-insensitive)
|
|
8775
8781
|
const useFindBasket = (longs, shorts) => {
|
|
8776
8782
|
const data = useMarketDataPayload();
|
|
@@ -8792,6 +8798,35 @@ const useFindBasket = (longs, shorts) => {
|
|
|
8792
8798
|
}, [data, longs, shorts]);
|
|
8793
8799
|
};
|
|
8794
8800
|
|
|
8801
|
+
async function toggleWatchlist(baseUrl, accessToken, longAssets, shortAssets) {
|
|
8802
|
+
const url = joinUrl(baseUrl, '/watchlist');
|
|
8803
|
+
try {
|
|
8804
|
+
const response = await axios$1.post(url, { longAssets, shortAssets }, { headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${accessToken}` } });
|
|
8805
|
+
return { data: response.data, status: response.status, headers: response.headers };
|
|
8806
|
+
}
|
|
8807
|
+
catch (error) {
|
|
8808
|
+
throw toApiError(error);
|
|
8809
|
+
}
|
|
8810
|
+
}
|
|
8811
|
+
|
|
8812
|
+
function useWatchlist() {
|
|
8813
|
+
const context = useContext(PearHyperliquidContext);
|
|
8814
|
+
if (!context)
|
|
8815
|
+
throw new Error('useWatchlist must be used within a PearHyperliquidProvider');
|
|
8816
|
+
const { apiBaseUrl, accessToken, isConnected } = context;
|
|
8817
|
+
const marketData = useMarketDataPayload();
|
|
8818
|
+
const isLoading = useMemo(() => !marketData && isConnected, [marketData, isConnected]);
|
|
8819
|
+
const toggle = async (longAssets, shortAssets) => {
|
|
8820
|
+
if (!accessToken)
|
|
8821
|
+
throw new Error('Not authenticated');
|
|
8822
|
+
const resp = await toggleWatchlist(apiBaseUrl, accessToken, longAssets, shortAssets);
|
|
8823
|
+
// Server will push updated market-data over WS; nothing to set here
|
|
8824
|
+
return resp;
|
|
8825
|
+
};
|
|
8826
|
+
const watchlists = marketData === null || marketData === void 0 ? void 0 : marketData.watchlist;
|
|
8827
|
+
return { watchlists: watchlists !== null && watchlists !== void 0 ? watchlists : null, isLoading, toggle };
|
|
8828
|
+
}
|
|
8829
|
+
|
|
8795
8830
|
const PearHyperliquidContext = createContext(undefined);
|
|
8796
8831
|
/**
|
|
8797
8832
|
* React Provider for PearHyperliquidClient
|
|
@@ -9090,4 +9125,4 @@ function mapCandleIntervalToTradingViewInterval(interval) {
|
|
|
9090
9125
|
}
|
|
9091
9126
|
}
|
|
9092
9127
|
|
|
9093
|
-
export { AccountSummaryCalculator, AuthStatus, ConflictDetector, PearHyperliquidProvider, TokenMetadataExtractor, adjustOrder, adjustPosition, calculateWeightedRatio, cancelOrder, cancelTwap, cancelTwapOrder, closeAllPositions, closePosition, computeBasketCandles, createCandleLookups, createPosition, getCompleteTimestamps, mapCandleIntervalToTradingViewInterval, mapTradingViewIntervalToCandleInterval, markNotificationReadById, markNotificationsRead, updateRiskParameters, useAccountSummary, useActiveBaskets, useAddress, useAgentWallet, useAuth, useAutoSyncFills, useBasketCandles, useFindBasket, useHighlightedBaskets, useHistoricalPriceData, useHistoricalPriceDataStore, useHyperliquidNativeWebSocket, useHyperliquidWebSocket, useMarketData, useMarketDataPayload, useNotifications, useOpenOrders, useOrders, usePearAgentWallet, usePearAuth, usePearHyperliquid, usePerformanceOverlays, usePosition, useTokenSelectionMetadata, useTopGainers, useTopLosers, useTradeHistories, useTwap, useUserSelection, useWebData };
|
|
9128
|
+
export { AccountSummaryCalculator, AuthStatus, ConflictDetector, PearHyperliquidProvider, TokenMetadataExtractor, adjustOrder, adjustPosition, calculateWeightedRatio, cancelOrder, cancelTwap, cancelTwapOrder, closeAllPositions, closePosition, computeBasketCandles, createCandleLookups, createPosition, getCompleteTimestamps, mapCandleIntervalToTradingViewInterval, mapTradingViewIntervalToCandleInterval, markNotificationReadById, markNotificationsRead, toggleWatchlist, updateRiskParameters, useAccountSummary, useActiveBaskets, useAddress, useAgentWallet, useAuth, useAutoSyncFills, useBasketCandles, useFindBasket, useHighlightedBaskets, useHistoricalPriceData, useHistoricalPriceDataStore, useHyperliquidNativeWebSocket, useHyperliquidWebSocket, useMarketData, useMarketDataPayload, useNotifications, useOpenOrders, useOrders, usePearAgentWallet, usePearAuth, usePearHyperliquid, usePerformanceOverlays, usePosition, useTokenSelectionMetadata, useTopGainers, useTopLosers, useTradeHistories, useTwap, useUserSelection, useWatchlist, useWatchlistBaskets, useWebData };
|
package/dist/types.d.ts
CHANGED
|
@@ -74,6 +74,18 @@ export interface WebSocketDataMessage<T = unknown> {
|
|
|
74
74
|
channel: WebSocketChannel;
|
|
75
75
|
data: T;
|
|
76
76
|
}
|
|
77
|
+
export interface WatchlistAssetDto {
|
|
78
|
+
asset: string;
|
|
79
|
+
weight: number;
|
|
80
|
+
}
|
|
81
|
+
export interface WatchlistItemDto {
|
|
82
|
+
id: string;
|
|
83
|
+
longAssets: WatchlistAssetDto[];
|
|
84
|
+
shortAssets: WatchlistAssetDto[];
|
|
85
|
+
}
|
|
86
|
+
export interface ToggleWatchlistResponseDto {
|
|
87
|
+
items: WatchlistItemDto[];
|
|
88
|
+
}
|
|
77
89
|
export type NotificationCategory = 'TRADE_OPENED_OUTSIDE_PEAR' | 'TRADE_CLOSED_OUTSIDE_PEAR' | 'POSITION_LIQUIDATED' | 'LIMIT_ORDER_FILLED' | 'LIMIT_ORDER_FAILED' | 'TP_ORDER_FILLED' | 'TP_ORDER_FAILED' | 'SL_ORDER_FILLED' | 'SL_ORDER_FAILED';
|
|
78
90
|
export interface NotificationDto {
|
|
79
91
|
id: string;
|
|
@@ -617,6 +629,7 @@ export interface ActiveAssetsResponse {
|
|
|
617
629
|
topGainers: ActiveAssetGroupItem[];
|
|
618
630
|
topLosers: ActiveAssetGroupItem[];
|
|
619
631
|
highlighted: ActiveAssetGroupItem[];
|
|
632
|
+
watchlist: ActiveAssetGroupItem[];
|
|
620
633
|
}
|
|
621
634
|
/**
|
|
622
635
|
* Candle interval options
|