@pendle/sdk-boros 0.2.10 → 0.2.11-buffer-contract-margin

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.
@@ -2,23 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Market = void 0;
4
4
  const boros_offchain_math_1 = require("@pendle/boros-offchain-math");
5
- const BUFFERED_INITIAL_MARGIN_RATE_RATIO = boros_offchain_math_1.FixedX18.fromNumber(0.001);
5
+ const BUFFERED_CONTRACT_INITIAL_MARGIN_RATE_RATIO = boros_offchain_math_1.FixedX18.fromNumber(0.05);
6
6
  const SECONDS_PER_YEARS = 3600 * 24 * 365;
7
7
  class Market {
8
- static getOrderSizeByExactInitialMargin(params, useBuffer = true) {
8
+ static getOrderSizeByExactInitialMargin(params) {
9
9
  const imSuf = Market.getIMSuf(params);
10
- let orderSize = boros_offchain_math_1.FixedX18.fromRawValue(params.initialMargin).divDown(imSuf);
11
- if (useBuffer) {
12
- orderSize = orderSize.divDown(boros_offchain_math_1.FixedX18.ONE.add(BUFFERED_INITIAL_MARGIN_RATE_RATIO));
13
- }
10
+ const orderSize = boros_offchain_math_1.FixedX18.fromRawValue(params.initialMargin).divDown(imSuf);
14
11
  return orderSize.value;
15
12
  }
16
13
  static getInitialMarginByOrderSize(params, useBuffer = true) {
17
14
  const imSuf = Market.getIMSuf(params);
18
- let initialMargin = boros_offchain_math_1.FixedX18.fromRawValue(params.orderSize).mulDown(imSuf);
19
- if (useBuffer) {
20
- initialMargin = initialMargin.mulDown(boros_offchain_math_1.FixedX18.ONE.add(BUFFERED_INITIAL_MARGIN_RATE_RATIO));
21
- }
15
+ const initialMargin = boros_offchain_math_1.FixedX18.fromRawValue(params.orderSize).mulDown(imSuf);
22
16
  return initialMargin.value;
23
17
  }
24
18
  static getIMSuf(data) {
@@ -30,7 +24,10 @@ class Market {
30
24
  const time = boros_offchain_math_1.FixedX18.fromNumber(Math.max(timeToMaturity_y, minTime_y));
31
25
  const contractRate = absMarkRate.gt(minMarginIndexRate) ? absMarkRate : minMarginIndexRate;
32
26
  const offchainRate = absOrderRate.gt(minMarginIndexRate) ? absOrderRate : minMarginIndexRate;
33
- const contractSuf = contractRate.mulDown(time).mulDown(marginFactor);
27
+ const contractSuf = contractRate
28
+ .mulDown(time)
29
+ .mulDown(marginFactor)
30
+ .mulDown(boros_offchain_math_1.FixedX18.ONE.add(BUFFERED_CONTRACT_INITIAL_MARGIN_RATE_RATIO));
34
31
  const offchainSuf = offchainRate.mulDown(time).divDown(boros_offchain_math_1.FixedX18.fromNumber(leverage));
35
32
  return contractSuf.gt(offchainSuf) ? contractSuf : offchainSuf;
36
33
  }
@@ -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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"}
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.2.10",
5
+ "version": "0.2.11-buffer-contract-margin",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "files": [