@anrmk/str-package 0.2.14 → 0.2.15

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.
@@ -11,6 +11,19 @@ var IBybitCoinType = /* @__PURE__ */ ((IBybitCoinType2) => {
11
11
  IBybitCoinType2["USDC"] = "USDC";
12
12
  return IBybitCoinType2;
13
13
  })(IBybitCoinType || {});
14
+ var IBybitOrderType = /* @__PURE__ */ ((IBybitOrderType2) => {
15
+ IBybitOrderType2["MARKET"] = "Market";
16
+ IBybitOrderType2["LIMIT"] = "Limit";
17
+ return IBybitOrderType2;
18
+ })(IBybitOrderType || {});
19
+ var IBybitUnifiedMarginStatus = /* @__PURE__ */ ((IBybitUnifiedMarginStatus2) => {
20
+ IBybitUnifiedMarginStatus2[IBybitUnifiedMarginStatus2["CLASSIC_ACCOUNT"] = 1] = "CLASSIC_ACCOUNT";
21
+ IBybitUnifiedMarginStatus2[IBybitUnifiedMarginStatus2["UNIFIED_TRADING_ACCOUNT_1_0"] = 3] = "UNIFIED_TRADING_ACCOUNT_1_0";
22
+ IBybitUnifiedMarginStatus2[IBybitUnifiedMarginStatus2["UNIFIED_TRADING_ACCOUNT_1_0_PRO"] = 4] = "UNIFIED_TRADING_ACCOUNT_1_0_PRO";
23
+ IBybitUnifiedMarginStatus2[IBybitUnifiedMarginStatus2["UNIFIED_TRADING_ACCOUNT_2_0"] = 5] = "UNIFIED_TRADING_ACCOUNT_2_0";
24
+ IBybitUnifiedMarginStatus2[IBybitUnifiedMarginStatus2["UNIFIED_TRADING_ACCOUNT_2_0_PRO"] = 6] = "UNIFIED_TRADING_ACCOUNT_2_0_PRO";
25
+ return IBybitUnifiedMarginStatus2;
26
+ })(IBybitUnifiedMarginStatus || {});
14
27
  var IBybitApiKeyVipLevel = /* @__PURE__ */ ((IBybitApiKeyVipLevel2) => {
15
28
  IBybitApiKeyVipLevel2["NO_VIP"] = "No VIP";
16
29
  IBybitApiKeyVipLevel2["VIP_1"] = "VIP 1";
@@ -20,6 +33,12 @@ var IBybitApiKeyVipLevel = /* @__PURE__ */ ((IBybitApiKeyVipLevel2) => {
20
33
  IBybitApiKeyVipLevel2["VIP_5"] = "VIP 5";
21
34
  return IBybitApiKeyVipLevel2;
22
35
  })(IBybitApiKeyVipLevel || {});
36
+ var IBybitPositionSide = /* @__PURE__ */ ((IBybitPositionSide2) => {
37
+ IBybitPositionSide2["SELL"] = "Sell";
38
+ IBybitPositionSide2["BUY"] = "Buy";
39
+ IBybitPositionSide2["EMPTY"] = "";
40
+ return IBybitPositionSide2;
41
+ })(IBybitPositionSide || {});
23
42
  var IBybitCategory = /* @__PURE__ */ ((IBybitCategory2) => {
24
43
  IBybitCategory2["LINEAR"] = "linear";
25
44
  IBybitCategory2["INVERSE"] = "inverse";
@@ -34,6 +53,6 @@ var IBybitMarginMode = /* @__PURE__ */ ((IBybitMarginMode2) => {
34
53
  return IBybitMarginMode2;
35
54
  })(IBybitMarginMode || {});
36
55
 
37
- export { IBybitAccountType, IBybitApiKeyVipLevel, IBybitCategory, IBybitCoinType, IBybitMarginMode };
38
- //# sourceMappingURL=chunk-V45RVFQE.js.map
39
- //# sourceMappingURL=chunk-V45RVFQE.js.map
56
+ export { IBybitAccountType, IBybitApiKeyVipLevel, IBybitCategory, IBybitCoinType, IBybitMarginMode, IBybitOrderType, IBybitPositionSide, IBybitUnifiedMarginStatus };
57
+ //# sourceMappingURL=chunk-PLF2HR3K.js.map
58
+ //# sourceMappingURL=chunk-PLF2HR3K.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/bybit/enums.ts"],"names":["IBybitAccountType","IBybitCoinType","IBybitOrderType","IBybitUnifiedMarginStatus","IBybitApiKeyVipLevel","IBybitPositionSide","IBybitCategory","IBybitMarginMode"],"mappings":";AAAO,IAAK,iBAAA,qBAAAA,kBAAAA,KAAL;AACL,EAAAA,mBAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,mBAAA,MAAA,CAAA,GAAO,MAAA;AAFG,EAAA,OAAAA,kBAAAA;AAAA,CAAA,EAAA,iBAAA,IAAA,EAAA;AAKL,IAAK,cAAA,qBAAAC,eAAAA,KAAL;AACL,EAAAA,gBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,gBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,gBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,gBAAA,MAAA,CAAA,GAAO,MAAA;AAJG,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;AAOL,IAAK,eAAA,qBAAAC,gBAAAA,KAAL;AACL,EAAAA,iBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,iBAAA,OAAA,CAAA,GAAQ,OAAA;AAFE,EAAA,OAAAA,gBAAAA;AAAA,CAAA,EAAA,eAAA,IAAA,EAAA;AAKL,IAAK,yBAAA,qBAAAC,0BAAAA,KAAL;AACL,EAAAA,0BAAAA,CAAAA,0BAAAA,CAAA,qBAAkB,CAAA,CAAA,GAAlB,iBAAA;AACA,EAAAA,0BAAAA,CAAAA,0BAAAA,CAAA,iCAA8B,CAAA,CAAA,GAA9B,6BAAA;AACA,EAAAA,0BAAAA,CAAAA,0BAAAA,CAAA,qCAAkC,CAAA,CAAA,GAAlC,iCAAA;AACA,EAAAA,0BAAAA,CAAAA,0BAAAA,CAAA,iCAA8B,CAAA,CAAA,GAA9B,6BAAA;AACA,EAAAA,0BAAAA,CAAAA,0BAAAA,CAAA,qCAAkC,CAAA,CAAA,GAAlC,iCAAA;AALU,EAAA,OAAAA,0BAAAA;AAAA,CAAA,EAAA,yBAAA,IAAA,EAAA;AAQL,IAAK,oBAAA,qBAAAC,qBAAAA,KAAL;AACL,EAAAA,sBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,sBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,sBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,sBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,sBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,sBAAA,OAAA,CAAA,GAAQ,OAAA;AANE,EAAA,OAAAA,qBAAAA;AAAA,CAAA,EAAA,oBAAA,IAAA,EAAA;AAWL,IAAK,kBAAA,qBAAAC,mBAAAA,KAAL;AACL,EAAAA,oBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,oBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,oBAAA,OAAA,CAAA,GAAQ,EAAA;AAHE,EAAA,OAAAA,mBAAAA;AAAA,CAAA,EAAA,kBAAA,IAAA,EAAA;AAML,IAAK,cAAA,qBAAAC,eAAAA,KAAL;AACL,EAAAA,gBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,gBAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,gBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,gBAAA,MAAA,CAAA,GAAO,MAAA;AAJG,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;AAOL,IAAK,gBAAA,qBAAAC,iBAAAA,KAAL;AACL,EAAAA,kBAAA,iBAAA,CAAA,GAAkB,iBAAA;AAClB,EAAAA,kBAAA,gBAAA,CAAA,GAAiB,gBAAA;AACjB,EAAAA,kBAAA,kBAAA,CAAA,GAAmB,kBAAA;AAHT,EAAA,OAAAA,iBAAAA;AAAA,CAAA,EAAA,gBAAA,IAAA,EAAA","file":"chunk-PLF2HR3K.js","sourcesContent":["export enum IBybitAccountType {\n UNIFIED = \"UNIFIED\",\n FUND = \"FUND\",\n}\n\nexport enum IBybitCoinType {\n BTC = \"BTC\",\n ETH = \"ETH\",\n USDT = \"USDT\",\n USDC = \"USDC\",\n}\n\nexport enum IBybitOrderType {\n MARKET = \"Market\",\n LIMIT = \"Limit\",\n}\n\nexport enum IBybitUnifiedMarginStatus {\n CLASSIC_ACCOUNT = 1,\n UNIFIED_TRADING_ACCOUNT_1_0 = 3,\n UNIFIED_TRADING_ACCOUNT_1_0_PRO = 4,\n UNIFIED_TRADING_ACCOUNT_2_0 = 5,\n UNIFIED_TRADING_ACCOUNT_2_0_PRO = 6,\n}\n\nexport enum IBybitApiKeyVipLevel {\n NO_VIP = \"No VIP\",\n VIP_1 = \"VIP 1\",\n VIP_2 = \"VIP 2\",\n VIP_3 = \"VIP 3\",\n VIP_4 = \"VIP 4\",\n VIP_5 = \"VIP 5\",\n}\n\n// Position side. Buy: long, Sell: short\n// return an empty string \"\" for an empty position\nexport enum IBybitPositionSide {\n SELL = \"Sell\",\n BUY = \"Buy\",\n EMPTY = \"\",\n}\n\nexport enum IBybitCategory {\n LINEAR = \"linear\",\n INVERSE = \"inverse\",\n OPTION = \"option\",\n SPOT = \"spot\",\n}\n\nexport enum IBybitMarginMode {\n ISOLATED_MARGIN = \"ISOLATED_MARGIN\",\n REGULAR_MARGIN = \"REGULAR_MARGIN\",\n PORTFOLIO_MARGIN = \"PORTFOLIO_MARGIN\",\n}"]}
@@ -1,6 +1,6 @@
1
1
  import { IBybitDemoApplyMoneyRequest, IBybitApiResponse, IBybitDemoApplyMoney, IBybitAccountInfo, IBybitApiKeyInfo, IBybitClosedPnlRequest, IBybitApiResponseList, IBybitClosedPnl, IBybitWalletAccount, IBybitPositionInfoRequest, IBybitPositionInfo, IBybitOrderCreateBatchRequest, IBybitOrderCreateBatchResponse } from '../types/bybit/index.cjs';
2
2
  import { I as IBybitCredentials } from '../IBybitSignRequest-cA1RCbDS.cjs';
3
- import '../enums-CFM0khJf.cjs';
3
+ import '../enums-B4IJ4ODY.cjs';
4
4
 
5
5
  declare class BybitClient {
6
6
  private timeOffset;
@@ -1,6 +1,6 @@
1
1
  import { IBybitDemoApplyMoneyRequest, IBybitApiResponse, IBybitDemoApplyMoney, IBybitAccountInfo, IBybitApiKeyInfo, IBybitClosedPnlRequest, IBybitApiResponseList, IBybitClosedPnl, IBybitWalletAccount, IBybitPositionInfoRequest, IBybitPositionInfo, IBybitOrderCreateBatchRequest, IBybitOrderCreateBatchResponse } from '../types/bybit/index.js';
2
2
  import { I as IBybitCredentials } from '../IBybitSignRequest-cA1RCbDS.js';
3
- import '../enums-CFM0khJf.js';
3
+ import '../enums-B4IJ4ODY.js';
4
4
 
5
5
  declare class BybitClient {
6
6
  private timeOffset;
@@ -1,5 +1,5 @@
1
1
  export { BybitClient } from '../chunk-WAGMXIRB.js';
2
2
  import '../chunk-T23XINGG.js';
3
- import '../chunk-V45RVFQE.js';
3
+ import '../chunk-PLF2HR3K.js';
4
4
  //# sourceMappingURL=index.js.map
5
5
  //# sourceMappingURL=index.js.map
@@ -44,4 +44,4 @@ declare enum IBybitMarginMode {
44
44
  PORTFOLIO_MARGIN = "PORTFOLIO_MARGIN"
45
45
  }
46
46
 
47
- export { IBybitAccountType as I, IBybitApiKeyVipLevel as a, IBybitCategory as b, IBybitCoinType as c, IBybitMarginMode as d, IBybitUnifiedMarginStatus as e, IBybitPositionSide as f, IBybitOrderType as g };
47
+ export { IBybitAccountType as I, IBybitApiKeyVipLevel as a, IBybitCategory as b, IBybitCoinType as c, IBybitMarginMode as d, IBybitOrderType as e, IBybitPositionSide as f, IBybitUnifiedMarginStatus as g };
@@ -44,4 +44,4 @@ declare enum IBybitMarginMode {
44
44
  PORTFOLIO_MARGIN = "PORTFOLIO_MARGIN"
45
45
  }
46
46
 
47
- export { IBybitAccountType as I, IBybitApiKeyVipLevel as a, IBybitCategory as b, IBybitCoinType as c, IBybitMarginMode as d, IBybitUnifiedMarginStatus as e, IBybitPositionSide as f, IBybitOrderType as g };
47
+ export { IBybitAccountType as I, IBybitApiKeyVipLevel as a, IBybitCategory as b, IBybitCoinType as c, IBybitMarginMode as d, IBybitOrderType as e, IBybitPositionSide as f, IBybitUnifiedMarginStatus as g };
package/dist/index.cjs CHANGED
@@ -94,6 +94,61 @@ async function getAccountInfo(credentials, timeOffset) {
94
94
  return bybitJson;
95
95
  }
96
96
 
97
+ // src/types/bybit/enums.ts
98
+ var IBybitAccountType = /* @__PURE__ */ ((IBybitAccountType2) => {
99
+ IBybitAccountType2["UNIFIED"] = "UNIFIED";
100
+ IBybitAccountType2["FUND"] = "FUND";
101
+ return IBybitAccountType2;
102
+ })(IBybitAccountType || {});
103
+ var IBybitCoinType = /* @__PURE__ */ ((IBybitCoinType2) => {
104
+ IBybitCoinType2["BTC"] = "BTC";
105
+ IBybitCoinType2["ETH"] = "ETH";
106
+ IBybitCoinType2["USDT"] = "USDT";
107
+ IBybitCoinType2["USDC"] = "USDC";
108
+ return IBybitCoinType2;
109
+ })(IBybitCoinType || {});
110
+ var IBybitOrderType = /* @__PURE__ */ ((IBybitOrderType2) => {
111
+ IBybitOrderType2["MARKET"] = "Market";
112
+ IBybitOrderType2["LIMIT"] = "Limit";
113
+ return IBybitOrderType2;
114
+ })(IBybitOrderType || {});
115
+ var IBybitUnifiedMarginStatus = /* @__PURE__ */ ((IBybitUnifiedMarginStatus2) => {
116
+ IBybitUnifiedMarginStatus2[IBybitUnifiedMarginStatus2["CLASSIC_ACCOUNT"] = 1] = "CLASSIC_ACCOUNT";
117
+ IBybitUnifiedMarginStatus2[IBybitUnifiedMarginStatus2["UNIFIED_TRADING_ACCOUNT_1_0"] = 3] = "UNIFIED_TRADING_ACCOUNT_1_0";
118
+ IBybitUnifiedMarginStatus2[IBybitUnifiedMarginStatus2["UNIFIED_TRADING_ACCOUNT_1_0_PRO"] = 4] = "UNIFIED_TRADING_ACCOUNT_1_0_PRO";
119
+ IBybitUnifiedMarginStatus2[IBybitUnifiedMarginStatus2["UNIFIED_TRADING_ACCOUNT_2_0"] = 5] = "UNIFIED_TRADING_ACCOUNT_2_0";
120
+ IBybitUnifiedMarginStatus2[IBybitUnifiedMarginStatus2["UNIFIED_TRADING_ACCOUNT_2_0_PRO"] = 6] = "UNIFIED_TRADING_ACCOUNT_2_0_PRO";
121
+ return IBybitUnifiedMarginStatus2;
122
+ })(IBybitUnifiedMarginStatus || {});
123
+ var IBybitApiKeyVipLevel = /* @__PURE__ */ ((IBybitApiKeyVipLevel2) => {
124
+ IBybitApiKeyVipLevel2["NO_VIP"] = "No VIP";
125
+ IBybitApiKeyVipLevel2["VIP_1"] = "VIP 1";
126
+ IBybitApiKeyVipLevel2["VIP_2"] = "VIP 2";
127
+ IBybitApiKeyVipLevel2["VIP_3"] = "VIP 3";
128
+ IBybitApiKeyVipLevel2["VIP_4"] = "VIP 4";
129
+ IBybitApiKeyVipLevel2["VIP_5"] = "VIP 5";
130
+ return IBybitApiKeyVipLevel2;
131
+ })(IBybitApiKeyVipLevel || {});
132
+ var IBybitPositionSide = /* @__PURE__ */ ((IBybitPositionSide2) => {
133
+ IBybitPositionSide2["SELL"] = "Sell";
134
+ IBybitPositionSide2["BUY"] = "Buy";
135
+ IBybitPositionSide2["EMPTY"] = "";
136
+ return IBybitPositionSide2;
137
+ })(IBybitPositionSide || {});
138
+ var IBybitCategory = /* @__PURE__ */ ((IBybitCategory2) => {
139
+ IBybitCategory2["LINEAR"] = "linear";
140
+ IBybitCategory2["INVERSE"] = "inverse";
141
+ IBybitCategory2["OPTION"] = "option";
142
+ IBybitCategory2["SPOT"] = "spot";
143
+ return IBybitCategory2;
144
+ })(IBybitCategory || {});
145
+ var IBybitMarginMode = /* @__PURE__ */ ((IBybitMarginMode2) => {
146
+ IBybitMarginMode2["ISOLATED_MARGIN"] = "ISOLATED_MARGIN";
147
+ IBybitMarginMode2["REGULAR_MARGIN"] = "REGULAR_MARGIN";
148
+ IBybitMarginMode2["PORTFOLIO_MARGIN"] = "PORTFOLIO_MARGIN";
149
+ return IBybitMarginMode2;
150
+ })(IBybitMarginMode || {});
151
+
97
152
  // src/providers/bybit/get-wallet-balance.ts
98
153
  async function getWalletBalance(credentials, timeOffset) {
99
154
  const { apiKey } = credentials;
@@ -476,6 +531,14 @@ var isSameUtcDay = (left, right) => {
476
531
  };
477
532
 
478
533
  exports.BybitClient = BybitClient;
534
+ exports.IBybitAccountType = IBybitAccountType;
535
+ exports.IBybitApiKeyVipLevel = IBybitApiKeyVipLevel;
536
+ exports.IBybitCategory = IBybitCategory;
537
+ exports.IBybitCoinType = IBybitCoinType;
538
+ exports.IBybitMarginMode = IBybitMarginMode;
539
+ exports.IBybitOrderType = IBybitOrderType;
540
+ exports.IBybitPositionSide = IBybitPositionSide;
541
+ exports.IBybitUnifiedMarginStatus = IBybitUnifiedMarginStatus;
479
542
  exports.applyDemoMoney = applyDemoMoney;
480
543
  exports.getAccountInfo = getAccountInfo;
481
544
  exports.getApiKeyInfo = getApiKeyInfo;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/providers/bybit/constants.ts","../src/providers/bybit/get-api-key-info.ts","../src/providers/bybit/get-account-info.ts","../src/providers/bybit/get-wallet-balance.ts","../src/providers/bybit/get-closed-pnl.ts","../src/providers/bybit/get-position-info.ts","../src/providers/bybit/apply-demo-money.ts","../src/providers/bybit/get-server-time.ts","../src/providers/bybit/order-create-batch.ts","../src/utils/bybitHelper.ts","../src/clients/BybitClient.ts","../src/utils/helper.ts"],"names":["createHmac"],"mappings":"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","file":"index.cjs","sourcesContent":["export const BYBIT_CONSTANTS = {\n baseUrl: process.env.BYBIT_BASE_URL || \"https://api-demo.bybit.com\",\n fetchTimeoutMs: Number(process.env.BYBIT_FETCH_TIMEOUT_MS) || 10000,\n recvWindowTimeoutMs: process.env.BYBIT_RECV_WINDOW_TIMEOUT_MS || \"5000\",\n defaultCoin : \"USDT\"\n}","import { BYBIT_CONSTANTS } from \"./constants\";\nimport { IBybitCredentials, IBybitApiKeyInfo, IBybitApiResponse} from \"../../types/bybit\";\nimport { signBybitRequest } from \"../../utils/bybitHelper\";\n\nexport async function getApiKeyInfo(\n credentials: IBybitCredentials,\n timeOffset?: number,\n): Promise<IBybitApiResponse<IBybitApiKeyInfo>> {\n const { signature, timestamp } = signBybitRequest({\n credentials,\n timeOffset,\n });\n\n let bybitRes: Response;\n try {\n bybitRes = await fetch(`${BYBIT_CONSTANTS.baseUrl}/v5/user/query-api`, {\n headers: {\n \"X-BAPI-API-KEY\": credentials.apiKey,\n \"X-BAPI-SIGN\": signature,\n \"X-BAPI-SIGN-TYPE\": \"2\",\n \"X-BAPI-TIMESTAMP\": timestamp,\n \"X-BAPI-RECV-WINDOW\": BYBIT_CONSTANTS.recvWindowTimeoutMs,\n },\n //signal: AbortSignal.timeout(BYBIT_CONSTANTS.fetchTimeoutMs),\n cache: \"no-store\",\n });\n } catch (error) {\n console.error(\"ByBit API Key Info network error\", error);\n throw new Error(\"ByBit API Key Info network error\", { cause: error });\n }\n\n if (!bybitRes.ok) {\n console.error(\"ByBit API Key Info request failed\", bybitRes);\n throw new Error(\"ByBit API Key Info request failed\");\n }\n\n const bybitJson =\n (await bybitRes.json()) as IBybitApiResponse<IBybitApiKeyInfo>;\n\n if (bybitJson.retCode !== 0) {\n console.error(\"ByBit API Key Info API error\", bybitJson);\n throw new Error(bybitJson.retMsg ?? \"ByBit error\");\n }\n\n if (!bybitJson) {\n console.error(\"Invalid ByBit API Key Info response\", bybitJson);\n throw new Error(\"Invalid ByBit API Key Info response\");\n }\n\n return bybitJson;\n}\n","import {\n IBybitCredentials,\n IBybitAccountInfo,\n IBybitApiResponse,\n} from \"../../types/bybit\";\nimport { signBybitRequest } from \"../../utils/bybitHelper\";\nimport { BYBIT_CONSTANTS } from \"./constants\";\n\nexport async function getAccountInfo(\n credentials: IBybitCredentials,\n timeOffset?: number,\n): Promise<IBybitApiResponse<IBybitAccountInfo>> {\n const { apiKey } = credentials;\n const queryString = \"accountType=UNIFIED\";\n\n const { signature, timestamp } = signBybitRequest({\n credentials,\n queryString,\n timeOffset,\n });\n\n let bybitRes: Response;\n try {\n bybitRes = await fetch(`${BYBIT_CONSTANTS.baseUrl}/v5/account/info`, {\n headers: {\n \"X-BAPI-API-KEY\": apiKey,\n \"X-BAPI-SIGN\": signature,\n \"X-BAPI-SIGN-TYPE\": \"2\",\n \"X-BAPI-TIMESTAMP\": timestamp,\n \"X-BAPI-RECV-WINDOW\": BYBIT_CONSTANTS.recvWindowTimeoutMs,\n },\n signal: AbortSignal.timeout(BYBIT_CONSTANTS.fetchTimeoutMs),\n cache: \"no-store\",\n });\n } catch (error) {\n console.error(\"ByBit Account API network error\", error);\n throw new Error(\"ByBit Account API network error\", { cause: error });\n }\n\n if (!bybitRes.ok) {\n console.error(\"ByBit Account API request failed\", bybitRes);\n throw new Error(\"ByBit Account API request failed\");\n }\n\n const bybitJson =\n (await bybitRes.json()) as IBybitApiResponse<IBybitAccountInfo>;\n\n if (bybitJson.retCode !== 0) {\n console.error(\"ByBit Account API error\", bybitJson);\n throw new Error(bybitJson.retMsg ?? \"ByBit error\");\n }\n\n const raw = bybitJson.result?.list?.[0];\n\n if (!raw) {\n console.error(\"No account info returned\", bybitJson);\n throw new Error(\"No account info returned\");\n }\n\n return bybitJson;\n}\n","import { BYBIT_CONSTANTS } from \"./constants\";\nimport { IBybitApiResponse, IBybitWalletAccount, IBybitCredentials, IBybitAccountType } from \"../../types/bybit\";\n\nimport { signBybitRequest } from \"../../utils/bybitHelper\";\n\n// GET /api/bybit/wallet-balance?accountType=UNIFIED\nexport async function getWalletBalance(\n credentials: IBybitCredentials,\n timeOffset?: number,\n): Promise<IBybitApiResponse<IBybitWalletAccount>> {\n const { apiKey } = credentials;\n\n const query = new URLSearchParams({\n accountType: IBybitAccountType.UNIFIED,\n coin: BYBIT_CONSTANTS.defaultCoin,\n });\n const queryString = query.toString();\n\n const { signature, timestamp } = signBybitRequest({\n credentials,\n queryString,\n timeOffset,\n });\n\n let bybitRes: Response;\n try {\n bybitRes = await fetch(\n `${BYBIT_CONSTANTS.baseUrl}/v5/account/wallet-balance?${queryString}`,\n {\n headers: {\n \"X-BAPI-API-KEY\": apiKey,\n \"X-BAPI-SIGN\": signature,\n \"X-BAPI-SIGN-TYPE\": \"2\",\n \"X-BAPI-TIMESTAMP\": timestamp,\n \"X-BAPI-RECV-WINDOW\": BYBIT_CONSTANTS.recvWindowTimeoutMs,\n },\n },\n );\n } catch (error) {\n console.error(\"ByBit Wallet API network error\", error);\n throw new Error(\"ByBit Wallet API network error\", { cause: error });\n }\n\n if (!bybitRes.ok) {\n console.error(\"ByBit Wallet API request failed\", bybitRes);\n throw new Error(\"ByBit Wallet API request failed: \" + bybitRes.statusText);\n }\n\n const bybitJson = (await bybitRes.json()) as IBybitApiResponse<IBybitWalletAccount>;\n\n if (bybitJson.retCode !== 0) {\n console.error(\"ByBit Wallet API error\", bybitJson);\n throw new Error(bybitJson.retMsg ?? \"ByBit error\");\n }\n\n return bybitJson;\n}\n","import { BYBIT_CONSTANTS } from \"./constants\";\nimport { IBybitCredentials, IBybitApiResponse, IBybitApiResponseList, IBybitClosedPnl, IBybitClosedPnlRequest, IBybitCategory } from \"../../types/bybit\";\nimport { signBybitRequest } from \"../../utils/bybitHelper\";\n\n// GET /api/bybit/wallet-balance?accountType=UNIFIED\nexport async function getClosedPnl(\n credentials: IBybitCredentials,\n payload: IBybitClosedPnlRequest,\n timeOffset?: number,\n): Promise<IBybitApiResponse<IBybitApiResponseList<IBybitClosedPnl>>> {\n const { apiKey } = credentials;\n const query = new URLSearchParams({\n category: IBybitCategory.LINEAR,\n limit: \"50\", //default limit\n });\n\n if (typeof payload.startTime === \"number\") {\n query.set(\"startTime\", String(payload.startTime));\n }\n\n if (typeof payload.endTime === \"number\") {\n query.set(\"endTime\", String(payload.endTime));\n }\n\n if (typeof payload.cursor === \"string\") {\n query.set(\"cursor\", String(payload.cursor));\n }\n\n const queryString = query.toString();\n\n const { signature, timestamp } = signBybitRequest({\n credentials,\n queryString,\n timeOffset,\n });\n\n let bybitRes: Response;\n try {\n bybitRes = await fetch(\n `${BYBIT_CONSTANTS.baseUrl}/v5/position/closed-pnl?${queryString}`,\n {\n headers: {\n \"X-BAPI-API-KEY\": apiKey,\n \"X-BAPI-SIGN\": signature,\n \"X-BAPI-SIGN-TYPE\": \"2\",\n \"X-BAPI-TIMESTAMP\": timestamp,\n \"X-BAPI-RECV-WINDOW\": BYBIT_CONSTANTS.recvWindowTimeoutMs,\n },\n },\n );\n } catch (error) {\n console.error(\"ByBit Closed PNL API network error\", error);\n throw new Error(\"ByBit Closed PNL API network error\", { cause: error });\n }\n\n if (!bybitRes.ok) {\n console.error(\"ByBit Closed PNL API request failed\", bybitRes);\n throw new Error(\"ByBit Closed PNL API request failed\");\n }\n\n const bybitJson = (await bybitRes.json()) as IBybitApiResponse<IBybitApiResponseList<IBybitClosedPnl>>;\n\n if (bybitJson.retCode !== 0) {\n console.error(\"ByBit Closed PNL API error\", bybitJson);\n throw new Error(bybitJson.retMsg ?? \"ByBit error\");\n }\n\n const filteredData = bybitJson.result.list.filter((item: IBybitClosedPnl) => item.symbol.includes(BYBIT_CONSTANTS.defaultCoin));\n\n return {\n ...bybitJson,\n result: {\n ...bybitJson.result,\n list: filteredData,\n olist: bybitJson.result.list,\n },\n };\n}\n","import { BYBIT_CONSTANTS } from \"./constants\";\nimport {\n IBybitCredentials,\n IBybitApiResponse,\n IBybitApiResponseList,\n IBybitPositionInfo,\n IBybitPositionInfoRequest,\n IBybitCategory,\n} from \"../../types/bybit\";\n\nimport { signBybitRequest } from \"../../utils/bybitHelper\";\n\n// Query real-time position data, such as position size, cumulative realized PNL, etc.\nexport async function getPositionInfo(\n credentials: IBybitCredentials,\n payload: IBybitPositionInfoRequest,\n timeOffset?: number,\n): Promise<IBybitApiResponse<IBybitApiResponseList<IBybitPositionInfo>>> {\n const query = new URLSearchParams({\n settleCoin: payload.settleCoin ?? BYBIT_CONSTANTS.defaultCoin,\n category: payload.category ?? IBybitCategory.LINEAR,\n limit: \"20\", //default limit\n });\n\n if (typeof payload?.symbol === \"string\") {\n query.set(\"symbol\", String(payload.symbol));\n }\n\n if (typeof payload?.cursor === \"string\") {\n query.set(\"cursor\", String(payload.cursor));\n }\n\n const queryString = query.toString();\n\n const { signature, timestamp } = signBybitRequest({\n credentials,\n queryString,\n timeOffset,\n });\n\n let bybitRes: Response;\n try {\n bybitRes = await fetch(\n `${BYBIT_CONSTANTS.baseUrl}/v5/position/list?${queryString}`,\n {\n headers: {\n \"X-BAPI-API-KEY\": credentials.apiKey,\n \"X-BAPI-SIGN\": signature,\n \"X-BAPI-SIGN-TYPE\": \"2\",\n \"X-BAPI-TIMESTAMP\": timestamp,\n \"X-BAPI-RECV-WINDOW\": BYBIT_CONSTANTS.recvWindowTimeoutMs,\n },\n signal: AbortSignal.timeout(BYBIT_CONSTANTS.fetchTimeoutMs),\n cache: \"no-store\",\n },\n );\n } catch (error) {\n console.error(\"ByBit Position Info API network error\", { cause: error });\n throw new Error(\"ByBit Position Info API network error\", { cause: error });\n }\n\n if (!bybitRes.ok) {\n console.error(\"ByBit Position Info API request failed\", bybitRes);\n throw new Error(\"ByBit Position Info API request failed\");\n }\n\n const bybitJson = (await bybitRes.json()) as IBybitApiResponse<IBybitApiResponseList<IBybitPositionInfo>>;\n \n if (bybitJson.retCode !== 0) {\n console.error(\"ByBit Position Info API error\", bybitJson);\n throw new Error(bybitJson.retMsg ?? \"ByBit error\");\n }\n\n return bybitJson;\n}\n","import { BYBIT_CONSTANTS } from \"./constants\";\n\nimport {\n IBybitCredentials,\n IBybitApiResponse,\n IBybitDemoApplyMoneyRequest,\n} from \"../../types/bybit\";\nimport { signBybitRequest } from \"../../utils/bybitHelper\";\nimport { IBybitDemoApplyMoney } from \"../../types/bybit/IBybitDemoApplyMoney\";\n\n// POST /api/bybit/apply-money\nexport async function applyDemoMoney(\n credentials: IBybitCredentials,\n payload: IBybitDemoApplyMoneyRequest,\n timeOffset?: number,\n): Promise<IBybitApiResponse<IBybitDemoApplyMoney>> {\n const { apiKey } = credentials;\n\n const requestBody = JSON.stringify(payload);\n const { signature, timestamp } = signBybitRequest({\n credentials,\n queryString: requestBody,\n timeOffset,\n });\n\n let bybitRes: Response;\n try {\n bybitRes = await fetch(\n `${BYBIT_CONSTANTS.baseUrl}/v5/account/demo-apply-money`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-BAPI-API-KEY\": apiKey,\n \"X-BAPI-SIGN\": signature,\n \"X-BAPI-SIGN-TYPE\": \"2\",\n \"X-BAPI-TIMESTAMP\": timestamp,\n \"X-BAPI-RECV-WINDOW\": BYBIT_CONSTANTS.recvWindowTimeoutMs,\n },\n body: requestBody,\n signal: AbortSignal.timeout(BYBIT_CONSTANTS.fetchTimeoutMs),\n cache: \"no-store\",\n },\n );\n } catch (error) {\n throw new Error(\"ByBit Apply Money API network error\", { cause: error });\n }\n\n if (!bybitRes.ok) {\n throw new Error(\"ByBit Apply Money API request failed\");\n }\n\n const bybitJson =\n (await bybitRes.json()) as IBybitApiResponse<IBybitDemoApplyMoney>;\n\n if (bybitJson.retCode !== 0) {\n throw new Error(bybitJson.retMsg ?? \"ByBit error\");\n }\n\n return bybitJson;\n}\n","import { BYBIT_CONSTANTS } from \"./constants\";\nimport { IBybitServerTime, IBybitApiResponse } from \"../../types/bybit\";\n\nexport async function getServerTime(): Promise<IBybitApiResponse<IBybitServerTime>> {\n let bybitRes: Response;\n try {\n bybitRes = await fetch(`${BYBIT_CONSTANTS.baseUrl}/v5/market/time`,\n {\n cache: \"no-store\",\n }\n );\n } catch (error) {\n console.error(\"ByBit Server Time network error\", error);\n throw new Error(\"ByBit Server Time network error\", { cause: error });\n }\n\n if (!bybitRes.ok) {\n console.error(\"ByBit Server Time request failed\", bybitRes.status, bybitRes.statusText);\n throw new Error(`ByBit Server Time request failed: ${bybitRes.status}`);\n }\n\n let bybitJson: IBybitApiResponse<IBybitServerTime>;\n\n try {\n bybitJson = (await bybitRes.json()) as IBybitApiResponse<IBybitServerTime>;\n } catch (error) {\n console.error(\"Invalid ByBit Server Time response\", error);\n throw new Error(\"Invalid ByBit Server Time response\", { cause: error });\n }\n\n if (!bybitJson) {\n throw new Error(\"Invalid ByBit Server Time response\");\n }\n\n if (bybitJson.retCode !== 0) {\n console.error(\"ByBit Server Time API error\", bybitJson);\n throw new Error(bybitJson.retMsg ?? \"ByBit server time error\");\n }\n\n return bybitJson;\n}","import { BYBIT_CONSTANTS } from \"./constants\";\n\nimport type {\n IBybitCredentials,\n IBybitOrderCreateBatchRequest,\n IBybitOrderCreateBatchResponse,\n} from \"../../types/bybit/\";\nimport { signBybitRequest } from \"../../utils/bybitHelper\";\n\n// POST /api/bybit/order/create-batch\nexport async function orderCreateBatch(\n credentials: IBybitCredentials,\n payload: IBybitOrderCreateBatchRequest,\n timeOffset?: number,\n): Promise<IBybitOrderCreateBatchResponse> {\n const { apiKey } = credentials;\n\n const requestBody = JSON.stringify(payload);\n const { signature, timestamp } = signBybitRequest({\n credentials,\n queryString: requestBody,\n timeOffset,\n });\n\n let bybitRes: Response;\n try {\n bybitRes = await fetch(`${BYBIT_CONSTANTS.baseUrl}/v5/order/create-batch`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-BAPI-API-KEY\": apiKey,\n \"X-BAPI-SIGN\": signature,\n \"X-BAPI-SIGN-TYPE\": \"2\",\n \"X-BAPI-TIMESTAMP\": timestamp,\n \"X-BAPI-RECV-WINDOW\": BYBIT_CONSTANTS.recvWindowTimeoutMs,\n },\n body: requestBody,\n signal: AbortSignal.timeout(BYBIT_CONSTANTS.fetchTimeoutMs),\n cache: \"no-store\",\n });\n } catch (error) {\n throw new Error(\"ByBit Order Create Batch API network error\", {\n cause: error,\n });\n }\n\n if (!bybitRes.ok) {\n throw new Error(\"ByBit Order Create Batch API request failed\");\n }\n\n const bybitJson =\n (await bybitRes.json()) as IBybitOrderCreateBatchResponse;\n\n if (bybitJson.retCode !== 0) {\n throw new Error(bybitJson.retMsg ?? \"ByBit error\");\n }\n\n return bybitJson;\n}\n","import { createHmac } from \"crypto\";\nimport { getServerTime } from \"../providers/bybit\";\nimport { BYBIT_CONSTANTS } from \"../providers/bybit/constants\";\nimport type { IBybitSignRequest } from \"../types/bybit\";\n\nexport function signBybitRequest(request: IBybitSignRequest) {\n const { credentials, queryString, timeOffset } = request;\n const { apiSecret, apiKey } = credentials;\n\n const timestamp = getBybitTimestamp(timeOffset);\n\n const payload = `${timestamp}${apiKey}${BYBIT_CONSTANTS.recvWindowTimeoutMs}${queryString ?? \"\"}`;\n const signature = createHmac(\"sha256\", apiSecret)\n .update(payload)\n .digest(\"hex\");\n\n return { signature, timestamp };\n}\n\nexport async function syncBybitServerTime(): Promise<number> {\n const localTimeBefore = Date.now();\n const { result } = await getServerTime();\n\n const serverTime = parseInt(result.timeNano, 10) / 1000000;\n const localTimeAfter = Date.now();\n\n // Estimate the local time at which Bybit generated\n // the response by using the midpoint.\n const estimatedLatency = (localTimeAfter - localTimeBefore) / 2;\n const timeOffset = Math.round(serverTime - (localTimeBefore + estimatedLatency));\n\n return timeOffset;\n}\n\nexport function getBybitTimestamp(timeOffset: number = 0): string {\n return String(Date.now() + timeOffset);\n}","import type {\n IBybitApiKeyInfo,\n IBybitApiResponse,\n IBybitClosedPnlRequest,\n IBybitCredentials,\n IBybitDemoApplyMoneyRequest,\n IBybitOrderCreateBatchRequest,\n IBybitPositionInfoRequest,\n} from \"../types/bybit\";\nimport { syncBybitServerTime } from \"../utils/bybitHelper\";\n\nimport {\n getApiKeyInfo,\n getClosedPnl,\n getAccountInfo,\n getWalletBalance,\n applyDemoMoney,\n getPositionInfo,\n orderCreateBatch\n} from \"../providers/bybit\";\n\nexport class BybitClient {\n private timeOffset = 0;\n private readonly ready: Promise<void>;\n\n constructor() {\n this.ready = this.initializeTimeOffset();\n }\n\n private async initializeTimeOffset(): Promise<void> {\n const maxAttempts = 3;\n\n for (let attempt = 1; attempt <= maxAttempts; attempt += 1) {\n try {\n this.timeOffset = await syncBybitServerTime();\n return;\n } catch (error) {\n if (attempt === maxAttempts) {\n throw error;\n }\n\n await new Promise((resolve) => setTimeout(resolve, attempt * 2_000));\n }\n }\n }\n\n async applyDemoMoney(\n credentials: IBybitCredentials,\n payload: IBybitDemoApplyMoneyRequest,\n ) {\n await this.ready;\n // Implement the logic to apply demo money to the Bybit account using the provided payload\n return await applyDemoMoney(credentials, payload, this.timeOffset);\n }\n\n async getAccountInfo(\n credentials: IBybitCredentials,\n ) {\n await this.ready;\n return await getAccountInfo(credentials, this.timeOffset);\n }\n\n async getApiKeyInfo(\n credentials: IBybitCredentials,\n ): Promise<IBybitApiResponse<IBybitApiKeyInfo>> {\n await this.ready;\n return await getApiKeyInfo(credentials, this.timeOffset);\n }\n\n async getClosedPnl(\n credentials: IBybitCredentials,\n payload: IBybitClosedPnlRequest\n ) {\n await this.ready;\n return await getClosedPnl(credentials, payload, this.timeOffset);\n }\n\n async getWalletBalance(credentials: IBybitCredentials) {\n await this.ready;\n return await getWalletBalance(credentials, this.timeOffset);\n }\n\n async getPositionInfo(\n credentials: IBybitCredentials, \n payload: IBybitPositionInfoRequest\n ) {\n await this.ready;\n return await getPositionInfo(credentials, payload, this.timeOffset);\n }\n\n async orderCreateBatch(\n credentials: IBybitCredentials,\n payload: IBybitOrderCreateBatchRequest\n ) {\n await this.ready;\n return await orderCreateBatch(credentials, payload, this.timeOffset);\n }\n}\n","export const parseNumber = (\n value: number | string | null | undefined,\n): number | null => {\n if (value === null || value === undefined) {\n return null;\n }\n\n const parsed = Number(value);\n return Number.isFinite(parsed) ? parsed : null;\n};\n\nexport const toIsoDate = (\n value: string | number | null | undefined,\n): string | null => {\n const parsed = parseNumber(value);\n if (parsed === null || parsed <= 0) {\n return null;\n }\n\n const date = new Date(parsed);\n if (Number.isNaN(date.getTime())) {\n return null;\n }\n\n return date.toISOString();\n};\n\nexport const isSameUtcDay = (\n left: string | null | undefined,\n right: string | null | undefined,\n): boolean => {\n if (!left || !right) {\n return false;\n }\n\n const normalizedLeft = left.trim();\n const normalizedRight = right.trim();\n\n if (!normalizedLeft || !normalizedRight) {\n return false;\n }\n\n const leftDate = new Date(normalizedLeft);\n const rightDate = new Date(normalizedRight);\n\n if (Number.isNaN(leftDate.getTime()) || Number.isNaN(rightDate.getTime())) {\n return false;\n }\n\n return (\n leftDate.toISOString().slice(0, 10) === rightDate.toISOString().slice(0, 10)\n );\n};\n"]}
1
+ {"version":3,"sources":["../src/providers/bybit/constants.ts","../src/providers/bybit/get-api-key-info.ts","../src/providers/bybit/get-account-info.ts","../src/types/bybit/enums.ts","../src/providers/bybit/get-wallet-balance.ts","../src/providers/bybit/get-closed-pnl.ts","../src/providers/bybit/get-position-info.ts","../src/providers/bybit/apply-demo-money.ts","../src/providers/bybit/get-server-time.ts","../src/providers/bybit/order-create-batch.ts","../src/utils/bybitHelper.ts","../src/clients/BybitClient.ts","../src/utils/helper.ts"],"names":["IBybitAccountType","IBybitCoinType","IBybitOrderType","IBybitUnifiedMarginStatus","IBybitApiKeyVipLevel","IBybitPositionSide","IBybitCategory","IBybitMarginMode","createHmac"],"mappings":"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","file":"index.cjs","sourcesContent":["export const BYBIT_CONSTANTS = {\n baseUrl: process.env.BYBIT_BASE_URL || \"https://api-demo.bybit.com\",\n fetchTimeoutMs: Number(process.env.BYBIT_FETCH_TIMEOUT_MS) || 10000,\n recvWindowTimeoutMs: process.env.BYBIT_RECV_WINDOW_TIMEOUT_MS || \"5000\",\n defaultCoin : \"USDT\"\n}","import { BYBIT_CONSTANTS } from \"./constants\";\nimport { IBybitCredentials, IBybitApiKeyInfo, IBybitApiResponse} from \"../../types/bybit\";\nimport { signBybitRequest } from \"../../utils/bybitHelper\";\n\nexport async function getApiKeyInfo(\n credentials: IBybitCredentials,\n timeOffset?: number,\n): Promise<IBybitApiResponse<IBybitApiKeyInfo>> {\n const { signature, timestamp } = signBybitRequest({\n credentials,\n timeOffset,\n });\n\n let bybitRes: Response;\n try {\n bybitRes = await fetch(`${BYBIT_CONSTANTS.baseUrl}/v5/user/query-api`, {\n headers: {\n \"X-BAPI-API-KEY\": credentials.apiKey,\n \"X-BAPI-SIGN\": signature,\n \"X-BAPI-SIGN-TYPE\": \"2\",\n \"X-BAPI-TIMESTAMP\": timestamp,\n \"X-BAPI-RECV-WINDOW\": BYBIT_CONSTANTS.recvWindowTimeoutMs,\n },\n //signal: AbortSignal.timeout(BYBIT_CONSTANTS.fetchTimeoutMs),\n cache: \"no-store\",\n });\n } catch (error) {\n console.error(\"ByBit API Key Info network error\", error);\n throw new Error(\"ByBit API Key Info network error\", { cause: error });\n }\n\n if (!bybitRes.ok) {\n console.error(\"ByBit API Key Info request failed\", bybitRes);\n throw new Error(\"ByBit API Key Info request failed\");\n }\n\n const bybitJson =\n (await bybitRes.json()) as IBybitApiResponse<IBybitApiKeyInfo>;\n\n if (bybitJson.retCode !== 0) {\n console.error(\"ByBit API Key Info API error\", bybitJson);\n throw new Error(bybitJson.retMsg ?? \"ByBit error\");\n }\n\n if (!bybitJson) {\n console.error(\"Invalid ByBit API Key Info response\", bybitJson);\n throw new Error(\"Invalid ByBit API Key Info response\");\n }\n\n return bybitJson;\n}\n","import {\n IBybitCredentials,\n IBybitAccountInfo,\n IBybitApiResponse,\n} from \"../../types/bybit\";\nimport { signBybitRequest } from \"../../utils/bybitHelper\";\nimport { BYBIT_CONSTANTS } from \"./constants\";\n\nexport async function getAccountInfo(\n credentials: IBybitCredentials,\n timeOffset?: number,\n): Promise<IBybitApiResponse<IBybitAccountInfo>> {\n const { apiKey } = credentials;\n const queryString = \"accountType=UNIFIED\";\n\n const { signature, timestamp } = signBybitRequest({\n credentials,\n queryString,\n timeOffset,\n });\n\n let bybitRes: Response;\n try {\n bybitRes = await fetch(`${BYBIT_CONSTANTS.baseUrl}/v5/account/info`, {\n headers: {\n \"X-BAPI-API-KEY\": apiKey,\n \"X-BAPI-SIGN\": signature,\n \"X-BAPI-SIGN-TYPE\": \"2\",\n \"X-BAPI-TIMESTAMP\": timestamp,\n \"X-BAPI-RECV-WINDOW\": BYBIT_CONSTANTS.recvWindowTimeoutMs,\n },\n signal: AbortSignal.timeout(BYBIT_CONSTANTS.fetchTimeoutMs),\n cache: \"no-store\",\n });\n } catch (error) {\n console.error(\"ByBit Account API network error\", error);\n throw new Error(\"ByBit Account API network error\", { cause: error });\n }\n\n if (!bybitRes.ok) {\n console.error(\"ByBit Account API request failed\", bybitRes);\n throw new Error(\"ByBit Account API request failed\");\n }\n\n const bybitJson =\n (await bybitRes.json()) as IBybitApiResponse<IBybitAccountInfo>;\n\n if (bybitJson.retCode !== 0) {\n console.error(\"ByBit Account API error\", bybitJson);\n throw new Error(bybitJson.retMsg ?? \"ByBit error\");\n }\n\n const raw = bybitJson.result?.list?.[0];\n\n if (!raw) {\n console.error(\"No account info returned\", bybitJson);\n throw new Error(\"No account info returned\");\n }\n\n return bybitJson;\n}\n","export enum IBybitAccountType {\n UNIFIED = \"UNIFIED\",\n FUND = \"FUND\",\n}\n\nexport enum IBybitCoinType {\n BTC = \"BTC\",\n ETH = \"ETH\",\n USDT = \"USDT\",\n USDC = \"USDC\",\n}\n\nexport enum IBybitOrderType {\n MARKET = \"Market\",\n LIMIT = \"Limit\",\n}\n\nexport enum IBybitUnifiedMarginStatus {\n CLASSIC_ACCOUNT = 1,\n UNIFIED_TRADING_ACCOUNT_1_0 = 3,\n UNIFIED_TRADING_ACCOUNT_1_0_PRO = 4,\n UNIFIED_TRADING_ACCOUNT_2_0 = 5,\n UNIFIED_TRADING_ACCOUNT_2_0_PRO = 6,\n}\n\nexport enum IBybitApiKeyVipLevel {\n NO_VIP = \"No VIP\",\n VIP_1 = \"VIP 1\",\n VIP_2 = \"VIP 2\",\n VIP_3 = \"VIP 3\",\n VIP_4 = \"VIP 4\",\n VIP_5 = \"VIP 5\",\n}\n\n// Position side. Buy: long, Sell: short\n// return an empty string \"\" for an empty position\nexport enum IBybitPositionSide {\n SELL = \"Sell\",\n BUY = \"Buy\",\n EMPTY = \"\",\n}\n\nexport enum IBybitCategory {\n LINEAR = \"linear\",\n INVERSE = \"inverse\",\n OPTION = \"option\",\n SPOT = \"spot\",\n}\n\nexport enum IBybitMarginMode {\n ISOLATED_MARGIN = \"ISOLATED_MARGIN\",\n REGULAR_MARGIN = \"REGULAR_MARGIN\",\n PORTFOLIO_MARGIN = \"PORTFOLIO_MARGIN\",\n}","import { BYBIT_CONSTANTS } from \"./constants\";\nimport { IBybitApiResponse, IBybitWalletAccount, IBybitCredentials, IBybitAccountType } from \"../../types/bybit\";\n\nimport { signBybitRequest } from \"../../utils/bybitHelper\";\n\n// GET /api/bybit/wallet-balance?accountType=UNIFIED\nexport async function getWalletBalance(\n credentials: IBybitCredentials,\n timeOffset?: number,\n): Promise<IBybitApiResponse<IBybitWalletAccount>> {\n const { apiKey } = credentials;\n\n const query = new URLSearchParams({\n accountType: IBybitAccountType.UNIFIED,\n coin: BYBIT_CONSTANTS.defaultCoin,\n });\n const queryString = query.toString();\n\n const { signature, timestamp } = signBybitRequest({\n credentials,\n queryString,\n timeOffset,\n });\n\n let bybitRes: Response;\n try {\n bybitRes = await fetch(\n `${BYBIT_CONSTANTS.baseUrl}/v5/account/wallet-balance?${queryString}`,\n {\n headers: {\n \"X-BAPI-API-KEY\": apiKey,\n \"X-BAPI-SIGN\": signature,\n \"X-BAPI-SIGN-TYPE\": \"2\",\n \"X-BAPI-TIMESTAMP\": timestamp,\n \"X-BAPI-RECV-WINDOW\": BYBIT_CONSTANTS.recvWindowTimeoutMs,\n },\n },\n );\n } catch (error) {\n console.error(\"ByBit Wallet API network error\", error);\n throw new Error(\"ByBit Wallet API network error\", { cause: error });\n }\n\n if (!bybitRes.ok) {\n console.error(\"ByBit Wallet API request failed\", bybitRes);\n throw new Error(\"ByBit Wallet API request failed: \" + bybitRes.statusText);\n }\n\n const bybitJson = (await bybitRes.json()) as IBybitApiResponse<IBybitWalletAccount>;\n\n if (bybitJson.retCode !== 0) {\n console.error(\"ByBit Wallet API error\", bybitJson);\n throw new Error(bybitJson.retMsg ?? \"ByBit error\");\n }\n\n return bybitJson;\n}\n","import { BYBIT_CONSTANTS } from \"./constants\";\nimport { IBybitCredentials, IBybitApiResponse, IBybitApiResponseList, IBybitClosedPnl, IBybitClosedPnlRequest, IBybitCategory } from \"../../types/bybit\";\nimport { signBybitRequest } from \"../../utils/bybitHelper\";\n\n// GET /api/bybit/wallet-balance?accountType=UNIFIED\nexport async function getClosedPnl(\n credentials: IBybitCredentials,\n payload: IBybitClosedPnlRequest,\n timeOffset?: number,\n): Promise<IBybitApiResponse<IBybitApiResponseList<IBybitClosedPnl>>> {\n const { apiKey } = credentials;\n const query = new URLSearchParams({\n category: IBybitCategory.LINEAR,\n limit: \"50\", //default limit\n });\n\n if (typeof payload.startTime === \"number\") {\n query.set(\"startTime\", String(payload.startTime));\n }\n\n if (typeof payload.endTime === \"number\") {\n query.set(\"endTime\", String(payload.endTime));\n }\n\n if (typeof payload.cursor === \"string\") {\n query.set(\"cursor\", String(payload.cursor));\n }\n\n const queryString = query.toString();\n\n const { signature, timestamp } = signBybitRequest({\n credentials,\n queryString,\n timeOffset,\n });\n\n let bybitRes: Response;\n try {\n bybitRes = await fetch(\n `${BYBIT_CONSTANTS.baseUrl}/v5/position/closed-pnl?${queryString}`,\n {\n headers: {\n \"X-BAPI-API-KEY\": apiKey,\n \"X-BAPI-SIGN\": signature,\n \"X-BAPI-SIGN-TYPE\": \"2\",\n \"X-BAPI-TIMESTAMP\": timestamp,\n \"X-BAPI-RECV-WINDOW\": BYBIT_CONSTANTS.recvWindowTimeoutMs,\n },\n },\n );\n } catch (error) {\n console.error(\"ByBit Closed PNL API network error\", error);\n throw new Error(\"ByBit Closed PNL API network error\", { cause: error });\n }\n\n if (!bybitRes.ok) {\n console.error(\"ByBit Closed PNL API request failed\", bybitRes);\n throw new Error(\"ByBit Closed PNL API request failed\");\n }\n\n const bybitJson = (await bybitRes.json()) as IBybitApiResponse<IBybitApiResponseList<IBybitClosedPnl>>;\n\n if (bybitJson.retCode !== 0) {\n console.error(\"ByBit Closed PNL API error\", bybitJson);\n throw new Error(bybitJson.retMsg ?? \"ByBit error\");\n }\n\n const filteredData = bybitJson.result.list.filter((item: IBybitClosedPnl) => item.symbol.includes(BYBIT_CONSTANTS.defaultCoin));\n\n return {\n ...bybitJson,\n result: {\n ...bybitJson.result,\n list: filteredData,\n olist: bybitJson.result.list,\n },\n };\n}\n","import { BYBIT_CONSTANTS } from \"./constants\";\nimport {\n IBybitCredentials,\n IBybitApiResponse,\n IBybitApiResponseList,\n IBybitPositionInfo,\n IBybitPositionInfoRequest,\n IBybitCategory,\n} from \"../../types/bybit\";\n\nimport { signBybitRequest } from \"../../utils/bybitHelper\";\n\n// Query real-time position data, such as position size, cumulative realized PNL, etc.\nexport async function getPositionInfo(\n credentials: IBybitCredentials,\n payload: IBybitPositionInfoRequest,\n timeOffset?: number,\n): Promise<IBybitApiResponse<IBybitApiResponseList<IBybitPositionInfo>>> {\n const query = new URLSearchParams({\n settleCoin: payload.settleCoin ?? BYBIT_CONSTANTS.defaultCoin,\n category: payload.category ?? IBybitCategory.LINEAR,\n limit: \"20\", //default limit\n });\n\n if (typeof payload?.symbol === \"string\") {\n query.set(\"symbol\", String(payload.symbol));\n }\n\n if (typeof payload?.cursor === \"string\") {\n query.set(\"cursor\", String(payload.cursor));\n }\n\n const queryString = query.toString();\n\n const { signature, timestamp } = signBybitRequest({\n credentials,\n queryString,\n timeOffset,\n });\n\n let bybitRes: Response;\n try {\n bybitRes = await fetch(\n `${BYBIT_CONSTANTS.baseUrl}/v5/position/list?${queryString}`,\n {\n headers: {\n \"X-BAPI-API-KEY\": credentials.apiKey,\n \"X-BAPI-SIGN\": signature,\n \"X-BAPI-SIGN-TYPE\": \"2\",\n \"X-BAPI-TIMESTAMP\": timestamp,\n \"X-BAPI-RECV-WINDOW\": BYBIT_CONSTANTS.recvWindowTimeoutMs,\n },\n signal: AbortSignal.timeout(BYBIT_CONSTANTS.fetchTimeoutMs),\n cache: \"no-store\",\n },\n );\n } catch (error) {\n console.error(\"ByBit Position Info API network error\", { cause: error });\n throw new Error(\"ByBit Position Info API network error\", { cause: error });\n }\n\n if (!bybitRes.ok) {\n console.error(\"ByBit Position Info API request failed\", bybitRes);\n throw new Error(\"ByBit Position Info API request failed\");\n }\n\n const bybitJson = (await bybitRes.json()) as IBybitApiResponse<IBybitApiResponseList<IBybitPositionInfo>>;\n \n if (bybitJson.retCode !== 0) {\n console.error(\"ByBit Position Info API error\", bybitJson);\n throw new Error(bybitJson.retMsg ?? \"ByBit error\");\n }\n\n return bybitJson;\n}\n","import { BYBIT_CONSTANTS } from \"./constants\";\n\nimport {\n IBybitCredentials,\n IBybitApiResponse,\n IBybitDemoApplyMoneyRequest,\n} from \"../../types/bybit\";\nimport { signBybitRequest } from \"../../utils/bybitHelper\";\nimport { IBybitDemoApplyMoney } from \"../../types/bybit/IBybitDemoApplyMoney\";\n\n// POST /api/bybit/apply-money\nexport async function applyDemoMoney(\n credentials: IBybitCredentials,\n payload: IBybitDemoApplyMoneyRequest,\n timeOffset?: number,\n): Promise<IBybitApiResponse<IBybitDemoApplyMoney>> {\n const { apiKey } = credentials;\n\n const requestBody = JSON.stringify(payload);\n const { signature, timestamp } = signBybitRequest({\n credentials,\n queryString: requestBody,\n timeOffset,\n });\n\n let bybitRes: Response;\n try {\n bybitRes = await fetch(\n `${BYBIT_CONSTANTS.baseUrl}/v5/account/demo-apply-money`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-BAPI-API-KEY\": apiKey,\n \"X-BAPI-SIGN\": signature,\n \"X-BAPI-SIGN-TYPE\": \"2\",\n \"X-BAPI-TIMESTAMP\": timestamp,\n \"X-BAPI-RECV-WINDOW\": BYBIT_CONSTANTS.recvWindowTimeoutMs,\n },\n body: requestBody,\n signal: AbortSignal.timeout(BYBIT_CONSTANTS.fetchTimeoutMs),\n cache: \"no-store\",\n },\n );\n } catch (error) {\n throw new Error(\"ByBit Apply Money API network error\", { cause: error });\n }\n\n if (!bybitRes.ok) {\n throw new Error(\"ByBit Apply Money API request failed\");\n }\n\n const bybitJson =\n (await bybitRes.json()) as IBybitApiResponse<IBybitDemoApplyMoney>;\n\n if (bybitJson.retCode !== 0) {\n throw new Error(bybitJson.retMsg ?? \"ByBit error\");\n }\n\n return bybitJson;\n}\n","import { BYBIT_CONSTANTS } from \"./constants\";\nimport { IBybitServerTime, IBybitApiResponse } from \"../../types/bybit\";\n\nexport async function getServerTime(): Promise<IBybitApiResponse<IBybitServerTime>> {\n let bybitRes: Response;\n try {\n bybitRes = await fetch(`${BYBIT_CONSTANTS.baseUrl}/v5/market/time`,\n {\n cache: \"no-store\",\n }\n );\n } catch (error) {\n console.error(\"ByBit Server Time network error\", error);\n throw new Error(\"ByBit Server Time network error\", { cause: error });\n }\n\n if (!bybitRes.ok) {\n console.error(\"ByBit Server Time request failed\", bybitRes.status, bybitRes.statusText);\n throw new Error(`ByBit Server Time request failed: ${bybitRes.status}`);\n }\n\n let bybitJson: IBybitApiResponse<IBybitServerTime>;\n\n try {\n bybitJson = (await bybitRes.json()) as IBybitApiResponse<IBybitServerTime>;\n } catch (error) {\n console.error(\"Invalid ByBit Server Time response\", error);\n throw new Error(\"Invalid ByBit Server Time response\", { cause: error });\n }\n\n if (!bybitJson) {\n throw new Error(\"Invalid ByBit Server Time response\");\n }\n\n if (bybitJson.retCode !== 0) {\n console.error(\"ByBit Server Time API error\", bybitJson);\n throw new Error(bybitJson.retMsg ?? \"ByBit server time error\");\n }\n\n return bybitJson;\n}","import { BYBIT_CONSTANTS } from \"./constants\";\n\nimport type {\n IBybitCredentials,\n IBybitOrderCreateBatchRequest,\n IBybitOrderCreateBatchResponse,\n} from \"../../types/bybit/\";\nimport { signBybitRequest } from \"../../utils/bybitHelper\";\n\n// POST /api/bybit/order/create-batch\nexport async function orderCreateBatch(\n credentials: IBybitCredentials,\n payload: IBybitOrderCreateBatchRequest,\n timeOffset?: number,\n): Promise<IBybitOrderCreateBatchResponse> {\n const { apiKey } = credentials;\n\n const requestBody = JSON.stringify(payload);\n const { signature, timestamp } = signBybitRequest({\n credentials,\n queryString: requestBody,\n timeOffset,\n });\n\n let bybitRes: Response;\n try {\n bybitRes = await fetch(`${BYBIT_CONSTANTS.baseUrl}/v5/order/create-batch`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-BAPI-API-KEY\": apiKey,\n \"X-BAPI-SIGN\": signature,\n \"X-BAPI-SIGN-TYPE\": \"2\",\n \"X-BAPI-TIMESTAMP\": timestamp,\n \"X-BAPI-RECV-WINDOW\": BYBIT_CONSTANTS.recvWindowTimeoutMs,\n },\n body: requestBody,\n signal: AbortSignal.timeout(BYBIT_CONSTANTS.fetchTimeoutMs),\n cache: \"no-store\",\n });\n } catch (error) {\n throw new Error(\"ByBit Order Create Batch API network error\", {\n cause: error,\n });\n }\n\n if (!bybitRes.ok) {\n throw new Error(\"ByBit Order Create Batch API request failed\");\n }\n\n const bybitJson =\n (await bybitRes.json()) as IBybitOrderCreateBatchResponse;\n\n if (bybitJson.retCode !== 0) {\n throw new Error(bybitJson.retMsg ?? \"ByBit error\");\n }\n\n return bybitJson;\n}\n","import { createHmac } from \"crypto\";\nimport { getServerTime } from \"../providers/bybit\";\nimport { BYBIT_CONSTANTS } from \"../providers/bybit/constants\";\nimport type { IBybitSignRequest } from \"../types/bybit\";\n\nexport function signBybitRequest(request: IBybitSignRequest) {\n const { credentials, queryString, timeOffset } = request;\n const { apiSecret, apiKey } = credentials;\n\n const timestamp = getBybitTimestamp(timeOffset);\n\n const payload = `${timestamp}${apiKey}${BYBIT_CONSTANTS.recvWindowTimeoutMs}${queryString ?? \"\"}`;\n const signature = createHmac(\"sha256\", apiSecret)\n .update(payload)\n .digest(\"hex\");\n\n return { signature, timestamp };\n}\n\nexport async function syncBybitServerTime(): Promise<number> {\n const localTimeBefore = Date.now();\n const { result } = await getServerTime();\n\n const serverTime = parseInt(result.timeNano, 10) / 1000000;\n const localTimeAfter = Date.now();\n\n // Estimate the local time at which Bybit generated\n // the response by using the midpoint.\n const estimatedLatency = (localTimeAfter - localTimeBefore) / 2;\n const timeOffset = Math.round(serverTime - (localTimeBefore + estimatedLatency));\n\n return timeOffset;\n}\n\nexport function getBybitTimestamp(timeOffset: number = 0): string {\n return String(Date.now() + timeOffset);\n}","import type {\n IBybitApiKeyInfo,\n IBybitApiResponse,\n IBybitClosedPnlRequest,\n IBybitCredentials,\n IBybitDemoApplyMoneyRequest,\n IBybitOrderCreateBatchRequest,\n IBybitPositionInfoRequest,\n} from \"../types/bybit\";\nimport { syncBybitServerTime } from \"../utils/bybitHelper\";\n\nimport {\n getApiKeyInfo,\n getClosedPnl,\n getAccountInfo,\n getWalletBalance,\n applyDemoMoney,\n getPositionInfo,\n orderCreateBatch\n} from \"../providers/bybit\";\n\nexport class BybitClient {\n private timeOffset = 0;\n private readonly ready: Promise<void>;\n\n constructor() {\n this.ready = this.initializeTimeOffset();\n }\n\n private async initializeTimeOffset(): Promise<void> {\n const maxAttempts = 3;\n\n for (let attempt = 1; attempt <= maxAttempts; attempt += 1) {\n try {\n this.timeOffset = await syncBybitServerTime();\n return;\n } catch (error) {\n if (attempt === maxAttempts) {\n throw error;\n }\n\n await new Promise((resolve) => setTimeout(resolve, attempt * 2_000));\n }\n }\n }\n\n async applyDemoMoney(\n credentials: IBybitCredentials,\n payload: IBybitDemoApplyMoneyRequest,\n ) {\n await this.ready;\n // Implement the logic to apply demo money to the Bybit account using the provided payload\n return await applyDemoMoney(credentials, payload, this.timeOffset);\n }\n\n async getAccountInfo(\n credentials: IBybitCredentials,\n ) {\n await this.ready;\n return await getAccountInfo(credentials, this.timeOffset);\n }\n\n async getApiKeyInfo(\n credentials: IBybitCredentials,\n ): Promise<IBybitApiResponse<IBybitApiKeyInfo>> {\n await this.ready;\n return await getApiKeyInfo(credentials, this.timeOffset);\n }\n\n async getClosedPnl(\n credentials: IBybitCredentials,\n payload: IBybitClosedPnlRequest\n ) {\n await this.ready;\n return await getClosedPnl(credentials, payload, this.timeOffset);\n }\n\n async getWalletBalance(credentials: IBybitCredentials) {\n await this.ready;\n return await getWalletBalance(credentials, this.timeOffset);\n }\n\n async getPositionInfo(\n credentials: IBybitCredentials, \n payload: IBybitPositionInfoRequest\n ) {\n await this.ready;\n return await getPositionInfo(credentials, payload, this.timeOffset);\n }\n\n async orderCreateBatch(\n credentials: IBybitCredentials,\n payload: IBybitOrderCreateBatchRequest\n ) {\n await this.ready;\n return await orderCreateBatch(credentials, payload, this.timeOffset);\n }\n}\n","export const parseNumber = (\n value: number | string | null | undefined,\n): number | null => {\n if (value === null || value === undefined) {\n return null;\n }\n\n const parsed = Number(value);\n return Number.isFinite(parsed) ? parsed : null;\n};\n\nexport const toIsoDate = (\n value: string | number | null | undefined,\n): string | null => {\n const parsed = parseNumber(value);\n if (parsed === null || parsed <= 0) {\n return null;\n }\n\n const date = new Date(parsed);\n if (Number.isNaN(date.getTime())) {\n return null;\n }\n\n return date.toISOString();\n};\n\nexport const isSameUtcDay = (\n left: string | null | undefined,\n right: string | null | undefined,\n): boolean => {\n if (!left || !right) {\n return false;\n }\n\n const normalizedLeft = left.trim();\n const normalizedRight = right.trim();\n\n if (!normalizedLeft || !normalizedRight) {\n return false;\n }\n\n const leftDate = new Date(normalizedLeft);\n const rightDate = new Date(normalizedRight);\n\n if (Number.isNaN(leftDate.getTime()) || Number.isNaN(rightDate.getTime())) {\n return false;\n }\n\n return (\n leftDate.toISOString().slice(0, 10) === rightDate.toISOString().slice(0, 10)\n );\n};\n"]}
package/dist/index.d.cts CHANGED
@@ -4,5 +4,5 @@ export { getBybitTimestamp, isSameUtcDay, parseNumber, signBybitRequest, syncByb
4
4
  export { TSyncResponse } from './types/index.cjs';
5
5
  export { IBybitAccountInfo, IBybitApiKeyInfo, IBybitApiKeyPermissions, IBybitApiResponse, IBybitApiResponseList, IBybitClosedPnl, IBybitClosedPnlRequest, IBybitCoinBalance, IBybitDemoApplyMoney, IBybitDemoApplyMoneyItem, IBybitDemoApplyMoneyRequest, IBybitOrderCreateBatchPayload, IBybitOrderCreateBatchRequest, IBybitOrderCreateBatchResponse, IBybitPositionInfo, IBybitPositionInfoRequest, IBybitPositionInfoResponse, IBybitServerTime, IBybitWalletAccount } from './types/bybit/index.cjs';
6
6
  export { TChallengeAccountInfo, TChallengeApiKeyInfo, TChallengeCapital, TChallengeClosedPnl, TChallengeItem, TChallengeListItem, TChallengeMode, TChallengePositionInfo, TChallengeProgress, TChallengeProvider, TChallengeRule, TChallengeRuleGroup, TChallengeStatistics, TChallengeStatus, TChallengeTier, TChallengeType, TChallengeWalletBalance, TDrawdownType, TTradingType } from './types/challenge/index.cjs';
7
- export { I as IBybitAccountType, a as IBybitApiKeyVipLevel, b as IBybitCategory, c as IBybitCoinType, d as IBybitMarginMode } from './enums-CFM0khJf.cjs';
7
+ export { I as IBybitAccountType, a as IBybitApiKeyVipLevel, b as IBybitCategory, c as IBybitCoinType, d as IBybitMarginMode, e as IBybitOrderType, f as IBybitPositionSide, g as IBybitUnifiedMarginStatus } from './enums-B4IJ4ODY.cjs';
8
8
  export { I as IBybitCredentials, a as IBybitSignRequest } from './IBybitSignRequest-cA1RCbDS.cjs';
package/dist/index.d.ts CHANGED
@@ -4,5 +4,5 @@ export { getBybitTimestamp, isSameUtcDay, parseNumber, signBybitRequest, syncByb
4
4
  export { TSyncResponse } from './types/index.js';
5
5
  export { IBybitAccountInfo, IBybitApiKeyInfo, IBybitApiKeyPermissions, IBybitApiResponse, IBybitApiResponseList, IBybitClosedPnl, IBybitClosedPnlRequest, IBybitCoinBalance, IBybitDemoApplyMoney, IBybitDemoApplyMoneyItem, IBybitDemoApplyMoneyRequest, IBybitOrderCreateBatchPayload, IBybitOrderCreateBatchRequest, IBybitOrderCreateBatchResponse, IBybitPositionInfo, IBybitPositionInfoRequest, IBybitPositionInfoResponse, IBybitServerTime, IBybitWalletAccount } from './types/bybit/index.js';
6
6
  export { TChallengeAccountInfo, TChallengeApiKeyInfo, TChallengeCapital, TChallengeClosedPnl, TChallengeItem, TChallengeListItem, TChallengeMode, TChallengePositionInfo, TChallengeProgress, TChallengeProvider, TChallengeRule, TChallengeRuleGroup, TChallengeStatistics, TChallengeStatus, TChallengeTier, TChallengeType, TChallengeWalletBalance, TDrawdownType, TTradingType } from './types/challenge/index.js';
7
- export { I as IBybitAccountType, a as IBybitApiKeyVipLevel, b as IBybitCategory, c as IBybitCoinType, d as IBybitMarginMode } from './enums-CFM0khJf.js';
7
+ export { I as IBybitAccountType, a as IBybitApiKeyVipLevel, b as IBybitCategory, c as IBybitCoinType, d as IBybitMarginMode, e as IBybitOrderType, f as IBybitPositionSide, g as IBybitUnifiedMarginStatus } from './enums-B4IJ4ODY.js';
8
8
  export { I as IBybitCredentials, a as IBybitSignRequest } from './IBybitSignRequest-cA1RCbDS.js';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export { isSameUtcDay, parseNumber, toIsoDate } from './chunk-36QZINNQ.js';
2
2
  export { BybitClient } from './chunk-WAGMXIRB.js';
3
3
  export { applyDemoMoney, getAccountInfo, getApiKeyInfo, getBybitTimestamp, getClosedPnl, getPositionInfo, getServerTime, getWalletBalance, orderCreateBatch, signBybitRequest, syncBybitServerTime } from './chunk-T23XINGG.js';
4
- import './chunk-V45RVFQE.js';
4
+ export { IBybitAccountType, IBybitApiKeyVipLevel, IBybitCategory, IBybitCoinType, IBybitMarginMode, IBybitOrderType, IBybitPositionSide, IBybitUnifiedMarginStatus } from './chunk-PLF2HR3K.js';
5
5
  //# sourceMappingURL=index.js.map
6
6
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  import { IBybitApiResponse, IBybitApiKeyInfo, IBybitAccountInfo, IBybitWalletAccount, IBybitClosedPnlRequest, IBybitApiResponseList, IBybitClosedPnl, IBybitPositionInfoRequest, IBybitPositionInfo, IBybitDemoApplyMoneyRequest, IBybitDemoApplyMoney, IBybitServerTime, IBybitOrderCreateBatchRequest, IBybitOrderCreateBatchResponse } from '../../types/bybit/index.cjs';
2
2
  import { I as IBybitCredentials } from '../../IBybitSignRequest-cA1RCbDS.cjs';
3
- import '../../enums-CFM0khJf.cjs';
3
+ import '../../enums-B4IJ4ODY.cjs';
4
4
 
5
5
  declare function getApiKeyInfo(credentials: IBybitCredentials, timeOffset?: number): Promise<IBybitApiResponse<IBybitApiKeyInfo>>;
6
6
 
@@ -1,6 +1,6 @@
1
1
  import { IBybitApiResponse, IBybitApiKeyInfo, IBybitAccountInfo, IBybitWalletAccount, IBybitClosedPnlRequest, IBybitApiResponseList, IBybitClosedPnl, IBybitPositionInfoRequest, IBybitPositionInfo, IBybitDemoApplyMoneyRequest, IBybitDemoApplyMoney, IBybitServerTime, IBybitOrderCreateBatchRequest, IBybitOrderCreateBatchResponse } from '../../types/bybit/index.js';
2
2
  import { I as IBybitCredentials } from '../../IBybitSignRequest-cA1RCbDS.js';
3
- import '../../enums-CFM0khJf.js';
3
+ import '../../enums-B4IJ4ODY.js';
4
4
 
5
5
  declare function getApiKeyInfo(credentials: IBybitCredentials, timeOffset?: number): Promise<IBybitApiResponse<IBybitApiKeyInfo>>;
6
6
 
@@ -1,4 +1,4 @@
1
1
  export { applyDemoMoney, getAccountInfo, getApiKeyInfo, getClosedPnl, getPositionInfo, getServerTime, getWalletBalance, orderCreateBatch } from '../../chunk-T23XINGG.js';
2
- import '../../chunk-V45RVFQE.js';
2
+ import '../../chunk-PLF2HR3K.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -13,6 +13,19 @@ var IBybitCoinType = /* @__PURE__ */ ((IBybitCoinType2) => {
13
13
  IBybitCoinType2["USDC"] = "USDC";
14
14
  return IBybitCoinType2;
15
15
  })(IBybitCoinType || {});
16
+ var IBybitOrderType = /* @__PURE__ */ ((IBybitOrderType2) => {
17
+ IBybitOrderType2["MARKET"] = "Market";
18
+ IBybitOrderType2["LIMIT"] = "Limit";
19
+ return IBybitOrderType2;
20
+ })(IBybitOrderType || {});
21
+ var IBybitUnifiedMarginStatus = /* @__PURE__ */ ((IBybitUnifiedMarginStatus2) => {
22
+ IBybitUnifiedMarginStatus2[IBybitUnifiedMarginStatus2["CLASSIC_ACCOUNT"] = 1] = "CLASSIC_ACCOUNT";
23
+ IBybitUnifiedMarginStatus2[IBybitUnifiedMarginStatus2["UNIFIED_TRADING_ACCOUNT_1_0"] = 3] = "UNIFIED_TRADING_ACCOUNT_1_0";
24
+ IBybitUnifiedMarginStatus2[IBybitUnifiedMarginStatus2["UNIFIED_TRADING_ACCOUNT_1_0_PRO"] = 4] = "UNIFIED_TRADING_ACCOUNT_1_0_PRO";
25
+ IBybitUnifiedMarginStatus2[IBybitUnifiedMarginStatus2["UNIFIED_TRADING_ACCOUNT_2_0"] = 5] = "UNIFIED_TRADING_ACCOUNT_2_0";
26
+ IBybitUnifiedMarginStatus2[IBybitUnifiedMarginStatus2["UNIFIED_TRADING_ACCOUNT_2_0_PRO"] = 6] = "UNIFIED_TRADING_ACCOUNT_2_0_PRO";
27
+ return IBybitUnifiedMarginStatus2;
28
+ })(IBybitUnifiedMarginStatus || {});
16
29
  var IBybitApiKeyVipLevel = /* @__PURE__ */ ((IBybitApiKeyVipLevel2) => {
17
30
  IBybitApiKeyVipLevel2["NO_VIP"] = "No VIP";
18
31
  IBybitApiKeyVipLevel2["VIP_1"] = "VIP 1";
@@ -22,6 +35,12 @@ var IBybitApiKeyVipLevel = /* @__PURE__ */ ((IBybitApiKeyVipLevel2) => {
22
35
  IBybitApiKeyVipLevel2["VIP_5"] = "VIP 5";
23
36
  return IBybitApiKeyVipLevel2;
24
37
  })(IBybitApiKeyVipLevel || {});
38
+ var IBybitPositionSide = /* @__PURE__ */ ((IBybitPositionSide2) => {
39
+ IBybitPositionSide2["SELL"] = "Sell";
40
+ IBybitPositionSide2["BUY"] = "Buy";
41
+ IBybitPositionSide2["EMPTY"] = "";
42
+ return IBybitPositionSide2;
43
+ })(IBybitPositionSide || {});
25
44
  var IBybitCategory = /* @__PURE__ */ ((IBybitCategory2) => {
26
45
  IBybitCategory2["LINEAR"] = "linear";
27
46
  IBybitCategory2["INVERSE"] = "inverse";
@@ -41,5 +60,8 @@ exports.IBybitApiKeyVipLevel = IBybitApiKeyVipLevel;
41
60
  exports.IBybitCategory = IBybitCategory;
42
61
  exports.IBybitCoinType = IBybitCoinType;
43
62
  exports.IBybitMarginMode = IBybitMarginMode;
63
+ exports.IBybitOrderType = IBybitOrderType;
64
+ exports.IBybitPositionSide = IBybitPositionSide;
65
+ exports.IBybitUnifiedMarginStatus = IBybitUnifiedMarginStatus;
44
66
  //# sourceMappingURL=index.cjs.map
45
67
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/types/bybit/enums.ts"],"names":["IBybitAccountType","IBybitCoinType","IBybitApiKeyVipLevel","IBybitCategory","IBybitMarginMode"],"mappings":";;;AAAO,IAAK,iBAAA,qBAAAA,kBAAAA,KAAL;AACL,EAAAA,mBAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,mBAAA,MAAA,CAAA,GAAO,MAAA;AAFG,EAAA,OAAAA,kBAAAA;AAAA,CAAA,EAAA,iBAAA,IAAA,EAAA;AAKL,IAAK,cAAA,qBAAAC,eAAAA,KAAL;AACL,EAAAA,gBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,gBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,gBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,gBAAA,MAAA,CAAA,GAAO,MAAA;AAJG,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;AAoBL,IAAK,oBAAA,qBAAAC,qBAAAA,KAAL;AACL,EAAAA,sBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,sBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,sBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,sBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,sBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,sBAAA,OAAA,CAAA,GAAQ,OAAA;AANE,EAAA,OAAAA,qBAAAA;AAAA,CAAA,EAAA,oBAAA,IAAA,EAAA;AAiBL,IAAK,cAAA,qBAAAC,eAAAA,KAAL;AACL,EAAAA,gBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,gBAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,gBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,gBAAA,MAAA,CAAA,GAAO,MAAA;AAJG,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;AAOL,IAAK,gBAAA,qBAAAC,iBAAAA,KAAL;AACL,EAAAA,kBAAA,iBAAA,CAAA,GAAkB,iBAAA;AAClB,EAAAA,kBAAA,gBAAA,CAAA,GAAiB,gBAAA;AACjB,EAAAA,kBAAA,kBAAA,CAAA,GAAmB,kBAAA;AAHT,EAAA,OAAAA,iBAAAA;AAAA,CAAA,EAAA,gBAAA,IAAA,EAAA","file":"index.cjs","sourcesContent":["export enum IBybitAccountType {\n UNIFIED = \"UNIFIED\",\n FUND = \"FUND\",\n}\n\nexport enum IBybitCoinType {\n BTC = \"BTC\",\n ETH = \"ETH\",\n USDT = \"USDT\",\n USDC = \"USDC\",\n}\n\nexport enum IBybitOrderType {\n MARKET = \"Market\",\n LIMIT = \"Limit\",\n}\n\nexport enum IBybitUnifiedMarginStatus {\n CLASSIC_ACCOUNT = 1,\n UNIFIED_TRADING_ACCOUNT_1_0 = 3,\n UNIFIED_TRADING_ACCOUNT_1_0_PRO = 4,\n UNIFIED_TRADING_ACCOUNT_2_0 = 5,\n UNIFIED_TRADING_ACCOUNT_2_0_PRO = 6,\n}\n\nexport enum IBybitApiKeyVipLevel {\n NO_VIP = \"No VIP\",\n VIP_1 = \"VIP 1\",\n VIP_2 = \"VIP 2\",\n VIP_3 = \"VIP 3\",\n VIP_4 = \"VIP 4\",\n VIP_5 = \"VIP 5\",\n}\n\n// Position side. Buy: long, Sell: short\n// return an empty string \"\" for an empty position\nexport enum IBybitPositionSide {\n SELL = \"Sell\",\n BUY = \"Buy\",\n EMPTY = \"\",\n}\n\nexport enum IBybitCategory {\n LINEAR = \"linear\",\n INVERSE = \"inverse\",\n OPTION = \"option\",\n SPOT = \"spot\",\n}\n\nexport enum IBybitMarginMode {\n ISOLATED_MARGIN = \"ISOLATED_MARGIN\",\n REGULAR_MARGIN = \"REGULAR_MARGIN\",\n PORTFOLIO_MARGIN = \"PORTFOLIO_MARGIN\",\n}"]}
1
+ {"version":3,"sources":["../../../src/types/bybit/enums.ts"],"names":["IBybitAccountType","IBybitCoinType","IBybitOrderType","IBybitUnifiedMarginStatus","IBybitApiKeyVipLevel","IBybitPositionSide","IBybitCategory","IBybitMarginMode"],"mappings":";;;AAAO,IAAK,iBAAA,qBAAAA,kBAAAA,KAAL;AACL,EAAAA,mBAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,mBAAA,MAAA,CAAA,GAAO,MAAA;AAFG,EAAA,OAAAA,kBAAAA;AAAA,CAAA,EAAA,iBAAA,IAAA,EAAA;AAKL,IAAK,cAAA,qBAAAC,eAAAA,KAAL;AACL,EAAAA,gBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,gBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,gBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,gBAAA,MAAA,CAAA,GAAO,MAAA;AAJG,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;AAOL,IAAK,eAAA,qBAAAC,gBAAAA,KAAL;AACL,EAAAA,iBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,iBAAA,OAAA,CAAA,GAAQ,OAAA;AAFE,EAAA,OAAAA,gBAAAA;AAAA,CAAA,EAAA,eAAA,IAAA,EAAA;AAKL,IAAK,yBAAA,qBAAAC,0BAAAA,KAAL;AACL,EAAAA,0BAAAA,CAAAA,0BAAAA,CAAA,qBAAkB,CAAA,CAAA,GAAlB,iBAAA;AACA,EAAAA,0BAAAA,CAAAA,0BAAAA,CAAA,iCAA8B,CAAA,CAAA,GAA9B,6BAAA;AACA,EAAAA,0BAAAA,CAAAA,0BAAAA,CAAA,qCAAkC,CAAA,CAAA,GAAlC,iCAAA;AACA,EAAAA,0BAAAA,CAAAA,0BAAAA,CAAA,iCAA8B,CAAA,CAAA,GAA9B,6BAAA;AACA,EAAAA,0BAAAA,CAAAA,0BAAAA,CAAA,qCAAkC,CAAA,CAAA,GAAlC,iCAAA;AALU,EAAA,OAAAA,0BAAAA;AAAA,CAAA,EAAA,yBAAA,IAAA,EAAA;AAQL,IAAK,oBAAA,qBAAAC,qBAAAA,KAAL;AACL,EAAAA,sBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,sBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,sBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,sBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,sBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,sBAAA,OAAA,CAAA,GAAQ,OAAA;AANE,EAAA,OAAAA,qBAAAA;AAAA,CAAA,EAAA,oBAAA,IAAA,EAAA;AAWL,IAAK,kBAAA,qBAAAC,mBAAAA,KAAL;AACL,EAAAA,oBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,oBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,oBAAA,OAAA,CAAA,GAAQ,EAAA;AAHE,EAAA,OAAAA,mBAAAA;AAAA,CAAA,EAAA,kBAAA,IAAA,EAAA;AAML,IAAK,cAAA,qBAAAC,eAAAA,KAAL;AACL,EAAAA,gBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,gBAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,gBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,gBAAA,MAAA,CAAA,GAAO,MAAA;AAJG,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;AAOL,IAAK,gBAAA,qBAAAC,iBAAAA,KAAL;AACL,EAAAA,kBAAA,iBAAA,CAAA,GAAkB,iBAAA;AAClB,EAAAA,kBAAA,gBAAA,CAAA,GAAiB,gBAAA;AACjB,EAAAA,kBAAA,kBAAA,CAAA,GAAmB,kBAAA;AAHT,EAAA,OAAAA,iBAAAA;AAAA,CAAA,EAAA,gBAAA,IAAA,EAAA","file":"index.cjs","sourcesContent":["export enum IBybitAccountType {\n UNIFIED = \"UNIFIED\",\n FUND = \"FUND\",\n}\n\nexport enum IBybitCoinType {\n BTC = \"BTC\",\n ETH = \"ETH\",\n USDT = \"USDT\",\n USDC = \"USDC\",\n}\n\nexport enum IBybitOrderType {\n MARKET = \"Market\",\n LIMIT = \"Limit\",\n}\n\nexport enum IBybitUnifiedMarginStatus {\n CLASSIC_ACCOUNT = 1,\n UNIFIED_TRADING_ACCOUNT_1_0 = 3,\n UNIFIED_TRADING_ACCOUNT_1_0_PRO = 4,\n UNIFIED_TRADING_ACCOUNT_2_0 = 5,\n UNIFIED_TRADING_ACCOUNT_2_0_PRO = 6,\n}\n\nexport enum IBybitApiKeyVipLevel {\n NO_VIP = \"No VIP\",\n VIP_1 = \"VIP 1\",\n VIP_2 = \"VIP 2\",\n VIP_3 = \"VIP 3\",\n VIP_4 = \"VIP 4\",\n VIP_5 = \"VIP 5\",\n}\n\n// Position side. Buy: long, Sell: short\n// return an empty string \"\" for an empty position\nexport enum IBybitPositionSide {\n SELL = \"Sell\",\n BUY = \"Buy\",\n EMPTY = \"\",\n}\n\nexport enum IBybitCategory {\n LINEAR = \"linear\",\n INVERSE = \"inverse\",\n OPTION = \"option\",\n SPOT = \"spot\",\n}\n\nexport enum IBybitMarginMode {\n ISOLATED_MARGIN = \"ISOLATED_MARGIN\",\n REGULAR_MARGIN = \"REGULAR_MARGIN\",\n PORTFOLIO_MARGIN = \"PORTFOLIO_MARGIN\",\n}"]}
@@ -1,4 +1,4 @@
1
- import { e as IBybitUnifiedMarginStatus, d as IBybitMarginMode, a as IBybitApiKeyVipLevel, I as IBybitAccountType, c as IBybitCoinType, b as IBybitCategory, f as IBybitPositionSide, g as IBybitOrderType } from '../../enums-CFM0khJf.cjs';
1
+ import { g as IBybitUnifiedMarginStatus, d as IBybitMarginMode, a as IBybitApiKeyVipLevel, I as IBybitAccountType, c as IBybitCoinType, b as IBybitCategory, f as IBybitPositionSide, e as IBybitOrderType } from '../../enums-B4IJ4ODY.cjs';
2
2
  export { I as IBybitCredentials, a as IBybitSignRequest } from '../../IBybitSignRequest-cA1RCbDS.cjs';
3
3
 
4
4
  type IBybitAccountInfo = {
@@ -253,4 +253,4 @@ type IBybitApiResponseList<T> = {
253
253
  list?: T[];
254
254
  };
255
255
 
256
- export { type IBybitAccountInfo, IBybitAccountType, type IBybitApiKeyInfo, type IBybitApiKeyPermissions, IBybitApiKeyVipLevel, type IBybitApiResponse, type IBybitApiResponseList, IBybitCategory, type IBybitClosedPnl, type IBybitClosedPnlRequest, type IBybitCoinBalance, IBybitCoinType, type IBybitDemoApplyMoney, type IBybitDemoApplyMoneyItem, type IBybitDemoApplyMoneyRequest, IBybitMarginMode, type IBybitOrderCreateBatchPayload, type IBybitOrderCreateBatchRequest, type IBybitOrderCreateBatchResponse, type IBybitPositionInfo, type IBybitPositionInfoRequest, type IBybitPositionInfoResponse, type IBybitServerTime, type IBybitWalletAccount };
256
+ export { type IBybitAccountInfo, IBybitAccountType, type IBybitApiKeyInfo, type IBybitApiKeyPermissions, IBybitApiKeyVipLevel, type IBybitApiResponse, type IBybitApiResponseList, IBybitCategory, type IBybitClosedPnl, type IBybitClosedPnlRequest, type IBybitCoinBalance, IBybitCoinType, type IBybitDemoApplyMoney, type IBybitDemoApplyMoneyItem, type IBybitDemoApplyMoneyRequest, IBybitMarginMode, type IBybitOrderCreateBatchPayload, type IBybitOrderCreateBatchRequest, type IBybitOrderCreateBatchResponse, IBybitOrderType, type IBybitPositionInfo, type IBybitPositionInfoRequest, type IBybitPositionInfoResponse, IBybitPositionSide, type IBybitServerTime, IBybitUnifiedMarginStatus, type IBybitWalletAccount };
@@ -1,4 +1,4 @@
1
- import { e as IBybitUnifiedMarginStatus, d as IBybitMarginMode, a as IBybitApiKeyVipLevel, I as IBybitAccountType, c as IBybitCoinType, b as IBybitCategory, f as IBybitPositionSide, g as IBybitOrderType } from '../../enums-CFM0khJf.js';
1
+ import { g as IBybitUnifiedMarginStatus, d as IBybitMarginMode, a as IBybitApiKeyVipLevel, I as IBybitAccountType, c as IBybitCoinType, b as IBybitCategory, f as IBybitPositionSide, e as IBybitOrderType } from '../../enums-B4IJ4ODY.js';
2
2
  export { I as IBybitCredentials, a as IBybitSignRequest } from '../../IBybitSignRequest-cA1RCbDS.js';
3
3
 
4
4
  type IBybitAccountInfo = {
@@ -253,4 +253,4 @@ type IBybitApiResponseList<T> = {
253
253
  list?: T[];
254
254
  };
255
255
 
256
- export { type IBybitAccountInfo, IBybitAccountType, type IBybitApiKeyInfo, type IBybitApiKeyPermissions, IBybitApiKeyVipLevel, type IBybitApiResponse, type IBybitApiResponseList, IBybitCategory, type IBybitClosedPnl, type IBybitClosedPnlRequest, type IBybitCoinBalance, IBybitCoinType, type IBybitDemoApplyMoney, type IBybitDemoApplyMoneyItem, type IBybitDemoApplyMoneyRequest, IBybitMarginMode, type IBybitOrderCreateBatchPayload, type IBybitOrderCreateBatchRequest, type IBybitOrderCreateBatchResponse, type IBybitPositionInfo, type IBybitPositionInfoRequest, type IBybitPositionInfoResponse, type IBybitServerTime, type IBybitWalletAccount };
256
+ export { type IBybitAccountInfo, IBybitAccountType, type IBybitApiKeyInfo, type IBybitApiKeyPermissions, IBybitApiKeyVipLevel, type IBybitApiResponse, type IBybitApiResponseList, IBybitCategory, type IBybitClosedPnl, type IBybitClosedPnlRequest, type IBybitCoinBalance, IBybitCoinType, type IBybitDemoApplyMoney, type IBybitDemoApplyMoneyItem, type IBybitDemoApplyMoneyRequest, IBybitMarginMode, type IBybitOrderCreateBatchPayload, type IBybitOrderCreateBatchRequest, type IBybitOrderCreateBatchResponse, IBybitOrderType, type IBybitPositionInfo, type IBybitPositionInfoRequest, type IBybitPositionInfoResponse, IBybitPositionSide, type IBybitServerTime, IBybitUnifiedMarginStatus, type IBybitWalletAccount };
@@ -1,3 +1,3 @@
1
- export { IBybitAccountType, IBybitApiKeyVipLevel, IBybitCategory, IBybitCoinType, IBybitMarginMode } from '../../chunk-V45RVFQE.js';
1
+ export { IBybitAccountType, IBybitApiKeyVipLevel, IBybitCategory, IBybitCoinType, IBybitMarginMode, IBybitOrderType, IBybitPositionSide, IBybitUnifiedMarginStatus } from '../../chunk-PLF2HR3K.js';
2
2
  //# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { a as IBybitApiKeyVipLevel, I as IBybitAccountType, c as IBybitCoinType } from '../../enums-CFM0khJf.cjs';
1
+ import { a as IBybitApiKeyVipLevel, I as IBybitAccountType, c as IBybitCoinType } from '../../enums-B4IJ4ODY.cjs';
2
2
  export { TSyncResponse } from '../index.cjs';
3
3
 
4
4
  type TChallengeType = "ONE_STEP" | "TWO_STEPS" | "THREE_STEPS";
@@ -1,4 +1,4 @@
1
- import { a as IBybitApiKeyVipLevel, I as IBybitAccountType, c as IBybitCoinType } from '../../enums-CFM0khJf.js';
1
+ import { a as IBybitApiKeyVipLevel, I as IBybitAccountType, c as IBybitCoinType } from '../../enums-B4IJ4ODY.js';
2
2
  export { TSyncResponse } from '../index.js';
3
3
 
4
4
  type TChallengeType = "ONE_STEP" | "TWO_STEPS" | "THREE_STEPS";
@@ -1,5 +1,5 @@
1
1
  export { isSameUtcDay, parseNumber, toIsoDate } from '../chunk-36QZINNQ.js';
2
2
  export { getBybitTimestamp, signBybitRequest, syncBybitServerTime } from '../chunk-T23XINGG.js';
3
- import '../chunk-V45RVFQE.js';
3
+ import '../chunk-PLF2HR3K.js';
4
4
  //# sourceMappingURL=index.js.map
5
5
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anrmk/str-package",
3
- "version": "0.2.14",
3
+ "version": "0.2.15",
4
4
  "description": "Shared providers, types, and utils for STR services",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/bybit/enums.ts"],"names":["IBybitAccountType","IBybitCoinType","IBybitApiKeyVipLevel","IBybitCategory","IBybitMarginMode"],"mappings":";AAAO,IAAK,iBAAA,qBAAAA,kBAAAA,KAAL;AACL,EAAAA,mBAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,mBAAA,MAAA,CAAA,GAAO,MAAA;AAFG,EAAA,OAAAA,kBAAAA;AAAA,CAAA,EAAA,iBAAA,IAAA,EAAA;AAKL,IAAK,cAAA,qBAAAC,eAAAA,KAAL;AACL,EAAAA,gBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,gBAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,gBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,gBAAA,MAAA,CAAA,GAAO,MAAA;AAJG,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;AAoBL,IAAK,oBAAA,qBAAAC,qBAAAA,KAAL;AACL,EAAAA,sBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,sBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,sBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,sBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,sBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,sBAAA,OAAA,CAAA,GAAQ,OAAA;AANE,EAAA,OAAAA,qBAAAA;AAAA,CAAA,EAAA,oBAAA,IAAA,EAAA;AAiBL,IAAK,cAAA,qBAAAC,eAAAA,KAAL;AACL,EAAAA,gBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,gBAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,gBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,gBAAA,MAAA,CAAA,GAAO,MAAA;AAJG,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;AAOL,IAAK,gBAAA,qBAAAC,iBAAAA,KAAL;AACL,EAAAA,kBAAA,iBAAA,CAAA,GAAkB,iBAAA;AAClB,EAAAA,kBAAA,gBAAA,CAAA,GAAiB,gBAAA;AACjB,EAAAA,kBAAA,kBAAA,CAAA,GAAmB,kBAAA;AAHT,EAAA,OAAAA,iBAAAA;AAAA,CAAA,EAAA,gBAAA,IAAA,EAAA","file":"chunk-V45RVFQE.js","sourcesContent":["export enum IBybitAccountType {\n UNIFIED = \"UNIFIED\",\n FUND = \"FUND\",\n}\n\nexport enum IBybitCoinType {\n BTC = \"BTC\",\n ETH = \"ETH\",\n USDT = \"USDT\",\n USDC = \"USDC\",\n}\n\nexport enum IBybitOrderType {\n MARKET = \"Market\",\n LIMIT = \"Limit\",\n}\n\nexport enum IBybitUnifiedMarginStatus {\n CLASSIC_ACCOUNT = 1,\n UNIFIED_TRADING_ACCOUNT_1_0 = 3,\n UNIFIED_TRADING_ACCOUNT_1_0_PRO = 4,\n UNIFIED_TRADING_ACCOUNT_2_0 = 5,\n UNIFIED_TRADING_ACCOUNT_2_0_PRO = 6,\n}\n\nexport enum IBybitApiKeyVipLevel {\n NO_VIP = \"No VIP\",\n VIP_1 = \"VIP 1\",\n VIP_2 = \"VIP 2\",\n VIP_3 = \"VIP 3\",\n VIP_4 = \"VIP 4\",\n VIP_5 = \"VIP 5\",\n}\n\n// Position side. Buy: long, Sell: short\n// return an empty string \"\" for an empty position\nexport enum IBybitPositionSide {\n SELL = \"Sell\",\n BUY = \"Buy\",\n EMPTY = \"\",\n}\n\nexport enum IBybitCategory {\n LINEAR = \"linear\",\n INVERSE = \"inverse\",\n OPTION = \"option\",\n SPOT = \"spot\",\n}\n\nexport enum IBybitMarginMode {\n ISOLATED_MARGIN = \"ISOLATED_MARGIN\",\n REGULAR_MARGIN = \"REGULAR_MARGIN\",\n PORTFOLIO_MARGIN = \"PORTFOLIO_MARGIN\",\n}"]}