@pendle/sdk-boros 0.2.10-mm-1 → 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.
package/dist/entities/amm/amm.js
CHANGED
|
@@ -25,6 +25,12 @@ function combineMarketOrderBookAndAMM(tickSize, marketOrderBook, ammStateRespons
|
|
|
25
25
|
};
|
|
26
26
|
let longIa = Math.floor(ammLongRate / tickSize);
|
|
27
27
|
let shortIa = Math.ceil(ammShortRate / tickSize);
|
|
28
|
+
if (longIa * tickSize === ammLongRate) {
|
|
29
|
+
longIa--;
|
|
30
|
+
}
|
|
31
|
+
if (shortIa * tickSize === ammShortRate) {
|
|
32
|
+
shortIa++;
|
|
33
|
+
}
|
|
28
34
|
while (longOrderBookIndex < marketOrderBook.long.ia.length && marketOrderBook.long.ia[longOrderBookIndex] > longIa) {
|
|
29
35
|
long.ia.push(marketOrderBook.long.ia[longOrderBookIndex]);
|
|
30
36
|
long.sz.push(marketOrderBook.long.sz[longOrderBookIndex]);
|
|
@@ -49,14 +55,14 @@ function combineMarketOrderBookAndAMM(tickSize, marketOrderBook, ammStateRespons
|
|
|
49
55
|
sz += BigInt(marketOrderBook.short.sz[shortOrderBookIndex]);
|
|
50
56
|
shortOrderBookIndex++;
|
|
51
57
|
}
|
|
52
|
-
const
|
|
58
|
+
const nextAMMShortRate = shortIa * tickSize;
|
|
53
59
|
sz += calSwapAMMFromToRate({
|
|
54
60
|
fromRate: Math.max(AMMImpliedRate, ammShortRate - ammFeeRate),
|
|
55
|
-
toRate: Math.max(AMMImpliedRate,
|
|
61
|
+
toRate: Math.max(AMMImpliedRate, nextAMMShortRate - ammFeeRate),
|
|
56
62
|
isPositiveAMM,
|
|
57
63
|
state: ammState,
|
|
58
64
|
});
|
|
59
|
-
ammShortRate = Math.max(ammShortRate,
|
|
65
|
+
ammShortRate = Math.max(ammShortRate, nextAMMShortRate);
|
|
60
66
|
if (sz > 0n) {
|
|
61
67
|
short.ia.push(shortIa);
|
|
62
68
|
short.sz.push(sz.toString());
|
|
@@ -73,14 +79,14 @@ function combineMarketOrderBookAndAMM(tickSize, marketOrderBook, ammStateRespons
|
|
|
73
79
|
sz += BigInt(marketOrderBook.long.sz[longOrderBookIndex]);
|
|
74
80
|
longOrderBookIndex++;
|
|
75
81
|
}
|
|
76
|
-
const
|
|
82
|
+
const nextAMMLongRate = longIa * tickSize;
|
|
77
83
|
sz += calSwapAMMFromToRate({
|
|
78
|
-
fromRate: Math.min(AMMImpliedRate,
|
|
84
|
+
fromRate: Math.min(AMMImpliedRate, nextAMMLongRate + ammFeeRate),
|
|
79
85
|
toRate: Math.min(AMMImpliedRate, ammLongRate + ammFeeRate),
|
|
80
86
|
isPositiveAMM,
|
|
81
87
|
state: ammState,
|
|
82
88
|
});
|
|
83
|
-
ammLongRate = Math.min(ammLongRate,
|
|
89
|
+
ammLongRate = Math.min(ammLongRate, nextAMMLongRate);
|
|
84
90
|
if (sz > 0n) {
|
|
85
91
|
long.ia.push(longIa);
|
|
86
92
|
long.sz.push(sz.toString());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amm.js","sourceRoot":"","sources":["../../../src/entities/amm/amm.ts"],"names":[],"mappings":";;AAMA,
|
|
1
|
+
{"version":3,"file":"amm.js","sourceRoot":"","sources":["../../../src/entities/amm/amm.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ export type GetOrderValueParams = {
|
|
|
25
25
|
marketExpiry_s: number;
|
|
26
26
|
};
|
|
27
27
|
export declare class Market {
|
|
28
|
-
static getOrderSizeByExactInitialMargin(params: GetOrderSizeByExactInitialMarginParams
|
|
28
|
+
static getOrderSizeByExactInitialMargin(params: GetOrderSizeByExactInitialMarginParams): bigint;
|
|
29
29
|
static getInitialMarginByOrderSize(params: GetInitialMarginByOrderSizeParams, useBuffer?: boolean): bigint;
|
|
30
30
|
private static getIMSuf;
|
|
31
31
|
static getOrderValue(params: GetOrderValueParams): bigint;
|
|
@@ -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
|
|
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
|
|
8
|
+
static getOrderSizeByExactInitialMargin(params) {
|
|
9
9
|
const imSuf = Market.getIMSuf(params);
|
|
10
|
-
|
|
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
|
-
|
|
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
|
|
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":";;;AAAA,qEAAuD;AAEvD,MAAM,
|
|
1
|
+
{"version":3,"file":"market.js","sourceRoot":"","sources":["../../../src/entities/market/market.ts"],"names":[],"mappings":"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"}
|