@pear-protocol/hyperliquid-sdk 0.1.1-9.2-pnl → 0.1.2-pnl
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/hooks/usePnlCalendar.d.ts +13 -1
- package/dist/index.d.ts +13 -2
- package/dist/index.js +10 -17
- package/package.json +1 -1
|
@@ -1,16 +1,28 @@
|
|
|
1
|
+
import type { TokenMetadata } from '../types';
|
|
1
2
|
export type PnlCalendarTimeframe = '2W' | '3W' | '2M' | '3M';
|
|
2
3
|
export interface PnlCalendarOptions {
|
|
3
4
|
timeframe?: PnlCalendarTimeframe;
|
|
4
5
|
startDate?: Date | string;
|
|
5
6
|
endDate?: Date | string;
|
|
6
7
|
}
|
|
8
|
+
export interface PnlCalendarAsset {
|
|
9
|
+
coin: string;
|
|
10
|
+
metadata?: TokenMetadata | null;
|
|
11
|
+
}
|
|
12
|
+
export interface PnlCalendarTrade {
|
|
13
|
+
tradeHistoryId: string;
|
|
14
|
+
realizedPnl: number;
|
|
15
|
+
result: 'profit' | 'loss' | 'breakeven';
|
|
16
|
+
closedLongAssets: PnlCalendarAsset[];
|
|
17
|
+
closedShortAssets: PnlCalendarAsset[];
|
|
18
|
+
}
|
|
7
19
|
export interface PnlCalendarDay {
|
|
8
20
|
date: string;
|
|
9
21
|
totalPnl: number;
|
|
10
22
|
volume: number;
|
|
11
23
|
positionsClosed: number;
|
|
12
24
|
result: 'profit' | 'loss' | 'breakeven';
|
|
13
|
-
|
|
25
|
+
trades: PnlCalendarTrade[];
|
|
14
26
|
}
|
|
15
27
|
export interface PeriodSummary {
|
|
16
28
|
pnl: number;
|
package/dist/index.d.ts
CHANGED
|
@@ -1504,13 +1504,24 @@ interface PnlCalendarOptions {
|
|
|
1504
1504
|
startDate?: Date | string;
|
|
1505
1505
|
endDate?: Date | string;
|
|
1506
1506
|
}
|
|
1507
|
+
interface PnlCalendarAsset {
|
|
1508
|
+
coin: string;
|
|
1509
|
+
metadata?: TokenMetadata | null;
|
|
1510
|
+
}
|
|
1511
|
+
interface PnlCalendarTrade {
|
|
1512
|
+
tradeHistoryId: string;
|
|
1513
|
+
realizedPnl: number;
|
|
1514
|
+
result: 'profit' | 'loss' | 'breakeven';
|
|
1515
|
+
closedLongAssets: PnlCalendarAsset[];
|
|
1516
|
+
closedShortAssets: PnlCalendarAsset[];
|
|
1517
|
+
}
|
|
1507
1518
|
interface PnlCalendarDay {
|
|
1508
1519
|
date: string;
|
|
1509
1520
|
totalPnl: number;
|
|
1510
1521
|
volume: number;
|
|
1511
1522
|
positionsClosed: number;
|
|
1512
1523
|
result: 'profit' | 'loss' | 'breakeven';
|
|
1513
|
-
|
|
1524
|
+
trades: PnlCalendarTrade[];
|
|
1514
1525
|
}
|
|
1515
1526
|
interface PeriodSummary {
|
|
1516
1527
|
pnl: number;
|
|
@@ -1819,4 +1830,4 @@ interface MarketDataState {
|
|
|
1819
1830
|
declare const useMarketData: zustand.UseBoundStore<zustand.StoreApi<MarketDataState>>;
|
|
1820
1831
|
|
|
1821
1832
|
export { ConflictDetector, MAX_ASSETS_PER_LEG, MINIMUM_ASSET_USD_VALUE, MaxAssetsPerLegError, MinimumPositionSizeError, PearHyperliquidProvider, ReadyState, adjustAdvancePosition, adjustOrder, adjustPosition, calculateMinimumPositionValue, calculateWeightedRatio, cancelOrder, cancelTwap, cancelTwapOrder, closeAllPositions, closePosition, computeBasketCandles, createCandleLookups, createPosition, executeSpotOrder, getCompleteTimestamps, getKalshiMarkets, getOrderDirection, getOrderLadderConfig, getOrderLeverage, getOrderReduceOnly, getOrderTpSlTriggerType, getOrderTrailingInfo, getOrderTriggerType, getOrderTriggerValue, getOrderTwapDuration, getOrderUsdValue, getPortfolio, isBtcDomOrder, mapCandleIntervalToTradingViewInterval, mapTradingViewIntervalToCandleInterval, markNotificationReadById, markNotificationsRead, toggleWatchlist, updateLeverage, updateRiskParameters, useAccountSummary, useAgentWallet, useAllUserBalances, useAuth, useBasketCandles, useHistoricalPriceData, useHistoricalPriceDataStore, useHyperliquidUserFills, useMarket, useMarketData, useMarketDataHook, useNotifications, useOpenOrders, useOrders, usePearHyperliquid, usePerformanceOverlays, usePnlCalendar, usePortfolio, usePosition, useSpotOrder, useTokenSelectionMetadata, useTradeHistories, useTwap, useUserSelection, useWatchlist, validateMaxAssetsPerLeg, validateMinimumAssetSize, validatePositionSize };
|
|
1822
|
-
export type { AccountSummaryResponseDto, ActiveAssetData, ActiveAssetGroupItem, ActiveAssetsAllResponse, ActiveAssetsResponse, AddressState, AdjustAdvanceAssetInput, AdjustAdvanceItemInput, AdjustAdvanceResponseDto, AdjustExecutionType, AdjustOrderRequestInput, AdjustOrderResponseDto, AdjustPositionRequestInput, AdjustPositionResponseDto, AgentWalletDto, AgentWalletState, AgentWalletStatus, AllDexsAssetCtxsData, AllDexsClearinghouseStateData, AllPerpMetasItem, AllPerpMetasResponse, ApiErrorResponse, ApiResponse, AssetCtx, AssetInformationDetail, AssetMarketData, AssetPosition, AuthenticateRequest, AuthenticateResponse, AvailableToTrades, BalanceSummaryDto, BaseTriggerOrderNotificationParams, BtcDomTriggerParams, CancelOrderResponseDto, CancelTwapResponseDto, CandleChartData, CandleData, CandleInterval, CandleSnapshotRequest, ChunkFillDto, ClearinghouseState, CloseAllPositionsResponseDto, CloseAllPositionsResultDto, CloseExecutionType, ClosePositionRequestInput, ClosePositionResponseDto, CollateralToken, CreateAgentWalletResponseDto, CreatePositionRequestInput, CreatePositionResponseDto, CrossAssetPriceTriggerParams, CrossMarginSummaryDto, CumFundingDto, EIP712AuthDetails, ExecutionType, ExternalFillDto, ExternalLiquidationDto, ExtraAgent, GetAgentWalletResponseDto, GetEIP712MessageResponse, GetKalshiMarketsParams, HLChannel, HLChannelDataMap, HLWebSocketResponse, HistoricalRange, KalshiMarket, KalshiMarketsResponse, KalshiMveLeg, KalshiPriceRange, LadderConfigInput, LadderOrderParameters, LeverageInfo, LogoutRequest, LogoutResponse, MarginRequiredPerCollateral, MarginRequiredResult, MarginSummaryDto, MarginTableDef, MarginTablesEntry, MarginTier, MarketOrderParameters, NotificationCategory, NotificationDto, OpenLimitOrderDto, OpenPositionDto, OrderAssetDto, OrderDirection, OrderParameters, OrderStatus, OrderType, PairAssetDto, PairAssetInput, PerformanceOverlay, PeriodSummary, PerpDex, PerpDexsResponse, PerpMetaAsset, PlatformAccountSummaryResponseDto, PnlCalendarDay, PnlCalendarMonth, PnlCalendarOptions, PnlCalendarTimeframe, PnlCalendarWeek, PortfolioBucketDto, PortfolioInterval, PortfolioIntervalsDto, PortfolioOverallDto, PortfolioResponseDto, PositionAdjustmentType, PositionAssetDetailDto, PredictionMarketOutcomeTriggerParams, PriceRatioTriggerParams, PriceTriggerParams, PrivyAuthDetails, RawAssetDto, RawPositionDto, RealtimeBar, RealtimeBarsCallback, RebalanceAssetPlan, RebalancePlan, RefreshTokenRequest, RefreshTokenResponse, SpotBalance, SpotBalances, SpotOrderFilledStatus, SpotOrderHyperliquidData, SpotOrderHyperliquidResult, SpotOrderRequestInput, SpotOrderResponseDto, SpotState, SyncFillsRequestDto, SyncFillsResponseDto, ToggleWatchlistResponseDto, TokenConflict, TokenEntry, TokenHistoricalPriceData, TokenMetadata, TokenSelection, TokenSelectorConfig, TpSlOrderParameters, TpSlThreshold, TpSlThresholdInput, TpSlThresholdType, TpSlTriggerType, TradeHistoryAssetDataDto, TradeHistoryDataDto, TriggerOrderNotificationAsset, TriggerOrderNotificationParams, TriggerOrderNotificationType, TriggerOrderParameters, TriggerType, TwapChunkStatus, TwapChunkStatusDto, TwapMonitoringDto, TwapOrderOverallStatus, TwapOrderParameters, TwapSliceFillResponseItem, UniverseAsset, UpdateLeverageRequestInput, UpdateLeverageResponseDto, UpdateRiskParametersRequestInput, UpdateRiskParametersResponseDto, UseAuthOptions, UseBasketCandlesReturn, UseHistoricalPriceDataReturn, UseHyperliquidUserFillsOptions, UseHyperliquidUserFillsState, UseNotificationsResult, UsePerformanceOverlaysReturn, UsePnlCalendarResult, UsePortfolioResult, UseSpotOrderResult, UseTokenSelectionMetadataReturn, UserAbstraction, UserProfile, UserSelectionState, WatchlistAssetDto, WatchlistItemDto, WebData3AssetCtx, WebData3PerpDexState, WebData3Response, WebData3UserState, WebSocketAckResponse, WebSocketChannel, WebSocketConnectionState, WebSocketDataMessage, WebSocketMessage, WebSocketSubscribeMessage, WsAllMidsData };
|
|
1833
|
+
export type { AccountSummaryResponseDto, ActiveAssetData, ActiveAssetGroupItem, ActiveAssetsAllResponse, ActiveAssetsResponse, AddressState, AdjustAdvanceAssetInput, AdjustAdvanceItemInput, AdjustAdvanceResponseDto, AdjustExecutionType, AdjustOrderRequestInput, AdjustOrderResponseDto, AdjustPositionRequestInput, AdjustPositionResponseDto, AgentWalletDto, AgentWalletState, AgentWalletStatus, AllDexsAssetCtxsData, AllDexsClearinghouseStateData, AllPerpMetasItem, AllPerpMetasResponse, ApiErrorResponse, ApiResponse, AssetCtx, AssetInformationDetail, AssetMarketData, AssetPosition, AuthenticateRequest, AuthenticateResponse, AvailableToTrades, BalanceSummaryDto, BaseTriggerOrderNotificationParams, BtcDomTriggerParams, CancelOrderResponseDto, CancelTwapResponseDto, CandleChartData, CandleData, CandleInterval, CandleSnapshotRequest, ChunkFillDto, ClearinghouseState, CloseAllPositionsResponseDto, CloseAllPositionsResultDto, CloseExecutionType, ClosePositionRequestInput, ClosePositionResponseDto, CollateralToken, CreateAgentWalletResponseDto, CreatePositionRequestInput, CreatePositionResponseDto, CrossAssetPriceTriggerParams, CrossMarginSummaryDto, CumFundingDto, EIP712AuthDetails, ExecutionType, ExternalFillDto, ExternalLiquidationDto, ExtraAgent, GetAgentWalletResponseDto, GetEIP712MessageResponse, GetKalshiMarketsParams, HLChannel, HLChannelDataMap, HLWebSocketResponse, HistoricalRange, KalshiMarket, KalshiMarketsResponse, KalshiMveLeg, KalshiPriceRange, LadderConfigInput, LadderOrderParameters, LeverageInfo, LogoutRequest, LogoutResponse, MarginRequiredPerCollateral, MarginRequiredResult, MarginSummaryDto, MarginTableDef, MarginTablesEntry, MarginTier, MarketOrderParameters, NotificationCategory, NotificationDto, OpenLimitOrderDto, OpenPositionDto, OrderAssetDto, OrderDirection, OrderParameters, OrderStatus, OrderType, PairAssetDto, PairAssetInput, PerformanceOverlay, PeriodSummary, PerpDex, PerpDexsResponse, PerpMetaAsset, PlatformAccountSummaryResponseDto, PnlCalendarAsset, PnlCalendarDay, PnlCalendarMonth, PnlCalendarOptions, PnlCalendarTimeframe, PnlCalendarTrade, PnlCalendarWeek, PortfolioBucketDto, PortfolioInterval, PortfolioIntervalsDto, PortfolioOverallDto, PortfolioResponseDto, PositionAdjustmentType, PositionAssetDetailDto, PredictionMarketOutcomeTriggerParams, PriceRatioTriggerParams, PriceTriggerParams, PrivyAuthDetails, RawAssetDto, RawPositionDto, RealtimeBar, RealtimeBarsCallback, RebalanceAssetPlan, RebalancePlan, RefreshTokenRequest, RefreshTokenResponse, SpotBalance, SpotBalances, SpotOrderFilledStatus, SpotOrderHyperliquidData, SpotOrderHyperliquidResult, SpotOrderRequestInput, SpotOrderResponseDto, SpotState, SyncFillsRequestDto, SyncFillsResponseDto, ToggleWatchlistResponseDto, TokenConflict, TokenEntry, TokenHistoricalPriceData, TokenMetadata, TokenSelection, TokenSelectorConfig, TpSlOrderParameters, TpSlThreshold, TpSlThresholdInput, TpSlThresholdType, TpSlTriggerType, TradeHistoryAssetDataDto, TradeHistoryDataDto, TriggerOrderNotificationAsset, TriggerOrderNotificationParams, TriggerOrderNotificationType, TriggerOrderParameters, TriggerType, TwapChunkStatus, TwapChunkStatusDto, TwapMonitoringDto, TwapOrderOverallStatus, TwapOrderParameters, TwapSliceFillResponseItem, UniverseAsset, UpdateLeverageRequestInput, UpdateLeverageResponseDto, UpdateRiskParametersRequestInput, UpdateRiskParametersResponseDto, UseAuthOptions, UseBasketCandlesReturn, UseHistoricalPriceDataReturn, UseHyperliquidUserFillsOptions, UseHyperliquidUserFillsState, UseNotificationsResult, UsePerformanceOverlaysReturn, UsePnlCalendarResult, UsePortfolioResult, UseSpotOrderResult, UseTokenSelectionMetadataReturn, UserAbstraction, UserProfile, UserSelectionState, WatchlistAssetDto, WatchlistItemDto, WebData3AssetCtx, WebData3PerpDexState, WebData3Response, WebData3UserState, WebSocketAckResponse, WebSocketChannel, WebSocketConnectionState, WebSocketDataMessage, WebSocketMessage, WebSocketSubscribeMessage, WsAllMidsData };
|
package/dist/index.js
CHANGED
|
@@ -8525,18 +8525,6 @@ const buildSummary = (days) => {
|
|
|
8525
8525
|
totalLoss: round2(totalLoss),
|
|
8526
8526
|
};
|
|
8527
8527
|
};
|
|
8528
|
-
const extractTokens = (trade) => {
|
|
8529
|
-
const tokens = new Set();
|
|
8530
|
-
for (const asset of trade.closedLongAssets) {
|
|
8531
|
-
if (asset.coin)
|
|
8532
|
-
tokens.add(asset.coin);
|
|
8533
|
-
}
|
|
8534
|
-
for (const asset of trade.closedShortAssets) {
|
|
8535
|
-
if (asset.coin)
|
|
8536
|
-
tokens.add(asset.coin);
|
|
8537
|
-
}
|
|
8538
|
-
return Array.from(tokens);
|
|
8539
|
-
};
|
|
8540
8528
|
const buildCalendarData = (tradeHistories, timeframe, rangeStart, rangeEnd, totalDays, useCustomDates) => {
|
|
8541
8529
|
const startKey = toDateKey(rangeStart);
|
|
8542
8530
|
const endKey = toDateKey(rangeEnd);
|
|
@@ -8549,7 +8537,7 @@ const buildCalendarData = (tradeHistories, timeframe, rangeStart, rangeEnd, tota
|
|
|
8549
8537
|
pnl: 0,
|
|
8550
8538
|
volume: 0,
|
|
8551
8539
|
positionsClosed: 0,
|
|
8552
|
-
|
|
8540
|
+
trades: [],
|
|
8553
8541
|
});
|
|
8554
8542
|
}
|
|
8555
8543
|
// Populate buckets from trade histories
|
|
@@ -8570,9 +8558,14 @@ const buildCalendarData = (tradeHistories, timeframe, rangeStart, rangeEnd, tota
|
|
|
8570
8558
|
const vol = trade.totalValue;
|
|
8571
8559
|
bucket.volume += isFinite(vol) ? vol : 0;
|
|
8572
8560
|
bucket.positionsClosed += 1;
|
|
8573
|
-
|
|
8574
|
-
|
|
8575
|
-
|
|
8561
|
+
const tradePnl = trade.realizedPnl;
|
|
8562
|
+
bucket.trades.push({
|
|
8563
|
+
tradeHistoryId: trade.tradeHistoryId,
|
|
8564
|
+
realizedPnl: tradePnl,
|
|
8565
|
+
result: tradePnl > 0 ? 'profit' : tradePnl < 0 ? 'loss' : 'breakeven',
|
|
8566
|
+
closedLongAssets: trade.closedLongAssets.map((a) => ({ coin: a.coin, metadata: a.metadata })),
|
|
8567
|
+
closedShortAssets: trade.closedShortAssets.map((a) => ({ coin: a.coin, metadata: a.metadata })),
|
|
8568
|
+
});
|
|
8576
8569
|
}
|
|
8577
8570
|
// Build day objects
|
|
8578
8571
|
const allDays = [];
|
|
@@ -8587,7 +8580,7 @@ const buildCalendarData = (tradeHistories, timeframe, rangeStart, rangeEnd, tota
|
|
|
8587
8580
|
volume: round2(bucket.volume),
|
|
8588
8581
|
positionsClosed: bucket.positionsClosed,
|
|
8589
8582
|
result,
|
|
8590
|
-
|
|
8583
|
+
trades: bucket.trades,
|
|
8591
8584
|
});
|
|
8592
8585
|
}
|
|
8593
8586
|
// Group into periods
|