@lifi/perps-sdk 23.1.0 → 24.0.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.
- package/README.md +85 -45
- package/dist/cjs/client/PerpsClient.d.ts +3 -2
- package/dist/cjs/client/PerpsClient.d.ts.map +1 -1
- package/dist/cjs/client/PerpsClient.js +16 -9
- package/dist/cjs/client/PerpsClient.js.map +1 -1
- package/dist/cjs/decimal/arithmetic.d.ts +13 -0
- package/dist/cjs/decimal/arithmetic.d.ts.map +1 -0
- package/dist/cjs/decimal/arithmetic.js +48 -0
- package/dist/cjs/decimal/arithmetic.js.map +1 -0
- package/dist/cjs/decimal/big.d.ts +0 -1
- package/dist/cjs/decimal/big.d.ts.map +1 -1
- package/dist/cjs/decimal/big.js +0 -4
- package/dist/cjs/decimal/big.js.map +1 -1
- package/dist/cjs/decimal/compare.d.ts +6 -2
- package/dist/cjs/decimal/compare.d.ts.map +1 -1
- package/dist/cjs/decimal/compare.js +15 -2
- package/dist/cjs/decimal/compare.js.map +1 -1
- package/dist/cjs/decimal/convert.d.ts +12 -6
- package/dist/cjs/decimal/convert.d.ts.map +1 -1
- package/dist/cjs/decimal/convert.js +36 -14
- package/dist/cjs/decimal/convert.js.map +1 -1
- package/dist/cjs/decimal/decimalStringToBig.d.ts +5 -0
- package/dist/cjs/decimal/decimalStringToBig.d.ts.map +1 -0
- package/dist/cjs/decimal/decimalStringToBig.js +27 -0
- package/dist/cjs/decimal/decimalStringToBig.js.map +1 -0
- package/dist/cjs/decimal/format.d.ts.map +1 -1
- package/dist/cjs/decimal/format.js +70 -52
- package/dist/cjs/decimal/format.js.map +1 -1
- package/dist/cjs/decimal/parse.d.ts +4 -4
- package/dist/cjs/decimal/parse.d.ts.map +1 -1
- package/dist/cjs/decimal/parse.js +42 -25
- package/dist/cjs/decimal/parse.js.map +1 -1
- package/dist/cjs/index.d.ts +13 -11
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +64 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/math/fills.d.ts +1 -1
- package/dist/cjs/math/fills.d.ts.map +1 -1
- package/dist/cjs/math/fills.js +28 -13
- package/dist/cjs/math/fills.js.map +1 -1
- package/dist/cjs/math/order.d.ts +27 -16
- package/dist/cjs/math/order.d.ts.map +1 -1
- package/dist/cjs/math/order.js +106 -122
- package/dist/cjs/math/order.js.map +1 -1
- package/dist/cjs/math/position.d.ts +85 -35
- package/dist/cjs/math/position.d.ts.map +1 -1
- package/dist/cjs/math/position.js +88 -91
- package/dist/cjs/math/position.js.map +1 -1
- package/dist/cjs/services/getGasRecommendation.js +1 -1
- package/dist/cjs/services/getGasRecommendation.js.map +1 -1
- package/dist/cjs/services/getQuote.d.ts +1 -1
- package/dist/cjs/services/resolveSubscribeQuote.d.ts.map +1 -1
- package/dist/cjs/services/resolveSubscribeQuote.js +3 -2
- package/dist/cjs/services/resolveSubscribeQuote.js.map +1 -1
- package/dist/cjs/transport/request.d.ts +1 -0
- package/dist/cjs/transport/request.d.ts.map +1 -1
- package/dist/cjs/transport/request.js +2 -2
- package/dist/cjs/transport/request.js.map +1 -1
- package/dist/cjs/types/api.d.ts +4 -0
- package/dist/cjs/types/api.d.ts.map +1 -1
- package/dist/cjs/types/provider.d.ts +9 -5
- package/dist/cjs/types/provider.d.ts.map +1 -1
- package/dist/cjs/types/withdrawal.d.ts +12 -4
- package/dist/cjs/types/withdrawal.d.ts.map +1 -1
- package/dist/cjs/utils/createSafeFunction.d.ts +2 -0
- package/dist/cjs/utils/createSafeFunction.d.ts.map +1 -0
- package/dist/cjs/utils/createSafeFunction.js +15 -0
- package/dist/cjs/utils/createSafeFunction.js.map +1 -0
- package/dist/cjs/utils/timestampToIsoString.d.ts +3 -0
- package/dist/cjs/utils/timestampToIsoString.d.ts.map +1 -0
- package/dist/cjs/utils/timestampToIsoString.js +16 -0
- package/dist/cjs/utils/timestampToIsoString.js.map +1 -0
- package/dist/cjs/utils/warnOnce.d.ts +2 -0
- package/dist/cjs/utils/warnOnce.d.ts.map +1 -1
- package/dist/cjs/utils/warnOnce.js +13 -1
- package/dist/cjs/utils/warnOnce.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/websocket/PerpsWsClient.d.ts +2 -0
- package/dist/cjs/websocket/PerpsWsClient.d.ts.map +1 -1
- package/dist/cjs/websocket/PerpsWsClient.js +14 -1
- package/dist/cjs/websocket/PerpsWsClient.js.map +1 -1
- package/dist/cjs/websocket/wsLog.d.ts +2 -0
- package/dist/cjs/websocket/wsLog.d.ts.map +1 -1
- package/dist/cjs/websocket/wsLog.js +8 -0
- package/dist/cjs/websocket/wsLog.js.map +1 -1
- package/dist/cjs/wire/orderAmounts.d.ts.map +1 -1
- package/dist/cjs/wire/orderAmounts.js +6 -9
- package/dist/cjs/wire/orderAmounts.js.map +1 -1
- package/dist/cjs/wire/refuel.d.ts +4 -1
- package/dist/cjs/wire/refuel.d.ts.map +1 -1
- package/dist/cjs/wire/refuel.js +23 -6
- package/dist/cjs/wire/refuel.js.map +1 -1
- package/dist/cjs/wire/transferable.js +3 -3
- package/dist/cjs/wire/transferable.js.map +1 -1
- package/dist/cjs/wire/withdraw.d.ts.map +1 -1
- package/dist/cjs/wire/withdraw.js +3 -3
- package/dist/cjs/wire/withdraw.js.map +1 -1
- package/dist/esm/client/PerpsClient.d.ts +17 -4
- package/dist/esm/client/PerpsClient.d.ts.map +1 -1
- package/dist/esm/client/PerpsClient.js +30 -8
- package/dist/esm/client/PerpsClient.js.map +1 -1
- package/dist/esm/decimal/arithmetic.d.ts +84 -0
- package/dist/esm/decimal/arithmetic.d.ts.map +1 -0
- package/dist/esm/decimal/arithmetic.js +110 -0
- package/dist/esm/decimal/arithmetic.js.map +1 -0
- package/dist/esm/decimal/big.d.ts +0 -2
- package/dist/esm/decimal/big.d.ts.map +1 -1
- package/dist/esm/decimal/big.js +0 -4
- package/dist/esm/decimal/big.js.map +1 -1
- package/dist/esm/decimal/compare.d.ts +39 -5
- package/dist/esm/decimal/compare.d.ts.map +1 -1
- package/dist/esm/decimal/compare.js +45 -5
- package/dist/esm/decimal/compare.js.map +1 -1
- package/dist/esm/decimal/convert.d.ts +62 -26
- package/dist/esm/decimal/convert.d.ts.map +1 -1
- package/dist/esm/decimal/convert.js +76 -25
- package/dist/esm/decimal/convert.js.map +1 -1
- package/dist/esm/decimal/decimalStringToBig.d.ts +26 -0
- package/dist/esm/decimal/decimalStringToBig.d.ts.map +1 -0
- package/dist/esm/decimal/decimalStringToBig.js +40 -0
- package/dist/esm/decimal/decimalStringToBig.js.map +1 -0
- package/dist/esm/decimal/format.d.ts +4 -1
- package/dist/esm/decimal/format.d.ts.map +1 -1
- package/dist/esm/decimal/format.js +71 -70
- package/dist/esm/decimal/format.js.map +1 -1
- package/dist/esm/decimal/parse.d.ts +22 -13
- package/dist/esm/decimal/parse.d.ts.map +1 -1
- package/dist/esm/decimal/parse.js +56 -46
- package/dist/esm/decimal/parse.js.map +1 -1
- package/dist/esm/index.d.ts +13 -11
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +9 -7
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/math/fills.d.ts +6 -3
- package/dist/esm/math/fills.d.ts.map +1 -1
- package/dist/esm/math/fills.js +31 -16
- package/dist/esm/math/fills.js.map +1 -1
- package/dist/esm/math/order.d.ts +85 -65
- package/dist/esm/math/order.d.ts.map +1 -1
- package/dist/esm/math/order.js +158 -166
- package/dist/esm/math/order.js.map +1 -1
- package/dist/esm/math/position.d.ts +155 -98
- package/dist/esm/math/position.d.ts.map +1 -1
- package/dist/esm/math/position.js +157 -155
- package/dist/esm/math/position.js.map +1 -1
- package/dist/esm/services/getGasRecommendation.js +1 -1
- package/dist/esm/services/getGasRecommendation.js.map +1 -1
- package/dist/esm/services/getQuote.d.ts +2 -2
- package/dist/esm/services/getQuote.js +1 -1
- package/dist/esm/services/resolveSubscribeQuote.d.ts +1 -1
- package/dist/esm/services/resolveSubscribeQuote.d.ts.map +1 -1
- package/dist/esm/services/resolveSubscribeQuote.js +4 -3
- package/dist/esm/services/resolveSubscribeQuote.js.map +1 -1
- package/dist/esm/transport/request.d.ts +5 -0
- package/dist/esm/transport/request.d.ts.map +1 -1
- package/dist/esm/transport/request.js +2 -2
- package/dist/esm/transport/request.js.map +1 -1
- package/dist/esm/types/api.d.ts +9 -0
- package/dist/esm/types/api.d.ts.map +1 -1
- package/dist/esm/types/provider.d.ts +26 -13
- package/dist/esm/types/provider.d.ts.map +1 -1
- package/dist/esm/types/withdrawal.d.ts +32 -7
- package/dist/esm/types/withdrawal.d.ts.map +1 -1
- package/dist/esm/utils/createSafeFunction.d.ts +9 -0
- package/dist/esm/utils/createSafeFunction.d.ts.map +1 -0
- package/dist/esm/utils/createSafeFunction.js +19 -0
- package/dist/esm/utils/createSafeFunction.js.map +1 -0
- package/dist/esm/utils/timestampToIsoString.d.ts +15 -0
- package/dist/esm/utils/timestampToIsoString.d.ts.map +1 -0
- package/dist/esm/utils/timestampToIsoString.js +24 -0
- package/dist/esm/utils/timestampToIsoString.js.map +1 -0
- package/dist/esm/utils/warnOnce.d.ts +16 -0
- package/dist/esm/utils/warnOnce.d.ts.map +1 -1
- package/dist/esm/utils/warnOnce.js +24 -0
- package/dist/esm/utils/warnOnce.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/websocket/PerpsWsClient.d.ts +7 -0
- package/dist/esm/websocket/PerpsWsClient.d.ts.map +1 -1
- package/dist/esm/websocket/PerpsWsClient.js +20 -2
- package/dist/esm/websocket/PerpsWsClient.js.map +1 -1
- package/dist/esm/websocket/wsLog.d.ts +12 -0
- package/dist/esm/websocket/wsLog.d.ts.map +1 -1
- package/dist/esm/websocket/wsLog.js +18 -0
- package/dist/esm/websocket/wsLog.js.map +1 -1
- package/dist/esm/wire/orderAmounts.d.ts.map +1 -1
- package/dist/esm/wire/orderAmounts.js +2 -2
- package/dist/esm/wire/orderAmounts.js.map +1 -1
- package/dist/esm/wire/refuel.d.ts +24 -14
- package/dist/esm/wire/refuel.d.ts.map +1 -1
- package/dist/esm/wire/refuel.js +38 -17
- package/dist/esm/wire/refuel.js.map +1 -1
- package/dist/esm/wire/transferable.js +3 -3
- package/dist/esm/wire/transferable.js.map +1 -1
- package/dist/esm/wire/withdraw.d.ts.map +1 -1
- package/dist/esm/wire/withdraw.js +3 -3
- package/dist/esm/wire/withdraw.js.map +1 -1
- package/dist/types/client/PerpsClient.d.ts +17 -4
- package/dist/types/client/PerpsClient.d.ts.map +1 -1
- package/dist/types/decimal/arithmetic.d.ts +84 -0
- package/dist/types/decimal/arithmetic.d.ts.map +1 -0
- package/dist/types/decimal/big.d.ts +0 -2
- package/dist/types/decimal/big.d.ts.map +1 -1
- package/dist/types/decimal/compare.d.ts +39 -5
- package/dist/types/decimal/compare.d.ts.map +1 -1
- package/dist/types/decimal/convert.d.ts +62 -26
- package/dist/types/decimal/convert.d.ts.map +1 -1
- package/dist/types/decimal/decimalStringToBig.d.ts +26 -0
- package/dist/types/decimal/decimalStringToBig.d.ts.map +1 -0
- package/dist/types/decimal/format.d.ts +4 -1
- package/dist/types/decimal/format.d.ts.map +1 -1
- package/dist/types/decimal/parse.d.ts +22 -13
- package/dist/types/decimal/parse.d.ts.map +1 -1
- package/dist/types/index.d.ts +13 -11
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/math/fills.d.ts +6 -3
- package/dist/types/math/fills.d.ts.map +1 -1
- package/dist/types/math/order.d.ts +85 -65
- package/dist/types/math/order.d.ts.map +1 -1
- package/dist/types/math/position.d.ts +155 -98
- package/dist/types/math/position.d.ts.map +1 -1
- package/dist/types/services/getQuote.d.ts +2 -2
- package/dist/types/services/resolveSubscribeQuote.d.ts +1 -1
- package/dist/types/services/resolveSubscribeQuote.d.ts.map +1 -1
- package/dist/types/transport/request.d.ts +5 -0
- package/dist/types/transport/request.d.ts.map +1 -1
- package/dist/types/types/api.d.ts +9 -0
- package/dist/types/types/api.d.ts.map +1 -1
- package/dist/types/types/provider.d.ts +26 -13
- package/dist/types/types/provider.d.ts.map +1 -1
- package/dist/types/types/withdrawal.d.ts +32 -7
- package/dist/types/types/withdrawal.d.ts.map +1 -1
- package/dist/types/utils/createSafeFunction.d.ts +9 -0
- package/dist/types/utils/createSafeFunction.d.ts.map +1 -0
- package/dist/types/utils/timestampToIsoString.d.ts +15 -0
- package/dist/types/utils/timestampToIsoString.d.ts.map +1 -0
- package/dist/types/utils/warnOnce.d.ts +16 -0
- package/dist/types/utils/warnOnce.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/websocket/PerpsWsClient.d.ts +7 -0
- package/dist/types/websocket/PerpsWsClient.d.ts.map +1 -1
- package/dist/types/websocket/wsLog.d.ts +12 -0
- package/dist/types/websocket/wsLog.d.ts.map +1 -1
- package/dist/types/wire/orderAmounts.d.ts.map +1 -1
- package/dist/types/wire/refuel.d.ts +24 -14
- package/dist/types/wire/refuel.d.ts.map +1 -1
- package/dist/types/wire/withdraw.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/client/PerpsClient.ts +48 -10
- package/src/decimal/arithmetic.ts +144 -0
- package/src/decimal/big.ts +0 -5
- package/src/decimal/compare.ts +60 -10
- package/src/decimal/convert.ts +123 -44
- package/src/decimal/decimalStringToBig.ts +47 -0
- package/src/decimal/format.ts +81 -72
- package/src/decimal/parse.ts +71 -61
- package/src/index.ts +73 -10
- package/src/math/fills.ts +32 -17
- package/src/math/order.ts +261 -216
- package/src/math/position.ts +277 -194
- package/src/services/getGasRecommendation.ts +1 -1
- package/src/services/getQuote.ts +2 -2
- package/src/services/resolveSubscribeQuote.ts +4 -3
- package/src/transport/request.ts +7 -2
- package/src/types/api.ts +10 -0
- package/src/types/provider.ts +35 -13
- package/src/types/withdrawal.ts +35 -8
- package/src/utils/createSafeFunction.ts +20 -0
- package/src/utils/timestampToIsoString.ts +31 -0
- package/src/utils/warnOnce.ts +44 -0
- package/src/version.ts +1 -1
- package/src/websocket/PerpsWsClient.ts +25 -2
- package/src/websocket/wsLog.ts +31 -0
- package/src/wire/orderAmounts.ts +3 -2
- package/src/wire/refuel.ts +56 -20
- package/src/wire/transferable.ts +3 -3
- package/src/wire/withdraw.ts +3 -5
- package/dist/cjs/decimal/requireDecimal.d.ts +0 -4
- package/dist/cjs/decimal/requireDecimal.d.ts.map +0 -1
- package/dist/cjs/decimal/requireDecimal.js +0 -12
- package/dist/cjs/decimal/requireDecimal.js.map +0 -1
- package/dist/esm/decimal/requireDecimal.d.ts +0 -5
- package/dist/esm/decimal/requireDecimal.d.ts.map +0 -1
- package/dist/esm/decimal/requireDecimal.js +0 -7
- package/dist/esm/decimal/requireDecimal.js.map +0 -1
- package/dist/types/decimal/requireDecimal.d.ts +0 -5
- package/dist/types/decimal/requireDecimal.d.ts.map +0 -1
- package/src/decimal/requireDecimal.ts +0 -8
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.safeCalculateRealizedPnl = exports.safeEstimateUnrealizedPnl = exports.safeEstimateNewLeverage = exports.safeEstimateAverageEntryPrice = exports.safeWouldImmediatelyLiquidate = exports.safeEstimateLiquidationPriceAtMarketRate = exports.safeEstimateLiquidationPrice = exports.safeCalculateEffectiveLeverage = exports.safeCalculateLiquidationDistance = exports.safeCalculateRequiredMargin = exports.safeCalculateRoe = exports.safeCalculateUnrealizedPnl = exports.safeCalculateNotionalValue = void 0;
|
|
3
4
|
exports.calculateNotionalValue = calculateNotionalValue;
|
|
4
5
|
exports.calculateUnrealizedPnl = calculateUnrealizedPnl;
|
|
5
6
|
exports.calculateRoe = calculateRoe;
|
|
@@ -7,6 +8,7 @@ exports.calculateRequiredMargin = calculateRequiredMargin;
|
|
|
7
8
|
exports.calculateLiquidationDistance = calculateLiquidationDistance;
|
|
8
9
|
exports.calculateEffectiveLeverage = calculateEffectiveLeverage;
|
|
9
10
|
exports.estimateLiquidationPrice = estimateLiquidationPrice;
|
|
11
|
+
exports.estimateLiquidationPriceAtMarketRate = estimateLiquidationPriceAtMarketRate;
|
|
10
12
|
exports.wouldImmediatelyLiquidate = wouldImmediatelyLiquidate;
|
|
11
13
|
exports.estimateAverageEntryPrice = estimateAverageEntryPrice;
|
|
12
14
|
exports.estimateNewLeverage = estimateNewLeverage;
|
|
@@ -16,138 +18,133 @@ exports.positionSupportsMarginAdjustment = positionSupportsMarginAdjustment;
|
|
|
16
18
|
exports.positionSupportsMarginRemoval = positionSupportsMarginRemoval;
|
|
17
19
|
const perps_types_1 = require("@lifi/perps-types");
|
|
18
20
|
const big_js_1 = require("../decimal/big.js");
|
|
21
|
+
const convert_js_1 = require("../decimal/convert.js");
|
|
22
|
+
const decimalStringToBig_js_1 = require("../decimal/decimalStringToBig.js");
|
|
23
|
+
const PerpsError_js_1 = require("../errors/PerpsError.js");
|
|
24
|
+
const createSafeFunction_js_1 = require("../utils/createSafeFunction.js");
|
|
19
25
|
function calculateNotionalValue(size, price) {
|
|
20
|
-
|
|
21
|
-
return Number.NaN;
|
|
22
|
-
}
|
|
23
|
-
return new big_js_1.DivBig(size).abs().times(price).toNumber();
|
|
26
|
+
return (0, decimalStringToBig_js_1.bigToDecimalString)((0, decimalStringToBig_js_1.decimalStringToBig)(size).abs().times((0, decimalStringToBig_js_1.decimalStringToBig)(price)));
|
|
24
27
|
}
|
|
28
|
+
exports.safeCalculateNotionalValue = (0, createSafeFunction_js_1.createSafeFunction)('calculateNotionalValue', calculateNotionalValue);
|
|
25
29
|
function calculateUnrealizedPnl(entryPrice, currentPrice, size) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
return new big_js_1.DivBig(currentPrice).minus(entryPrice).times(size).toNumber();
|
|
30
|
+
return (0, decimalStringToBig_js_1.bigToDecimalString)((0, decimalStringToBig_js_1.decimalStringToBig)(currentPrice)
|
|
31
|
+
.minus((0, decimalStringToBig_js_1.decimalStringToBig)(entryPrice))
|
|
32
|
+
.times((0, decimalStringToBig_js_1.decimalStringToBig)(size)));
|
|
30
33
|
}
|
|
34
|
+
exports.safeCalculateUnrealizedPnl = (0, createSafeFunction_js_1.createSafeFunction)('calculateUnrealizedPnl', calculateUnrealizedPnl);
|
|
31
35
|
function calculateRoe(pnl, margin) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return Number.NaN;
|
|
36
|
+
const marginBig = (0, decimalStringToBig_js_1.decimalStringToBig)(margin);
|
|
37
|
+
const pnlBig = (0, decimalStringToBig_js_1.decimalStringToDivBig)(pnl);
|
|
38
|
+
if (marginBig.eq(0)) {
|
|
39
|
+
return '0';
|
|
37
40
|
}
|
|
38
|
-
return
|
|
41
|
+
return (0, decimalStringToBig_js_1.bigToDecimalString)(pnlBig.div(marginBig).times(100));
|
|
39
42
|
}
|
|
43
|
+
exports.safeCalculateRoe = (0, createSafeFunction_js_1.createSafeFunction)('calculateRoe', calculateRoe);
|
|
40
44
|
function calculateRequiredMargin(notionalValue, leverage) {
|
|
41
|
-
|
|
42
|
-
|
|
45
|
+
const notionalBig = (0, decimalStringToBig_js_1.decimalStringToDivBig)(notionalValue);
|
|
46
|
+
const leverageBig = (0, decimalStringToBig_js_1.decimalStringToBig)(leverage);
|
|
47
|
+
if (leverageBig.eq(0)) {
|
|
48
|
+
throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, 'Leverage must not be zero.');
|
|
43
49
|
}
|
|
44
|
-
|
|
45
|
-
return Number.NaN;
|
|
46
|
-
}
|
|
47
|
-
return new big_js_1.DivBig(notionalValue).div(leverage).toNumber();
|
|
50
|
+
return (0, decimalStringToBig_js_1.bigToDecimalString)(notionalBig.div(leverageBig));
|
|
48
51
|
}
|
|
52
|
+
exports.safeCalculateRequiredMargin = (0, createSafeFunction_js_1.createSafeFunction)('calculateRequiredMargin', calculateRequiredMargin);
|
|
49
53
|
function calculateLiquidationDistance(params) {
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
54
|
+
const liquidationPrice = (0, decimalStringToBig_js_1.decimalStringToDivBig)(params.liquidationPrice);
|
|
55
|
+
const currentPrice = (0, decimalStringToBig_js_1.decimalStringToBig)(params.currentPrice);
|
|
56
|
+
if (currentPrice.eq(0)) {
|
|
57
|
+
return '0';
|
|
53
58
|
}
|
|
54
|
-
return
|
|
59
|
+
return (0, decimalStringToBig_js_1.bigToDecimalString)(liquidationPrice.minus(currentPrice).div(currentPrice).abs().times(100));
|
|
55
60
|
}
|
|
61
|
+
exports.safeCalculateLiquidationDistance = (0, createSafeFunction_js_1.createSafeFunction)('calculateLiquidationDistance', calculateLiquidationDistance);
|
|
56
62
|
function calculateEffectiveLeverage(params) {
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
if (!(0, big_js_1.areFinite)(positionValueUsd, marginUsd)) {
|
|
62
|
-
return Number.NaN;
|
|
63
|
+
const positionValue = (0, decimalStringToBig_js_1.decimalStringToDivBig)(params.positionValueUsd);
|
|
64
|
+
const margin = (0, decimalStringToBig_js_1.decimalStringToBig)(params.marginUsd);
|
|
65
|
+
if (margin.eq(0)) {
|
|
66
|
+
return '0';
|
|
63
67
|
}
|
|
64
|
-
return
|
|
68
|
+
return (0, decimalStringToBig_js_1.bigToDecimalString)(positionValue.div(margin));
|
|
65
69
|
}
|
|
70
|
+
exports.safeCalculateEffectiveLeverage = (0, createSafeFunction_js_1.createSafeFunction)('calculateEffectiveLeverage', calculateEffectiveLeverage);
|
|
66
71
|
function estimateLiquidationPrice(params) {
|
|
67
|
-
const
|
|
68
|
-
|
|
72
|
+
const entryPrice = (0, decimalStringToBig_js_1.decimalStringToBig)(params.entryPrice);
|
|
73
|
+
const leverage = (0, decimalStringToBig_js_1.decimalStringToBig)(params.leverage);
|
|
74
|
+
const mmr = (0, decimalStringToBig_js_1.decimalStringToBig)(params.maintenanceMarginRate);
|
|
75
|
+
const side = params.isLong ? 1 : -1;
|
|
76
|
+
const denominator = mmr.times(-side).plus(1);
|
|
77
|
+
if (leverage.eq(0) || denominator.eq(0)) {
|
|
69
78
|
return undefined;
|
|
70
79
|
}
|
|
71
|
-
const side = isLong ? 1 : -1;
|
|
72
|
-
const denominator = 1 - maintenanceMarginRate * side;
|
|
73
|
-
if (denominator === 0) {
|
|
74
|
-
return undefined;
|
|
75
|
-
}
|
|
76
|
-
if (!(0, big_js_1.areFinite)(entryPrice, leverage, maintenanceMarginRate)) {
|
|
77
|
-
return Number.NaN;
|
|
78
|
-
}
|
|
79
|
-
const mmr = new big_js_1.DivBig(maintenanceMarginRate);
|
|
80
80
|
const marginAvailable = new big_js_1.DivBig(1)
|
|
81
81
|
.div(leverage)
|
|
82
82
|
.minus(mmr)
|
|
83
83
|
.times(entryPrice);
|
|
84
|
-
return
|
|
85
|
-
.minus(marginAvailable.times(side).div(mmr.times(-side).plus(1)))
|
|
86
|
-
.toNumber();
|
|
84
|
+
return (0, decimalStringToBig_js_1.bigToDecimalString)(entryPrice.minus(marginAvailable.times(side).div(denominator)));
|
|
87
85
|
}
|
|
86
|
+
exports.safeEstimateLiquidationPrice = (0, createSafeFunction_js_1.createSafeFunction)('estimateLiquidationPrice', estimateLiquidationPrice);
|
|
87
|
+
function estimateLiquidationPriceAtMarketRate(market, params) {
|
|
88
|
+
if (market.maintenanceMarginRate === undefined) {
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
return estimateLiquidationPrice({
|
|
92
|
+
entryPrice: params.entryPrice,
|
|
93
|
+
leverage: params.leverage,
|
|
94
|
+
isLong: params.isLong,
|
|
95
|
+
maintenanceMarginRate: (0, convert_js_1.numberToDecimalString)(market.maintenanceMarginRate),
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
exports.safeEstimateLiquidationPriceAtMarketRate = (0, createSafeFunction_js_1.createSafeFunction)('estimateLiquidationPriceAtMarketRate', estimateLiquidationPriceAtMarketRate);
|
|
88
99
|
function wouldImmediatelyLiquidate(params) {
|
|
89
|
-
const
|
|
90
|
-
|
|
100
|
+
const liquidationPrice = (0, decimalStringToBig_js_1.decimalStringToBig)(params.liquidationPrice);
|
|
101
|
+
const currentPrice = (0, decimalStringToBig_js_1.decimalStringToBig)(params.currentPrice);
|
|
102
|
+
if (currentPrice.lte(0) || liquidationPrice.lte(0)) {
|
|
91
103
|
return false;
|
|
92
104
|
}
|
|
93
|
-
return isLong
|
|
94
|
-
? liquidationPrice
|
|
95
|
-
: liquidationPrice
|
|
105
|
+
return params.isLong
|
|
106
|
+
? liquidationPrice.gte(currentPrice)
|
|
107
|
+
: liquidationPrice.lte(currentPrice);
|
|
96
108
|
}
|
|
109
|
+
exports.safeWouldImmediatelyLiquidate = (0, createSafeFunction_js_1.createSafeFunction)('wouldImmediatelyLiquidate', wouldImmediatelyLiquidate);
|
|
97
110
|
function estimateAverageEntryPrice(params) {
|
|
98
|
-
const
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
if (
|
|
111
|
+
const currentSize = (0, decimalStringToBig_js_1.decimalStringToDivBig)(params.currentSize);
|
|
112
|
+
const addSize = (0, decimalStringToBig_js_1.decimalStringToBig)(params.addSize);
|
|
113
|
+
const currentEntry = (0, decimalStringToBig_js_1.decimalStringToBig)(params.currentEntry);
|
|
114
|
+
const fillPrice = (0, decimalStringToBig_js_1.decimalStringToBig)(params.fillPrice);
|
|
115
|
+
const totalSize = currentSize.plus(addSize);
|
|
116
|
+
if (totalSize.lte(0)) {
|
|
104
117
|
return undefined;
|
|
105
118
|
}
|
|
106
|
-
|
|
107
|
-
return Number.NaN;
|
|
108
|
-
}
|
|
109
|
-
return new big_js_1.DivBig(currentSize)
|
|
119
|
+
return (0, decimalStringToBig_js_1.bigToDecimalString)(currentSize
|
|
110
120
|
.times(currentEntry)
|
|
111
|
-
.plus(
|
|
112
|
-
.div(
|
|
113
|
-
.toNumber();
|
|
121
|
+
.plus(addSize.times(fillPrice))
|
|
122
|
+
.div(totalSize));
|
|
114
123
|
}
|
|
124
|
+
exports.safeEstimateAverageEntryPrice = (0, createSafeFunction_js_1.createSafeFunction)('estimateAverageEntryPrice', estimateAverageEntryPrice);
|
|
115
125
|
function estimateNewLeverage(params) {
|
|
116
|
-
const
|
|
117
|
-
const totalMargin = currentMargin
|
|
118
|
-
if (totalMargin
|
|
126
|
+
const totalNotional = (0, decimalStringToBig_js_1.decimalStringToDivBig)(params.currentNotional).plus((0, decimalStringToBig_js_1.decimalStringToBig)(params.addNotional));
|
|
127
|
+
const totalMargin = (0, decimalStringToBig_js_1.decimalStringToBig)(params.currentMargin).plus((0, decimalStringToBig_js_1.decimalStringToBig)(params.addMargin));
|
|
128
|
+
if (totalMargin.lte(0)) {
|
|
119
129
|
return undefined;
|
|
120
130
|
}
|
|
121
|
-
|
|
122
|
-
return Number.NaN;
|
|
123
|
-
}
|
|
124
|
-
return new big_js_1.DivBig(currentNotional)
|
|
125
|
-
.plus(addNotional)
|
|
126
|
-
.div(new big_js_1.DivBig(currentMargin).plus(addMargin))
|
|
127
|
-
.toNumber();
|
|
131
|
+
return (0, decimalStringToBig_js_1.bigToDecimalString)(totalNotional.div(totalMargin));
|
|
128
132
|
}
|
|
133
|
+
exports.safeEstimateNewLeverage = (0, createSafeFunction_js_1.createSafeFunction)('estimateNewLeverage', estimateNewLeverage);
|
|
129
134
|
function estimateUnrealizedPnl(params) {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
return new big_js_1.DivBig(markPrice)
|
|
135
|
-
.minus(entryPrice)
|
|
136
|
-
.times(size)
|
|
137
|
-
.times(isLong ? 1 : -1)
|
|
138
|
-
.toNumber();
|
|
135
|
+
return (0, decimalStringToBig_js_1.bigToDecimalString)((0, decimalStringToBig_js_1.decimalStringToBig)(params.markPrice)
|
|
136
|
+
.minus((0, decimalStringToBig_js_1.decimalStringToBig)(params.entryPrice))
|
|
137
|
+
.times((0, decimalStringToBig_js_1.decimalStringToBig)(params.size))
|
|
138
|
+
.times(params.isLong ? 1 : -1));
|
|
139
139
|
}
|
|
140
|
+
exports.safeEstimateUnrealizedPnl = (0, createSafeFunction_js_1.createSafeFunction)('estimateUnrealizedPnl', estimateUnrealizedPnl);
|
|
140
141
|
function calculateRealizedPnl(params) {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
return new big_js_1.DivBig(closePrice)
|
|
146
|
-
.minus(entryPrice)
|
|
147
|
-
.times(closeSize)
|
|
148
|
-
.times(isLong ? 1 : -1)
|
|
149
|
-
.toNumber();
|
|
142
|
+
return (0, decimalStringToBig_js_1.bigToDecimalString)((0, decimalStringToBig_js_1.decimalStringToBig)(params.closePrice)
|
|
143
|
+
.minus((0, decimalStringToBig_js_1.decimalStringToBig)(params.entryPrice))
|
|
144
|
+
.times((0, decimalStringToBig_js_1.decimalStringToBig)(params.closeSize))
|
|
145
|
+
.times(params.isLong ? 1 : -1));
|
|
150
146
|
}
|
|
147
|
+
exports.safeCalculateRealizedPnl = (0, createSafeFunction_js_1.createSafeFunction)('calculateRealizedPnl', calculateRealizedPnl);
|
|
151
148
|
function positionSupportsMarginAdjustment(position) {
|
|
152
149
|
return (position.marginMode === perps_types_1.MarginMode.ISOLATED &&
|
|
153
150
|
position.market.positionMarginAdjustment !== perps_types_1.PositionMarginAdjustment.NONE);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.js","sourceRoot":"","sources":["../../../src/math/position.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"position.js","sourceRoot":"","sources":["../../../src/math/position.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,6 @@ exports.getGasRecommendation = getGasRecommendation;
|
|
|
5
5
|
const request_js_1 = require("../transport/request.js");
|
|
6
6
|
exports.LIFI_API_URL = 'https://li.quest/v1';
|
|
7
7
|
async function getGasRecommendation(client, params, options) {
|
|
8
|
-
return (0, request_js_1.request)(client.config, `${exports.LIFI_API_URL}/gas/suggestion/${params.chainId}`, {}, options);
|
|
8
|
+
return (0, request_js_1.request)(client.config, `${exports.LIFI_API_URL}/gas/suggestion/${params.chainId}`, { perpsSdkHeader: false }, options);
|
|
9
9
|
}
|
|
10
10
|
//# sourceMappingURL=getGasRecommendation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getGasRecommendation.js","sourceRoot":"","sources":["../../../src/services/getGasRecommendation.ts"],"names":[],"mappings":";;;AAiCA,oDAWC;AA3CD,wDAAiD;AAUpC,QAAA,YAAY,GAAG,qBAAqB,CAAA;AAsB1C,KAAK,UAAU,oBAAoB,CACxC,MAAsB,EACtB,MAAkC,EAClC,OAA2B;IAE3B,OAAO,IAAA,oBAAO,EACZ,MAAM,CAAC,MAAM,EACb,GAAG,oBAAY,mBAAmB,MAAM,CAAC,OAAO,EAAE,EAClD,EAAE,
|
|
1
|
+
{"version":3,"file":"getGasRecommendation.js","sourceRoot":"","sources":["../../../src/services/getGasRecommendation.ts"],"names":[],"mappings":";;;AAiCA,oDAWC;AA3CD,wDAAiD;AAUpC,QAAA,YAAY,GAAG,qBAAqB,CAAA;AAsB1C,KAAK,UAAU,oBAAoB,CACxC,MAAsB,EACtB,MAAkC,EAClC,OAA2B;IAE3B,OAAO,IAAA,oBAAO,EACZ,MAAM,CAAC,MAAM,EACb,GAAG,oBAAY,mBAAmB,MAAM,CAAC,OAAO,EAAE,EAClD,EAAE,cAAc,EAAE,KAAK,EAAE,EACzB,OAAO,CACR,CAAA;AACH,CAAC"}
|
|
@@ -5,7 +5,7 @@ export interface GetQuoteParams {
|
|
|
5
5
|
provider: string;
|
|
6
6
|
symbol: string;
|
|
7
7
|
side: QuoteSide;
|
|
8
|
-
size:
|
|
8
|
+
size: string;
|
|
9
9
|
type: TradeType;
|
|
10
10
|
}
|
|
11
11
|
export declare function getQuote(client: PerpsSDKClient, params: GetQuoteParams, options?: SDKRequestOptions): Promise<Quote>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveSubscribeQuote.d.ts","sourceRoot":"","sources":["../../../src/services/resolveSubscribeQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAIb,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"resolveSubscribeQuote.d.ts","sourceRoot":"","sources":["../../../src/services/resolveSubscribeQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAIb,MAAM,mBAAmB,CAAA;AAI1B,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,aAAa,EACd,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAWvD,eAAO,MAAM,iBAAiB,MAAM,CAAA;AA0BpC,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EACjC,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,IAAI,CAAC,CAiGrB"}
|
|
@@ -3,14 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.QUOTE_THROTTLE_MS = void 0;
|
|
4
4
|
exports.resolveSubscribeQuote = resolveSubscribeQuote;
|
|
5
5
|
const perps_types_1 = require("@lifi/perps-types");
|
|
6
|
+
const parse_js_1 = require("../decimal/parse.js");
|
|
6
7
|
const PerpsError_js_1 = require("../errors/PerpsError.js");
|
|
7
8
|
const order_js_1 = require("../math/order.js");
|
|
8
9
|
const wsLog_js_1 = require("../websocket/wsLog.js");
|
|
9
10
|
const resolveQuote_js_1 = require("./resolveQuote.js");
|
|
10
11
|
exports.QUOTE_THROTTLE_MS = 100;
|
|
11
12
|
async function resolveSubscribeQuote(client, provider, ws, params, feeTier, onQuote) {
|
|
12
|
-
if (!
|
|
13
|
-
throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Quote size must be a
|
|
13
|
+
if (!(0, parse_js_1.isDecimalString)(params.size)) {
|
|
14
|
+
throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Quote size must be a decimal string, got '${params.size}'`);
|
|
14
15
|
}
|
|
15
16
|
const market = await (0, resolveQuote_js_1.resolveQuoteMarket)(client, provider, params);
|
|
16
17
|
let latestContext = await (0, resolveQuote_js_1.resolveQuotePrice)(client, provider, market.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveSubscribeQuote.js","sourceRoot":"","sources":["../../../src/services/resolveSubscribeQuote.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"resolveSubscribeQuote.js","sourceRoot":"","sources":["../../../src/services/resolveSubscribeQuote.ts"],"names":[],"mappings":";;;AAmDA,sDAwGC;AA3JD,mDAK0B;AAC1B,kDAAqD;AACrD,2DAAoD;AACpD,+CAA6C;AAO7C,oDAA6C;AAC7C,uDAAyE;AAS5D,QAAA,iBAAiB,GAAG,GAAG,CAAA;AA0B7B,KAAK,UAAU,qBAAqB,CACzC,MAAsB,EACtB,QAAgB,EAChB,EAAiC,EACjC,MAA8B,EAC9B,OAAgB,EAChB,OAAsB;IAEtB,IAAI,CAAC,IAAA,0BAAe,EAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,6CAA6C,MAAM,CAAC,IAAI,GAAG,CAC5D,CAAA;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,IAAA,oCAAkB,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IAGjE,IAAI,aAAa,GAAkB,MAAM,IAAA,mCAAiB,EACxD,MAAM,EACN,QAAQ,EACR,MAAM,CAAC,EAAE,CACV,CAAA;IAED,IAAI,UAAyC,CAAA;IAC7C,IAAI,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAA;IACzC,IAAI,QAAmD,CAAA;IAEvD,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAM;QACR,CAAC;QACD,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACvB,IAAI,CAAC;YACH,OAAO,CACL,IAAA,qBAAU,EAAC;gBACT,QAAQ;gBACR,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,IAAI;gBACpB,MAAM;gBACN,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,OAAO;gBACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CACH,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gBAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;QACjD,CAAC;IACH,CAAC,CAAA;IAED,MAAM,kBAAkB,GAAG,MAAM,EAAE,CAAC,SAAS,CAC3C,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,EAChE,CAAC,KAAK,EAAE,EAAE;QACR,IAAI,KAAK,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;YACtC,OAAM;QACR,CAAC;QACD,aAAa,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,CAAC,CACF,CAAA;IAED,IAAI,eAA2B,CAAA;IAC/B,IAAI,CAAC;QACH,eAAe,GAAG,MAAM,EAAE,CAAC,SAAS,CAClC,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,EAC5D,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,KAAK,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;gBAClC,OAAM;YACR,CAAC;YACD,UAAU,GAAG,KAAK,CAAC,IAAI,CAAA;YACvB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAM;YACR,CAAC;YACD,MAAM,IAAI,GAAG,yBAAiB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,CAAA;YAC1D,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;gBACd,IAAI,EAAE,CAAA;YACR,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;oBACzB,QAAQ,GAAG,SAAS,CAAA;oBACpB,IAAI,EAAE,CAAA;gBACR,CAAC,EAAE,IAAI,CAAC,CAAA;YACV,CAAC;QACH,CAAC,CACF,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kBAAkB,EAAE,CAAA;QACpB,MAAM,KAAK,CAAA;IACb,CAAC;IAED,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,OAAO,GAAG,EAAE;QACV,IAAI,QAAQ,EAAE,CAAC;YACb,OAAM;QACR,CAAC;QACD,QAAQ,GAAG,IAAI,CAAA;QACf,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,YAAY,CAAC,QAAQ,CAAC,CAAA;YACtB,QAAQ,GAAG,SAAS,CAAA;QACtB,CAAC;QACD,kBAAkB,EAAE,CAAA;QACpB,eAAe,EAAE,CAAA;IACnB,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -2,6 +2,7 @@ import type { PerpsBaseConfig, SDKRequestOptions } from '../types/config.js';
|
|
|
2
2
|
import { type RetryPolicy } from './retryPolicy.js';
|
|
3
3
|
export interface RequestOptions extends RequestInit {
|
|
4
4
|
retry?: RetryPolicy | false;
|
|
5
|
+
perpsSdkHeader?: boolean;
|
|
5
6
|
onResponse?: (headers: Headers, requestStartedAt: number, responseReceivedAt: number) => void;
|
|
6
7
|
}
|
|
7
8
|
export declare function request<T>(config: PerpsBaseConfig, url: string, options?: RequestOptions, sdkOptions?: SDKRequestOptions): Promise<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/transport/request.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAI5E,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAA;AAOzB,MAAM,WAAW,cAAe,SAAQ,WAAW;IAEjD,KAAK,CAAC,EAAE,WAAW,GAAG,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/transport/request.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAI5E,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAA;AAOzB,MAAM,WAAW,cAAe,SAAQ,WAAW;IAEjD,KAAK,CAAC,EAAE,WAAW,GAAG,KAAK,CAAA;IAK3B,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB,UAAU,CAAC,EAAE,CACX,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE,MAAM,KACvB,IAAI,CAAA;CACV;AAQD,wBAAsB,OAAO,CAAC,CAAC,EAC7B,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,cAAmB,EAC5B,UAAU,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,CAAC,CAAC,CAgFZ;AAOD,wBAAgB,QAAQ,CACtB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,GAC5D,MAAM,CAWR"}
|
|
@@ -9,13 +9,13 @@ const errorCodeFromStatus_js_1 = require("./errorCodeFromStatus.js");
|
|
|
9
9
|
const fetchWithRetry_js_1 = require("./fetchWithRetry.js");
|
|
10
10
|
const retryPolicy_js_1 = require("./retryPolicy.js");
|
|
11
11
|
async function request(config, url, options = {}, sdkOptions) {
|
|
12
|
-
const { retry, onResponse, ...fetchInit } = options;
|
|
12
|
+
const { retry, onResponse, perpsSdkHeader = true, ...fetchInit } = options;
|
|
13
13
|
const policy = retry !== undefined
|
|
14
14
|
? (0, retryPolicy_js_1.resolveRetryPolicy)(retryPolicy_js_1.LIFI_RETRY_DEFAULTS, retry, retryPolicy_js_1.LIFI_REQUEST_KEY)
|
|
15
15
|
: (0, retryPolicy_js_1.resolveRetryPolicy)(retryPolicy_js_1.LIFI_RETRY_DEFAULTS, config.retry, retryPolicy_js_1.LIFI_REQUEST_KEY);
|
|
16
16
|
const headers = {
|
|
17
17
|
'Content-Type': 'application/json',
|
|
18
|
-
'x-lifi-perps-sdk': version_js_1.version,
|
|
18
|
+
...(perpsSdkHeader && { 'x-lifi-perps-sdk': version_js_1.version }),
|
|
19
19
|
...fetchInit.headers,
|
|
20
20
|
};
|
|
21
21
|
if (config.apiKey) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/transport/request.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/transport/request.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/types/api.d.ts
CHANGED
|
@@ -96,6 +96,10 @@ export interface GetWithdrawableBalancesParams {
|
|
|
96
96
|
provider: string;
|
|
97
97
|
address: Address;
|
|
98
98
|
}
|
|
99
|
+
export interface GetWithdrawalTypesParams {
|
|
100
|
+
provider: string;
|
|
101
|
+
address: Address;
|
|
102
|
+
}
|
|
99
103
|
export interface GetPortfolioHistoryParams {
|
|
100
104
|
provider: string;
|
|
101
105
|
address: Address;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/types/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,qBAAqB,IAAI,2BAA2B,EACpD,wBAAwB,IAAI,8BAA8B,EAC1D,eAAe,EACf,oBAAoB,IAAI,0BAA0B,EAClD,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,UAAU,EACV,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,SAAS,EACT,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAOxD,MAAM,WAAW,WAAW;IAM1B,UAAU,CAAC,EAAE,MAAM,CAAA;IAOnB,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IAOvC,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAQjC,UAAU,CAAC,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;IAS5C,KAAK,CAAC,EAAE,WAAW,CAAA;IAMnB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;CACrB;AAOD,MAAM,WAAW,kBAAkB;IAMjC,UAAU,CAAC,EAAE,MAAM,CAAA;IAOnB,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAMjC,WAAW,CAAC,EAAE,eAAe,CAAA;CAC9B;AAQD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACjB;AAOD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAEhB,MAAM,EAAE,SAAS,CAAA;IACjB,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;IAExC,IAAI,EAAE,aAAa,CAAA;IAEnB,KAAK,EAAE,aAAa,CAAA;IAEpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAMjB,UAAU,CAAC,EAAE,UAAU,CAAA;IAEvB,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB,WAAW,CAAC,EAAE,WAAW,CAAA;IAEzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B;AAQD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAEhB,MAAM,EAAE,SAAS,CAAA;IACjB,IAAI,EAAE,SAAS,CAAA;IACf,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B;AAOD,MAAM,WAAW,oBAAqB,SAAQ,0BAA0B;IACtE,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACjB;AAOD,MAAM,WAAW,qBAAsB,SAAQ,2BAA2B;IACxE,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACjB;AAOD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAEhB,UAAU,EAAE,gBAAgB,CAAA;CAC7B;AASD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAEhB,UAAU,EAAE,MAAM,CAAA;IAElB,SAAS,EAAE,MAAM,CAAA;IAEjB,cAAc,EAAE,MAAM,CAAA;IAEtB,MAAM,EAAE,aAAa,CAAA;CACtB;AAOD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAEhB,GAAG,EAAE,MAAM,EAAE,CAAA;IAEb,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAOD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAEhB,aAAa,EAAE,gBAAgB,EAAE,CAAA;CAClC;AAOD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACjB;AAOD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACjB;AAOD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACjB;AAOD,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACjB;AAOD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,qBAAqB,CAAA;CAC7B;AAQD,MAAM,WAAW,kBAAkB;IAEjC,UAAU,EAAE,WAAW,CAAA;IAEvB,SAAS,EAAE,OAAO,CAAA;IAKlB,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAA;IAO5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AAiBD,MAAM,WAAW,aAAa;IAO5B,aAAa,EAAE,OAAO,CAAA;IAEtB,KAAK,EAAE,UAAU,EAAE,CAAA;IAKnB,OAAO,EAAE,OAAO,CAAA;IAShB,SAAS,EAAE,kBAAkB,EAAE,CAAA;CAChC;AAKD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAEhB,KAAK,EAAE,UAAU,EAAE,CAAA;IAEnB,aAAa,EAAE,gBAAgB,EAAE,CAAA;CAClC;AAKD,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,qBAAqB,CAAA;CAC/B;AAaD,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IAEvD,QAAQ,EAAE,oBAAoB,EAAE,CAAA;CACjC;AAOD,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D,OAAO,EAAE,OAAO,CAAA;CACjB;AAOD,MAAM,WAAW,8BACf,SAAQ,8BAA8B;IACtC,OAAO,EAAE,OAAO,CAAA;CACjB;AAOD,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,cAAc;IAC/D,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,CAAC,CAAA;IACT,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;CAC3B"}
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/types/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import type { AccountConfig, AccountConfigSetting, AccountResponse, AccountSumma
|
|
|
2
2
|
import type { Address } from 'viem';
|
|
3
3
|
import type { PerpsBaseConfig, PerpsClientSigner, SDKRequestOptions } from './config.js';
|
|
4
4
|
import type { DepositFlow } from './deposit.js';
|
|
5
|
-
import type { ProviderWithdrawableBalance, WithdrawFlow } from './withdrawal.js';
|
|
5
|
+
import type { ProviderWithdrawableBalance, WithdrawalSourceTypes, WithdrawFlow } from './withdrawal.js';
|
|
6
6
|
export interface PerpsSDKClient {
|
|
7
7
|
readonly config: PerpsBaseConfig;
|
|
8
8
|
readonly userWallet?: PerpsClientSigner;
|
|
@@ -29,8 +29,8 @@ export interface ActionSignerContribution {
|
|
|
29
29
|
params?: Record<string, unknown>;
|
|
30
30
|
}
|
|
31
31
|
export interface LiquidationEstimateParams {
|
|
32
|
-
entryPrice:
|
|
33
|
-
leverage:
|
|
32
|
+
entryPrice: string;
|
|
33
|
+
leverage: string;
|
|
34
34
|
isLong: boolean;
|
|
35
35
|
}
|
|
36
36
|
export interface ProviderGetAccountParams {
|
|
@@ -48,6 +48,9 @@ export interface ProviderGetWithdrawFlowParams {
|
|
|
48
48
|
export interface ProviderGetWithdrawableBalancesParams {
|
|
49
49
|
address: Address;
|
|
50
50
|
}
|
|
51
|
+
export interface ProviderGetWithdrawalTypesParams {
|
|
52
|
+
address: Address;
|
|
53
|
+
}
|
|
51
54
|
export interface ProviderGetPositionsParams {
|
|
52
55
|
address: Address;
|
|
53
56
|
marketId?: string;
|
|
@@ -95,7 +98,7 @@ export interface ProviderGetPortfolioHistoryParams {
|
|
|
95
98
|
export interface ProviderGetQuoteParams {
|
|
96
99
|
symbol: string;
|
|
97
100
|
side: QuoteSide;
|
|
98
|
-
size:
|
|
101
|
+
size: string;
|
|
99
102
|
type: TradeType;
|
|
100
103
|
}
|
|
101
104
|
export type QuoteListener = (quote: Quote) => void;
|
|
@@ -108,6 +111,7 @@ export interface PerpsProviderPlugin {
|
|
|
108
111
|
getDepositFlow?(params: ProviderGetDepositFlowParams, options?: SDKRequestOptions): Promise<DepositFlow>;
|
|
109
112
|
getWithdrawFlow?(params: ProviderGetWithdrawFlowParams, options?: SDKRequestOptions): Promise<WithdrawFlow>;
|
|
110
113
|
getWithdrawableBalances?(params: ProviderGetWithdrawableBalancesParams, options?: SDKRequestOptions): Promise<ProviderWithdrawableBalance[]>;
|
|
114
|
+
getWithdrawalTypes?(params: ProviderGetWithdrawalTypesParams, options?: SDKRequestOptions): Promise<WithdrawalSourceTypes[]>;
|
|
111
115
|
getPositions(params: ProviderGetPositionsParams, options?: SDKRequestOptions): Promise<PositionsResponse>;
|
|
112
116
|
getMarketSettings(params: ProviderGetMarketSettingsParams, options?: SDKRequestOptions): Promise<MarketSettings>;
|
|
113
117
|
getAvailableToTrade?(params: ProviderGetAvailableToTradeParams, options?: SDKRequestOptions): Promise<AvailableToTrade | undefined>;
|
|
@@ -120,7 +124,7 @@ export interface PerpsProviderPlugin {
|
|
|
120
124
|
getAccountSummary(account: AccountResponse, positions: Position[]): AccountSummary;
|
|
121
125
|
snapOrderPrice(market: Market, price: DecimalString): DecimalString;
|
|
122
126
|
snapOrderSize(market: Market, size: DecimalString): DecimalString;
|
|
123
|
-
estimateLiquidationPrice(market: PerpsMarket, params: LiquidationEstimateParams):
|
|
127
|
+
estimateLiquidationPrice(market: PerpsMarket, params: LiquidationEstimateParams): string | undefined;
|
|
124
128
|
positionRemovableMargin(position: Position): DecimalString | undefined;
|
|
125
129
|
projectConfig(config: AccountConfig, setup: SetupAction[]): AccountConfigSetting[];
|
|
126
130
|
resolveSetupParams?(action: ActionType, address: Address): Promise<Record<string, unknown>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/types/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,MAAM,EACN,SAAS,EACT,cAAc,EACd,KAAK,EACL,WAAW,EACX,cAAc,EACd,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,wBAAwB,EACxB,QAAQ,EACR,iBAAiB,EACjB,KAAK,EACL,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,SAAS,EACV,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/types/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import type { ActionType, Asset, DecimalString,
|
|
1
|
+
import type { ActionType, Asset, DecimalString, WithdrawalAssetRef, WithdrawalType } from '@lifi/perps-types';
|
|
2
2
|
import type { Address } from 'viem';
|
|
3
|
-
export type { WithdrawalRoute };
|
|
4
3
|
export interface ProviderWithdrawableBalance {
|
|
5
4
|
assetId: string;
|
|
6
|
-
|
|
5
|
+
categoryId: string;
|
|
7
6
|
available: DecimalString;
|
|
8
7
|
max: DecimalString;
|
|
9
8
|
withdrawalFee?: DecimalString;
|
|
@@ -11,12 +10,21 @@ export interface ProviderWithdrawableBalance {
|
|
|
11
10
|
}
|
|
12
11
|
export interface WithdrawableBalance {
|
|
13
12
|
asset: Asset;
|
|
14
|
-
|
|
13
|
+
categoryId: string;
|
|
15
14
|
available: DecimalString;
|
|
16
15
|
max: DecimalString;
|
|
17
16
|
withdrawalFee?: DecimalString;
|
|
18
17
|
isFeeDeducted?: boolean;
|
|
19
18
|
}
|
|
19
|
+
export interface WithdrawalTypeOption {
|
|
20
|
+
type: WithdrawalType;
|
|
21
|
+
max: DecimalString;
|
|
22
|
+
withdrawalOptions: Record<string, unknown>;
|
|
23
|
+
}
|
|
24
|
+
export interface WithdrawalSourceTypes {
|
|
25
|
+
source: WithdrawalAssetRef;
|
|
26
|
+
options: WithdrawalTypeOption[];
|
|
27
|
+
}
|
|
20
28
|
export interface WithdrawFlowReady {
|
|
21
29
|
kind: 'ready';
|
|
22
30
|
destination: Address;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdrawal.d.ts","sourceRoot":"","sources":["../../../src/types/withdrawal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,KAAK,EACL,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"withdrawal.d.ts","sourceRoot":"","sources":["../../../src/types/withdrawal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,KAAK,EACL,aAAa,EACb,kBAAkB,EAClB,cAAc,EACf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAQnC,MAAM,WAAW,2BAA2B;IAE1C,OAAO,EAAE,MAAM,CAAA;IAEf,UAAU,EAAE,MAAM,CAAA;IAElB,SAAS,EAAE,aAAa,CAAA;IAMxB,GAAG,EAAE,aAAa,CAAA;IAMlB,aAAa,CAAC,EAAE,aAAa,CAAA;IAM7B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AASD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,KAAK,CAAA;IAEZ,UAAU,EAAE,MAAM,CAAA;IAElB,SAAS,EAAE,aAAa,CAAA;IAMxB,GAAG,EAAE,aAAa,CAAA;IAWlB,aAAa,CAAC,EAAE,aAAa,CAAA;IAM7B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAOD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,cAAc,CAAA;IAEpB,GAAG,EAAE,aAAa,CAAA;IAKlB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC3C;AAOD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,OAAO,EAAE,oBAAoB,EAAE,CAAA;CAChC;AAOD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAA;IACb,WAAW,EAAE,OAAO,CAAA;CACrB;AASD,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,eAAe,CAAA;IAErB,KAAK,EAAE,UAAU,EAAE,CAAA;CACpB;AAQD,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,yBAAyB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSafeFunction.d.ts","sourceRoot":"","sources":["../../../src/utils/createSafeFunction.ts"],"names":[],"mappings":"AAOA,wBAAgB,kBAAkB,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,MAAM,EAC/D,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,GAC1C,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,GAAG,SAAS,CASvC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createSafeFunction = createSafeFunction;
|
|
4
|
+
function createSafeFunction(name, throwingFunction) {
|
|
5
|
+
return (...args) => {
|
|
6
|
+
try {
|
|
7
|
+
return throwingFunction(...args);
|
|
8
|
+
}
|
|
9
|
+
catch (error) {
|
|
10
|
+
console.warn(`[perps-sdk] ${name} failed`, error);
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=createSafeFunction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSafeFunction.js","sourceRoot":"","sources":["../../../src/utils/createSafeFunction.ts"],"names":[],"mappings":";;AAOA,gDAYC;AAZD,SAAgB,kBAAkB,CAChC,IAAY,EACZ,gBAA2C;IAE3C,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;QACjB,IAAI,CAAC;YACH,OAAO,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAA;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,eAAe,IAAI,SAAS,EAAE,KAAK,CAAC,CAAA;YACjD,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
|