@d8x/perpetuals-sdk 0.7.7 → 0.7.8
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/abi/IPyth.json +471 -0
- package/dist/cjs/abi/OracleFactory.json +457 -0
- package/dist/cjs/accountTrade.js +134 -243
- package/dist/cjs/accountTrade.js.map +1 -1
- package/dist/cjs/brokerTool.js +144 -290
- package/dist/cjs/brokerTool.js.map +1 -1
- package/dist/cjs/config/priceFeedConfig.json +1 -1
- package/dist/cjs/contracts/IPyth.d.ts +234 -0
- package/dist/cjs/contracts/IPyth.js +3 -0
- package/dist/cjs/contracts/IPyth.js.map +1 -0
- package/dist/cjs/contracts/OracleFactory.d.ts +288 -0
- package/dist/cjs/contracts/OracleFactory.js +3 -0
- package/dist/cjs/contracts/OracleFactory.js.map +1 -0
- package/dist/cjs/contracts/factories/ERC20__factory.js +9 -12
- package/dist/cjs/contracts/factories/ERC20__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/IPerpetualManager__factory.js +9 -12
- package/dist/cjs/contracts/factories/IPerpetualManager__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/IPyth__factory.d.ts +367 -0
- package/dist/cjs/contracts/factories/IPyth__factory.js +489 -0
- package/dist/cjs/contracts/factories/IPyth__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js +9 -12
- package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/LimitOrderBook__factory.js +9 -12
- package/dist/cjs/contracts/factories/LimitOrderBook__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/MockTokenSwap__factory.js +9 -12
- package/dist/cjs/contracts/factories/MockTokenSwap__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/OracleFactory__factory.d.ts +361 -0
- package/dist/cjs/contracts/factories/OracleFactory__factory.js +475 -0
- package/dist/cjs/contracts/factories/OracleFactory__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/ShareToken__factory.js +9 -12
- package/dist/cjs/contracts/factories/ShareToken__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/index.d.ts +2 -0
- package/dist/cjs/contracts/factories/index.js +5 -1
- package/dist/cjs/contracts/factories/index.js.map +1 -1
- package/dist/cjs/contracts/index.d.ts +4 -0
- package/dist/cjs/contracts/index.js +6 -2
- package/dist/cjs/contracts/index.js.map +1 -1
- package/dist/cjs/d8XMath.js +65 -66
- package/dist/cjs/d8XMath.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +14 -12
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/liquidatorTool.js +80 -137
- package/dist/cjs/liquidatorTool.js.map +1 -1
- package/dist/cjs/liquidityProviderTool.js +33 -65
- package/dist/cjs/liquidityProviderTool.js.map +1 -1
- package/dist/cjs/marketData.js +635 -978
- package/dist/cjs/marketData.js.map +1 -1
- package/dist/cjs/nodeSDKTypes.js +10 -22
- package/dist/cjs/nodeSDKTypes.js.map +1 -1
- package/dist/cjs/orderReferrerTool.js +200 -323
- package/dist/cjs/orderReferrerTool.js.map +1 -1
- package/dist/cjs/perpetualDataHandler.js +404 -550
- package/dist/cjs/perpetualDataHandler.js.map +1 -1
- package/dist/cjs/perpetualEventHandler.js +129 -190
- package/dist/cjs/perpetualEventHandler.js.map +1 -1
- package/dist/cjs/priceFeeds.js +223 -335
- package/dist/cjs/priceFeeds.js.map +1 -1
- package/dist/cjs/traderDigests.js +20 -23
- package/dist/cjs/traderDigests.js.map +1 -1
- package/dist/cjs/traderInterface.js +54 -87
- package/dist/cjs/traderInterface.js.map +1 -1
- package/dist/cjs/triangulator.js +34 -38
- package/dist/cjs/triangulator.js.map +1 -1
- package/dist/cjs/utils.js +18 -32
- package/dist/cjs/utils.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/writeAccessHandler.js +78 -112
- package/dist/cjs/writeAccessHandler.js.map +1 -1
- package/dist/esm/abi/IPyth.json +471 -0
- package/dist/esm/abi/OracleFactory.json +457 -0
- package/dist/esm/accountTrade.js +126 -237
- package/dist/esm/accountTrade.js.map +1 -1
- package/dist/esm/brokerTool.js +136 -284
- package/dist/esm/brokerTool.js.map +1 -1
- package/dist/esm/config/priceFeedConfig.json +1 -1
- package/dist/esm/contracts/IPyth.d.ts +234 -0
- package/dist/esm/contracts/IPyth.js +2 -0
- package/dist/esm/contracts/IPyth.js.map +1 -0
- package/dist/esm/contracts/OracleFactory.d.ts +288 -0
- package/dist/esm/contracts/OracleFactory.js +2 -0
- package/dist/esm/contracts/OracleFactory.js.map +1 -0
- package/dist/esm/contracts/factories/ERC20__factory.js +8 -12
- package/dist/esm/contracts/factories/ERC20__factory.js.map +1 -1
- package/dist/esm/contracts/factories/IPerpetualManager__factory.js +8 -12
- package/dist/esm/contracts/factories/IPerpetualManager__factory.js.map +1 -1
- package/dist/esm/contracts/factories/IPyth__factory.d.ts +367 -0
- package/dist/esm/contracts/factories/IPyth__factory.js +485 -0
- package/dist/esm/contracts/factories/IPyth__factory.js.map +1 -0
- package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js +8 -12
- package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -1
- package/dist/esm/contracts/factories/LimitOrderBook__factory.js +8 -12
- package/dist/esm/contracts/factories/LimitOrderBook__factory.js.map +1 -1
- package/dist/esm/contracts/factories/MockTokenSwap__factory.js +8 -12
- package/dist/esm/contracts/factories/MockTokenSwap__factory.js.map +1 -1
- package/dist/esm/contracts/factories/OracleFactory__factory.d.ts +361 -0
- package/dist/esm/contracts/factories/OracleFactory__factory.js +471 -0
- package/dist/esm/contracts/factories/OracleFactory__factory.js.map +1 -0
- package/dist/esm/contracts/factories/ShareToken__factory.js +8 -12
- package/dist/esm/contracts/factories/ShareToken__factory.js.map +1 -1
- package/dist/esm/contracts/factories/index.d.ts +2 -0
- package/dist/esm/contracts/factories/index.js +2 -0
- package/dist/esm/contracts/factories/index.js.map +1 -1
- package/dist/esm/contracts/index.d.ts +4 -0
- package/dist/esm/contracts/index.js +2 -0
- package/dist/esm/contracts/index.js.map +1 -1
- package/dist/esm/d8XMath.js +63 -64
- package/dist/esm/d8XMath.js.map +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/liquidatorTool.js +77 -136
- package/dist/esm/liquidatorTool.js.map +1 -1
- package/dist/esm/liquidityProviderTool.js +29 -63
- package/dist/esm/liquidityProviderTool.js.map +1 -1
- package/dist/esm/marketData.js +626 -971
- package/dist/esm/marketData.js.map +1 -1
- package/dist/esm/nodeSDKTypes.js +36 -48
- package/dist/esm/nodeSDKTypes.js.map +1 -1
- package/dist/esm/orderReferrerTool.js +194 -319
- package/dist/esm/orderReferrerTool.js.map +1 -1
- package/dist/esm/perpetualDataHandler.js +394 -542
- package/dist/esm/perpetualDataHandler.js.map +1 -1
- package/dist/esm/perpetualEventHandler.js +126 -188
- package/dist/esm/perpetualEventHandler.js.map +1 -1
- package/dist/esm/priceFeeds.js +218 -332
- package/dist/esm/priceFeeds.js.map +1 -1
- package/dist/esm/traderDigests.js +15 -19
- package/dist/esm/traderDigests.js.map +1 -1
- package/dist/esm/traderInterface.js +48 -83
- package/dist/esm/traderInterface.js.map +1 -1
- package/dist/esm/triangulator.js +34 -39
- package/dist/esm/triangulator.js.map +1 -1
- package/dist/esm/utils.js +16 -30
- package/dist/esm/utils.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/writeAccessHandler.js +69 -105
- package/dist/esm/writeAccessHandler.js.map +1 -1
- package/package.json +1 -1
- package/src/abi/IPyth.json +471 -0
- package/src/abi/OracleFactory.json +457 -0
- package/src/accountTrade.ts +1 -6
- package/src/config/priceFeedConfig.json +1 -1
- package/src/contracts/IPyth.ts +571 -0
- package/src/contracts/OracleFactory.ts +708 -0
- package/src/contracts/factories/IPyth__factory.ts +489 -0
- package/src/contracts/factories/{zkevmTestnet/ShareToken__factory.ts → OracleFactory__factory.ts} +222 -206
- package/src/contracts/factories/index.ts +2 -0
- package/src/contracts/index.ts +4 -0
- package/src/index.ts +2 -0
- package/src/orderReferrerTool.ts +1 -3
- package/src/priceFeeds.ts +1 -1
- package/src/version.ts +1 -1
- package/src/contracts/factories/zkevmTestnet/IPerpetualManager__factory.ts +0 -5804
- package/src/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.ts +0 -263
- package/src/contracts/factories/zkevmTestnet/LimitOrderBook__factory.ts +0 -1131
- package/src/contracts/factories/zkevmTestnet/index.ts +0 -7
- package/src/contracts/zkevmTestnet/IPerpetualManager.ts +0 -7109
- package/src/contracts/zkevmTestnet/LimitOrderBook.ts +0 -1341
- package/src/contracts/zkevmTestnet/LimitOrderBookFactory.ts +0 -472
- package/src/contracts/zkevmTestnet/ShareToken.ts +0 -695
- package/src/contracts/zkevmTestnet/index.ts +0 -7
package/dist/cjs/d8XMath.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getDepositAmountForLvgTrade = exports.getNewPositionLeverage = exports.getMaxSignedPositionSize = exports.getMarginRequiredForLeveragedTrade = exports.calculateLiquidationPriceCollateralQuote = exports.calculateLiquidationPriceCollateralQuanto = exports.calculateLiquidationPriceCollateralBase = exports.div64x64 = exports.mul64x64 = exports.roundToLotString = exports.countDecimalsOf = exports.floatToDecN = exports.floatToDec18 = exports.floatToABK64x64 = exports.dec18ToFloat = exports.decNToFloat = exports.ABK64x64ToFloat = exports.ABDK29ToFloat = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
const bignumber_1 = require("@ethersproject/bignumber");
|
|
5
|
+
const nodeSDKTypes_1 = require("./nodeSDKTypes");
|
|
6
6
|
/**
|
|
7
7
|
* @module d8xMath
|
|
8
8
|
*/
|
|
@@ -14,7 +14,7 @@ var nodeSDKTypes_1 = require("./nodeSDKTypes");
|
|
|
14
14
|
* @returns {number} x/2^64 in number-format (float)
|
|
15
15
|
*/
|
|
16
16
|
function ABDK29ToFloat(x) {
|
|
17
|
-
return Number(x) /
|
|
17
|
+
return Number(x) / 2 ** 29;
|
|
18
18
|
}
|
|
19
19
|
exports.ABDK29ToFloat = ABDK29ToFloat;
|
|
20
20
|
/**
|
|
@@ -25,18 +25,18 @@ exports.ABDK29ToFloat = ABDK29ToFloat;
|
|
|
25
25
|
*/
|
|
26
26
|
function ABK64x64ToFloat(x) {
|
|
27
27
|
if (typeof x == "number") {
|
|
28
|
-
return x /
|
|
28
|
+
return x / 2 ** 29;
|
|
29
29
|
}
|
|
30
|
-
|
|
30
|
+
let s = x.lt(0) ? -1 : 1;
|
|
31
31
|
x = x.mul(s);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
let xInt = x.div(nodeSDKTypes_1.ONE_64x64);
|
|
33
|
+
let dec18 = bignumber_1.BigNumber.from(10).pow(bignumber_1.BigNumber.from(18));
|
|
34
|
+
let xDec = x.sub(xInt.mul(nodeSDKTypes_1.ONE_64x64));
|
|
35
35
|
xDec = xDec.mul(dec18).div(nodeSDKTypes_1.ONE_64x64);
|
|
36
|
-
|
|
36
|
+
let k = 18 - xDec.toString().length;
|
|
37
37
|
// console.assert(k >= 0);
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
let sPad = "0".repeat(k);
|
|
39
|
+
let NumberStr = xInt.toString() + "." + sPad + xDec.toString();
|
|
40
40
|
return parseFloat(NumberStr) * s;
|
|
41
41
|
}
|
|
42
42
|
exports.ABK64x64ToFloat = ABK64x64ToFloat;
|
|
@@ -47,14 +47,14 @@ exports.ABK64x64ToFloat = ABK64x64ToFloat;
|
|
|
47
47
|
*/
|
|
48
48
|
function decNToFloat(x, numDec) {
|
|
49
49
|
//x: BigNumber in DecN format to float
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
const DECIMALS = bignumber_1.BigNumber.from(10).pow(bignumber_1.BigNumber.from(numDec));
|
|
51
|
+
let s = x.lt(0) ? -1 : 1;
|
|
52
52
|
x = x.mul(s);
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
53
|
+
let xInt = x.div(DECIMALS);
|
|
54
|
+
let xDec = x.sub(xInt.mul(DECIMALS));
|
|
55
|
+
let k = numDec - xDec.toString().length;
|
|
56
|
+
let sPad = "0".repeat(k);
|
|
57
|
+
let NumberStr = xInt.toString() + "." + sPad + xDec.toString();
|
|
58
58
|
return parseFloat(NumberStr) * s;
|
|
59
59
|
}
|
|
60
60
|
exports.decNToFloat = decNToFloat;
|
|
@@ -65,13 +65,13 @@ exports.decNToFloat = decNToFloat;
|
|
|
65
65
|
*/
|
|
66
66
|
function dec18ToFloat(x) {
|
|
67
67
|
//x: BigNumber in Dec18 format to float
|
|
68
|
-
|
|
68
|
+
let s = x.lt(0) ? -1 : 1;
|
|
69
69
|
x = x.mul(s);
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
70
|
+
let xInt = x.div(nodeSDKTypes_1.DECIMALS);
|
|
71
|
+
let xDec = x.sub(xInt.mul(nodeSDKTypes_1.DECIMALS));
|
|
72
|
+
let k = 18 - xDec.toString().length;
|
|
73
|
+
let sPad = "0".repeat(k);
|
|
74
|
+
let NumberStr = xInt.toString() + "." + sPad + xDec.toString();
|
|
75
75
|
return parseFloat(NumberStr) * s;
|
|
76
76
|
}
|
|
77
77
|
exports.dec18ToFloat = dec18ToFloat;
|
|
@@ -86,15 +86,15 @@ function floatToABK64x64(x) {
|
|
|
86
86
|
if (x === 0) {
|
|
87
87
|
return bignumber_1.BigNumber.from(0);
|
|
88
88
|
}
|
|
89
|
-
|
|
89
|
+
let sg = Math.sign(x);
|
|
90
90
|
x = Math.abs(x);
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
91
|
+
let strX = Number(x).toFixed(18);
|
|
92
|
+
const arrX = strX.split(".");
|
|
93
|
+
let xInt = bignumber_1.BigNumber.from(arrX[0]);
|
|
94
|
+
let xDec = bignumber_1.BigNumber.from(arrX[1]);
|
|
95
|
+
let xIntBig = xInt.mul(nodeSDKTypes_1.ONE_64x64);
|
|
96
|
+
let dec18 = bignumber_1.BigNumber.from(10).pow(bignumber_1.BigNumber.from(18));
|
|
97
|
+
let xDecBig = xDec.mul(nodeSDKTypes_1.ONE_64x64).div(dec18);
|
|
98
98
|
return xIntBig.add(xDecBig).mul(sg);
|
|
99
99
|
}
|
|
100
100
|
exports.floatToABK64x64 = floatToABK64x64;
|
|
@@ -108,13 +108,13 @@ function floatToDec18(x) {
|
|
|
108
108
|
if (x === 0) {
|
|
109
109
|
return bignumber_1.BigNumber.from(0);
|
|
110
110
|
}
|
|
111
|
-
|
|
111
|
+
let sg = Math.sign(x);
|
|
112
112
|
x = Math.abs(x);
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
113
|
+
let strX = x.toFixed(18);
|
|
114
|
+
const arrX = strX.split(".");
|
|
115
|
+
let xInt = bignumber_1.BigNumber.from(arrX[0]);
|
|
116
|
+
let xDec = bignumber_1.BigNumber.from(arrX[1]);
|
|
117
|
+
let xIntBig = xInt.mul(nodeSDKTypes_1.DECIMALS);
|
|
118
118
|
return xIntBig.add(xDec).mul(sg);
|
|
119
119
|
}
|
|
120
120
|
exports.floatToDec18 = floatToDec18;
|
|
@@ -129,13 +129,13 @@ function floatToDecN(x, decimals) {
|
|
|
129
129
|
if (x === 0) {
|
|
130
130
|
return bignumber_1.BigNumber.from(0);
|
|
131
131
|
}
|
|
132
|
-
|
|
132
|
+
let sg = Math.sign(x);
|
|
133
133
|
x = Math.abs(x);
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
134
|
+
let strX = x.toFixed(decimals);
|
|
135
|
+
const arrX = strX.split(".");
|
|
136
|
+
let xInt = bignumber_1.BigNumber.from(arrX[0]);
|
|
137
|
+
let xDec = bignumber_1.BigNumber.from(arrX[1]);
|
|
138
|
+
let xIntBig = xInt.mul(bignumber_1.BigNumber.from(10).pow(bignumber_1.BigNumber.from(decimals)));
|
|
139
139
|
return xIntBig.add(xDec).mul(sg);
|
|
140
140
|
}
|
|
141
141
|
exports.floatToDecN = floatToDecN;
|
|
@@ -146,13 +146,13 @@ exports.floatToDecN = floatToDecN;
|
|
|
146
146
|
* @returns number of decimals
|
|
147
147
|
*/
|
|
148
148
|
function countDecimalsOf(x, precision) {
|
|
149
|
-
|
|
149
|
+
let decimalPart = x - Math.floor(x);
|
|
150
150
|
if (decimalPart == 0) {
|
|
151
151
|
return 0;
|
|
152
152
|
}
|
|
153
|
-
|
|
153
|
+
let decimalPartStr = decimalPart.toFixed(precision);
|
|
154
154
|
// remove trailing zeros
|
|
155
|
-
|
|
155
|
+
let c = decimalPartStr.charAt(decimalPartStr.length - 1);
|
|
156
156
|
while (c == "0") {
|
|
157
157
|
decimalPartStr = decimalPartStr.substring(0, decimalPartStr.length - 1);
|
|
158
158
|
c = decimalPartStr.charAt(decimalPartStr.length - 1);
|
|
@@ -174,13 +174,12 @@ exports.countDecimalsOf = countDecimalsOf;
|
|
|
174
174
|
* @param precision optional lot size precision (e.g. if 0.01999 should be 0.02 then precision could be 5)
|
|
175
175
|
* @returns formated number string
|
|
176
176
|
*/
|
|
177
|
-
function roundToLotString(x, lot, precision) {
|
|
178
|
-
if (precision === void 0) { precision = 7; }
|
|
177
|
+
function roundToLotString(x, lot, precision = 7) {
|
|
179
178
|
// round lot to precision
|
|
180
|
-
|
|
181
|
-
|
|
179
|
+
let lotRounded = Math.round(lot / 10 ** -precision) * 10 ** -precision;
|
|
180
|
+
let v = Math.round(x / lotRounded) * lotRounded;
|
|
182
181
|
// number of digits of rounded lot
|
|
183
|
-
|
|
182
|
+
let numDig = countDecimalsOf(lotRounded, precision);
|
|
184
183
|
return v.toFixed(numDig);
|
|
185
184
|
}
|
|
186
185
|
exports.roundToLotString = roundToLotString;
|
|
@@ -235,8 +234,8 @@ function calculateLiquidationPriceCollateralQuanto(LockedInValueQC, position, ca
|
|
|
235
234
|
// m_r = (Sm * Pi - L + cash * S3) / (Sm * |Pi|)
|
|
236
235
|
// m_r = [Sm * Pi - L + cash * S3(0) * (1 + sign(Pi) (Sm / Sm(0) - 1)] / (Sm * |Pi|)
|
|
237
236
|
// -> Sm * (m_r |Pi| - Pi - cash * S3(0) * sign(Pi) / Sm(0)) = - L + cash * S3(0) * (1 - sign(Pi))
|
|
238
|
-
|
|
239
|
-
|
|
237
|
+
let numerator = -LockedInValueQC + cash_cc * S3 * (1 - Math.sign(position));
|
|
238
|
+
let denominator = maintenance_margin_rate * Math.abs(position) - position - (cash_cc * S3 * Math.sign(position)) / Sm;
|
|
240
239
|
return numerator / denominator;
|
|
241
240
|
}
|
|
242
241
|
exports.calculateLiquidationPriceCollateralQuanto = calculateLiquidationPriceCollateralQuanto;
|
|
@@ -252,8 +251,8 @@ exports.calculateLiquidationPriceCollateralQuanto = calculateLiquidationPriceCol
|
|
|
252
251
|
function calculateLiquidationPriceCollateralQuote(LockedInValueQC, position, cash_cc, maintenance_margin_rate) {
|
|
253
252
|
// m_r = (Sm * Pi - L + cash ) / (Sm * |Pi|)
|
|
254
253
|
// -> Sm * (m_r |Pi| - Pi) = - L + cash
|
|
255
|
-
|
|
256
|
-
|
|
254
|
+
let numerator = -LockedInValueQC + cash_cc;
|
|
255
|
+
let denominator = maintenance_margin_rate * Math.abs(position) - position;
|
|
257
256
|
return numerator / denominator;
|
|
258
257
|
}
|
|
259
258
|
exports.calculateLiquidationPriceCollateralQuote = calculateLiquidationPriceCollateralQuote;
|
|
@@ -274,15 +273,15 @@ function getMarginRequiredForLeveragedTrade(targetLeverage, currentPosition, cur
|
|
|
274
273
|
// we solve for margin in:
|
|
275
274
|
// |new position| * Sm / leverage + fee rate * |trade amount| * S2 = margin * S3 + current position * Sm - L + trade amount * (Sm - trade price)
|
|
276
275
|
// --> M S3 = |P'|Sm/L + FeeQC - PnL + (P'-P)(Price - Sm) = pos value / leverage + fees + price impact - pnl
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
276
|
+
let isClosing = currentPosition != 0 && currentPosition * tradeAmount < 0 && currentPosition * (currentPosition + tradeAmount) >= 0;
|
|
277
|
+
let feesCC = (feeRate * Math.abs(tradeAmount) * indexPriceS2) / indexPriceS3;
|
|
278
|
+
let collRequired = feesCC;
|
|
280
279
|
if (!isClosing) {
|
|
281
280
|
if (targetLeverage == undefined || targetLeverage <= 0) {
|
|
282
281
|
throw Error("opening trades must have positive leverage");
|
|
283
282
|
}
|
|
284
283
|
// unrealized pnl (could be + or -) - price impact premium (+)
|
|
285
|
-
|
|
284
|
+
let pnlQC = currentPosition * markPrice - currentLockedInValue - tradeAmount * (tradePrice - markPrice);
|
|
286
285
|
collRequired +=
|
|
287
286
|
Math.max(0, (Math.abs(currentPosition + tradeAmount) * markPrice) / targetLeverage - pnlQC) / indexPriceS3;
|
|
288
287
|
}
|
|
@@ -293,8 +292,8 @@ function getMaxSignedPositionSize(marginCollateral, currentPosition, currentLock
|
|
|
293
292
|
// we solve for new position in:
|
|
294
293
|
// |new position| * Sm / leverage + fee rate * |trade amount| * S2 = margin * S3 + current position * Sm - L + trade amount * (Sm - entry price)
|
|
295
294
|
// |trade amount| = (new position - current position) * direction
|
|
296
|
-
|
|
297
|
-
|
|
295
|
+
let availableCash = marginCollateral * indexPriceS3 + currentPosition * markPrice - currentLockedInValue;
|
|
296
|
+
let effectiveMarginRate = markPrice * initialMarginRate + feeRate * indexPriceS2 + direction * (limitPrice - markPrice);
|
|
298
297
|
return availableCash / effectiveMarginRate;
|
|
299
298
|
}
|
|
300
299
|
exports.getMaxSignedPositionSize = getMaxSignedPositionSize;
|
|
@@ -310,8 +309,8 @@ exports.getMaxSignedPositionSize = getMaxSignedPositionSize;
|
|
|
310
309
|
* @returns Leverage of the resulting position
|
|
311
310
|
*/
|
|
312
311
|
function getNewPositionLeverage(tradeAmount, marginCollateral, currentPosition, currentLockedInValue, price, indexPriceS3, markPrice) {
|
|
313
|
-
|
|
314
|
-
|
|
312
|
+
let newPosition = tradeAmount + currentPosition;
|
|
313
|
+
let pnlQC = currentPosition * markPrice - currentLockedInValue + tradeAmount * (markPrice - price);
|
|
315
314
|
return (Math.abs(newPosition) * markPrice) / (marginCollateral * indexPriceS3 + pnlQC);
|
|
316
315
|
}
|
|
317
316
|
exports.getNewPositionLeverage = getNewPositionLeverage;
|
|
@@ -330,11 +329,11 @@ exports.getNewPositionLeverage = getNewPositionLeverage;
|
|
|
330
329
|
* @returns {number} Amount to be deposited to have the given leverage when trading into position pos before fees
|
|
331
330
|
*/
|
|
332
331
|
function getDepositAmountForLvgTrade(pos0, b0, tradeAmnt, targetLvg, price, S3, S2Mark) {
|
|
333
|
-
|
|
332
|
+
let pnl = (tradeAmnt * (S2Mark - price)) / S3;
|
|
334
333
|
if (targetLvg == 0) {
|
|
335
334
|
targetLvg = (Math.abs(pos0) * S2Mark) / S3 / b0;
|
|
336
335
|
}
|
|
337
|
-
|
|
336
|
+
let b = (Math.abs(pos0 + tradeAmnt) * S2Mark) / S3 / targetLvg;
|
|
338
337
|
return -(b0 + pnl - b);
|
|
339
338
|
}
|
|
340
339
|
exports.getDepositAmountForLvgTrade = getDepositAmountForLvgTrade;
|
package/dist/cjs/d8XMath.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d8XMath.js","sourceRoot":"","sources":["../../src/d8XMath.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"d8XMath.js","sourceRoot":"","sources":["../../src/d8XMath.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -11,5 +11,6 @@ import WriteAccessHandler from "./writeAccessHandler";
|
|
|
11
11
|
import LiquidatorTool from "./liquidatorTool";
|
|
12
12
|
import TraderInterface from "./traderInterface";
|
|
13
13
|
import PerpetualEventHandler from "./perpetualEventHandler";
|
|
14
|
-
|
|
14
|
+
import PriceFeeds from "./priceFeeds";
|
|
15
|
+
export { AccountTrade, BrokerTool, LiquidityProviderTool, MarketData, OrderReferrerTool, PerpetualDataHandler, WriteAccessHandler, LiquidatorTool, TraderInterface, PerpetualEventHandler, PriceFeeds, };
|
|
15
16
|
export * from "./version";
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PerpetualEventHandler = exports.TraderInterface = exports.LiquidatorTool = exports.WriteAccessHandler = exports.PerpetualDataHandler = exports.OrderReferrerTool = exports.MarketData = exports.LiquidityProviderTool = exports.BrokerTool = exports.AccountTrade = void 0;
|
|
4
|
-
|
|
3
|
+
exports.PriceFeeds = exports.PerpetualEventHandler = exports.TraderInterface = exports.LiquidatorTool = exports.WriteAccessHandler = exports.PerpetualDataHandler = exports.OrderReferrerTool = exports.MarketData = exports.LiquidityProviderTool = exports.BrokerTool = exports.AccountTrade = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
5
|
tslib_1.__exportStar(require("./nodeSDKTypes"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./utils"), exports);
|
|
7
7
|
tslib_1.__exportStar(require("./d8XMath"), exports);
|
|
8
|
-
|
|
8
|
+
const accountTrade_1 = tslib_1.__importDefault(require("./accountTrade"));
|
|
9
9
|
exports.AccountTrade = accountTrade_1.default;
|
|
10
|
-
|
|
10
|
+
const brokerTool_1 = tslib_1.__importDefault(require("./brokerTool"));
|
|
11
11
|
exports.BrokerTool = brokerTool_1.default;
|
|
12
|
-
|
|
12
|
+
const liquidityProviderTool_1 = tslib_1.__importDefault(require("./liquidityProviderTool"));
|
|
13
13
|
exports.LiquidityProviderTool = liquidityProviderTool_1.default;
|
|
14
|
-
|
|
14
|
+
const marketData_1 = tslib_1.__importDefault(require("./marketData"));
|
|
15
15
|
exports.MarketData = marketData_1.default;
|
|
16
|
-
|
|
16
|
+
const orderReferrerTool_1 = tslib_1.__importDefault(require("./orderReferrerTool"));
|
|
17
17
|
exports.OrderReferrerTool = orderReferrerTool_1.default;
|
|
18
|
-
|
|
18
|
+
const perpetualDataHandler_1 = tslib_1.__importDefault(require("./perpetualDataHandler"));
|
|
19
19
|
exports.PerpetualDataHandler = perpetualDataHandler_1.default;
|
|
20
|
-
|
|
20
|
+
const writeAccessHandler_1 = tslib_1.__importDefault(require("./writeAccessHandler"));
|
|
21
21
|
exports.WriteAccessHandler = writeAccessHandler_1.default;
|
|
22
|
-
|
|
22
|
+
const liquidatorTool_1 = tslib_1.__importDefault(require("./liquidatorTool"));
|
|
23
23
|
exports.LiquidatorTool = liquidatorTool_1.default;
|
|
24
|
-
|
|
24
|
+
const traderInterface_1 = tslib_1.__importDefault(require("./traderInterface"));
|
|
25
25
|
exports.TraderInterface = traderInterface_1.default;
|
|
26
|
-
|
|
26
|
+
const perpetualEventHandler_1 = tslib_1.__importDefault(require("./perpetualEventHandler"));
|
|
27
27
|
exports.PerpetualEventHandler = perpetualEventHandler_1.default;
|
|
28
|
+
const priceFeeds_1 = tslib_1.__importDefault(require("./priceFeeds"));
|
|
29
|
+
exports.PriceFeeds = priceFeeds_1.default;
|
|
28
30
|
tslib_1.__exportStar(require("./version"), exports);
|
|
29
31
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,yDAA+B;AAC/B,kDAAwB;AACxB,oDAA0B;AAE1B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,yDAA+B;AAC/B,kDAAwB;AACxB,oDAA0B;AAE1B,0EAA0C;AAaxC,uBAbK,sBAAY,CAaL;AAZd,sEAAsC;AAapC,qBAbK,oBAAU,CAaL;AAZZ,4FAA4D;AAa1D,gCAbK,+BAAqB,CAaL;AAZvB,sEAAsC;AAapC,qBAbK,oBAAU,CAaL;AAZZ,oFAAoD;AAalD,4BAbK,2BAAiB,CAaL;AAZnB,0FAA0D;AAaxD,+BAbK,8BAAoB,CAaL;AAZtB,sFAAsD;AAapD,6BAbK,4BAAkB,CAaL;AAZpB,8EAA8C;AAa5C,yBAbK,wBAAc,CAaL;AAZhB,gFAAgD;AAa9C,0BAbK,yBAAe,CAaL;AAZjB,4FAA4D;AAa1D,gCAbK,+BAAqB,CAaL;AAZvB,sEAAsC;AAapC,qBAbK,oBAAU,CAaL;AAGZ,oDAA0B"}
|