@lifi/perps-types 4.0.1 → 4.1.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.
@@ -6,6 +6,7 @@ export * from './enums.js';
6
6
  export * from './errors.js';
7
7
  export * from './market.js';
8
8
  export * from './meta.js';
9
+ export * from './positionMargin.js';
9
10
  export * from './primitives.js';
10
11
  export * from './providers.js';
11
12
  export * from './quote.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AASA,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AASA,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA"}
package/dist/cjs/index.js CHANGED
@@ -22,6 +22,7 @@ __exportStar(require("./enums.js"), exports);
22
22
  __exportStar(require("./errors.js"), exports);
23
23
  __exportStar(require("./market.js"), exports);
24
24
  __exportStar(require("./meta.js"), exports);
25
+ __exportStar(require("./positionMargin.js"), exports);
25
26
  __exportStar(require("./primitives.js"), exports);
26
27
  __exportStar(require("./providers.js"), exports);
27
28
  __exportStar(require("./quote.js"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AASA,mDAAgC;AAChC,+CAA4B;AAC5B,8CAA2B;AAC3B,6CAA0B;AAC1B,6CAA0B;AAC1B,8CAA2B;AAC3B,8CAA2B;AAC3B,4CAAyB;AACzB,kDAA+B;AAC/B,iDAA8B;AAC9B,6CAA0B;AAC1B,qDAAkC;AAClC,iDAA8B;AAC9B,4CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AASA,mDAAgC;AAChC,+CAA4B;AAC5B,8CAA2B;AAC3B,6CAA0B;AAC1B,6CAA0B;AAC1B,8CAA2B;AAC3B,8CAA2B;AAC3B,4CAAyB;AACzB,sDAAmC;AACnC,kDAA+B;AAC/B,iDAA8B;AAC9B,6CAA0B;AAC1B,qDAAkC;AAClC,iDAA8B;AAC9B,4CAAyB"}
@@ -0,0 +1,4 @@
1
+ import type { Position } from './account.js';
2
+ export declare function positionSupportsMarginAdjustment(position: Position): boolean;
3
+ export declare function positionSupportsMarginRemoval(position: Position): boolean;
4
+ //# sourceMappingURL=positionMargin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"positionMargin.d.ts","sourceRoot":"","sources":["../../src/positionMargin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAS5C,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAK5E;AAQD,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAMzE"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.positionSupportsMarginAdjustment = positionSupportsMarginAdjustment;
4
+ exports.positionSupportsMarginRemoval = positionSupportsMarginRemoval;
5
+ const enums_js_1 = require("./enums.js");
6
+ function positionSupportsMarginAdjustment(position) {
7
+ return (position.marginMode === enums_js_1.MarginMode.ISOLATED &&
8
+ position.market.positionMarginAdjustment !== enums_js_1.PositionMarginAdjustment.NONE);
9
+ }
10
+ function positionSupportsMarginRemoval(position) {
11
+ return (positionSupportsMarginAdjustment(position) &&
12
+ position.market.positionMarginAdjustment ===
13
+ enums_js_1.PositionMarginAdjustment.ADD_AND_REMOVE);
14
+ }
15
+ //# sourceMappingURL=positionMargin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"positionMargin.js","sourceRoot":"","sources":["../../src/positionMargin.ts"],"names":[],"mappings":";;AASA,4EAKC;AAQD,sEAMC;AA3BD,yCAAiE;AAQjE,SAAgB,gCAAgC,CAAC,QAAkB;IACjE,OAAO,CACL,QAAQ,CAAC,UAAU,KAAK,qBAAU,CAAC,QAAQ;QAC3C,QAAQ,CAAC,MAAM,CAAC,wBAAwB,KAAK,mCAAwB,CAAC,IAAI,CAC3E,CAAA;AACH,CAAC;AAQD,SAAgB,6BAA6B,CAAC,QAAkB;IAC9D,OAAO,CACL,gCAAgC,CAAC,QAAQ,CAAC;QAC1C,QAAQ,CAAC,MAAM,CAAC,wBAAwB;YACtC,mCAAwB,CAAC,cAAc,CAC1C,CAAA;AACH,CAAC"}
@@ -14,6 +14,7 @@ export * from './enums.js';
14
14
  export * from './errors.js';
15
15
  export * from './market.js';
16
16
  export * from './meta.js';
17
+ export * from './positionMargin.js';
17
18
  export * from './primitives.js';
18
19
  export * from './providers.js';
19
20
  export * from './quote.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA"}
package/dist/esm/index.js CHANGED
@@ -14,6 +14,7 @@ export * from './enums.js';
14
14
  export * from './errors.js';
15
15
  export * from './market.js';
16
16
  export * from './meta.js';
17
+ export * from './positionMargin.js';
17
18
  export * from './primitives.js';
18
19
  export * from './providers.js';
19
20
  export * from './quote.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA"}
@@ -0,0 +1,16 @@
1
+ import type { Position } from './account.js';
2
+ /**
3
+ * Whether this position can take a margin adjustment at all: it holds margin of
4
+ * its own and its market exposes individual position margin.
5
+ *
6
+ * @public
7
+ */
8
+ export declare function positionSupportsMarginAdjustment(position: Position): boolean;
9
+ /**
10
+ * Whether a removal is among the adjustments this position permits. An
11
+ * `ADD_ONLY` market takes adds and no withdrawal.
12
+ *
13
+ * @public
14
+ */
15
+ export declare function positionSupportsMarginRemoval(position: Position): boolean;
16
+ //# sourceMappingURL=positionMargin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"positionMargin.d.ts","sourceRoot":"","sources":["../../src/positionMargin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAG5C;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAK5E;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAMzE"}
@@ -0,0 +1,23 @@
1
+ import { MarginMode, PositionMarginAdjustment } from './enums.js';
2
+ /**
3
+ * Whether this position can take a margin adjustment at all: it holds margin of
4
+ * its own and its market exposes individual position margin.
5
+ *
6
+ * @public
7
+ */
8
+ export function positionSupportsMarginAdjustment(position) {
9
+ return (position.marginMode === MarginMode.ISOLATED &&
10
+ position.market.positionMarginAdjustment !== PositionMarginAdjustment.NONE);
11
+ }
12
+ /**
13
+ * Whether a removal is among the adjustments this position permits. An
14
+ * `ADD_ONLY` market takes adds and no withdrawal.
15
+ *
16
+ * @public
17
+ */
18
+ export function positionSupportsMarginRemoval(position) {
19
+ return (positionSupportsMarginAdjustment(position) &&
20
+ position.market.positionMarginAdjustment ===
21
+ PositionMarginAdjustment.ADD_AND_REMOVE);
22
+ }
23
+ //# sourceMappingURL=positionMargin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"positionMargin.js","sourceRoot":"","sources":["../../src/positionMargin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAEjE;;;;;GAKG;AACH,MAAM,UAAU,gCAAgC,CAAC,QAAkB;IACjE,OAAO,CACL,QAAQ,CAAC,UAAU,KAAK,UAAU,CAAC,QAAQ;QAC3C,QAAQ,CAAC,MAAM,CAAC,wBAAwB,KAAK,wBAAwB,CAAC,IAAI,CAC3E,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,QAAkB;IAC9D,OAAO,CACL,gCAAgC,CAAC,QAAQ,CAAC;QAC1C,QAAQ,CAAC,MAAM,CAAC,wBAAwB;YACtC,wBAAwB,CAAC,cAAc,CAC1C,CAAA;AACH,CAAC"}
@@ -14,6 +14,7 @@ export * from './enums.js';
14
14
  export * from './errors.js';
15
15
  export * from './market.js';
16
16
  export * from './meta.js';
17
+ export * from './positionMargin.js';
17
18
  export * from './primitives.js';
18
19
  export * from './providers.js';
19
20
  export * from './quote.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA"}
@@ -0,0 +1,16 @@
1
+ import type { Position } from './account.js';
2
+ /**
3
+ * Whether this position can take a margin adjustment at all: it holds margin of
4
+ * its own and its market exposes individual position margin.
5
+ *
6
+ * @public
7
+ */
8
+ export declare function positionSupportsMarginAdjustment(position: Position): boolean;
9
+ /**
10
+ * Whether a removal is among the adjustments this position permits. An
11
+ * `ADD_ONLY` market takes adds and no withdrawal.
12
+ *
13
+ * @public
14
+ */
15
+ export declare function positionSupportsMarginRemoval(position: Position): boolean;
16
+ //# sourceMappingURL=positionMargin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"positionMargin.d.ts","sourceRoot":"","sources":["../../src/positionMargin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAG5C;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAK5E;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAMzE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/perps-types",
3
- "version": "4.0.1",
3
+ "version": "4.1.0",
4
4
  "description": "Shared types for the LI.FI perps stack",
5
5
  "keywords": [
6
6
  "lifi",
package/src/index.ts CHANGED
@@ -15,6 +15,7 @@ export * from './enums.js'
15
15
  export * from './errors.js'
16
16
  export * from './market.js'
17
17
  export * from './meta.js'
18
+ export * from './positionMargin.js'
18
19
  export * from './primitives.js'
19
20
  export * from './providers.js'
20
21
  export * from './quote.js'
@@ -0,0 +1,29 @@
1
+ import type { Position } from './account.js'
2
+ import { MarginMode, PositionMarginAdjustment } from './enums.js'
3
+
4
+ /**
5
+ * Whether this position can take a margin adjustment at all: it holds margin of
6
+ * its own and its market exposes individual position margin.
7
+ *
8
+ * @public
9
+ */
10
+ export function positionSupportsMarginAdjustment(position: Position): boolean {
11
+ return (
12
+ position.marginMode === MarginMode.ISOLATED &&
13
+ position.market.positionMarginAdjustment !== PositionMarginAdjustment.NONE
14
+ )
15
+ }
16
+
17
+ /**
18
+ * Whether a removal is among the adjustments this position permits. An
19
+ * `ADD_ONLY` market takes adds and no withdrawal.
20
+ *
21
+ * @public
22
+ */
23
+ export function positionSupportsMarginRemoval(position: Position): boolean {
24
+ return (
25
+ positionSupportsMarginAdjustment(position) &&
26
+ position.market.positionMarginAdjustment ===
27
+ PositionMarginAdjustment.ADD_AND_REMOVE
28
+ )
29
+ }