@lifi/perps-sdk-provider-lighter 17.2.2 → 17.3.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.
@@ -11,6 +11,7 @@ export { mapMarketContext } from './mapMarketContext.js';
11
11
  export { mapOpenPositions } from './mapOpenPositions.js';
12
12
  export { classifyAndMapOrders, isTriggerOrder, isTriggerType, mapOrder, mapOrderDetail, mapStatusReason, mapTriggerOrder, } from './mapOrder.js';
13
13
  export { leverageFromImf, mapPosition } from './mapPosition.js';
14
+ export { mapMarketOrderLimits } from './marketLimits.js';
14
15
  export { mapInterval } from './ohlcvInterval.js';
15
16
  export { formatOrderPrice, formatOrderSize } from './orderFormatting.js';
16
17
  export { toIsoFromMs, toIsoFromSeconds } from './time.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,QAAQ,EACR,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,QAAQ,EACR,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.lighterWithdrawableBalances = exports.resolveTimeInForce = exports.orderExpiryForTif = exports.marginFractionToMaxLeverage = exports.mapTimeInForceToInt = exports.mapOrderTypeToInt = exports.leverageToFraction = exports.positionMarginConstraints = exports.toIsoFromSeconds = exports.toIsoFromMs = exports.formatOrderSize = exports.formatOrderPrice = exports.mapInterval = exports.mapPosition = exports.leverageFromImf = exports.mapTriggerOrder = exports.mapStatusReason = exports.mapOrderDetail = exports.mapOrder = exports.isTriggerType = exports.isTriggerOrder = exports.classifyAndMapOrders = exports.mapOpenPositions = exports.mapMarketContext = exports.mapFill = exports.estimateLiquidationPrice = exports.lighterAsset = exports.fetchDetailedAccount = exports.toRequiredBig = exports.toBigOrNull = exports.isAssetMarginEnabled = exports.assetMarginModeInt = exports.LighterApiClient = exports.encodeActivityCursor = exports.decodeActivityCursor = void 0;
3
+ exports.lighterWithdrawableBalances = exports.resolveTimeInForce = exports.orderExpiryForTif = exports.marginFractionToMaxLeverage = exports.mapTimeInForceToInt = exports.mapOrderTypeToInt = exports.leverageToFraction = exports.positionMarginConstraints = exports.toIsoFromSeconds = exports.toIsoFromMs = exports.formatOrderSize = exports.formatOrderPrice = exports.mapInterval = exports.mapMarketOrderLimits = exports.mapPosition = exports.leverageFromImf = exports.mapTriggerOrder = exports.mapStatusReason = exports.mapOrderDetail = exports.mapOrder = exports.isTriggerType = exports.isTriggerOrder = exports.classifyAndMapOrders = exports.mapOpenPositions = exports.mapMarketContext = exports.mapFill = exports.estimateLiquidationPrice = exports.lighterAsset = exports.fetchDetailedAccount = exports.toRequiredBig = exports.toBigOrNull = exports.isAssetMarginEnabled = exports.assetMarginModeInt = exports.LighterApiClient = exports.encodeActivityCursor = exports.decodeActivityCursor = void 0;
4
4
  var activityCursor_js_1 = require("./activityCursor.js");
5
5
  Object.defineProperty(exports, "decodeActivityCursor", { enumerable: true, get: function () { return activityCursor_js_1.decodeActivityCursor; } });
6
6
  Object.defineProperty(exports, "encodeActivityCursor", { enumerable: true, get: function () { return activityCursor_js_1.encodeActivityCursor; } });
@@ -35,6 +35,8 @@ Object.defineProperty(exports, "mapTriggerOrder", { enumerable: true, get: funct
35
35
  var mapPosition_js_1 = require("./mapPosition.js");
36
36
  Object.defineProperty(exports, "leverageFromImf", { enumerable: true, get: function () { return mapPosition_js_1.leverageFromImf; } });
37
37
  Object.defineProperty(exports, "mapPosition", { enumerable: true, get: function () { return mapPosition_js_1.mapPosition; } });
38
+ var marketLimits_js_1 = require("./marketLimits.js");
39
+ Object.defineProperty(exports, "mapMarketOrderLimits", { enumerable: true, get: function () { return marketLimits_js_1.mapMarketOrderLimits; } });
38
40
  var ohlcvInterval_js_1 = require("./ohlcvInterval.js");
39
41
  Object.defineProperty(exports, "mapInterval", { enumerable: true, get: function () { return ohlcvInterval_js_1.mapInterval; } });
40
42
  var orderFormatting_js_1 = require("./orderFormatting.js");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAKA,yDAG4B;AAF1B,yHAAA,oBAAoB,OAAA;AACpB,yHAAA,oBAAoB,OAAA;AAEtB,+CAAiD;AAAxC,gHAAA,gBAAgB,OAAA;AACzB,2DAA+E;AAAtE,wHAAA,kBAAkB,OAAA;AAAE,0HAAA,oBAAoB,OAAA;AACjD,2CAAyD;AAAhD,yGAAA,WAAW,OAAA;AAAE,2GAAA,aAAa,OAAA;AACnC,qEAAgE;AAAvD,+HAAA,oBAAoB,OAAA;AAC7B,qDAAgD;AAAvC,+GAAA,YAAY,OAAA;AACrB,mDAA2D;AAAlD,0HAAA,wBAAwB,OAAA;AACjC,2CAAsC;AAA7B,qGAAA,OAAO,OAAA;AAChB,6DAAwD;AAA/C,uHAAA,gBAAgB,OAAA;AACzB,6DAAwD;AAA/C,uHAAA,gBAAgB,OAAA;AACzB,6CAQsB;AAPpB,mHAAA,oBAAoB,OAAA;AACpB,6GAAA,cAAc,OAAA;AACd,4GAAA,aAAa,OAAA;AACb,uGAAA,QAAQ,OAAA;AACR,6GAAA,cAAc,OAAA;AACd,8GAAA,eAAe,OAAA;AACf,8GAAA,eAAe,OAAA;AAEjB,mDAA+D;AAAtD,iHAAA,eAAe,OAAA;AAAE,6GAAA,WAAW,OAAA;AACrC,uDAAgD;AAAvC,+GAAA,WAAW,OAAA;AACpB,2DAAwE;AAA/D,sHAAA,gBAAgB,OAAA;AAAE,qHAAA,eAAe,OAAA;AAC1C,qCAAyD;AAAhD,sGAAA,WAAW,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AACtC,yDAA+D;AAAtD,8HAAA,yBAAyB,OAAA;AAClC,qDAO0B;AANxB,qHAAA,kBAAkB,OAAA;AAClB,oHAAA,iBAAiB,OAAA;AACjB,sHAAA,mBAAmB,OAAA;AACnB,8HAAA,2BAA2B,OAAA;AAC3B,oHAAA,iBAAiB,OAAA;AACjB,qHAAA,kBAAkB,OAAA;AAEpB,qEAAuE;AAA9D,sIAAA,2BAA2B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAKA,yDAG4B;AAF1B,yHAAA,oBAAoB,OAAA;AACpB,yHAAA,oBAAoB,OAAA;AAEtB,+CAAiD;AAAxC,gHAAA,gBAAgB,OAAA;AACzB,2DAA+E;AAAtE,wHAAA,kBAAkB,OAAA;AAAE,0HAAA,oBAAoB,OAAA;AACjD,2CAAyD;AAAhD,yGAAA,WAAW,OAAA;AAAE,2GAAA,aAAa,OAAA;AACnC,qEAAgE;AAAvD,+HAAA,oBAAoB,OAAA;AAC7B,qDAAgD;AAAvC,+GAAA,YAAY,OAAA;AACrB,mDAA2D;AAAlD,0HAAA,wBAAwB,OAAA;AACjC,2CAAsC;AAA7B,qGAAA,OAAO,OAAA;AAChB,6DAAwD;AAA/C,uHAAA,gBAAgB,OAAA;AACzB,6DAAwD;AAA/C,uHAAA,gBAAgB,OAAA;AACzB,6CAQsB;AAPpB,mHAAA,oBAAoB,OAAA;AACpB,6GAAA,cAAc,OAAA;AACd,4GAAA,aAAa,OAAA;AACb,uGAAA,QAAQ,OAAA;AACR,6GAAA,cAAc,OAAA;AACd,8GAAA,eAAe,OAAA;AACf,8GAAA,eAAe,OAAA;AAEjB,mDAA+D;AAAtD,iHAAA,eAAe,OAAA;AAAE,6GAAA,WAAW,OAAA;AACrC,qDAAwD;AAA/C,uHAAA,oBAAoB,OAAA;AAC7B,uDAAgD;AAAvC,+GAAA,WAAW,OAAA;AACpB,2DAAwE;AAA/D,sHAAA,gBAAgB,OAAA;AAAE,qHAAA,eAAe,OAAA;AAC1C,qCAAyD;AAAhD,sGAAA,WAAW,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AACtC,yDAA+D;AAAtD,8HAAA,yBAAyB,OAAA;AAClC,qDAO0B;AANxB,qHAAA,kBAAkB,OAAA;AAClB,oHAAA,iBAAiB,OAAA;AACjB,sHAAA,mBAAmB,OAAA;AACnB,8HAAA,2BAA2B,OAAA;AAC3B,oHAAA,iBAAiB,OAAA;AACjB,qHAAA,kBAAkB,OAAA;AAEpB,qEAAuE;AAA9D,sIAAA,2BAA2B,OAAA"}
@@ -0,0 +1,7 @@
1
+ import type { PerpsMarket } from '@lifi/perps-types';
2
+ import type { LtPerpsOrderBookDetail } from '../types/index.js';
3
+ type MarketOrderLimits = Pick<PerpsMarket, 'maxMarketOrderUsd' | 'maxLimitOrderUsd'>;
4
+ type LighterMarketLimitSource = Pick<LtPerpsOrderBookDetail, 'order_quote_limit'>;
5
+ export declare const mapMarketOrderLimits: (market: LighterMarketLimitSource) => MarketOrderLimits;
6
+ export {};
7
+ //# sourceMappingURL=marketLimits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marketLimits.d.ts","sourceRoot":"","sources":["../../../src/utils/marketLimits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE/D,KAAK,iBAAiB,GAAG,IAAI,CAC3B,WAAW,EACX,mBAAmB,GAAG,kBAAkB,CACzC,CAAA;AAED,KAAK,wBAAwB,GAAG,IAAI,CAClC,sBAAsB,EACtB,mBAAmB,CACpB,CAAA;AAKD,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,wBAAwB,KAC/B,iBASF,CAAA"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapMarketOrderLimits = void 0;
4
+ const NO_ORDER_QUOTE_LIMIT = '281474976.710655';
5
+ const mapMarketOrderLimits = (market) => {
6
+ if (market.order_quote_limit === NO_ORDER_QUOTE_LIMIT) {
7
+ return {};
8
+ }
9
+ return {
10
+ maxMarketOrderUsd: market.order_quote_limit,
11
+ maxLimitOrderUsd: market.order_quote_limit,
12
+ };
13
+ };
14
+ exports.mapMarketOrderLimits = mapMarketOrderLimits;
15
+ //# sourceMappingURL=marketLimits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marketLimits.js","sourceRoot":"","sources":["../../../src/utils/marketLimits.ts"],"names":[],"mappings":";;;AAaA,MAAM,oBAAoB,GAAG,kBAAkB,CAAA;AAGxC,MAAM,oBAAoB,GAAG,CAClC,MAAgC,EACb,EAAE;IACrB,IAAI,MAAM,CAAC,iBAAiB,KAAK,oBAAoB,EAAE,CAAC;QACtD,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO;QACL,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,gBAAgB,EAAE,MAAM,CAAC,iBAAiB;KAC3C,CAAA;AACH,CAAC,CAAA;AAXY,QAAA,oBAAoB,wBAWhC"}
@@ -11,6 +11,7 @@ export { mapMarketContext } from './mapMarketContext.js';
11
11
  export { mapOpenPositions } from './mapOpenPositions.js';
12
12
  export { classifyAndMapOrders, isTriggerOrder, isTriggerType, mapOrder, mapOrderDetail, mapStatusReason, mapTriggerOrder, } from './mapOrder.js';
13
13
  export { leverageFromImf, mapPosition } from './mapPosition.js';
14
+ export { mapMarketOrderLimits } from './marketLimits.js';
14
15
  export { mapInterval } from './ohlcvInterval.js';
15
16
  export { formatOrderPrice, formatOrderSize } from './orderFormatting.js';
16
17
  export { toIsoFromMs, toIsoFromSeconds } from './time.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,QAAQ,EACR,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,QAAQ,EACR,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA"}
@@ -13,6 +13,7 @@ export { mapMarketContext } from './mapMarketContext.js';
13
13
  export { mapOpenPositions } from './mapOpenPositions.js';
14
14
  export { classifyAndMapOrders, isTriggerOrder, isTriggerType, mapOrder, mapOrderDetail, mapStatusReason, mapTriggerOrder, } from './mapOrder.js';
15
15
  export { leverageFromImf, mapPosition } from './mapPosition.js';
16
+ export { mapMarketOrderLimits } from './marketLimits.js';
16
17
  export { mapInterval } from './ohlcvInterval.js';
17
18
  export { formatOrderPrice, formatOrderSize } from './orderFormatting.js';
18
19
  export { toIsoFromMs, toIsoFromSeconds } from './time.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,4EAA4E;AAC5E,oDAAoD;AAGpD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,QAAQ,EACR,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,4EAA4E;AAC5E,oDAAoD;AAGpD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,QAAQ,EACR,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { PerpsMarket } from '@lifi/perps-types';
2
+ import type { LtPerpsOrderBookDetail } from '../types/index.js';
3
+ type MarketOrderLimits = Pick<PerpsMarket, 'maxMarketOrderUsd' | 'maxLimitOrderUsd'>;
4
+ type LighterMarketLimitSource = Pick<LtPerpsOrderBookDetail, 'order_quote_limit'>;
5
+ /** Map the order-value cap published by Lighter's order-book metadata. */
6
+ export declare const mapMarketOrderLimits: (market: LighterMarketLimitSource) => MarketOrderLimits;
7
+ export {};
8
+ //# sourceMappingURL=marketLimits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marketLimits.d.ts","sourceRoot":"","sources":["../../../src/utils/marketLimits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE/D,KAAK,iBAAiB,GAAG,IAAI,CAC3B,WAAW,EACX,mBAAmB,GAAG,kBAAkB,CACzC,CAAA;AAED,KAAK,wBAAwB,GAAG,IAAI,CAClC,sBAAsB,EACtB,mBAAmB,CACpB,CAAA;AAID,0EAA0E;AAC1E,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,wBAAwB,KAC/B,iBASF,CAAA"}
@@ -0,0 +1,12 @@
1
+ const NO_ORDER_QUOTE_LIMIT = '281474976.710655';
2
+ /** Map the order-value cap published by Lighter's order-book metadata. */
3
+ export const mapMarketOrderLimits = (market) => {
4
+ if (market.order_quote_limit === NO_ORDER_QUOTE_LIMIT) {
5
+ return {};
6
+ }
7
+ return {
8
+ maxMarketOrderUsd: market.order_quote_limit,
9
+ maxLimitOrderUsd: market.order_quote_limit,
10
+ };
11
+ };
12
+ //# sourceMappingURL=marketLimits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marketLimits.js","sourceRoot":"","sources":["../../../src/utils/marketLimits.ts"],"names":[],"mappings":"AAaA,MAAM,oBAAoB,GAAG,kBAAkB,CAAA;AAE/C,0EAA0E;AAC1E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAAgC,EACb,EAAE;IACrB,IAAI,MAAM,CAAC,iBAAiB,KAAK,oBAAoB,EAAE,CAAC;QACtD,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO;QACL,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,gBAAgB,EAAE,MAAM,CAAC,iBAAiB;KAC3C,CAAA;AACH,CAAC,CAAA"}
@@ -11,6 +11,7 @@ export { mapMarketContext } from './mapMarketContext.js';
11
11
  export { mapOpenPositions } from './mapOpenPositions.js';
12
12
  export { classifyAndMapOrders, isTriggerOrder, isTriggerType, mapOrder, mapOrderDetail, mapStatusReason, mapTriggerOrder, } from './mapOrder.js';
13
13
  export { leverageFromImf, mapPosition } from './mapPosition.js';
14
+ export { mapMarketOrderLimits } from './marketLimits.js';
14
15
  export { mapInterval } from './ohlcvInterval.js';
15
16
  export { formatOrderPrice, formatOrderSize } from './orderFormatting.js';
16
17
  export { toIsoFromMs, toIsoFromSeconds } from './time.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,QAAQ,EACR,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,QAAQ,EACR,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { PerpsMarket } from '@lifi/perps-types';
2
+ import type { LtPerpsOrderBookDetail } from '../types/index.js';
3
+ type MarketOrderLimits = Pick<PerpsMarket, 'maxMarketOrderUsd' | 'maxLimitOrderUsd'>;
4
+ type LighterMarketLimitSource = Pick<LtPerpsOrderBookDetail, 'order_quote_limit'>;
5
+ /** Map the order-value cap published by Lighter's order-book metadata. */
6
+ export declare const mapMarketOrderLimits: (market: LighterMarketLimitSource) => MarketOrderLimits;
7
+ export {};
8
+ //# sourceMappingURL=marketLimits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marketLimits.d.ts","sourceRoot":"","sources":["../../../src/utils/marketLimits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE/D,KAAK,iBAAiB,GAAG,IAAI,CAC3B,WAAW,EACX,mBAAmB,GAAG,kBAAkB,CACzC,CAAA;AAED,KAAK,wBAAwB,GAAG,IAAI,CAClC,sBAAsB,EACtB,mBAAmB,CACpB,CAAA;AAID,0EAA0E;AAC1E,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,wBAAwB,KAC/B,iBASF,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/perps-sdk-provider-lighter",
3
- "version": "17.2.2",
3
+ "version": "17.3.0",
4
4
  "description": "Lighter provider plugin for @lifi/perps-sdk",
5
5
  "homepage": "https://github.com/lifinance/perps-sdk",
6
6
  "bugs": {
@@ -44,7 +44,7 @@
44
44
  "dependencies": {
45
45
  "big.js": "^7.0.1",
46
46
  "viem": "^2.55.18",
47
- "@lifi/perps-types": "^11.4.0"
47
+ "@lifi/perps-types": "^11.5.0"
48
48
  },
49
49
  "peerDependencies": {
50
50
  "@lifi/perps-sdk": "^10.2.0"
@@ -26,6 +26,7 @@ export {
26
26
  mapTriggerOrder,
27
27
  } from './mapOrder.js'
28
28
  export { leverageFromImf, mapPosition } from './mapPosition.js'
29
+ export { mapMarketOrderLimits } from './marketLimits.js'
29
30
  export { mapInterval } from './ohlcvInterval.js'
30
31
  export { formatOrderPrice, formatOrderSize } from './orderFormatting.js'
31
32
  export { toIsoFromMs, toIsoFromSeconds } from './time.js'
@@ -0,0 +1,28 @@
1
+ import type { PerpsMarket } from '@lifi/perps-types'
2
+ import type { LtPerpsOrderBookDetail } from '../types/index.js'
3
+
4
+ type MarketOrderLimits = Pick<
5
+ PerpsMarket,
6
+ 'maxMarketOrderUsd' | 'maxLimitOrderUsd'
7
+ >
8
+
9
+ type LighterMarketLimitSource = Pick<
10
+ LtPerpsOrderBookDetail,
11
+ 'order_quote_limit'
12
+ >
13
+
14
+ const NO_ORDER_QUOTE_LIMIT = '281474976.710655'
15
+
16
+ /** Map the order-value cap published by Lighter's order-book metadata. */
17
+ export const mapMarketOrderLimits = (
18
+ market: LighterMarketLimitSource
19
+ ): MarketOrderLimits => {
20
+ if (market.order_quote_limit === NO_ORDER_QUOTE_LIMIT) {
21
+ return {}
22
+ }
23
+
24
+ return {
25
+ maxMarketOrderUsd: market.order_quote_limit,
26
+ maxLimitOrderUsd: market.order_quote_limit,
27
+ }
28
+ }