@pendle/sdk-boros 0.1.44 → 0.1.46

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.
@@ -23,11 +23,13 @@ class Market {
23
23
  }
24
24
  static getIMSuf(data) {
25
25
  const { orderRate, leverage, marginFactor, markRate, minMarginIndexRate, marketExpiry_s, minMarginIndexDuration_s, } = data;
26
+ const absOrderRate = orderRate.abs();
27
+ const absMarkRate = markRate.abs();
26
28
  const timeToMaturity_y = (marketExpiry_s - Math.floor(Date.now() / 1000)) / SECONDS_PER_YEARS;
27
29
  const minTime_y = minMarginIndexDuration_s / SECONDS_PER_YEARS;
28
30
  const time = boros_offchain_math_1.FixedX18.fromNumber(Math.max(timeToMaturity_y, minTime_y));
29
- const contractRate = markRate.gt(minMarginIndexRate) ? markRate : minMarginIndexRate;
30
- const offchainRate = orderRate.gt(minMarginIndexRate) ? orderRate : minMarginIndexRate;
31
+ const contractRate = absMarkRate.gt(minMarginIndexRate) ? absMarkRate : minMarginIndexRate;
32
+ const offchainRate = absOrderRate.gt(minMarginIndexRate) ? absOrderRate : minMarginIndexRate;
31
33
  const contractSuf = contractRate.mulDown(time).mulDown(marginFactor);
32
34
  const offchainSuf = offchainRate.mulDown(time).divDown(boros_offchain_math_1.FixedX18.fromNumber(leverage));
33
35
  return contractSuf.gt(offchainSuf) ? contractSuf : offchainSuf;
@@ -1 +1 @@
1
- {"version":3,"file":"market.js","sourceRoot":"","sources":["../../../src/entities/market/market.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"market.js","sourceRoot":"","sources":["../../../src/entities/market/market.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { FixedX18 } from '@pendle/boros-offchain-math';
2
2
  import { Side } from '../types';
3
- export declare function getRateAtTick(tickIndex: bigint, step: bigint): FixedX18;
3
+ export declare function getRateAtTick(tickIndex: bigint, step: bigint, opts?: {
4
+ precision?: number;
5
+ }): FixedX18;
4
6
  export declare function getTickAtRate(rate: FixedX18, step: number, side: Side): number;
@@ -7,7 +7,8 @@ const constants_1 = require("../constants");
7
7
  const types_1 = require("../types");
8
8
  const PRECISION = 10n ** 100n;
9
9
  const BASE = (100005n * PRECISION) / 100000n;
10
- function getRateAtTick(tickIndex, step) {
10
+ function getRateAtTick(tickIndex, step, opts) {
11
+ const { precision } = opts ?? {};
11
12
  if (tickIndex < 0) {
12
13
  return getRateAtTick(-tickIndex, step).neg();
13
14
  }
@@ -21,7 +22,8 @@ function getRateAtTick(tickIndex, step) {
21
22
  }
22
23
  rawAns -= PRECISION;
23
24
  const PRECISION_SHIFT = PRECISION / boros_offchain_math_1.FixedX18.RAW_ONE;
24
- return boros_offchain_math_1.FixedX18.fromRawValue((rawAns + PRECISION_SHIFT / 2n) / PRECISION_SHIFT);
25
+ const result = boros_offchain_math_1.FixedX18.fromRawValue((rawAns + PRECISION_SHIFT / 2n) / PRECISION_SHIFT);
26
+ return precision ? result.round(precision) : result;
25
27
  }
26
28
  function getTickAtRate(rate, step, side) {
27
29
  let low = constants_1.TICK_MIN_VALUE;
@@ -1 +1 @@
1
- {"version":3,"file":"tickLib.js","sourceRoot":"","sources":["../../src/utils/tickLib.ts"],"names":[],"mappings":";;AAWA,sCAqBC;AAED,sCAwBC;AA1DD,qEAAuD;AACvD,4CAA8D;AAC9D,oCAAgC;AAEhC,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,CAAC;AAE9B,MAAM,IAAI,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC;AAK7C,SAAgB,aAAa,CAAC,SAAiB,EAAE,IAAY;IAC3D,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IAC/C,CAAC;IAED,SAAS,IAAI,IAAI,CAAC;IAElB,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,IAAI,MAAM,GAAG,SAAS,CAAC;IACvB,OAAO,SAAS,GAAG,EAAE,EAAE,SAAS,KAAK,EAAE,EAAE,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC;QAC1E,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;YACnB,MAAM,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;QACvC,CAAC;IACH,CAAC;IAED,MAAM,IAAI,SAAS,CAAC;IAEpB,MAAM,eAAe,GAAG,SAAS,GAAG,8BAAQ,CAAC,OAAO,CAAC;IAGrD,OAAO,8BAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,eAAe,GAAG,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC;AAClF,CAAC;AAED,SAAgB,aAAa,CAAC,IAAc,EAAE,IAAY,EAAE,IAAU;IAEpE,IAAI,GAAG,GAAG,0BAAc,CAAC;IACzB,IAAI,IAAI,GAAG,0BAAc,CAAC;IAC1B,OAAO,GAAG,GAAG,IAAI,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,GAAG,CAAC;QACb,CAAC;QACD,IAAI,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,IAAI,IAAI,KAAK,YAAI,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,OAAO,GAAG,GAAG,CAAC,CAAC;IACjB,CAAC;IACD,IAAI,IAAI,KAAK,YAAI,CAAC,KAAK,IAAI,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,OAAO,GAAG,GAAG,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"tickLib.js","sourceRoot":"","sources":["../../src/utils/tickLib.ts"],"names":[],"mappings":";;AAWA,sCAwBC;AAED,sCAwBC;AA7DD,qEAAuD;AACvD,4CAA8D;AAC9D,oCAAgC;AAEhC,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,CAAC;AAE9B,MAAM,IAAI,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC;AAK7C,SAAgB,aAAa,CAAC,SAAiB,EAAE,IAAY,EAAE,IAA6B;IAC1F,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;IAEjC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IAC/C,CAAC;IAED,SAAS,IAAI,IAAI,CAAC;IAElB,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,IAAI,MAAM,GAAG,SAAS,CAAC;IACvB,OAAO,SAAS,GAAG,EAAE,EAAE,SAAS,KAAK,EAAE,EAAE,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC;QAC1E,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;YACnB,MAAM,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;QACvC,CAAC;IACH,CAAC;IAED,MAAM,IAAI,SAAS,CAAC;IAEpB,MAAM,eAAe,GAAG,SAAS,GAAG,8BAAQ,CAAC,OAAO,CAAC;IAErD,MAAM,MAAM,GAAG,8BAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,eAAe,GAAG,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC;IAExF,OAAO,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACtD,CAAC;AAED,SAAgB,aAAa,CAAC,IAAc,EAAE,IAAY,EAAE,IAAU;IAEpE,IAAI,GAAG,GAAG,0BAAc,CAAC;IACzB,IAAI,IAAI,GAAG,0BAAc,CAAC;IAC1B,OAAO,GAAG,GAAG,IAAI,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,GAAG,CAAC;QACb,CAAC;QACD,IAAI,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,IAAI,IAAI,KAAK,YAAI,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,OAAO,GAAG,GAAG,CAAC,CAAC;IACjB,CAAC;IACD,IAAI,IAAI,KAAK,YAAI,CAAC,KAAK,IAAI,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,OAAO,GAAG,GAAG,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@pendle/sdk-boros",
3
3
  "description": "Pendle SDK for Boros",
4
4
  "license": "MIT",
5
- "version": "0.1.44",
5
+ "version": "0.1.46",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "files": [