@lifi/perps-sdk-provider-lighter 5.1.1 → 6.0.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/dist/cjs/accountConfig.d.ts.map +1 -1
- package/dist/cjs/accountConfig.js +1 -0
- package/dist/cjs/accountConfig.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +1 -2
- package/dist/cjs/utils/index.d.ts.map +1 -1
- package/dist/cjs/utils/index.js +1 -2
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/wireEncoding.d.ts +0 -2
- package/dist/cjs/utils/wireEncoding.d.ts.map +1 -1
- package/dist/cjs/utils/wireEncoding.js +1 -25
- package/dist/cjs/utils/wireEncoding.js.map +1 -1
- package/dist/esm/accountConfig.d.ts.map +1 -1
- package/dist/esm/accountConfig.js +1 -0
- package/dist/esm/accountConfig.js.map +1 -1
- package/dist/esm/utils/index.d.ts +1 -2
- package/dist/esm/utils/index.d.ts.map +1 -1
- package/dist/esm/utils/index.js +1 -1
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/wireEncoding.d.ts +0 -22
- package/dist/esm/utils/wireEncoding.d.ts.map +1 -1
- package/dist/esm/utils/wireEncoding.js +0 -32
- package/dist/esm/utils/wireEncoding.js.map +1 -1
- package/dist/types/accountConfig.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +1 -2
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/wireEncoding.d.ts +0 -22
- package/dist/types/utils/wireEncoding.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/accountConfig.ts +1 -0
- package/src/utils/index.ts +0 -2
- package/src/utils/wireEncoding.ts +0 -55
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountConfig.d.ts","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACf,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"accountConfig.d.ts","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACf,MAAM,mBAAmB,CAAA;AAwK1B,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,EAAE,cAAc,EAAE,GACxB,oBAAoB,EAAE,CAIxB"}
|
|
@@ -73,6 +73,7 @@ function projectLighterDescriptor(descriptor, config) {
|
|
|
73
73
|
case perps_types_1.ActionType.UPDATE_LEVERAGE:
|
|
74
74
|
case perps_types_1.ActionType.UPDATE_POSITION_MARGIN:
|
|
75
75
|
case perps_types_1.ActionType.SIWE_LOGIN:
|
|
76
|
+
case perps_types_1.ActionType.CREATE_DEPOSIT_ADDRESS:
|
|
76
77
|
case perps_types_1.ActionType.ACCEPT_PROVIDER_TERMS:
|
|
77
78
|
case perps_types_1.ActionType.UPDATE_ASSET_COLLATERAL:
|
|
78
79
|
case perps_types_1.ActionType.DEPOSIT:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountConfig.js","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"accountConfig.js","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,5 @@ export { mapPosition } from './mapPosition.js';
|
|
|
13
13
|
export { mapInterval } from './ohlcvInterval.js';
|
|
14
14
|
export { formatOrderPrice, formatOrderSize } from './orderFormatting.js';
|
|
15
15
|
export { toIsoFromMs, toIsoFromSeconds } from './time.js';
|
|
16
|
-
export
|
|
17
|
-
export { leverageToFraction, mapOrderTypeToInt, mapTimeInForceToInt, marginFractionToMaxLeverage, orderExpiryForTif, resolveTimeInForce, scaleToInteger, } from './wireEncoding.js';
|
|
16
|
+
export { leverageToFraction, mapOrderTypeToInt, mapTimeInForceToInt, marginFractionToMaxLeverage, orderExpiryForTif, resolveTimeInForce, } from './wireEncoding.js';
|
|
18
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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,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,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,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,
|
|
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,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,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,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,EACL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA"}
|
package/dist/cjs/utils/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.resolveTimeInForce = exports.orderExpiryForTif = exports.marginFractionToMaxLeverage = exports.mapTimeInForceToInt = exports.mapOrderTypeToInt = exports.leverageToFraction = exports.toIsoFromSeconds = exports.toIsoFromMs = exports.formatOrderSize = exports.formatOrderPrice = exports.mapInterval = exports.mapPosition = 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.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; } });
|
|
@@ -46,5 +46,4 @@ Object.defineProperty(exports, "mapTimeInForceToInt", { enumerable: true, get: f
|
|
|
46
46
|
Object.defineProperty(exports, "marginFractionToMaxLeverage", { enumerable: true, get: function () { return wireEncoding_js_1.marginFractionToMaxLeverage; } });
|
|
47
47
|
Object.defineProperty(exports, "orderExpiryForTif", { enumerable: true, get: function () { return wireEncoding_js_1.orderExpiryForTif; } });
|
|
48
48
|
Object.defineProperty(exports, "resolveTimeInForce", { enumerable: true, get: function () { return wireEncoding_js_1.resolveTimeInForce; } });
|
|
49
|
-
Object.defineProperty(exports, "scaleToInteger", { enumerable: true, get: function () { return wireEncoding_js_1.scaleToInteger; } });
|
|
50
49
|
//# sourceMappingURL=index.js.map
|
|
@@ -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,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,mDAA8C;AAArC,6GAAA,WAAW,OAAA;AACpB,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;
|
|
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,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,mDAA8C;AAArC,6GAAA,WAAW,OAAA;AACpB,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,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"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
export declare const marginFractionToMaxLeverage: (fraction: number) => number;
|
|
2
2
|
export declare const leverageToFraction: (leverage: number) => number;
|
|
3
|
-
export type ScaleToIntegerPolicy = 'truncate' | 'round';
|
|
4
|
-
export declare const scaleToInteger: (value: string, decimals: number, policy: ScaleToIntegerPolicy) => number;
|
|
5
3
|
export declare const mapOrderTypeToInt: (type?: string) => number;
|
|
6
4
|
export declare const resolveTimeInForce: (orderTypeInt: number, tif?: string) => number;
|
|
7
5
|
export declare const mapTimeInForceToInt: (tif?: string) => number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wireEncoding.d.ts","sourceRoot":"","sources":["../../../src/utils/wireEncoding.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wireEncoding.d.ts","sourceRoot":"","sources":["../../../src/utils/wireEncoding.ts"],"names":[],"mappings":"AA0BA,eAAO,MAAM,2BAA2B,GAAI,UAAU,MAAM,KAAG,MAK9D,CAAA;AAMD,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,KAAG,MAQrD,CAAA;AAMD,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,KAAG,MAUjD,CAAA;AAYD,eAAO,MAAM,kBAAkB,GAC7B,cAAc,MAAM,EACpB,MAAM,MAAM,KACX,MAgBF,CAAA;AAMD,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,KAAG,MAOlD,CAAA;AAaD,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,KAAG,MAKlD,CAAA"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.orderExpiryForTif = exports.mapTimeInForceToInt = exports.resolveTimeInForce = exports.mapOrderTypeToInt = exports.
|
|
3
|
+
exports.orderExpiryForTif = exports.mapTimeInForceToInt = exports.resolveTimeInForce = exports.mapOrderTypeToInt = exports.leverageToFraction = exports.marginFractionToMaxLeverage = void 0;
|
|
7
4
|
const perps_sdk_1 = require("@lifi/perps-sdk");
|
|
8
5
|
const perps_types_1 = require("@lifi/perps-types");
|
|
9
|
-
const big_js_1 = __importDefault(require("big.js"));
|
|
10
6
|
const action_js_1 = require("../types/action.js");
|
|
11
7
|
const marginFractionToMaxLeverage = (fraction) => {
|
|
12
8
|
if (!Number.isFinite(fraction) || fraction <= 0) {
|
|
@@ -22,26 +18,6 @@ const leverageToFraction = (leverage) => {
|
|
|
22
18
|
return Math.round(10_000 / leverage);
|
|
23
19
|
};
|
|
24
20
|
exports.leverageToFraction = leverageToFraction;
|
|
25
|
-
const scaleToInteger = (value, decimals, policy) => {
|
|
26
|
-
if (!Number.isInteger(decimals) || decimals < 0) {
|
|
27
|
-
throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Invalid decimals for Lighter integer scaling: ${decimals}`);
|
|
28
|
-
}
|
|
29
|
-
let parsed;
|
|
30
|
-
try {
|
|
31
|
-
parsed = new big_js_1.default(value);
|
|
32
|
-
}
|
|
33
|
-
catch {
|
|
34
|
-
throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Invalid decimal string for Lighter integer scaling: '${value}'`);
|
|
35
|
-
}
|
|
36
|
-
const scaled = parsed
|
|
37
|
-
.times(new big_js_1.default(10).pow(decimals))
|
|
38
|
-
.round(0, policy === 'truncate' ? big_js_1.default.roundDown : big_js_1.default.roundHalfUp);
|
|
39
|
-
if (scaled.abs().gt(Number.MAX_SAFE_INTEGER)) {
|
|
40
|
-
throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Scaled value ${scaled.toFixed()} exceeds Number.MAX_SAFE_INTEGER and cannot be encoded exactly.`);
|
|
41
|
-
}
|
|
42
|
-
return scaled.toNumber();
|
|
43
|
-
};
|
|
44
|
-
exports.scaleToInteger = scaleToInteger;
|
|
45
21
|
const mapOrderTypeToInt = (type) => {
|
|
46
22
|
const map = {
|
|
47
23
|
LIMIT: action_js_1.LT_ORDER_TYPE_LIMIT,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wireEncoding.js","sourceRoot":"","sources":["../../../src/utils/wireEncoding.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wireEncoding.js","sourceRoot":"","sources":["../../../src/utils/wireEncoding.ts"],"names":[],"mappings":";;;AAMA,+CAA4C;AAC5C,mDAAkD;AAClD,kDAW2B;AAOpB,MAAM,2BAA2B,GAAG,CAAC,QAAgB,EAAU,EAAE;IACtE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAChD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAA;AACtC,CAAC,CAAA;AALY,QAAA,2BAA2B,+BAKvC;AAMM,MAAM,kBAAkB,GAAG,CAAC,QAAgB,EAAU,EAAE;IAC7D,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,sBAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,qBAAqB,QAAQ,EAAE,CAChC,CAAA;IACH,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAA;AACtC,CAAC,CAAA;AARY,QAAA,kBAAkB,sBAQ9B;AAMM,MAAM,iBAAiB,GAAG,CAAC,IAAa,EAAU,EAAE;IACzD,MAAM,GAAG,GAA2B;QAClC,KAAK,EAAE,+BAAmB;QAC1B,MAAM,EAAE,gCAAoB;QAC5B,WAAW,EAAE,mCAAuB;QACpC,UAAU,EAAE,yCAA6B;QACzC,kBAAkB,EAAE,qCAAyB;QAC7C,iBAAiB,EAAE,2CAA+B;KACnD,CAAA;IACD,OAAO,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,+BAAmB,CAAA;AACpD,CAAC,CAAA;AAVY,QAAA,iBAAiB,qBAU7B;AAYM,MAAM,kBAAkB,GAAG,CAChC,YAAoB,EACpB,GAAY,EACJ,EAAE;IACV,MAAM,SAAS,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,2BAAmB,EAAC,GAAG,CAAC,CAAA;IAC1E,MAAM,aAAa,GACjB,YAAY,KAAK,gCAAoB;QACrC,YAAY,KAAK,mCAAuB;QACxC,YAAY,KAAK,qCAAyB,CAAA;IAC5C,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,gCAAoB,EAAE,CAAC;YAClE,MAAM,IAAI,sBAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,wDAAwD,GAAG,IAAI,CAChE,CAAA;QACH,CAAC;QACD,OAAO,gCAAoB,CAAA;IAC7B,CAAC;IACD,OAAO,SAAS,IAAI,gCAAoB,CAAA;AAC1C,CAAC,CAAA;AAnBY,QAAA,kBAAkB,sBAmB9B;AAMM,MAAM,mBAAmB,GAAG,CAAC,GAAY,EAAU,EAAE;IAC1D,MAAM,GAAG,GAA2B;QAClC,GAAG,EAAE,gCAAoB;QACzB,GAAG,EAAE,gCAAoB;QACzB,SAAS,EAAE,sCAA0B;KACtC,CAAA;IACD,OAAO,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,gCAAoB,CAAA;AAClD,CAAC,CAAA;AAPY,QAAA,mBAAmB,uBAO/B;AAaM,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAU,EAAE;IAC1D,IAAI,MAAM,KAAK,gCAAoB,EAAE,CAAC;QACpC,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,mCAAuB,CAAA;AAChC,CAAC,CAAA;AALY,QAAA,iBAAiB,qBAK7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountConfig.d.ts","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACf,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"accountConfig.d.ts","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACf,MAAM,mBAAmB,CAAA;AA6J1B;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,EAAE,cAAc,EAAE,GACxB,oBAAoB,EAAE,CAIxB"}
|
|
@@ -121,6 +121,7 @@ function projectLighterDescriptor(descriptor, config) {
|
|
|
121
121
|
case ActionType.UPDATE_LEVERAGE:
|
|
122
122
|
case ActionType.UPDATE_POSITION_MARGIN:
|
|
123
123
|
case ActionType.SIWE_LOGIN:
|
|
124
|
+
case ActionType.CREATE_DEPOSIT_ADDRESS:
|
|
124
125
|
case ActionType.ACCEPT_PROVIDER_TERMS:
|
|
125
126
|
case ActionType.UPDATE_ASSET_COLLATERAL:
|
|
126
127
|
case ActionType.DEPOSIT:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountConfig.js","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"accountConfig.js","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,5 @@ export { mapPosition } from './mapPosition.js';
|
|
|
13
13
|
export { mapInterval } from './ohlcvInterval.js';
|
|
14
14
|
export { formatOrderPrice, formatOrderSize } from './orderFormatting.js';
|
|
15
15
|
export { toIsoFromMs, toIsoFromSeconds } from './time.js';
|
|
16
|
-
export
|
|
17
|
-
export { leverageToFraction, mapOrderTypeToInt, mapTimeInForceToInt, marginFractionToMaxLeverage, orderExpiryForTif, resolveTimeInForce, scaleToInteger, } from './wireEncoding.js';
|
|
16
|
+
export { leverageToFraction, mapOrderTypeToInt, mapTimeInForceToInt, marginFractionToMaxLeverage, orderExpiryForTif, resolveTimeInForce, } from './wireEncoding.js';
|
|
18
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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,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,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,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,
|
|
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,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,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,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,EACL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA"}
|
package/dist/esm/utils/index.js
CHANGED
|
@@ -15,5 +15,5 @@ export { mapPosition } from './mapPosition.js';
|
|
|
15
15
|
export { mapInterval } from './ohlcvInterval.js';
|
|
16
16
|
export { formatOrderPrice, formatOrderSize } from './orderFormatting.js';
|
|
17
17
|
export { toIsoFromMs, toIsoFromSeconds } from './time.js';
|
|
18
|
-
export { leverageToFraction, mapOrderTypeToInt, mapTimeInForceToInt, marginFractionToMaxLeverage, orderExpiryForTif, resolveTimeInForce,
|
|
18
|
+
export { leverageToFraction, mapOrderTypeToInt, mapTimeInForceToInt, marginFractionToMaxLeverage, orderExpiryForTif, resolveTimeInForce, } from './wireEncoding.js';
|
|
19
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -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,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,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,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;
|
|
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,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,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,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,EACL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA"}
|
|
@@ -14,28 +14,6 @@ export declare const marginFractionToMaxLeverage: (fraction: number) => number;
|
|
|
14
14
|
* @public
|
|
15
15
|
*/
|
|
16
16
|
export declare const leverageToFraction: (leverage: number) => number;
|
|
17
|
-
/**
|
|
18
|
-
* Off-grid resolution for {@link scaleToInteger}:
|
|
19
|
-
* - `truncate` — toward zero, for sizes and collateral amounts. The wire
|
|
20
|
-
* value never exceeds the caller's intent.
|
|
21
|
-
* - `round` — half away from zero, for prices, which snap to the nearest
|
|
22
|
-
* tick.
|
|
23
|
-
* @public
|
|
24
|
-
*/
|
|
25
|
-
export type ScaleToIntegerPolicy = 'truncate' | 'round';
|
|
26
|
-
/**
|
|
27
|
-
* Scale a human-readable decimal string to a scaled integer for the WASM
|
|
28
|
-
* signer, in exact decimal arithmetic — an on-grid input maps to its exact
|
|
29
|
-
* scaled integer with no binary float artifacts (`'0.29'` at 2 decimals is
|
|
30
|
-
* 29, never 28). Off-grid input resolves per `policy`; there is no silent
|
|
31
|
-
* default.
|
|
32
|
-
*
|
|
33
|
-
* @throws {PerpsError} `ValidationError` when `value` is not a decimal
|
|
34
|
-
* numeric string, `decimals` is not a non-negative integer, or the scaled
|
|
35
|
-
* result's magnitude exceeds `Number.MAX_SAFE_INTEGER`.
|
|
36
|
-
* @public
|
|
37
|
-
*/
|
|
38
|
-
export declare const scaleToInteger: (value: string, decimals: number, policy: ScaleToIntegerPolicy) => number;
|
|
39
17
|
/**
|
|
40
18
|
* Map our OrderType enum to Lighter's integer order type.
|
|
41
19
|
* @public
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wireEncoding.d.ts","sourceRoot":"","sources":["../../../src/utils/wireEncoding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"wireEncoding.d.ts","sourceRoot":"","sources":["../../../src/utils/wireEncoding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,GAAI,UAAU,MAAM,KAAG,MAK9D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,KAAG,MAQrD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,KAAG,MAUjD,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAC7B,cAAc,MAAM,EACpB,MAAM,MAAM,KACX,MAgBF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,KAAG,MAOlD,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,KAAG,MAKlD,CAAA"}
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { PerpsError } from '@lifi/perps-sdk';
|
|
7
7
|
import { PerpsErrorCode } from '@lifi/perps-types';
|
|
8
|
-
import Big from 'big.js';
|
|
9
8
|
import { LT_DEFAULT_ORDER_EXPIRY, LT_ORDER_TYPE_LIMIT, LT_ORDER_TYPE_MARKET, LT_ORDER_TYPE_STOP_LOSS, LT_ORDER_TYPE_STOP_LOSS_LIMIT, LT_ORDER_TYPE_TAKE_PROFIT, LT_ORDER_TYPE_TAKE_PROFIT_LIMIT, LT_TIME_IN_FORCE_GTC, LT_TIME_IN_FORCE_IOC, LT_TIME_IN_FORCE_POST_ONLY, } from '../types/action.js';
|
|
10
9
|
/**
|
|
11
10
|
* Lighter uses basis-points (1/10000) for margin fractions.
|
|
@@ -28,37 +27,6 @@ export const leverageToFraction = (leverage) => {
|
|
|
28
27
|
}
|
|
29
28
|
return Math.round(10_000 / leverage);
|
|
30
29
|
};
|
|
31
|
-
/**
|
|
32
|
-
* Scale a human-readable decimal string to a scaled integer for the WASM
|
|
33
|
-
* signer, in exact decimal arithmetic — an on-grid input maps to its exact
|
|
34
|
-
* scaled integer with no binary float artifacts (`'0.29'` at 2 decimals is
|
|
35
|
-
* 29, never 28). Off-grid input resolves per `policy`; there is no silent
|
|
36
|
-
* default.
|
|
37
|
-
*
|
|
38
|
-
* @throws {PerpsError} `ValidationError` when `value` is not a decimal
|
|
39
|
-
* numeric string, `decimals` is not a non-negative integer, or the scaled
|
|
40
|
-
* result's magnitude exceeds `Number.MAX_SAFE_INTEGER`.
|
|
41
|
-
* @public
|
|
42
|
-
*/
|
|
43
|
-
export const scaleToInteger = (value, decimals, policy) => {
|
|
44
|
-
if (!Number.isInteger(decimals) || decimals < 0) {
|
|
45
|
-
throw new PerpsError(PerpsErrorCode.ValidationError, `Invalid decimals for Lighter integer scaling: ${decimals}`);
|
|
46
|
-
}
|
|
47
|
-
let parsed;
|
|
48
|
-
try {
|
|
49
|
-
parsed = new Big(value);
|
|
50
|
-
}
|
|
51
|
-
catch {
|
|
52
|
-
throw new PerpsError(PerpsErrorCode.ValidationError, `Invalid decimal string for Lighter integer scaling: '${value}'`);
|
|
53
|
-
}
|
|
54
|
-
const scaled = parsed
|
|
55
|
-
.times(new Big(10).pow(decimals))
|
|
56
|
-
.round(0, policy === 'truncate' ? Big.roundDown : Big.roundHalfUp);
|
|
57
|
-
if (scaled.abs().gt(Number.MAX_SAFE_INTEGER)) {
|
|
58
|
-
throw new PerpsError(PerpsErrorCode.ValidationError, `Scaled value ${scaled.toFixed()} exceeds Number.MAX_SAFE_INTEGER and cannot be encoded exactly.`);
|
|
59
|
-
}
|
|
60
|
-
return scaled.toNumber();
|
|
61
|
-
};
|
|
62
30
|
/**
|
|
63
31
|
* Map our OrderType enum to Lighter's integer order type.
|
|
64
32
|
* @public
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wireEncoding.js","sourceRoot":"","sources":["../../../src/utils/wireEncoding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"wireEncoding.js","sourceRoot":"","sources":["../../../src/utils/wireEncoding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountConfig.d.ts","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACf,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"accountConfig.d.ts","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACf,MAAM,mBAAmB,CAAA;AA6J1B;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,EAAE,cAAc,EAAE,GACxB,oBAAoB,EAAE,CAIxB"}
|
|
@@ -13,6 +13,5 @@ export { mapPosition } from './mapPosition.js';
|
|
|
13
13
|
export { mapInterval } from './ohlcvInterval.js';
|
|
14
14
|
export { formatOrderPrice, formatOrderSize } from './orderFormatting.js';
|
|
15
15
|
export { toIsoFromMs, toIsoFromSeconds } from './time.js';
|
|
16
|
-
export
|
|
17
|
-
export { leverageToFraction, mapOrderTypeToInt, mapTimeInForceToInt, marginFractionToMaxLeverage, orderExpiryForTif, resolveTimeInForce, scaleToInteger, } from './wireEncoding.js';
|
|
16
|
+
export { leverageToFraction, mapOrderTypeToInt, mapTimeInForceToInt, marginFractionToMaxLeverage, orderExpiryForTif, resolveTimeInForce, } from './wireEncoding.js';
|
|
18
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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,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,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,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,
|
|
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,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,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,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,EACL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA"}
|
|
@@ -14,28 +14,6 @@ export declare const marginFractionToMaxLeverage: (fraction: number) => number;
|
|
|
14
14
|
* @public
|
|
15
15
|
*/
|
|
16
16
|
export declare const leverageToFraction: (leverage: number) => number;
|
|
17
|
-
/**
|
|
18
|
-
* Off-grid resolution for {@link scaleToInteger}:
|
|
19
|
-
* - `truncate` — toward zero, for sizes and collateral amounts. The wire
|
|
20
|
-
* value never exceeds the caller's intent.
|
|
21
|
-
* - `round` — half away from zero, for prices, which snap to the nearest
|
|
22
|
-
* tick.
|
|
23
|
-
* @public
|
|
24
|
-
*/
|
|
25
|
-
export type ScaleToIntegerPolicy = 'truncate' | 'round';
|
|
26
|
-
/**
|
|
27
|
-
* Scale a human-readable decimal string to a scaled integer for the WASM
|
|
28
|
-
* signer, in exact decimal arithmetic — an on-grid input maps to its exact
|
|
29
|
-
* scaled integer with no binary float artifacts (`'0.29'` at 2 decimals is
|
|
30
|
-
* 29, never 28). Off-grid input resolves per `policy`; there is no silent
|
|
31
|
-
* default.
|
|
32
|
-
*
|
|
33
|
-
* @throws {PerpsError} `ValidationError` when `value` is not a decimal
|
|
34
|
-
* numeric string, `decimals` is not a non-negative integer, or the scaled
|
|
35
|
-
* result's magnitude exceeds `Number.MAX_SAFE_INTEGER`.
|
|
36
|
-
* @public
|
|
37
|
-
*/
|
|
38
|
-
export declare const scaleToInteger: (value: string, decimals: number, policy: ScaleToIntegerPolicy) => number;
|
|
39
17
|
/**
|
|
40
18
|
* Map our OrderType enum to Lighter's integer order type.
|
|
41
19
|
* @public
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wireEncoding.d.ts","sourceRoot":"","sources":["../../../src/utils/wireEncoding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"wireEncoding.d.ts","sourceRoot":"","sources":["../../../src/utils/wireEncoding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,GAAI,UAAU,MAAM,KAAG,MAK9D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,KAAG,MAQrD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,KAAG,MAUjD,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAC7B,cAAc,MAAM,EACpB,MAAM,MAAM,KACX,MAgBF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,KAAG,MAOlD,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,KAAG,MAKlD,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/perps-sdk-provider-lighter",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"description": "Lighter provider plugin for @lifi/perps-sdk",
|
|
5
5
|
"homepage": "https://github.com/lifinance/perps-sdk",
|
|
6
6
|
"bugs": {
|
|
@@ -46,10 +46,10 @@
|
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"big.js": "^7.0.1",
|
|
48
48
|
"viem": "^2.48.8",
|
|
49
|
-
"@lifi/perps-types": "^3.
|
|
49
|
+
"@lifi/perps-types": "^3.3.1"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
|
-
"@lifi/perps-sdk": "^4.
|
|
52
|
+
"@lifi/perps-sdk": "^4.4.0"
|
|
53
53
|
},
|
|
54
54
|
"publishConfig": {
|
|
55
55
|
"access": "public"
|
package/src/accountConfig.ts
CHANGED
|
@@ -142,6 +142,7 @@ function projectLighterDescriptor(
|
|
|
142
142
|
case ActionType.UPDATE_LEVERAGE:
|
|
143
143
|
case ActionType.UPDATE_POSITION_MARGIN:
|
|
144
144
|
case ActionType.SIWE_LOGIN:
|
|
145
|
+
case ActionType.CREATE_DEPOSIT_ADDRESS:
|
|
145
146
|
case ActionType.ACCEPT_PROVIDER_TERMS:
|
|
146
147
|
case ActionType.UPDATE_ASSET_COLLATERAL:
|
|
147
148
|
case ActionType.DEPOSIT:
|
package/src/utils/index.ts
CHANGED
|
@@ -28,7 +28,6 @@ export { mapPosition } from './mapPosition.js'
|
|
|
28
28
|
export { mapInterval } from './ohlcvInterval.js'
|
|
29
29
|
export { formatOrderPrice, formatOrderSize } from './orderFormatting.js'
|
|
30
30
|
export { toIsoFromMs, toIsoFromSeconds } from './time.js'
|
|
31
|
-
export type { ScaleToIntegerPolicy } from './wireEncoding.js'
|
|
32
31
|
export {
|
|
33
32
|
leverageToFraction,
|
|
34
33
|
mapOrderTypeToInt,
|
|
@@ -36,5 +35,4 @@ export {
|
|
|
36
35
|
marginFractionToMaxLeverage,
|
|
37
36
|
orderExpiryForTif,
|
|
38
37
|
resolveTimeInForce,
|
|
39
|
-
scaleToInteger,
|
|
40
38
|
} from './wireEncoding.js'
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
|
|
7
7
|
import { PerpsError } from '@lifi/perps-sdk'
|
|
8
8
|
import { PerpsErrorCode } from '@lifi/perps-types'
|
|
9
|
-
import Big from 'big.js'
|
|
10
9
|
import {
|
|
11
10
|
LT_DEFAULT_ORDER_EXPIRY,
|
|
12
11
|
LT_ORDER_TYPE_LIMIT,
|
|
@@ -46,60 +45,6 @@ export const leverageToFraction = (leverage: number): number => {
|
|
|
46
45
|
return Math.round(10_000 / leverage)
|
|
47
46
|
}
|
|
48
47
|
|
|
49
|
-
/**
|
|
50
|
-
* Off-grid resolution for {@link scaleToInteger}:
|
|
51
|
-
* - `truncate` — toward zero, for sizes and collateral amounts. The wire
|
|
52
|
-
* value never exceeds the caller's intent.
|
|
53
|
-
* - `round` — half away from zero, for prices, which snap to the nearest
|
|
54
|
-
* tick.
|
|
55
|
-
* @public
|
|
56
|
-
*/
|
|
57
|
-
export type ScaleToIntegerPolicy = 'truncate' | 'round'
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Scale a human-readable decimal string to a scaled integer for the WASM
|
|
61
|
-
* signer, in exact decimal arithmetic — an on-grid input maps to its exact
|
|
62
|
-
* scaled integer with no binary float artifacts (`'0.29'` at 2 decimals is
|
|
63
|
-
* 29, never 28). Off-grid input resolves per `policy`; there is no silent
|
|
64
|
-
* default.
|
|
65
|
-
*
|
|
66
|
-
* @throws {PerpsError} `ValidationError` when `value` is not a decimal
|
|
67
|
-
* numeric string, `decimals` is not a non-negative integer, or the scaled
|
|
68
|
-
* result's magnitude exceeds `Number.MAX_SAFE_INTEGER`.
|
|
69
|
-
* @public
|
|
70
|
-
*/
|
|
71
|
-
export const scaleToInteger = (
|
|
72
|
-
value: string,
|
|
73
|
-
decimals: number,
|
|
74
|
-
policy: ScaleToIntegerPolicy
|
|
75
|
-
): number => {
|
|
76
|
-
if (!Number.isInteger(decimals) || decimals < 0) {
|
|
77
|
-
throw new PerpsError(
|
|
78
|
-
PerpsErrorCode.ValidationError,
|
|
79
|
-
`Invalid decimals for Lighter integer scaling: ${decimals}`
|
|
80
|
-
)
|
|
81
|
-
}
|
|
82
|
-
let parsed: Big
|
|
83
|
-
try {
|
|
84
|
-
parsed = new Big(value)
|
|
85
|
-
} catch {
|
|
86
|
-
throw new PerpsError(
|
|
87
|
-
PerpsErrorCode.ValidationError,
|
|
88
|
-
`Invalid decimal string for Lighter integer scaling: '${value}'`
|
|
89
|
-
)
|
|
90
|
-
}
|
|
91
|
-
const scaled = parsed
|
|
92
|
-
.times(new Big(10).pow(decimals))
|
|
93
|
-
.round(0, policy === 'truncate' ? Big.roundDown : Big.roundHalfUp)
|
|
94
|
-
if (scaled.abs().gt(Number.MAX_SAFE_INTEGER)) {
|
|
95
|
-
throw new PerpsError(
|
|
96
|
-
PerpsErrorCode.ValidationError,
|
|
97
|
-
`Scaled value ${scaled.toFixed()} exceeds Number.MAX_SAFE_INTEGER and cannot be encoded exactly.`
|
|
98
|
-
)
|
|
99
|
-
}
|
|
100
|
-
return scaled.toNumber()
|
|
101
|
-
}
|
|
102
|
-
|
|
103
48
|
/**
|
|
104
49
|
* Map our OrderType enum to Lighter's integer order type.
|
|
105
50
|
* @public
|