@metamask-previews/perps-controller 2.0.0-preview-de55719 → 2.0.0-preview-51571fe
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/CHANGELOG.md +18 -0
- package/dist/PerpsController.cjs +87 -10
- package/dist/PerpsController.cjs.map +1 -1
- package/dist/PerpsController.d.cts +25 -2
- package/dist/PerpsController.d.cts.map +1 -1
- package/dist/PerpsController.d.mts +25 -2
- package/dist/PerpsController.d.mts.map +1 -1
- package/dist/PerpsController.mjs +87 -10
- package/dist/PerpsController.mjs.map +1 -1
- package/dist/constants/hyperLiquidConfig.cjs +2 -2
- package/dist/constants/hyperLiquidConfig.cjs.map +1 -1
- package/dist/constants/hyperLiquidConfig.mjs +2 -2
- package/dist/constants/hyperLiquidConfig.mjs.map +1 -1
- package/dist/constants/perpsConfig.cjs +8 -1
- package/dist/constants/perpsConfig.cjs.map +1 -1
- package/dist/constants/perpsConfig.d.cts +7 -0
- package/dist/constants/perpsConfig.d.cts.map +1 -1
- package/dist/constants/perpsConfig.d.mts +7 -0
- package/dist/constants/perpsConfig.d.mts.map +1 -1
- package/dist/constants/perpsConfig.mjs +7 -0
- package/dist/constants/perpsConfig.mjs.map +1 -1
- package/dist/providers/HyperLiquidProvider.cjs +31 -0
- package/dist/providers/HyperLiquidProvider.cjs.map +1 -1
- package/dist/providers/HyperLiquidProvider.d.cts.map +1 -1
- package/dist/providers/HyperLiquidProvider.d.mts.map +1 -1
- package/dist/providers/HyperLiquidProvider.mjs +31 -0
- package/dist/providers/HyperLiquidProvider.mjs.map +1 -1
- package/dist/services/AccountService.cjs +35 -35
- package/dist/services/AccountService.cjs.map +1 -1
- package/dist/services/AccountService.d.cts.map +1 -1
- package/dist/services/AccountService.d.mts.map +1 -1
- package/dist/services/AccountService.mjs +35 -35
- package/dist/services/AccountService.mjs.map +1 -1
- package/dist/services/HyperLiquidSubscriptionService.cjs +32 -19
- package/dist/services/HyperLiquidSubscriptionService.cjs.map +1 -1
- package/dist/services/HyperLiquidSubscriptionService.d.cts.map +1 -1
- package/dist/services/HyperLiquidSubscriptionService.d.mts.map +1 -1
- package/dist/services/HyperLiquidSubscriptionService.mjs +32 -19
- package/dist/services/HyperLiquidSubscriptionService.mjs.map +1 -1
- package/dist/services/TradingService.cjs +4 -3
- package/dist/services/TradingService.cjs.map +1 -1
- package/dist/services/TradingService.d.cts.map +1 -1
- package/dist/services/TradingService.d.mts.map +1 -1
- package/dist/services/TradingService.mjs +4 -3
- package/dist/services/TradingService.mjs.map +1 -1
- package/dist/utils/orderCalculations.cjs +4 -1
- package/dist/utils/orderCalculations.cjs.map +1 -1
- package/dist/utils/orderCalculations.d.cts.map +1 -1
- package/dist/utils/orderCalculations.d.mts.map +1 -1
- package/dist/utils/orderCalculations.mjs +5 -2
- package/dist/utils/orderCalculations.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1450,6 +1450,14 @@ class HyperLiquidProvider {
|
|
|
1450
1450
|
__classPrivateFieldGet(this, _HyperLiquidProvider_deps, "f").debugLogger.log('User fills received:', {
|
|
1451
1451
|
count: rawFills?.length ?? 0,
|
|
1452
1452
|
});
|
|
1453
|
+
// Start fetching historical orders in parallel with fill transformation.
|
|
1454
|
+
// The fills API does not return order type, so we cross-reference
|
|
1455
|
+
// with historical orders to enable TP/SL pill rendering in activity.
|
|
1456
|
+
const historicalOrdersPromise = (infoClient.historicalOrders?.({ user: userAddress }) ??
|
|
1457
|
+
Promise.resolve(null)).catch((enrichError) => {
|
|
1458
|
+
__classPrivateFieldGet(this, _HyperLiquidProvider_deps, "f").debugLogger.log('Warning: failed to enrich fills with order types:', enrichError);
|
|
1459
|
+
return null;
|
|
1460
|
+
});
|
|
1453
1461
|
// Transform HyperLiquid fills to abstract OrderFill type
|
|
1454
1462
|
const fills = (rawFills || []).reduce((acc, fill) => {
|
|
1455
1463
|
// Perps only, no Spots
|
|
@@ -1478,6 +1486,29 @@ class HyperLiquidProvider {
|
|
|
1478
1486
|
}
|
|
1479
1487
|
return acc;
|
|
1480
1488
|
}, []);
|
|
1489
|
+
// Enrich fills with detailedOrderType from historical orders
|
|
1490
|
+
// Wrapped in its own try/catch so a malformed order never discards fetched fills
|
|
1491
|
+
try {
|
|
1492
|
+
const rawOrders = await historicalOrdersPromise;
|
|
1493
|
+
if (rawOrders) {
|
|
1494
|
+
const orderTypeByOid = new Map();
|
|
1495
|
+
for (const rawOrder of rawOrders) {
|
|
1496
|
+
const oid = rawOrder.order?.oid?.toString();
|
|
1497
|
+
if (oid && rawOrder.order?.orderType && !orderTypeByOid.has(oid)) {
|
|
1498
|
+
orderTypeByOid.set(oid, rawOrder.order.orderType);
|
|
1499
|
+
}
|
|
1500
|
+
}
|
|
1501
|
+
for (const fill of fills) {
|
|
1502
|
+
const orderType = orderTypeByOid.get(fill.orderId);
|
|
1503
|
+
if (orderType) {
|
|
1504
|
+
fill.detailedOrderType = orderType;
|
|
1505
|
+
}
|
|
1506
|
+
}
|
|
1507
|
+
}
|
|
1508
|
+
}
|
|
1509
|
+
catch (enrichError) {
|
|
1510
|
+
__classPrivateFieldGet(this, _HyperLiquidProvider_deps, "f").debugLogger.log('Error enriching fills with order types:', enrichError);
|
|
1511
|
+
}
|
|
1481
1512
|
return fills;
|
|
1482
1513
|
}
|
|
1483
1514
|
catch (error) {
|