@drift-labs/common 1.0.59 → 1.0.60
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/lib/_deprecated/common-math.d.ts +10 -0
- package/lib/_deprecated/common-math.js +9 -0
- package/lib/_deprecated/common-math.js.map +1 -0
- package/lib/_deprecated/common-ui-utils.d.ts +248 -0
- package/lib/_deprecated/common-ui-utils.js +59 -0
- package/lib/_deprecated/common-ui-utils.js.map +1 -0
- package/lib/_deprecated/equality-checks.d.ts +2 -0
- package/lib/_deprecated/equality-checks.js +7 -0
- package/lib/_deprecated/equality-checks.js.map +1 -0
- package/lib/{common-ui-utils/market.d.ts → _deprecated/market-utils.d.ts} +5 -7
- package/lib/_deprecated/market-utils.js +18 -0
- package/lib/_deprecated/market-utils.js.map +1 -0
- package/lib/_deprecated/order-utils.d.ts +12 -0
- package/lib/_deprecated/order-utils.js +18 -0
- package/lib/_deprecated/order-utils.js.map +1 -0
- package/lib/_deprecated/trading-utils.d.ts +52 -0
- package/lib/_deprecated/trading-utils.js +27 -0
- package/lib/_deprecated/trading-utils.js.map +1 -0
- package/lib/_deprecated/user-utils.d.ts +17 -0
- package/lib/_deprecated/user-utils.js +12 -0
- package/lib/_deprecated/user-utils.js.map +1 -0
- package/lib/_deprecated/utils.d.ts +40 -0
- package/lib/_deprecated/utils.js +47 -0
- package/lib/_deprecated/utils.js.map +1 -0
- package/lib/clients/tvFeed.js +2 -2
- package/lib/clients/tvFeed.js.map +1 -1
- package/lib/drift/Drift/clients/AuthorityDrift/DriftOperations/index.js +8 -8
- package/lib/drift/Drift/clients/AuthorityDrift/DriftOperations/index.js.map +1 -1
- package/lib/drift/Drift/clients/AuthorityDrift/index.js +9 -9
- package/lib/drift/Drift/clients/AuthorityDrift/index.js.map +1 -1
- package/lib/drift/Drift/clients/CentralServerDrift/index.js +2 -2
- package/lib/drift/Drift/clients/CentralServerDrift/index.js.map +1 -1
- package/lib/drift/base/actions/trade/editOrder.d.ts +1 -1
- package/lib/drift/base/actions/trade/editOrder.js.map +1 -1
- package/lib/drift/base/actions/trade/margin.js +4 -4
- package/lib/drift/base/actions/trade/margin.js.map +1 -1
- package/lib/drift/base/actions/trade/openPerpOrder/auction.d.ts +1 -1
- package/lib/drift/base/actions/trade/openPerpOrder/auction.js +4 -3
- package/lib/drift/base/actions/trade/openPerpOrder/auction.js.map +1 -1
- package/lib/drift/base/actions/trade/openPerpOrder/dlobServer/index.js +2 -2
- package/lib/drift/base/actions/trade/openPerpOrder/dlobServer/index.js.map +1 -1
- package/lib/drift/base/actions/trade/openPerpOrder/isolatedPositionDeposit.js +2 -2
- package/lib/drift/base/actions/trade/openPerpOrder/isolatedPositionDeposit.js.map +1 -1
- package/lib/drift/base/actions/trade/openPerpOrder/openPerpMarketOrder/index.d.ts +1 -1
- package/lib/drift/base/actions/trade/openPerpOrder/openPerpMarketOrder/index.js +4 -4
- package/lib/drift/base/actions/trade/openPerpOrder/openPerpMarketOrder/index.js.map +1 -1
- package/lib/drift/base/actions/trade/openPerpOrder/openPerpNonMarketOrder/index.d.ts +1 -1
- package/lib/drift/base/actions/trade/openPerpOrder/openPerpNonMarketOrder/index.js +2 -2
- package/lib/drift/base/actions/trade/openPerpOrder/openPerpNonMarketOrder/index.js.map +1 -1
- package/lib/drift/base/actions/trade/openPerpOrder/openSwiftOrder/index.js +4 -3
- package/lib/drift/base/actions/trade/openPerpOrder/openSwiftOrder/index.js.map +1 -1
- package/lib/drift/base/actions/trade/openPerpOrder/positionMaxLeverage.js +2 -2
- package/lib/drift/base/actions/trade/openPerpOrder/positionMaxLeverage.js.map +1 -1
- package/lib/drift/base/actions/user/create.js +2 -2
- package/lib/drift/base/actions/user/create.js.map +1 -1
- package/lib/drift/base/details/user/balances.js +2 -2
- package/lib/drift/base/details/user/balances.js.map +1 -1
- package/lib/drift/base/details/user/positions.js +2 -2
- package/lib/drift/base/details/user/positions.js.map +1 -1
- package/lib/index.d.ts +28 -28
- package/lib/index.js +44 -29
- package/lib/index.js.map +1 -1
- package/lib/utils/accounts/index.d.ts +6 -0
- package/lib/utils/accounts/index.js +23 -0
- package/lib/utils/accounts/index.js.map +1 -0
- package/lib/utils/accounts/init.d.ts +22 -0
- package/lib/utils/accounts/init.js +90 -0
- package/lib/utils/accounts/init.js.map +1 -0
- package/lib/utils/accounts/keys.d.ts +22 -0
- package/lib/utils/accounts/keys.js +36 -0
- package/lib/utils/accounts/keys.js.map +1 -0
- package/lib/utils/accounts/multiple.d.ts +14 -0
- package/lib/utils/accounts/multiple.js +45 -0
- package/lib/utils/accounts/multiple.js.map +1 -0
- package/lib/utils/accounts/signature.d.ts +6 -0
- package/lib/utils/accounts/signature.js +53 -0
- package/lib/utils/accounts/signature.js.map +1 -0
- package/lib/utils/accounts/subaccounts.d.ts +8 -0
- package/lib/utils/accounts/subaccounts.js +31 -0
- package/lib/utils/accounts/subaccounts.js.map +1 -0
- package/lib/utils/{WalletConnectionState.d.ts → accounts/wallet.d.ts} +7 -1
- package/lib/utils/{WalletConnectionState.js → accounts/wallet.js} +32 -2
- package/lib/utils/accounts/wallet.js.map +1 -0
- package/lib/utils/core/arrays.d.ts +2 -0
- package/lib/utils/core/arrays.js +25 -0
- package/lib/utils/core/arrays.js.map +1 -0
- package/lib/utils/core/async.d.ts +5 -0
- package/lib/utils/core/async.js +17 -0
- package/lib/utils/core/async.js.map +1 -0
- package/lib/utils/core/cache.d.ts +1 -0
- package/lib/utils/core/cache.js +40 -0
- package/lib/utils/core/cache.js.map +1 -0
- package/lib/utils/core/data-structures.d.ts +30 -0
- package/lib/utils/core/data-structures.js +84 -0
- package/lib/utils/core/data-structures.js.map +1 -0
- package/lib/utils/{equalityChecks.d.ts → core/equality.d.ts} +1 -1
- package/lib/utils/{equalityChecks.js → core/equality.js} +3 -3
- package/lib/utils/core/equality.js.map +1 -0
- package/lib/utils/core/fetch.js.map +1 -0
- package/lib/utils/core/index.d.ts +7 -0
- package/lib/utils/core/index.js +24 -0
- package/lib/utils/core/index.js.map +1 -0
- package/lib/utils/core/serialization.d.ts +30 -0
- package/lib/utils/core/serialization.js +92 -0
- package/lib/utils/core/serialization.js.map +1 -0
- package/lib/utils/{enum.js → enum/index.js} +1 -1
- package/lib/utils/enum/index.js.map +1 -0
- package/lib/utils/index.d.ts +11 -176
- package/lib/utils/index.js +25 -594
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/markets/balances.d.ts +6 -0
- package/lib/utils/markets/balances.js +29 -0
- package/lib/utils/markets/balances.js.map +1 -0
- package/lib/utils/markets/config.d.ts +5 -0
- package/lib/utils/markets/config.js +24 -0
- package/lib/utils/markets/config.js.map +1 -0
- package/lib/utils/markets/index.d.ts +6 -0
- package/lib/utils/markets/index.js +23 -0
- package/lib/utils/markets/index.js.map +1 -0
- package/lib/utils/markets/interest.d.ts +25 -0
- package/lib/utils/markets/interest.js +65 -0
- package/lib/utils/markets/interest.js.map +1 -0
- package/lib/utils/markets/leverage.d.ts +12 -0
- package/lib/utils/markets/leverage.js +60 -0
- package/lib/utils/markets/leverage.js.map +1 -0
- package/lib/utils/markets/operations.d.ts +21 -0
- package/lib/utils/markets/operations.js +59 -0
- package/lib/utils/markets/operations.js.map +1 -0
- package/lib/utils/math/bignum.d.ts +3 -0
- package/lib/utils/math/bignum.js +16 -0
- package/lib/utils/math/bignum.js.map +1 -0
- package/lib/utils/math/bn.d.ts +7 -0
- package/lib/utils/math/bn.js +58 -0
- package/lib/utils/math/bn.js.map +1 -0
- package/lib/utils/math/index.d.ts +7 -0
- package/lib/utils/math/index.js +24 -0
- package/lib/utils/math/index.js.map +1 -0
- package/lib/utils/math/numbers.d.ts +13 -0
- package/lib/utils/math/numbers.js +56 -0
- package/lib/utils/math/numbers.js.map +1 -0
- package/lib/utils/math/precision.d.ts +19 -0
- package/lib/utils/math/precision.js +73 -0
- package/lib/utils/math/precision.js.map +1 -0
- package/lib/utils/math/price.d.ts +12 -0
- package/lib/utils/math/price.js +45 -0
- package/lib/utils/math/price.js.map +1 -0
- package/lib/utils/math/sort.d.ts +13 -0
- package/lib/utils/math/sort.js +33 -0
- package/lib/utils/math/sort.js.map +1 -0
- package/lib/utils/math/spread.d.ts +8 -0
- package/lib/utils/math/spread.js +87 -0
- package/lib/utils/math/spread.js.map +1 -0
- package/lib/utils/orderbook/index.js +4 -4
- package/lib/utils/orderbook/index.js.map +1 -1
- package/lib/utils/orders/filters.d.ts +7 -0
- package/lib/utils/orders/filters.js +31 -0
- package/lib/utils/orders/filters.js.map +1 -0
- package/lib/utils/orders/flags.d.ts +12 -0
- package/lib/utils/orders/flags.js +44 -0
- package/lib/utils/orders/flags.js.map +1 -0
- package/lib/utils/orders/index.d.ts +6 -0
- package/lib/utils/orders/index.js +23 -0
- package/lib/utils/orders/index.js.map +1 -0
- package/lib/utils/orders/labels.d.ts +4 -0
- package/lib/utils/orders/labels.js +122 -0
- package/lib/utils/orders/labels.js.map +1 -0
- package/lib/utils/orders/misc.d.ts +11 -0
- package/lib/utils/orders/misc.js +27 -0
- package/lib/utils/orders/misc.js.map +1 -0
- package/lib/utils/orders/oracle.d.ts +5 -0
- package/lib/utils/orders/oracle.js +23 -0
- package/lib/utils/orders/oracle.js.map +1 -0
- package/lib/utils/orders/sort.d.ts +38 -0
- package/lib/utils/orders/sort.js +83 -0
- package/lib/utils/orders/sort.js.map +1 -0
- package/lib/utils/positions/index.d.ts +2 -0
- package/lib/{common-ui-utils → utils/positions}/index.js +1 -5
- package/lib/utils/positions/index.js.map +1 -0
- package/lib/utils/positions/open.d.ts +4 -0
- package/lib/{common-ui-utils/user.js → utils/positions/open.js} +10 -81
- package/lib/utils/positions/open.js.map +1 -0
- package/lib/utils/positions/user.d.ts +37 -0
- package/lib/utils/positions/user.js +74 -0
- package/lib/utils/positions/user.js.map +1 -0
- package/lib/utils/settings/settings.js.map +1 -0
- package/lib/utils/strings/convert.d.ts +11 -0
- package/lib/utils/{strings.js → strings/convert.js} +2 -51
- package/lib/utils/strings/convert.js.map +1 -0
- package/lib/utils/strings/format.d.ts +14 -0
- package/lib/utils/strings/format.js +61 -0
- package/lib/utils/strings/format.js.map +1 -0
- package/lib/utils/strings/index.d.ts +4 -0
- package/lib/utils/strings/index.js +21 -0
- package/lib/utils/strings/index.js.map +1 -0
- package/lib/utils/strings/parse.d.ts +4 -0
- package/lib/utils/strings/parse.js +25 -0
- package/lib/utils/strings/parse.js.map +1 -0
- package/lib/utils/strings/status.d.ts +15 -0
- package/lib/utils/strings/status.js +21 -0
- package/lib/utils/strings/status.js.map +1 -0
- package/lib/utils/token/account.d.ts +16 -0
- package/lib/utils/token/account.js +36 -0
- package/lib/utils/token/account.js.map +1 -0
- package/lib/utils/{token.d.ts → token/address.d.ts} +2 -7
- package/lib/utils/token/address.js +30 -0
- package/lib/utils/token/address.js.map +1 -0
- package/lib/utils/token/index.d.ts +3 -0
- package/lib/utils/token/index.js +20 -0
- package/lib/utils/token/index.js.map +1 -0
- package/lib/utils/token/instructions.d.ts +3 -0
- package/lib/utils/token/instructions.js +17 -0
- package/lib/utils/token/instructions.js.map +1 -0
- package/lib/utils/trading/auction.d.ts +82 -0
- package/lib/utils/trading/auction.js +208 -0
- package/lib/utils/trading/auction.js.map +1 -0
- package/lib/utils/trading/index.d.ts +7 -0
- package/lib/utils/trading/index.js +24 -0
- package/lib/utils/trading/index.js.map +1 -0
- package/lib/utils/trading/leverage.d.ts +18 -0
- package/lib/utils/trading/leverage.js +79 -0
- package/lib/utils/trading/leverage.js.map +1 -0
- package/lib/utils/trading/liquidation.d.ts +22 -0
- package/lib/utils/trading/liquidation.js +67 -0
- package/lib/utils/trading/liquidation.js.map +1 -0
- package/lib/utils/trading/lp.d.ts +4 -0
- package/lib/utils/trading/lp.js +20 -0
- package/lib/utils/trading/lp.js.map +1 -0
- package/lib/utils/trading/pnl.d.ts +34 -0
- package/lib/utils/trading/pnl.js +88 -0
- package/lib/utils/trading/pnl.js.map +1 -0
- package/lib/utils/trading/price.d.ts +12 -0
- package/lib/utils/trading/price.js +36 -0
- package/lib/utils/trading/price.js.map +1 -0
- package/lib/utils/trading/size.d.ts +27 -0
- package/lib/utils/trading/size.js +83 -0
- package/lib/utils/trading/size.js.map +1 -0
- package/lib/utils/{validation.d.ts → validation/address.d.ts} +1 -2
- package/lib/utils/{validation.js → validation/address.js} +4 -6
- package/lib/utils/validation/address.js.map +1 -0
- package/lib/utils/validation/index.d.ts +3 -0
- package/lib/utils/validation/index.js +20 -0
- package/lib/utils/validation/index.js.map +1 -0
- package/lib/utils/validation/input.d.ts +3 -0
- package/lib/utils/validation/input.js +33 -0
- package/lib/utils/validation/input.js.map +1 -0
- package/lib/utils/validation/notional.d.ts +2 -0
- package/lib/utils/validation/notional.js +8 -0
- package/lib/utils/validation/notional.js.map +1 -0
- package/package.json +90 -3
- package/lib/common-ui-utils/commonUiUtils.d.ts +0 -251
- package/lib/common-ui-utils/commonUiUtils.js +0 -647
- package/lib/common-ui-utils/commonUiUtils.js.map +0 -1
- package/lib/common-ui-utils/index.d.ts +0 -6
- package/lib/common-ui-utils/index.js.map +0 -1
- package/lib/common-ui-utils/market.js +0 -134
- package/lib/common-ui-utils/market.js.map +0 -1
- package/lib/common-ui-utils/order.d.ts +0 -25
- package/lib/common-ui-utils/order.js +0 -191
- package/lib/common-ui-utils/order.js.map +0 -1
- package/lib/common-ui-utils/settings/settings.js.map +0 -1
- package/lib/common-ui-utils/trading.d.ts +0 -79
- package/lib/common-ui-utils/trading.js +0 -313
- package/lib/common-ui-utils/trading.js.map +0 -1
- package/lib/common-ui-utils/user.d.ts +0 -18
- package/lib/common-ui-utils/user.js.map +0 -1
- package/lib/utils/WalletConnectionState.js.map +0 -1
- package/lib/utils/enum.js.map +0 -1
- package/lib/utils/equalityChecks.js.map +0 -1
- package/lib/utils/fetch.js.map +0 -1
- package/lib/utils/math.d.ts +0 -31
- package/lib/utils/math.js +0 -181
- package/lib/utils/math.js.map +0 -1
- package/lib/utils/strings.d.ts +0 -34
- package/lib/utils/strings.js.map +0 -1
- package/lib/utils/token.js +0 -45
- package/lib/utils/token.js.map +0 -1
- package/lib/utils/validation.js.map +0 -1
- /package/lib/utils/{fetch.d.ts → core/fetch.d.ts} +0 -0
- /package/lib/utils/{fetch.js → core/fetch.js} +0 -0
- /package/lib/utils/{enum.d.ts → enum/index.d.ts} +0 -0
- /package/lib/{common-ui-utils → utils}/settings/settings.d.ts +0 -0
- /package/lib/{common-ui-utils → utils}/settings/settings.js +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** @deprecated Use direct import from '@drift-labs/common/utils/math' */
|
|
2
|
+
export declare const COMMON_MATH: {
|
|
3
|
+
calculateSpreadBidAskMark: (l2: Pick<import("@drift-labs/sdk").L2OrderBook, "bids" | "asks">, oraclePrice?: BN) => {
|
|
4
|
+
bestBidPrice: BN;
|
|
5
|
+
bestAskPrice: BN;
|
|
6
|
+
markPrice: BN;
|
|
7
|
+
spreadPct: any;
|
|
8
|
+
spreadQuote: any;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.COMMON_MATH = void 0;
|
|
4
|
+
const spread_1 = require("../utils/math/spread");
|
|
5
|
+
/** @deprecated Use direct import from '@drift-labs/common/utils/math' */
|
|
6
|
+
exports.COMMON_MATH = {
|
|
7
|
+
calculateSpreadBidAskMark: spread_1.calculateSpreadBidAskMark,
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=common-math.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common-math.js","sourceRoot":"","sources":["../../src/_deprecated/common-math.ts"],"names":[],"mappings":";;;AAAA,iDAAiE;AAEjE,yEAAyE;AAC5D,QAAA,WAAW,GAAG;IAC1B,yBAAyB,EAAzB,kCAAyB;CACzB,CAAC","sourcesContent":["import { calculateSpreadBidAskMark } from '../utils/math/spread';\n\n/** @deprecated Use direct import from '@drift-labs/common/utils/math' */\nexport const COMMON_MATH = {\n\tcalculateSpreadBidAskMark,\n};\n"]}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
/** @deprecated Use direct imports from '@drift-labs/common/utils/trading', '@drift-labs/common/utils/accounts', etc. */
|
|
4
|
+
export declare const COMMON_UI_UTILS: {
|
|
5
|
+
getOrderLabelFromOrderDetails: (orderDetails: Pick<import("..").UISerializableOrder, "orderType" | "direction" | "triggerCondition" | "oraclePriceOffset" | "existingPositionDirection">) => string;
|
|
6
|
+
getLimitPriceFromOracleOffset: (order: import("..").UISerializableOrder, oraclePrice: import("@drift-labs/sdk").BigNum) => import("@drift-labs/sdk").BigNum;
|
|
7
|
+
isAuctionEmpty: typeof import("..").isAuctionEmpty;
|
|
8
|
+
getUIOrderTypeFromSdkOrderType: (orderType: import("@drift-labs/sdk").OrderType, triggerCondition: import("@drift-labs/sdk").OrderTriggerCondition, direction: import("@drift-labs/sdk").PositionDirection, oracleOffset: import("@drift-labs/sdk").BigNum) => import("..").UIOrderTypeValue;
|
|
9
|
+
getPerpAuctionDuration: typeof import("..").getPerpAuctionDuration;
|
|
10
|
+
getPerpOrderParamsBitFlags: typeof import("..").getPerpOrderParamsBitFlags;
|
|
11
|
+
isOrderTriggered: (order: Pick<import("..").UISerializableOrder, "status" | "orderType" | "triggerCondition">) => boolean;
|
|
12
|
+
getBaseAssetSymbol: (marketName: string, removePrefix?: boolean) => string;
|
|
13
|
+
getPausedOperations: (marketAccount: import("@drift-labs/sdk").SpotMarketAccount | import("@drift-labs/sdk").PerpMarketAccount) => string[];
|
|
14
|
+
PerpOperationsMap: {
|
|
15
|
+
UPDATE_FUNDING: string;
|
|
16
|
+
AMM_FILL: string;
|
|
17
|
+
FILL: string;
|
|
18
|
+
SETTLE_PNL: string;
|
|
19
|
+
SETTLE_PNL_WITH_POSITION: string;
|
|
20
|
+
};
|
|
21
|
+
SpotOperationsMap: {
|
|
22
|
+
UPDATE_CUMULATIVE_INTEREST: string;
|
|
23
|
+
FILL: string;
|
|
24
|
+
WITHDRAW: string;
|
|
25
|
+
};
|
|
26
|
+
InsuranceFundOperationsMap: {
|
|
27
|
+
INIT: string;
|
|
28
|
+
ADD: string;
|
|
29
|
+
REQUEST_REMOVE: string;
|
|
30
|
+
REMOVE: string;
|
|
31
|
+
};
|
|
32
|
+
getMarketConfig: typeof import("..").getMarketConfig;
|
|
33
|
+
getMaxLeverageForMarket: (marketType: import("@drift-labs/sdk").MarketType, marketIndex: number, driftClient: import("@drift-labs/sdk").DriftClient) => {
|
|
34
|
+
maxLeverage: number;
|
|
35
|
+
highLeverageMaxLeverage: number;
|
|
36
|
+
hasHighLeverage: boolean;
|
|
37
|
+
};
|
|
38
|
+
getMaxLeverageForMarketAccount: (marketType: import("@drift-labs/sdk").MarketType, marketAccount: import("@drift-labs/sdk").SpotMarketAccount | import("@drift-labs/sdk").PerpMarketAccount) => {
|
|
39
|
+
maxLeverage: number;
|
|
40
|
+
highLeverageMaxLeverage: number;
|
|
41
|
+
hasHighLeverage: boolean;
|
|
42
|
+
};
|
|
43
|
+
calculatePnlPctFromPosition: (pnl: BN, position: import("..").OpenPosition, marginUsed?: BN) => number;
|
|
44
|
+
calculatePotentialProfit: (props: {
|
|
45
|
+
currentPositionSize: import("@drift-labs/sdk").BigNum;
|
|
46
|
+
currentPositionDirection: import("@drift-labs/sdk").PositionDirection;
|
|
47
|
+
currentPositionEntryPrice: import("@drift-labs/sdk").BigNum;
|
|
48
|
+
tradeDirection: import("@drift-labs/sdk").PositionDirection;
|
|
49
|
+
exitBaseSize: import("@drift-labs/sdk").BigNum;
|
|
50
|
+
exitPrice: import("@drift-labs/sdk").BigNum;
|
|
51
|
+
takerFeeBps: number;
|
|
52
|
+
slippageTolerance?: number;
|
|
53
|
+
isMarketOrder?: boolean;
|
|
54
|
+
}) => {
|
|
55
|
+
estimatedProfit: import("@drift-labs/sdk").BigNum;
|
|
56
|
+
estimatedProfitBeforeFees: import("@drift-labs/sdk").BigNum;
|
|
57
|
+
estimatedTakerFee: import("@drift-labs/sdk").BigNum;
|
|
58
|
+
notionalSizeAtEntry: import("@drift-labs/sdk").BigNum;
|
|
59
|
+
notionalSizeAtExit: import("@drift-labs/sdk").BigNum;
|
|
60
|
+
};
|
|
61
|
+
calculateLiquidationPriceAfterPerpTrade: ({ estEntryPrice, orderType, perpMarketIndex, tradeBaseSize, isLong, userClient, oraclePrice, limitPrice, offsetCollateral, precision, isEnteringHighLeverageMode, capLiqPrice, marginType, }: {
|
|
62
|
+
estEntryPrice: BN;
|
|
63
|
+
orderType: import("..").UIOrderType;
|
|
64
|
+
perpMarketIndex: number;
|
|
65
|
+
tradeBaseSize: BN;
|
|
66
|
+
isLong: boolean;
|
|
67
|
+
userClient: import("@drift-labs/sdk").User;
|
|
68
|
+
oraclePrice: BN;
|
|
69
|
+
limitPrice?: BN;
|
|
70
|
+
offsetCollateral?: BN;
|
|
71
|
+
precision?: number;
|
|
72
|
+
isEnteringHighLeverageMode?: boolean;
|
|
73
|
+
capLiqPrice?: boolean;
|
|
74
|
+
marginType?: "Cross" | "Isolated";
|
|
75
|
+
}) => number;
|
|
76
|
+
checkIsMarketOrderType: (orderType: import("..").UIOrderType) => boolean;
|
|
77
|
+
convertLeverageToMarginRatio: (leverage: number) => number;
|
|
78
|
+
convertMarginRatioToLeverage: (marginRatio: number, decimals?: number) => number;
|
|
79
|
+
getMarketTickSize: (driftClient: import("@drift-labs/sdk").DriftClient, marketId: import("..").MarketId) => BN;
|
|
80
|
+
getMarketTickSizeDecimals: (driftClient: import("@drift-labs/sdk").DriftClient, marketId: import("..").MarketId) => number;
|
|
81
|
+
getMarketStepSize: (driftClient: import("@drift-labs/sdk").DriftClient, marketId: import("..").MarketId) => BN;
|
|
82
|
+
getMarketStepSizeDecimals: (driftClient: import("@drift-labs/sdk").DriftClient, marketId: import("..").MarketId) => number;
|
|
83
|
+
isEntirePositionOrder: (orderAmount: import("@drift-labs/sdk").BigNum) => boolean;
|
|
84
|
+
getMaxLeverageOrderSize: (orderAmount: import("@drift-labs/sdk").BigNum) => import("@drift-labs/sdk").BigNum;
|
|
85
|
+
formatOrderSize: (orderAmount: import("@drift-labs/sdk").BigNum, formatFn?: (amount: import("@drift-labs/sdk").BigNum) => string) => string;
|
|
86
|
+
getMarginUsedForPosition: (user: import("@drift-labs/sdk").User, marketIndex: number, includeOpenOrders?: boolean) => any;
|
|
87
|
+
validateLeverageChange: ({ user, marketIndex, newLeverage, }: {
|
|
88
|
+
user: import("@drift-labs/sdk").User;
|
|
89
|
+
marketIndex: number;
|
|
90
|
+
newLeverage: number;
|
|
91
|
+
}) => boolean;
|
|
92
|
+
getOpenPositionData: (driftClient: import("@drift-labs/sdk").DriftClient, userPositions: import("@drift-labs/sdk").PerpPosition[], user: import("@drift-labs/sdk").User, perpMarketLookup: import("@drift-labs/sdk").PerpMarketConfig[], markPriceCallback?: (marketIndex: number) => BN) => import("..").OpenPosition[];
|
|
93
|
+
checkIfUserAccountExists: (driftClient: import("@drift-labs/sdk").DriftClient, config: {
|
|
94
|
+
type: "userPubKey";
|
|
95
|
+
userPubKey: import("@solana/web3.js").PublicKey;
|
|
96
|
+
} | {
|
|
97
|
+
type: "subAccountId";
|
|
98
|
+
subAccountId: number;
|
|
99
|
+
authority: import("@solana/web3.js").PublicKey;
|
|
100
|
+
}) => Promise<boolean>;
|
|
101
|
+
getUserMaxLeverageForMarket: (user: import("@drift-labs/sdk").User, marketIndex: number, marketLeverageDetails: {
|
|
102
|
+
regularMaxLeverage: number;
|
|
103
|
+
highLeverageMaxLeverage: number;
|
|
104
|
+
hasHighLeverage: boolean;
|
|
105
|
+
}, uiSavedMaxLeverage?: number) => number;
|
|
106
|
+
abbreviateAddress: (address: string | import("@solana/web3.js").PublicKey, length?: number) => string;
|
|
107
|
+
calculateAverageEntryPrice: (quoteAssetAmount: import("@drift-labs/sdk").BigNum, baseAssetAmount: import("@drift-labs/sdk").BigNum) => import("@drift-labs/sdk").BigNum;
|
|
108
|
+
chunks: <T>(array: readonly T[], size: number) => T[][];
|
|
109
|
+
compareSignatures: (original: string, hashed: string) => Promise<boolean>;
|
|
110
|
+
createPlaceholderIWallet: (walletPubKey?: import("@solana/web3.js").PublicKey) => import("@drift-labs/sdk").IWalletV2;
|
|
111
|
+
deriveMarketOrderParams: ({ marketType, marketIndex, direction, maxLeverageSelected, maxLeverageOrderSize, baseAmount, reduceOnly, allowInfSlippage, oraclePrice, bestPrice, entryPrice, worstPrice, markPrice, auctionDuration, auctionStartPriceOffset, auctionEndPriceOffset, auctionStartPriceOffsetFrom, auctionEndPriceOffsetFrom, auctionPriceCaps, slippageTolerance, isOracleOrder, additionalEndPriceBuffer, forceUpToSlippage, bestBidPrice, bestAskPrice, ensureCrossingEndPrice, }: {
|
|
112
|
+
marketType: import("@drift-labs/sdk").MarketType;
|
|
113
|
+
marketIndex: number;
|
|
114
|
+
direction: import("@drift-labs/sdk").PositionDirection;
|
|
115
|
+
maxLeverageSelected: boolean;
|
|
116
|
+
maxLeverageOrderSize: BN;
|
|
117
|
+
baseAmount: BN;
|
|
118
|
+
reduceOnly: boolean;
|
|
119
|
+
allowInfSlippage: boolean;
|
|
120
|
+
oraclePrice: BN;
|
|
121
|
+
bestPrice: BN;
|
|
122
|
+
entryPrice: BN;
|
|
123
|
+
worstPrice: BN;
|
|
124
|
+
markPrice: BN;
|
|
125
|
+
auctionDuration: number;
|
|
126
|
+
auctionStartPriceOffset: number;
|
|
127
|
+
auctionEndPriceOffset: number;
|
|
128
|
+
auctionPriceCaps?: {
|
|
129
|
+
min: BN;
|
|
130
|
+
max: BN;
|
|
131
|
+
};
|
|
132
|
+
auctionStartPriceOffsetFrom: import("..").TradeOffsetPrice;
|
|
133
|
+
auctionEndPriceOffsetFrom: import("..").TradeOffsetPrice;
|
|
134
|
+
slippageTolerance: number;
|
|
135
|
+
isOracleOrder?: boolean;
|
|
136
|
+
additionalEndPriceBuffer?: BN;
|
|
137
|
+
forceUpToSlippage?: boolean;
|
|
138
|
+
bestBidPrice?: BN;
|
|
139
|
+
bestAskPrice?: BN;
|
|
140
|
+
ensureCrossingEndPrice?: boolean;
|
|
141
|
+
}) => {
|
|
142
|
+
orderType?: import("@drift-labs/sdk").OrderType;
|
|
143
|
+
marketType?: import("@drift-labs/sdk").MarketType;
|
|
144
|
+
userOrderId?: number;
|
|
145
|
+
direction?: import("@drift-labs/sdk").PositionDirection;
|
|
146
|
+
baseAssetAmount?: BN;
|
|
147
|
+
price?: BN;
|
|
148
|
+
marketIndex?: number;
|
|
149
|
+
reduceOnly?: boolean;
|
|
150
|
+
postOnly?: import("@drift-labs/sdk").PostOnlyParams;
|
|
151
|
+
bitFlags?: number;
|
|
152
|
+
triggerPrice?: any;
|
|
153
|
+
triggerCondition?: import("@drift-labs/sdk").OrderTriggerCondition;
|
|
154
|
+
oraclePriceOffset?: number;
|
|
155
|
+
auctionDuration?: number;
|
|
156
|
+
maxTs?: any;
|
|
157
|
+
auctionStartPrice?: any;
|
|
158
|
+
auctionEndPrice?: any;
|
|
159
|
+
} & import("@drift-labs/sdk").NecessaryOrderParams & {
|
|
160
|
+
constrainedBySlippage?: boolean;
|
|
161
|
+
};
|
|
162
|
+
fetchCurrentSubaccounts: (driftClient: import("@drift-labs/sdk").DriftClient) => import("@drift-labs/sdk").UserAccount[];
|
|
163
|
+
fetchUserClientsAndAccounts: (driftClient: import("@drift-labs/sdk").DriftClient) => {
|
|
164
|
+
user: import("@drift-labs/sdk").User;
|
|
165
|
+
userAccount: import("@drift-labs/sdk").UserAccount;
|
|
166
|
+
}[];
|
|
167
|
+
formatTokenInputCurried: (setAmount: (amount: string) => void, spotMarketConfig: import("@drift-labs/sdk").SpotMarketConfig) => (newAmount: string) => void;
|
|
168
|
+
getBalanceFromTokenAccountResult: (account: {
|
|
169
|
+
pubkey: import("@solana/web3.js").PublicKey;
|
|
170
|
+
account: import("@solana/web3.js").AccountInfo<import("@solana/web3.js").ParsedAccountData>;
|
|
171
|
+
}) => any;
|
|
172
|
+
getIdAndAuthorityFromKey: (key: string) => {
|
|
173
|
+
userId: number;
|
|
174
|
+
userAuthority: import("@solana/web3.js").PublicKey;
|
|
175
|
+
} | {
|
|
176
|
+
userId: undefined;
|
|
177
|
+
userAuthority: undefined;
|
|
178
|
+
};
|
|
179
|
+
getLimitAuctionParams: ({ direction, inputPrice, startPriceFromSettings, duration, auctionStartPriceOffset, oraclePriceBands, }: {
|
|
180
|
+
direction: import("@drift-labs/sdk").PositionDirection;
|
|
181
|
+
inputPrice: import("@drift-labs/sdk").BigNum;
|
|
182
|
+
startPriceFromSettings: BN;
|
|
183
|
+
duration: number;
|
|
184
|
+
auctionStartPriceOffset: number;
|
|
185
|
+
oraclePriceBands?: [BN, BN];
|
|
186
|
+
}) => import("..").AuctionParams;
|
|
187
|
+
getLpSharesAmountForQuote: (driftClient: import("@drift-labs/sdk").DriftClient, marketIndex: number, quoteAmount: BN) => import("@drift-labs/sdk").BigNum;
|
|
188
|
+
getMarketAuctionParams: ({ direction, startPriceFromSettings, endPriceFromSettings, limitPrice, duration, auctionStartPriceOffset, auctionEndPriceOffset, additionalEndPriceBuffer, forceUpToSlippage, bestBidPrice, bestAskPrice, ensureCrossingEndPrice, }: {
|
|
189
|
+
direction: import("@drift-labs/sdk").PositionDirection;
|
|
190
|
+
startPriceFromSettings: BN;
|
|
191
|
+
endPriceFromSettings: BN;
|
|
192
|
+
limitPrice: BN;
|
|
193
|
+
duration: number;
|
|
194
|
+
auctionStartPriceOffset: number;
|
|
195
|
+
auctionEndPriceOffset: number;
|
|
196
|
+
additionalEndPriceBuffer?: BN;
|
|
197
|
+
forceUpToSlippage?: boolean;
|
|
198
|
+
bestBidPrice?: BN;
|
|
199
|
+
bestAskPrice?: BN;
|
|
200
|
+
ensureCrossingEndPrice?: boolean;
|
|
201
|
+
}) => import("..").AuctionParams;
|
|
202
|
+
getMarketKey: (marketIndex: number, marketType: import("@drift-labs/sdk").MarketType) => string;
|
|
203
|
+
getMarketOrderLimitPrice: ({ direction, baselinePrice, slippageTolerance, }: {
|
|
204
|
+
direction: import("@drift-labs/sdk").PositionDirection;
|
|
205
|
+
baselinePrice: BN;
|
|
206
|
+
slippageTolerance: number;
|
|
207
|
+
}) => BN;
|
|
208
|
+
getMultipleAccounts: (connection: any, keys: string[], commitment: string) => Promise<{
|
|
209
|
+
keys: string[];
|
|
210
|
+
array: import("@solana/web3.js").AccountInfo<Buffer>[];
|
|
211
|
+
}>;
|
|
212
|
+
getMultipleAccountsCore: (connection: any, keys: string[], commitment: string) => Promise<{
|
|
213
|
+
keys: string[];
|
|
214
|
+
array: import("@solana/web3.js").AccountInfo<string[]>[];
|
|
215
|
+
}>;
|
|
216
|
+
getPriceObject: ({ oraclePrice, bestOffer, entryPrice, worstPrice, markPrice, direction, }: {
|
|
217
|
+
oraclePrice: BN;
|
|
218
|
+
bestOffer: BN;
|
|
219
|
+
entryPrice: BN;
|
|
220
|
+
worstPrice: BN;
|
|
221
|
+
markPrice: BN;
|
|
222
|
+
direction: import("@drift-labs/sdk").PositionDirection;
|
|
223
|
+
}) => {
|
|
224
|
+
oracle: BN;
|
|
225
|
+
bestOffer: BN;
|
|
226
|
+
entry: BN;
|
|
227
|
+
best: BN;
|
|
228
|
+
worst: BN;
|
|
229
|
+
mark: BN;
|
|
230
|
+
};
|
|
231
|
+
getQuoteValueForLpShares: (driftClient: import("@drift-labs/sdk").DriftClient, marketIndex: number, sharesAmount: BN) => import("@drift-labs/sdk").BigNum;
|
|
232
|
+
getSignatureVerificationMessageForSettings: (authority: import("@solana/web3.js").PublicKey, signTs: number) => Uint8Array;
|
|
233
|
+
getTokenAccount: (connection: import("@solana/web3.js").Connection, mintAddress: string, userPubKey: string) => Promise<{
|
|
234
|
+
pubkey: import("@solana/web3.js").PublicKey;
|
|
235
|
+
account: import("@solana/web3.js").AccountInfo<import("@solana/web3.js").ParsedAccountData>;
|
|
236
|
+
}>;
|
|
237
|
+
getTokenAddress: (mintAddress: string, userPubKey: string) => Promise<import("@solana/web3.js").PublicKey>;
|
|
238
|
+
getUserKey: (userId: number, authority: import("@solana/web3.js").PublicKey) => string;
|
|
239
|
+
hashSignature: (signature: string) => Promise<string>;
|
|
240
|
+
initializeAndSubscribeToNewUserAccount: (driftClient: import("@drift-labs/sdk").DriftClient, userIdToInit: number, authority: import("@solana/web3.js").PublicKey, callbacks: {
|
|
241
|
+
initializationStep: () => Promise<boolean>;
|
|
242
|
+
postInitializationStep?: () => Promise<boolean>;
|
|
243
|
+
handleSuccessStep?: (accountAlreadyExisted: boolean) => Promise<boolean>;
|
|
244
|
+
}) => Promise<"ok" | "failed_initializationStep" | "failed_postInitializationStep" | "failed_awaitAccountInitializationChainState" | "failed_handleSuccessStep">;
|
|
245
|
+
userExists: (driftClient: import("@drift-labs/sdk").DriftClient, userId: number, authority: import("@solana/web3.js").PublicKey) => Promise<boolean>;
|
|
246
|
+
verifySignature: (signature: Uint8Array, message: Uint8Array, pubKey: import("@solana/web3.js").PublicKey) => boolean;
|
|
247
|
+
trimTrailingZeros: (str: string, zerosToShow?: number) => string;
|
|
248
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.COMMON_UI_UTILS = void 0;
|
|
4
|
+
const format_1 = require("../utils/strings/format");
|
|
5
|
+
const price_1 = require("../utils/math/price");
|
|
6
|
+
const arrays_1 = require("../utils/core/arrays");
|
|
7
|
+
const signature_1 = require("../utils/accounts/signature");
|
|
8
|
+
const wallet_1 = require("../utils/accounts/wallet");
|
|
9
|
+
const auction_1 = require("../utils/trading/auction");
|
|
10
|
+
const subaccounts_1 = require("../utils/accounts/subaccounts");
|
|
11
|
+
const input_1 = require("../utils/validation/input");
|
|
12
|
+
const account_1 = require("../utils/token/account");
|
|
13
|
+
const keys_1 = require("../utils/accounts/keys");
|
|
14
|
+
const lp_1 = require("../utils/trading/lp");
|
|
15
|
+
const price_2 = require("../utils/trading/price");
|
|
16
|
+
const multiple_1 = require("../utils/accounts/multiple");
|
|
17
|
+
const address_1 = require("../utils/token/address");
|
|
18
|
+
const init_1 = require("../utils/accounts/init");
|
|
19
|
+
const user_utils_1 = require("./user-utils");
|
|
20
|
+
const trading_utils_1 = require("./trading-utils");
|
|
21
|
+
const market_utils_1 = require("./market-utils");
|
|
22
|
+
const order_utils_1 = require("./order-utils");
|
|
23
|
+
/** @deprecated Use direct imports from '@drift-labs/common/utils/trading', '@drift-labs/common/utils/accounts', etc. */
|
|
24
|
+
exports.COMMON_UI_UTILS = {
|
|
25
|
+
abbreviateAddress: format_1.abbreviateAddress,
|
|
26
|
+
calculateAverageEntryPrice: price_1.calculateAverageEntryPrice,
|
|
27
|
+
chunks: arrays_1.chunks,
|
|
28
|
+
compareSignatures: signature_1.compareSignatures,
|
|
29
|
+
createPlaceholderIWallet: wallet_1.createPlaceholderIWallet,
|
|
30
|
+
deriveMarketOrderParams: auction_1.deriveMarketOrderParams,
|
|
31
|
+
fetchCurrentSubaccounts: subaccounts_1.fetchCurrentSubaccounts,
|
|
32
|
+
fetchUserClientsAndAccounts: subaccounts_1.fetchUserClientsAndAccounts,
|
|
33
|
+
formatTokenInputCurried: input_1.formatTokenInputCurried,
|
|
34
|
+
getBalanceFromTokenAccountResult: account_1.getBalanceFromTokenAccountResult,
|
|
35
|
+
getIdAndAuthorityFromKey: keys_1.getIdAndAuthorityFromKey,
|
|
36
|
+
getLimitAuctionParams: auction_1.getLimitAuctionParams,
|
|
37
|
+
getLpSharesAmountForQuote: lp_1.getLpSharesAmountForQuote,
|
|
38
|
+
getMarketAuctionParams: auction_1.getMarketAuctionParams,
|
|
39
|
+
getMarketKey: keys_1.getMarketKey,
|
|
40
|
+
getMarketOrderLimitPrice: price_2.getMarketOrderLimitPrice,
|
|
41
|
+
getMultipleAccounts: multiple_1.getMultipleAccounts,
|
|
42
|
+
getMultipleAccountsCore: multiple_1.getMultipleAccountsCore,
|
|
43
|
+
getPriceObject: auction_1.getPriceObject,
|
|
44
|
+
getQuoteValueForLpShares: lp_1.getQuoteValueForLpShares,
|
|
45
|
+
getSignatureVerificationMessageForSettings: signature_1.getSignatureVerificationMessageForSettings,
|
|
46
|
+
getTokenAccount: account_1.getTokenAccount,
|
|
47
|
+
getTokenAddress: address_1.getTokenAddress,
|
|
48
|
+
getUserKey: keys_1.getUserKey,
|
|
49
|
+
hashSignature: signature_1.hashSignature,
|
|
50
|
+
initializeAndSubscribeToNewUserAccount: init_1.initializeAndSubscribeToNewUserAccount,
|
|
51
|
+
userExists: subaccounts_1.userExists,
|
|
52
|
+
verifySignature: signature_1.verifySignature,
|
|
53
|
+
trimTrailingZeros: format_1.trimTrailingZeros,
|
|
54
|
+
...user_utils_1.USER_UTILS,
|
|
55
|
+
...trading_utils_1.TRADING_UTILS,
|
|
56
|
+
...market_utils_1.MARKET_UTILS,
|
|
57
|
+
...order_utils_1.ORDER_COMMON_UTILS,
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=common-ui-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common-ui-utils.js","sourceRoot":"","sources":["../../src/_deprecated/common-ui-utils.ts"],"names":[],"mappings":";;;AAAA,oDAA+E;AAC/E,+CAAiE;AACjE,iDAA8C;AAC9C,2DAKqC;AACrC,qDAAoE;AACpE,sDAKkC;AAClC,+DAIuC;AACvC,qDAAoE;AACpE,oDAGgC;AAChC,iDAIgC;AAChC,4CAG6B;AAC7B,kDAAkE;AAClE,yDAGoC;AACpC,oDAAyD;AACzD,iDAAgF;AAChF,6CAA0C;AAC1C,mDAAgD;AAChD,iDAA8C;AAC9C,+CAAmD;AAEnD,wHAAwH;AAC3G,QAAA,eAAe,GAAG;IAC9B,iBAAiB,EAAjB,0BAAiB;IACjB,0BAA0B,EAA1B,kCAA0B;IAC1B,MAAM,EAAN,eAAM;IACN,iBAAiB,EAAjB,6BAAiB;IACjB,wBAAwB,EAAxB,iCAAwB;IACxB,uBAAuB,EAAvB,iCAAuB;IACvB,uBAAuB,EAAvB,qCAAuB;IACvB,2BAA2B,EAA3B,yCAA2B;IAC3B,uBAAuB,EAAvB,+BAAuB;IACvB,gCAAgC,EAAhC,0CAAgC;IAChC,wBAAwB,EAAxB,+BAAwB;IACxB,qBAAqB,EAArB,+BAAqB;IACrB,yBAAyB,EAAzB,8BAAyB;IACzB,sBAAsB,EAAtB,gCAAsB;IACtB,YAAY,EAAZ,mBAAY;IACZ,wBAAwB,EAAxB,gCAAwB;IACxB,mBAAmB,EAAnB,8BAAmB;IACnB,uBAAuB,EAAvB,kCAAuB;IACvB,cAAc,EAAd,wBAAc;IACd,wBAAwB,EAAxB,6BAAwB;IACxB,0CAA0C,EAA1C,sDAA0C;IAC1C,eAAe,EAAf,yBAAe;IACf,eAAe,EAAf,yBAAe;IACf,UAAU,EAAV,iBAAU;IACV,aAAa,EAAb,yBAAa;IACb,sCAAsC,EAAtC,6CAAsC;IACtC,UAAU,EAAV,wBAAU;IACV,eAAe,EAAf,2BAAe;IACf,iBAAiB,EAAjB,0BAAiB;IACjB,GAAG,uBAAU;IACb,GAAG,6BAAa;IAChB,GAAG,2BAAY;IACf,GAAG,gCAAkB;CACrB,CAAC","sourcesContent":["import { abbreviateAddress, trimTrailingZeros } from '../utils/strings/format';\nimport { calculateAverageEntryPrice } from '../utils/math/price';\nimport { chunks } from '../utils/core/arrays';\nimport {\n\tcompareSignatures,\n\tgetSignatureVerificationMessageForSettings,\n\tverifySignature,\n\thashSignature,\n} from '../utils/accounts/signature';\nimport { createPlaceholderIWallet } from '../utils/accounts/wallet';\nimport {\n\tderiveMarketOrderParams,\n\tgetLimitAuctionParams,\n\tgetMarketAuctionParams,\n\tgetPriceObject,\n} from '../utils/trading/auction';\nimport {\n\tfetchCurrentSubaccounts,\n\tfetchUserClientsAndAccounts,\n\tuserExists,\n} from '../utils/accounts/subaccounts';\nimport { formatTokenInputCurried } from '../utils/validation/input';\nimport {\n\tgetBalanceFromTokenAccountResult,\n\tgetTokenAccount,\n} from '../utils/token/account';\nimport {\n\tgetIdAndAuthorityFromKey,\n\tgetUserKey,\n\tgetMarketKey,\n} from '../utils/accounts/keys';\nimport {\n\tgetLpSharesAmountForQuote,\n\tgetQuoteValueForLpShares,\n} from '../utils/trading/lp';\nimport { getMarketOrderLimitPrice } from '../utils/trading/price';\nimport {\n\tgetMultipleAccounts,\n\tgetMultipleAccountsCore,\n} from '../utils/accounts/multiple';\nimport { getTokenAddress } from '../utils/token/address';\nimport { initializeAndSubscribeToNewUserAccount } from '../utils/accounts/init';\nimport { USER_UTILS } from './user-utils';\nimport { TRADING_UTILS } from './trading-utils';\nimport { MARKET_UTILS } from './market-utils';\nimport { ORDER_COMMON_UTILS } from './order-utils';\n\n/** @deprecated Use direct imports from '@drift-labs/common/utils/trading', '@drift-labs/common/utils/accounts', etc. */\nexport const COMMON_UI_UTILS = {\n\tabbreviateAddress,\n\tcalculateAverageEntryPrice,\n\tchunks,\n\tcompareSignatures,\n\tcreatePlaceholderIWallet,\n\tderiveMarketOrderParams,\n\tfetchCurrentSubaccounts,\n\tfetchUserClientsAndAccounts,\n\tformatTokenInputCurried,\n\tgetBalanceFromTokenAccountResult,\n\tgetIdAndAuthorityFromKey,\n\tgetLimitAuctionParams,\n\tgetLpSharesAmountForQuote,\n\tgetMarketAuctionParams,\n\tgetMarketKey,\n\tgetMarketOrderLimitPrice,\n\tgetMultipleAccounts,\n\tgetMultipleAccountsCore,\n\tgetPriceObject,\n\tgetQuoteValueForLpShares,\n\tgetSignatureVerificationMessageForSettings,\n\tgetTokenAccount,\n\tgetTokenAddress,\n\tgetUserKey,\n\thashSignature,\n\tinitializeAndSubscribeToNewUserAccount,\n\tuserExists,\n\tverifySignature,\n\ttrimTrailingZeros,\n\t...USER_UTILS,\n\t...TRADING_UTILS,\n\t...MARKET_UTILS,\n\t...ORDER_COMMON_UTILS,\n};\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EQUALITY_CHECKS = void 0;
|
|
4
|
+
/** @deprecated Use direct import from '@drift-labs/common/utils/core/equality' */
|
|
5
|
+
var equality_1 = require("../utils/core/equality");
|
|
6
|
+
Object.defineProperty(exports, "EQUALITY_CHECKS", { enumerable: true, get: function () { return equality_1.EQUALITY_CHECKS; } });
|
|
7
|
+
//# sourceMappingURL=equality-checks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"equality-checks.js","sourceRoot":"","sources":["../../src/_deprecated/equality-checks.ts"],"names":[],"mappings":";;;AAAA,kFAAkF;AAClF,mDAAyD;AAAhD,2GAAA,eAAe,OAAA","sourcesContent":["/** @deprecated Use direct import from '@drift-labs/common/utils/core/equality' */\nexport { EQUALITY_CHECKS } from '../utils/core/equality';\n"]}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
declare function getMarketConfig(driftEnv: DriftEnv, marketType: typeof MarketType.SPOT, marketIndex: number): SpotMarketConfig;
|
|
1
|
+
import { getMarketConfig } from '../utils/markets/config';
|
|
2
|
+
/** @deprecated Use direct imports from '@drift-labs/common/utils/markets' */
|
|
4
3
|
export declare const MARKET_UTILS: {
|
|
5
4
|
getBaseAssetSymbol: (marketName: string, removePrefix?: boolean) => string;
|
|
6
|
-
getPausedOperations: (marketAccount:
|
|
5
|
+
getPausedOperations: (marketAccount: import("@drift-labs/sdk").SpotMarketAccount | import("@drift-labs/sdk").PerpMarketAccount) => string[];
|
|
7
6
|
PerpOperationsMap: {
|
|
8
7
|
UPDATE_FUNDING: string;
|
|
9
8
|
AMM_FILL: string;
|
|
@@ -23,15 +22,14 @@ export declare const MARKET_UTILS: {
|
|
|
23
22
|
REMOVE: string;
|
|
24
23
|
};
|
|
25
24
|
getMarketConfig: typeof getMarketConfig;
|
|
26
|
-
getMaxLeverageForMarket: (marketType: MarketType, marketIndex: number, driftClient: DriftClient) => {
|
|
25
|
+
getMaxLeverageForMarket: (marketType: import("@drift-labs/sdk").MarketType, marketIndex: number, driftClient: import("@drift-labs/sdk").DriftClient) => {
|
|
27
26
|
maxLeverage: number;
|
|
28
27
|
highLeverageMaxLeverage: number;
|
|
29
28
|
hasHighLeverage: boolean;
|
|
30
29
|
};
|
|
31
|
-
getMaxLeverageForMarketAccount: (marketType: MarketType, marketAccount:
|
|
30
|
+
getMaxLeverageForMarketAccount: (marketType: import("@drift-labs/sdk").MarketType, marketAccount: import("@drift-labs/sdk").SpotMarketAccount | import("@drift-labs/sdk").PerpMarketAccount) => {
|
|
32
31
|
maxLeverage: number;
|
|
33
32
|
highLeverageMaxLeverage: number;
|
|
34
33
|
hasHighLeverage: boolean;
|
|
35
34
|
};
|
|
36
35
|
};
|
|
37
|
-
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MARKET_UTILS = void 0;
|
|
4
|
+
const config_1 = require("../utils/markets/config");
|
|
5
|
+
const operations_1 = require("../utils/markets/operations");
|
|
6
|
+
const leverage_1 = require("../utils/markets/leverage");
|
|
7
|
+
/** @deprecated Use direct imports from '@drift-labs/common/utils/markets' */
|
|
8
|
+
exports.MARKET_UTILS = {
|
|
9
|
+
getBaseAssetSymbol: config_1.getBaseAssetSymbol,
|
|
10
|
+
getPausedOperations: operations_1.getPausedOperations,
|
|
11
|
+
PerpOperationsMap: operations_1.PerpOperationsMap,
|
|
12
|
+
SpotOperationsMap: operations_1.SpotOperationsMap,
|
|
13
|
+
InsuranceFundOperationsMap: operations_1.InsuranceFundOperationsMap,
|
|
14
|
+
getMarketConfig: config_1.getMarketConfig,
|
|
15
|
+
getMaxLeverageForMarket: leverage_1.getMaxLeverageForMarket,
|
|
16
|
+
getMaxLeverageForMarketAccount: leverage_1.getMaxLeverageForMarketAccount,
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=market-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market-utils.js","sourceRoot":"","sources":["../../src/_deprecated/market-utils.ts"],"names":[],"mappings":";;;AAAA,oDAA8E;AAC9E,4DAKqC;AACrC,wDAGmC;AAEnC,6EAA6E;AAChE,QAAA,YAAY,GAAG;IAC3B,kBAAkB,EAAlB,2BAAkB;IAClB,mBAAmB,EAAnB,gCAAmB;IACnB,iBAAiB,EAAjB,8BAAiB;IACjB,iBAAiB,EAAjB,8BAAiB;IACjB,0BAA0B,EAA1B,uCAA0B;IAC1B,eAAe,EAAf,wBAAe;IACf,uBAAuB,EAAvB,kCAAuB;IACvB,8BAA8B,EAA9B,yCAA8B;CAC9B,CAAC","sourcesContent":["import { getBaseAssetSymbol, getMarketConfig } from '../utils/markets/config';\nimport {\n\tgetPausedOperations,\n\tPerpOperationsMap,\n\tSpotOperationsMap,\n\tInsuranceFundOperationsMap,\n} from '../utils/markets/operations';\nimport {\n\tgetMaxLeverageForMarket,\n\tgetMaxLeverageForMarketAccount,\n} from '../utils/markets/leverage';\n\n/** @deprecated Use direct imports from '@drift-labs/common/utils/markets' */\nexport const MARKET_UTILS = {\n\tgetBaseAssetSymbol,\n\tgetPausedOperations,\n\tPerpOperationsMap,\n\tSpotOperationsMap,\n\tInsuranceFundOperationsMap,\n\tgetMarketConfig,\n\tgetMaxLeverageForMarket,\n\tgetMaxLeverageForMarketAccount,\n};\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { isAuctionEmpty } from '../utils/orders/oracle';
|
|
2
|
+
import { getPerpAuctionDuration, getPerpOrderParamsBitFlags } from '../utils/orders/flags';
|
|
3
|
+
/** @deprecated Use direct imports from '@drift-labs/common/utils/orders' */
|
|
4
|
+
export declare const ORDER_COMMON_UTILS: {
|
|
5
|
+
getOrderLabelFromOrderDetails: (orderDetails: Pick<import("..").UISerializableOrder, "orderType" | "direction" | "triggerCondition" | "oraclePriceOffset" | "existingPositionDirection">) => string;
|
|
6
|
+
getLimitPriceFromOracleOffset: (order: import("..").UISerializableOrder, oraclePrice: import("@drift-labs/sdk").BigNum) => import("@drift-labs/sdk").BigNum;
|
|
7
|
+
isAuctionEmpty: typeof isAuctionEmpty;
|
|
8
|
+
getUIOrderTypeFromSdkOrderType: (orderType: import("@drift-labs/sdk").OrderType, triggerCondition: import("@drift-labs/sdk").OrderTriggerCondition, direction: import("@drift-labs/sdk").PositionDirection, oracleOffset: import("@drift-labs/sdk").BigNum) => import("..").UIOrderTypeValue;
|
|
9
|
+
getPerpAuctionDuration: typeof getPerpAuctionDuration;
|
|
10
|
+
getPerpOrderParamsBitFlags: typeof getPerpOrderParamsBitFlags;
|
|
11
|
+
isOrderTriggered: (order: Pick<import("..").UISerializableOrder, "status" | "orderType" | "triggerCondition">) => boolean;
|
|
12
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ORDER_COMMON_UTILS = void 0;
|
|
4
|
+
const labels_1 = require("../utils/orders/labels");
|
|
5
|
+
const oracle_1 = require("../utils/orders/oracle");
|
|
6
|
+
const flags_1 = require("../utils/orders/flags");
|
|
7
|
+
const filters_1 = require("../utils/orders/filters");
|
|
8
|
+
/** @deprecated Use direct imports from '@drift-labs/common/utils/orders' */
|
|
9
|
+
exports.ORDER_COMMON_UTILS = {
|
|
10
|
+
getOrderLabelFromOrderDetails: labels_1.getOrderLabelFromOrderDetails,
|
|
11
|
+
getLimitPriceFromOracleOffset: oracle_1.getLimitPriceFromOracleOffset,
|
|
12
|
+
isAuctionEmpty: oracle_1.isAuctionEmpty,
|
|
13
|
+
getUIOrderTypeFromSdkOrderType: labels_1.getUIOrderTypeFromSdkOrderType,
|
|
14
|
+
getPerpAuctionDuration: flags_1.getPerpAuctionDuration,
|
|
15
|
+
getPerpOrderParamsBitFlags: flags_1.getPerpOrderParamsBitFlags,
|
|
16
|
+
isOrderTriggered: filters_1.isOrderTriggered,
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=order-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order-utils.js","sourceRoot":"","sources":["../../src/_deprecated/order-utils.ts"],"names":[],"mappings":";;;AAAA,mDAGgC;AAChC,mDAGgC;AAChC,iDAG+B;AAC/B,qDAA2D;AAE3D,4EAA4E;AAC/D,QAAA,kBAAkB,GAAG;IACjC,6BAA6B,EAA7B,sCAA6B;IAC7B,6BAA6B,EAA7B,sCAA6B;IAC7B,cAAc,EAAd,uBAAc;IACd,8BAA8B,EAA9B,uCAA8B;IAC9B,sBAAsB,EAAtB,8BAAsB;IACtB,0BAA0B,EAA1B,kCAA0B;IAC1B,gBAAgB,EAAhB,0BAAgB;CAChB,CAAC","sourcesContent":["import {\n\tgetOrderLabelFromOrderDetails,\n\tgetUIOrderTypeFromSdkOrderType,\n} from '../utils/orders/labels';\nimport {\n\tgetLimitPriceFromOracleOffset,\n\tisAuctionEmpty,\n} from '../utils/orders/oracle';\nimport {\n\tgetPerpAuctionDuration,\n\tgetPerpOrderParamsBitFlags,\n} from '../utils/orders/flags';\nimport { isOrderTriggered } from '../utils/orders/filters';\n\n/** @deprecated Use direct imports from '@drift-labs/common/utils/orders' */\nexport const ORDER_COMMON_UTILS = {\n\tgetOrderLabelFromOrderDetails,\n\tgetLimitPriceFromOracleOffset,\n\tisAuctionEmpty,\n\tgetUIOrderTypeFromSdkOrderType,\n\tgetPerpAuctionDuration,\n\tgetPerpOrderParamsBitFlags,\n\tisOrderTriggered,\n};\n"]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/** @deprecated Use direct imports from '@drift-labs/common/utils/trading' */
|
|
2
|
+
export declare const TRADING_UTILS: {
|
|
3
|
+
calculatePnlPctFromPosition: (pnl: BN, position: import("..").OpenPosition, marginUsed?: BN) => number;
|
|
4
|
+
calculatePotentialProfit: (props: {
|
|
5
|
+
currentPositionSize: import("@drift-labs/sdk").BigNum;
|
|
6
|
+
currentPositionDirection: import("@drift-labs/sdk").PositionDirection;
|
|
7
|
+
currentPositionEntryPrice: import("@drift-labs/sdk").BigNum;
|
|
8
|
+
tradeDirection: import("@drift-labs/sdk").PositionDirection;
|
|
9
|
+
exitBaseSize: import("@drift-labs/sdk").BigNum;
|
|
10
|
+
exitPrice: import("@drift-labs/sdk").BigNum;
|
|
11
|
+
takerFeeBps: number;
|
|
12
|
+
slippageTolerance?: number;
|
|
13
|
+
isMarketOrder?: boolean;
|
|
14
|
+
}) => {
|
|
15
|
+
estimatedProfit: import("@drift-labs/sdk").BigNum;
|
|
16
|
+
estimatedProfitBeforeFees: import("@drift-labs/sdk").BigNum;
|
|
17
|
+
estimatedTakerFee: import("@drift-labs/sdk").BigNum;
|
|
18
|
+
notionalSizeAtEntry: import("@drift-labs/sdk").BigNum;
|
|
19
|
+
notionalSizeAtExit: import("@drift-labs/sdk").BigNum;
|
|
20
|
+
};
|
|
21
|
+
calculateLiquidationPriceAfterPerpTrade: ({ estEntryPrice, orderType, perpMarketIndex, tradeBaseSize, isLong, userClient, oraclePrice, limitPrice, offsetCollateral, precision, isEnteringHighLeverageMode, capLiqPrice, marginType, }: {
|
|
22
|
+
estEntryPrice: BN;
|
|
23
|
+
orderType: import("..").UIOrderType;
|
|
24
|
+
perpMarketIndex: number;
|
|
25
|
+
tradeBaseSize: BN;
|
|
26
|
+
isLong: boolean;
|
|
27
|
+
userClient: import("@drift-labs/sdk").User;
|
|
28
|
+
oraclePrice: BN;
|
|
29
|
+
limitPrice?: BN;
|
|
30
|
+
offsetCollateral?: BN;
|
|
31
|
+
precision?: number;
|
|
32
|
+
isEnteringHighLeverageMode?: boolean;
|
|
33
|
+
capLiqPrice?: boolean;
|
|
34
|
+
marginType?: "Cross" | "Isolated";
|
|
35
|
+
}) => number;
|
|
36
|
+
checkIsMarketOrderType: (orderType: import("..").UIOrderType) => boolean;
|
|
37
|
+
convertLeverageToMarginRatio: (leverage: number) => number;
|
|
38
|
+
convertMarginRatioToLeverage: (marginRatio: number, decimals?: number) => number;
|
|
39
|
+
getMarketTickSize: (driftClient: import("@drift-labs/sdk").DriftClient, marketId: import("..").MarketId) => BN;
|
|
40
|
+
getMarketTickSizeDecimals: (driftClient: import("@drift-labs/sdk").DriftClient, marketId: import("..").MarketId) => number;
|
|
41
|
+
getMarketStepSize: (driftClient: import("@drift-labs/sdk").DriftClient, marketId: import("..").MarketId) => BN;
|
|
42
|
+
getMarketStepSizeDecimals: (driftClient: import("@drift-labs/sdk").DriftClient, marketId: import("..").MarketId) => number;
|
|
43
|
+
isEntirePositionOrder: (orderAmount: import("@drift-labs/sdk").BigNum) => boolean;
|
|
44
|
+
getMaxLeverageOrderSize: (orderAmount: import("@drift-labs/sdk").BigNum) => import("@drift-labs/sdk").BigNum;
|
|
45
|
+
formatOrderSize: (orderAmount: import("@drift-labs/sdk").BigNum, formatFn?: (amount: import("@drift-labs/sdk").BigNum) => string) => string;
|
|
46
|
+
getMarginUsedForPosition: (user: import("@drift-labs/sdk").User, marketIndex: number, includeOpenOrders?: boolean) => any;
|
|
47
|
+
validateLeverageChange: ({ user, marketIndex, newLeverage, }: {
|
|
48
|
+
user: import("@drift-labs/sdk").User;
|
|
49
|
+
marketIndex: number;
|
|
50
|
+
newLeverage: number;
|
|
51
|
+
}) => boolean;
|
|
52
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TRADING_UTILS = void 0;
|
|
4
|
+
const pnl_1 = require("../utils/trading/pnl");
|
|
5
|
+
const liquidation_1 = require("../utils/trading/liquidation");
|
|
6
|
+
const price_1 = require("../utils/trading/price");
|
|
7
|
+
const leverage_1 = require("../utils/trading/leverage");
|
|
8
|
+
const size_1 = require("../utils/trading/size");
|
|
9
|
+
/** @deprecated Use direct imports from '@drift-labs/common/utils/trading' */
|
|
10
|
+
exports.TRADING_UTILS = {
|
|
11
|
+
calculatePnlPctFromPosition: pnl_1.calculatePnlPctFromPosition,
|
|
12
|
+
calculatePotentialProfit: pnl_1.calculatePotentialProfit,
|
|
13
|
+
calculateLiquidationPriceAfterPerpTrade: liquidation_1.calculateLiquidationPriceAfterPerpTrade,
|
|
14
|
+
checkIsMarketOrderType: price_1.checkIsMarketOrderType,
|
|
15
|
+
convertLeverageToMarginRatio: leverage_1.convertLeverageToMarginRatio,
|
|
16
|
+
convertMarginRatioToLeverage: leverage_1.convertMarginRatioToLeverage,
|
|
17
|
+
getMarketTickSize: size_1.getMarketTickSize,
|
|
18
|
+
getMarketTickSizeDecimals: size_1.getMarketTickSizeDecimals,
|
|
19
|
+
getMarketStepSize: size_1.getMarketStepSize,
|
|
20
|
+
getMarketStepSizeDecimals: size_1.getMarketStepSizeDecimals,
|
|
21
|
+
isEntirePositionOrder: size_1.isEntirePositionOrder,
|
|
22
|
+
getMaxLeverageOrderSize: size_1.getMaxLeverageOrderSize,
|
|
23
|
+
formatOrderSize: size_1.formatOrderSize,
|
|
24
|
+
getMarginUsedForPosition: leverage_1.getMarginUsedForPosition,
|
|
25
|
+
validateLeverageChange: leverage_1.validateLeverageChange,
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=trading-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trading-utils.js","sourceRoot":"","sources":["../../src/_deprecated/trading-utils.ts"],"names":[],"mappings":";;;AAAA,8CAG8B;AAC9B,8DAAuF;AACvF,kDAAgE;AAChE,wDAKmC;AACnC,gDAQ+B;AAE/B,6EAA6E;AAChE,QAAA,aAAa,GAAG;IAC5B,2BAA2B,EAA3B,iCAA2B;IAC3B,wBAAwB,EAAxB,8BAAwB;IACxB,uCAAuC,EAAvC,qDAAuC;IACvC,sBAAsB,EAAtB,8BAAsB;IACtB,4BAA4B,EAA5B,uCAA4B;IAC5B,4BAA4B,EAA5B,uCAA4B;IAC5B,iBAAiB,EAAjB,wBAAiB;IACjB,yBAAyB,EAAzB,gCAAyB;IACzB,iBAAiB,EAAjB,wBAAiB;IACjB,yBAAyB,EAAzB,gCAAyB;IACzB,qBAAqB,EAArB,4BAAqB;IACrB,uBAAuB,EAAvB,8BAAuB;IACvB,eAAe,EAAf,sBAAe;IACf,wBAAwB,EAAxB,mCAAwB;IACxB,sBAAsB,EAAtB,iCAAsB;CACtB,CAAC","sourcesContent":["import {\n\tcalculatePnlPctFromPosition,\n\tcalculatePotentialProfit,\n} from '../utils/trading/pnl';\nimport { calculateLiquidationPriceAfterPerpTrade } from '../utils/trading/liquidation';\nimport { checkIsMarketOrderType } from '../utils/trading/price';\nimport {\n\tconvertLeverageToMarginRatio,\n\tconvertMarginRatioToLeverage,\n\tgetMarginUsedForPosition,\n\tvalidateLeverageChange,\n} from '../utils/trading/leverage';\nimport {\n\tgetMarketTickSize,\n\tgetMarketTickSizeDecimals,\n\tgetMarketStepSize,\n\tgetMarketStepSizeDecimals,\n\tisEntirePositionOrder,\n\tgetMaxLeverageOrderSize,\n\tformatOrderSize,\n} from '../utils/trading/size';\n\n/** @deprecated Use direct imports from '@drift-labs/common/utils/trading' */\nexport const TRADING_UTILS = {\n\tcalculatePnlPctFromPosition,\n\tcalculatePotentialProfit,\n\tcalculateLiquidationPriceAfterPerpTrade,\n\tcheckIsMarketOrderType,\n\tconvertLeverageToMarginRatio,\n\tconvertMarginRatioToLeverage,\n\tgetMarketTickSize,\n\tgetMarketTickSizeDecimals,\n\tgetMarketStepSize,\n\tgetMarketStepSizeDecimals,\n\tisEntirePositionOrder,\n\tgetMaxLeverageOrderSize,\n\tformatOrderSize,\n\tgetMarginUsedForPosition,\n\tvalidateLeverageChange,\n};\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** @deprecated Use direct imports from '@drift-labs/common/utils/positions' */
|
|
2
|
+
export declare const USER_UTILS: {
|
|
3
|
+
getOpenPositionData: (driftClient: import("@drift-labs/sdk").DriftClient, userPositions: import("@drift-labs/sdk").PerpPosition[], user: import("@drift-labs/sdk").User, perpMarketLookup: import("@drift-labs/sdk").PerpMarketConfig[], markPriceCallback?: (marketIndex: number) => BN) => import("..").OpenPosition[];
|
|
4
|
+
checkIfUserAccountExists: (driftClient: import("@drift-labs/sdk").DriftClient, config: {
|
|
5
|
+
type: "userPubKey";
|
|
6
|
+
userPubKey: import("@solana/web3.js").PublicKey;
|
|
7
|
+
} | {
|
|
8
|
+
type: "subAccountId";
|
|
9
|
+
subAccountId: number;
|
|
10
|
+
authority: import("@solana/web3.js").PublicKey;
|
|
11
|
+
}) => Promise<boolean>;
|
|
12
|
+
getUserMaxLeverageForMarket: (user: import("@drift-labs/sdk").User, marketIndex: number, marketLeverageDetails: {
|
|
13
|
+
regularMaxLeverage: number;
|
|
14
|
+
highLeverageMaxLeverage: number;
|
|
15
|
+
hasHighLeverage: boolean;
|
|
16
|
+
}, uiSavedMaxLeverage?: number) => number;
|
|
17
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.USER_UTILS = void 0;
|
|
4
|
+
const open_1 = require("../utils/positions/open");
|
|
5
|
+
const user_1 = require("../utils/positions/user");
|
|
6
|
+
/** @deprecated Use direct imports from '@drift-labs/common/utils/positions' */
|
|
7
|
+
exports.USER_UTILS = {
|
|
8
|
+
getOpenPositionData: open_1.getOpenPositionData,
|
|
9
|
+
checkIfUserAccountExists: user_1.checkIfUserAccountExists,
|
|
10
|
+
getUserMaxLeverageForMarket: user_1.getUserMaxLeverageForMarket,
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=user-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-utils.js","sourceRoot":"","sources":["../../src/_deprecated/user-utils.ts"],"names":[],"mappings":";;;AAAA,kDAA8D;AAC9D,kDAGiC;AAEjC,+EAA+E;AAClE,QAAA,UAAU,GAAG;IACzB,mBAAmB,EAAnB,0BAAmB;IACnB,wBAAwB,EAAxB,+BAAwB;IACxB,2BAA2B,EAA3B,kCAA2B;CAC3B,CAAC","sourcesContent":["import { getOpenPositionData } from '../utils/positions/open';\nimport {\n\tcheckIfUserAccountExists,\n\tgetUserMaxLeverageForMarket,\n} from '../utils/positions/user';\n\n/** @deprecated Use direct imports from '@drift-labs/common/utils/positions' */\nexport const USER_UTILS = {\n\tgetOpenPositionData,\n\tcheckIfUserAccountExists,\n\tgetUserMaxLeverageForMarket,\n};\n"]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
/** @deprecated Use direct imports from '@drift-labs/common/utils/math', '@drift-labs/common/utils/core', etc. */
|
|
4
|
+
export declare const COMMON_UTILS: {
|
|
5
|
+
getIfVaultBalance: (spotMarketConfig: import("@drift-labs/sdk").SpotMarketConfig, driftClient: import("@drift-labs/sdk").DriftClient) => Promise<import("@drift-labs/sdk").BigNum>;
|
|
6
|
+
getIfStakingVaultApr: (spotMarketConfig: import("@drift-labs/sdk").SpotMarketConfig, driftClient: import("@drift-labs/sdk").DriftClient) => Promise<number>;
|
|
7
|
+
getCurrentOpenInterestForMarket: (marketIndex: number, marketType: import("@drift-labs/sdk").MarketType, driftClient: import("@drift-labs/sdk").DriftClient) => number;
|
|
8
|
+
getDepositAprForMarket: (marketIndex: number, marketType: import("@drift-labs/sdk").MarketType, driftClient: import("@drift-labs/sdk").DriftClient) => number;
|
|
9
|
+
getBorrowAprForMarket: (marketIndex: number, marketType: import("@drift-labs/sdk").MarketType, driftClient: import("@drift-labs/sdk").DriftClient) => number;
|
|
10
|
+
getTotalBorrowsForMarket: (market: import("@drift-labs/sdk").SpotMarketConfig, driftClient: import("@drift-labs/sdk").DriftClient) => number;
|
|
11
|
+
getTotalDepositsForMarket: (market: import("@drift-labs/sdk").SpotMarketConfig, driftClient: import("@drift-labs/sdk").DriftClient) => {
|
|
12
|
+
totalDepositsBase: number;
|
|
13
|
+
totalDepositsQuote: number;
|
|
14
|
+
};
|
|
15
|
+
dividesExactly: (numerator: number, denominator: number) => boolean;
|
|
16
|
+
toSnakeCase: (str: string) => string;
|
|
17
|
+
toCamelCase: (str: string) => string;
|
|
18
|
+
getTieredSortScore: (aScores: number[], bScores: number[]) => number;
|
|
19
|
+
normalizeBaseAssetSymbol: (symbol: string) => string;
|
|
20
|
+
calculateZScore: (target: number, previousValues: number[]) => number;
|
|
21
|
+
glueArray: <T>(size: number, elements: T[]) => T[][];
|
|
22
|
+
timedPromise: <T_1>(promise: T_1) => Promise<{
|
|
23
|
+
promiseTime: number;
|
|
24
|
+
promiseResult: Awaited<T_1>;
|
|
25
|
+
}>;
|
|
26
|
+
chunks: <T_2>(array: readonly T_2[], size: number) => T_2[][];
|
|
27
|
+
getMultipleAccountsInfoChunked: (connection: import("@solana/web3.js").Connection, accounts: import("@solana/web3.js").PublicKey[]) => Promise<import("@solana/web3.js").AccountInfo<Buffer>[]>;
|
|
28
|
+
MATH: {
|
|
29
|
+
NUM: {
|
|
30
|
+
mean: (numbers: number[]) => number;
|
|
31
|
+
median: (numbers: number[]) => number;
|
|
32
|
+
};
|
|
33
|
+
BN: {
|
|
34
|
+
bnMax: (numbers: BN[]) => BN;
|
|
35
|
+
bnMin: (numbers: BN[]) => BN;
|
|
36
|
+
bnMean: (numbers: BN[]) => BN;
|
|
37
|
+
bnMedian: (numbers: BN[]) => BN;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
};
|