@solncebro/exchange-engine 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +7 -7
  3. package/dist/auth/binanceAuth.js +3 -6
  4. package/dist/auth/binanceAuth.js.map +1 -1
  5. package/dist/auth/bybitAuth.d.ts +0 -1
  6. package/dist/auth/bybitAuth.d.ts.map +1 -1
  7. package/dist/auth/bybitAuth.js +2 -9
  8. package/dist/auth/bybitAuth.js.map +1 -1
  9. package/dist/constants/binance.d.ts +8 -5
  10. package/dist/constants/binance.d.ts.map +1 -1
  11. package/dist/constants/binance.js +10 -23
  12. package/dist/constants/binance.js.map +1 -1
  13. package/dist/constants/bybit.d.ts +7 -9
  14. package/dist/constants/bybit.d.ts.map +1 -1
  15. package/dist/constants/bybit.js +10 -13
  16. package/dist/constants/bybit.js.map +1 -1
  17. package/dist/constants/mappings.d.ts +9 -0
  18. package/dist/constants/mappings.d.ts.map +1 -0
  19. package/dist/constants/mappings.js +40 -0
  20. package/dist/constants/mappings.js.map +1 -0
  21. package/dist/exchanges/BaseExchangeClient.d.ts +37 -0
  22. package/dist/exchanges/BaseExchangeClient.d.ts.map +1 -0
  23. package/dist/exchanges/BaseExchangeClient.js +91 -0
  24. package/dist/exchanges/BaseExchangeClient.js.map +1 -0
  25. package/dist/exchanges/BinanceBaseClient.d.ts +21 -0
  26. package/dist/exchanges/BinanceBaseClient.d.ts.map +1 -0
  27. package/dist/exchanges/BinanceBaseClient.js +64 -0
  28. package/dist/exchanges/BinanceBaseClient.js.map +1 -0
  29. package/dist/exchanges/BinanceFutures.d.ts +9 -21
  30. package/dist/exchanges/BinanceFutures.d.ts.map +1 -1
  31. package/dist/exchanges/BinanceFutures.js +23 -94
  32. package/dist/exchanges/BinanceFutures.js.map +1 -1
  33. package/dist/exchanges/BinanceSpot.d.ts +9 -21
  34. package/dist/exchanges/BinanceSpot.d.ts.map +1 -1
  35. package/dist/exchanges/BinanceSpot.js +16 -94
  36. package/dist/exchanges/BinanceSpot.js.map +1 -1
  37. package/dist/exchanges/BybitLinear.d.ts +19 -20
  38. package/dist/exchanges/BybitLinear.d.ts.map +1 -1
  39. package/dist/exchanges/BybitLinear.js +66 -71
  40. package/dist/exchanges/BybitLinear.js.map +1 -1
  41. package/dist/exchanges/BybitSpot.d.ts +17 -19
  42. package/dist/exchanges/BybitSpot.d.ts.map +1 -1
  43. package/dist/exchanges/BybitSpot.js +42 -64
  44. package/dist/exchanges/BybitSpot.js.map +1 -1
  45. package/dist/exchanges/Exchange.d.ts +1 -1
  46. package/dist/exchanges/Exchange.d.ts.map +1 -1
  47. package/dist/exchanges/Exchange.js +3 -2
  48. package/dist/exchanges/Exchange.js.map +1 -1
  49. package/dist/http/BaseHttpClient.d.ts +10 -1
  50. package/dist/http/BaseHttpClient.d.ts.map +1 -1
  51. package/dist/http/BaseHttpClient.js +27 -5
  52. package/dist/http/BaseHttpClient.js.map +1 -1
  53. package/dist/http/BinanceBaseHttpClient.d.ts +49 -0
  54. package/dist/http/BinanceBaseHttpClient.d.ts.map +1 -0
  55. package/dist/http/BinanceBaseHttpClient.js +86 -0
  56. package/dist/http/BinanceBaseHttpClient.js.map +1 -0
  57. package/dist/http/BinanceFuturesHttpClient.d.ts +11 -40
  58. package/dist/http/BinanceFuturesHttpClient.d.ts.map +1 -1
  59. package/dist/http/BinanceFuturesHttpClient.js +38 -185
  60. package/dist/http/BinanceFuturesHttpClient.js.map +1 -1
  61. package/dist/http/BinanceSpotHttpClient.d.ts +5 -24
  62. package/dist/http/BinanceSpotHttpClient.d.ts.map +1 -1
  63. package/dist/http/BinanceSpotHttpClient.js +15 -90
  64. package/dist/http/BinanceSpotHttpClient.js.map +1 -1
  65. package/dist/http/BybitHttpClient.d.ts +82 -134
  66. package/dist/http/BybitHttpClient.d.ts.map +1 -1
  67. package/dist/http/BybitHttpClient.js +61 -94
  68. package/dist/http/BybitHttpClient.js.map +1 -1
  69. package/dist/index.d.ts +3 -2
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +9 -1
  72. package/dist/index.js.map +1 -1
  73. package/dist/normalizers/binanceNormalizer.d.ts +29 -19
  74. package/dist/normalizers/binanceNormalizer.d.ts.map +1 -1
  75. package/dist/normalizers/binanceNormalizer.js +55 -35
  76. package/dist/normalizers/binanceNormalizer.js.map +1 -1
  77. package/dist/normalizers/bybitNormalizer.d.ts +25 -19
  78. package/dist/normalizers/bybitNormalizer.d.ts.map +1 -1
  79. package/dist/normalizers/bybitNormalizer.js +60 -45
  80. package/dist/normalizers/bybitNormalizer.js.map +1 -1
  81. package/dist/precision/precision.d.ts +3 -3
  82. package/dist/precision/precision.d.ts.map +1 -1
  83. package/dist/precision/precision.js +4 -4
  84. package/dist/precision/precision.js.map +1 -1
  85. package/dist/types/common.d.ts +57 -22
  86. package/dist/types/common.d.ts.map +1 -1
  87. package/dist/types/common.js +40 -0
  88. package/dist/types/common.js.map +1 -1
  89. package/dist/types/exchange.d.ts +14 -8
  90. package/dist/types/exchange.d.ts.map +1 -1
  91. package/dist/types/index.d.ts +2 -2
  92. package/dist/types/index.d.ts.map +1 -1
  93. package/dist/types/stream.d.ts +9 -0
  94. package/dist/types/stream.d.ts.map +1 -0
  95. package/dist/types/stream.js +3 -0
  96. package/dist/types/stream.js.map +1 -0
  97. package/dist/utils/crypto.d.ts +2 -0
  98. package/dist/utils/crypto.d.ts.map +1 -0
  99. package/dist/utils/crypto.js +11 -0
  100. package/dist/utils/crypto.js.map +1 -0
  101. package/dist/utils/httpParams.d.ts +3 -0
  102. package/dist/utils/httpParams.d.ts.map +1 -0
  103. package/dist/utils/httpParams.js +15 -0
  104. package/dist/utils/httpParams.js.map +1 -0
  105. package/dist/utils/klineLoader.d.ts +10 -0
  106. package/dist/utils/klineLoader.d.ts.map +1 -0
  107. package/dist/utils/klineLoader.js +19 -0
  108. package/dist/utils/klineLoader.js.map +1 -0
  109. package/dist/ws/BinanceFuturesPublicStream.d.ts +8 -7
  110. package/dist/ws/BinanceFuturesPublicStream.d.ts.map +1 -1
  111. package/dist/ws/BinanceFuturesPublicStream.js +49 -79
  112. package/dist/ws/BinanceFuturesPublicStream.js.map +1 -1
  113. package/dist/ws/BinanceSpotPublicStream.d.ts +7 -5
  114. package/dist/ws/BinanceSpotPublicStream.d.ts.map +1 -1
  115. package/dist/ws/BinanceSpotPublicStream.js +24 -31
  116. package/dist/ws/BinanceSpotPublicStream.js.map +1 -1
  117. package/dist/ws/BinanceUserDataStream.d.ts +3 -3
  118. package/dist/ws/BinanceUserDataStream.d.ts.map +1 -1
  119. package/dist/ws/BinanceUserDataStream.js +10 -10
  120. package/dist/ws/BinanceUserDataStream.js.map +1 -1
  121. package/dist/ws/BybitPrivateStream.d.ts +1 -1
  122. package/dist/ws/BybitPrivateStream.d.ts.map +1 -1
  123. package/dist/ws/BybitPrivateStream.js +12 -29
  124. package/dist/ws/BybitPrivateStream.js.map +1 -1
  125. package/dist/ws/BybitPublicStream.d.ts +5 -4
  126. package/dist/ws/BybitPublicStream.d.ts.map +1 -1
  127. package/dist/ws/BybitPublicStream.js +18 -24
  128. package/dist/ws/BybitPublicStream.js.map +1 -1
  129. package/dist/ws/BybitTradeStream.d.ts +4 -2
  130. package/dist/ws/BybitTradeStream.d.ts.map +1 -1
  131. package/dist/ws/BybitTradeStream.js +32 -44
  132. package/dist/ws/BybitTradeStream.js.map +1 -1
  133. package/dist/ws/binanceWebSocketUtils.d.ts +4 -0
  134. package/dist/ws/binanceWebSocketUtils.d.ts.map +1 -0
  135. package/dist/ws/binanceWebSocketUtils.js +7 -0
  136. package/dist/ws/binanceWebSocketUtils.js.map +1 -0
  137. package/dist/ws/bybitWebSocketUtils.d.ts +28 -0
  138. package/dist/ws/bybitWebSocketUtils.d.ts.map +1 -0
  139. package/dist/ws/bybitWebSocketUtils.js +29 -0
  140. package/dist/ws/bybitWebSocketUtils.js.map +1 -0
  141. package/package.json +21 -3
@@ -1,97 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BinanceSpotHttpClient = void 0;
4
- const binanceAuth_1 = require("../auth/binanceAuth");
4
+ const BinanceBaseHttpClient_1 = require("./BinanceBaseHttpClient");
5
5
  const binance_1 = require("../constants/binance");
6
- const BaseHttpClient_1 = require("./BaseHttpClient");
7
- class BinanceSpotHttpClient extends BaseHttpClient_1.BaseHttpClient {
8
- secret;
9
- constructor(apiKey, secret, logger) {
10
- super(binance_1.BINANCE_SPOT_BASE_URL, apiKey, logger, binance_1.BINANCE_REQUEST_TIMEOUT);
11
- this.secret = secret;
12
- }
13
- async fetchExchangeInfo() {
14
- return this.get('/api/v3/exchangeInfo');
15
- }
16
- async fetchTickers() {
17
- return this.get('/api/v3/ticker/24hr');
18
- }
19
- async fetchOrderBook(symbol, limit) {
20
- const params = { symbol };
21
- if (limit !== undefined) {
22
- params.limit = limit;
23
- }
24
- return this.get('/api/v3/depth', params);
25
- }
26
- async fetchKlines(symbol, interval, options) {
27
- const params = { symbol, interval };
28
- if (options?.startTime !== undefined) {
29
- params.startTime = options.startTime;
30
- }
31
- if (options?.endTime !== undefined) {
32
- params.endTime = options.endTime;
33
- }
34
- if (options?.limit !== undefined) {
35
- params.limit = options.limit;
36
- }
37
- return this.get('/api/v3/klines', params);
38
- }
39
- async fetchTrades(symbol, limit) {
40
- const params = { symbol };
41
- if (limit !== undefined) {
42
- params.limit = limit;
43
- }
44
- return this.get('/api/v3/trades', params);
45
- }
46
- async createOrder(params) {
47
- const signedParams = (0, binanceAuth_1.buildBinanceSignedParams)({
48
- params: params,
49
- secret: this.secret,
50
- });
51
- const headers = (0, binanceAuth_1.buildBinanceAuthHeaders)(this.apiKey);
52
- return this.post('/api/v3/order', signedParams, headers);
53
- }
54
- async cancelOrder(symbol, orderId) {
55
- const signedParams = (0, binanceAuth_1.buildBinanceSignedParams)({
56
- params: { symbol, orderId },
57
- secret: this.secret,
58
- });
59
- const headers = (0, binanceAuth_1.buildBinanceAuthHeaders)(this.apiKey);
60
- return this.delete('/api/v3/order', signedParams, headers);
61
- }
62
- async getOrder(symbol, orderId) {
63
- const signedParams = (0, binanceAuth_1.buildBinanceSignedParams)({
64
- params: { symbol, orderId },
65
- secret: this.secret,
66
- });
67
- const headers = (0, binanceAuth_1.buildBinanceAuthHeaders)(this.apiKey);
68
- return this.get('/api/v3/order', signedParams, headers);
69
- }
70
- async getOpenOrders(symbol) {
71
- const rawParams = {};
72
- if (symbol !== undefined) {
73
- rawParams.symbol = symbol;
74
- }
75
- const signedParams = (0, binanceAuth_1.buildBinanceSignedParams)({ params: rawParams, secret: this.secret });
76
- const headers = (0, binanceAuth_1.buildBinanceAuthHeaders)(this.apiKey);
77
- return this.get('/api/v3/openOrders', signedParams, headers);
78
- }
79
- async fetchAccount() {
80
- const signedParams = (0, binanceAuth_1.buildBinanceSignedParams)({ params: {}, secret: this.secret });
81
- const headers = (0, binanceAuth_1.buildBinanceAuthHeaders)(this.apiKey);
82
- return this.get('/api/v3/account', signedParams, headers);
83
- }
84
- async createListenKey() {
85
- const headers = (0, binanceAuth_1.buildBinanceAuthHeaders)(this.apiKey);
86
- return this.post('/api/v3/userDataStream', {}, headers);
87
- }
88
- async keepAliveListenKey(listenKey) {
89
- const headers = (0, binanceAuth_1.buildBinanceAuthHeaders)(this.apiKey);
90
- await this.put('/api/v3/userDataStream', { listenKey }, headers);
91
- }
92
- async deleteListenKey(listenKey) {
93
- const headers = (0, binanceAuth_1.buildBinanceAuthHeaders)(this.apiKey);
94
- await this.delete('/api/v3/userDataStream', { listenKey }, headers);
6
+ class BinanceSpotHttpClient extends BinanceBaseHttpClient_1.BinanceBaseHttpClient {
7
+ endpoints = {
8
+ exchangeInfo: '/api/v3/exchangeInfo',
9
+ ticker24hr: '/api/v3/ticker/24hr',
10
+ depth: '/api/v3/depth',
11
+ klines: '/api/v3/klines',
12
+ trades: '/api/v3/trades',
13
+ order: '/api/v3/order',
14
+ openOrders: '/api/v3/openOrders',
15
+ account: '/api/v3/account',
16
+ listenKey: '/api/v3/userDataStream',
17
+ };
18
+ constructor(args) {
19
+ super(args, binance_1.BINANCE_REQUEST_TIMEOUT);
95
20
  }
96
21
  }
97
22
  exports.BinanceSpotHttpClient = BinanceSpotHttpClient;
@@ -1 +1 @@
1
- {"version":3,"file":"BinanceSpotHttpClient.js","sourceRoot":"","sources":["../../src/http/BinanceSpotHttpClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BinanceSpotHttpClient.js","sourceRoot":"","sources":["../../src/http/BinanceSpotHttpClient.ts"],"names":[],"mappings":";;;AACA,mEAAgE;AAChE,kDAA+D;AAE/D,MAAa,qBAAsB,SAAQ,6CAAqB;IAC3C,SAAS,GAAqB;QAC/C,YAAY,EAAE,sBAAsB;QACpC,UAAU,EAAE,qBAAqB;QACjC,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,gBAAgB;QACxB,MAAM,EAAE,gBAAgB;QACxB,KAAK,EAAE,eAAe;QACtB,UAAU,EAAE,oBAAoB;QAChC,OAAO,EAAE,iBAAiB;QAC1B,SAAS,EAAE,wBAAwB;KACpC,CAAC;IAEF,YAAY,IAA2B;QACrC,KAAK,CAAC,IAAI,EAAE,iCAAuB,CAAC,CAAC;IACvC,CAAC;CACF;AAhBD,sDAgBC"}
@@ -1,143 +1,91 @@
1
- import { ExchangeLogger } from '../types/common';
1
+ import type { ExchangeLogger } from '../types/common';
2
+ import type { FetchPageWithLimitArgs } from '../types/exchange';
3
+ import type { BybitInstrumentInfoRaw, BybitTickerRaw, BybitPositionRaw, BybitOrderResponseRaw, BybitWalletBalanceRaw } from '../normalizers/bybitNormalizer';
2
4
  import { BaseHttpClient } from './BaseHttpClient';
5
+ interface BybitHttpClientArgs {
6
+ baseUrl: string;
7
+ apiKey: string;
8
+ secret: string;
9
+ logger: ExchangeLogger;
10
+ }
11
+ interface SymbolFilterArgs {
12
+ symbol?: string;
13
+ }
14
+ interface SymbolLimitFilterArgs {
15
+ symbol?: string;
16
+ limit?: number;
17
+ }
18
+ interface PeriodFilterArgs {
19
+ period?: string;
20
+ limit?: number;
21
+ }
22
+ interface CategoryFilterArgs {
23
+ category?: string;
24
+ limit?: number;
25
+ }
26
+ interface FetchBybitKlineArgs {
27
+ category: string;
28
+ symbol: string;
29
+ interval: string;
30
+ options?: FetchPageWithLimitArgs;
31
+ }
32
+ interface SetBybitLeverageArgs {
33
+ category: string;
34
+ symbol: string;
35
+ buyLeverage: number;
36
+ sellLeverage: number;
37
+ }
38
+ interface SwitchBybitIsolatedArgs {
39
+ category: string;
40
+ symbol: string;
41
+ tradeMode: number;
42
+ buyLeverage: number;
43
+ sellLeverage: number;
44
+ }
45
+ interface BybitListResponse<T> {
46
+ result: {
47
+ list: T[];
48
+ };
49
+ }
50
+ interface BybitResponse<T> {
51
+ result: T;
52
+ }
53
+ interface BybitOrderBookRaw {
54
+ a: string[][];
55
+ b: string[][];
56
+ }
3
57
  export declare class BybitHttpClient extends BaseHttpClient {
4
58
  private readonly secret;
5
- constructor(apiKey: string, secret: string, logger: ExchangeLogger);
59
+ constructor(args: BybitHttpClientArgs);
6
60
  private buildAuthHeaders;
7
61
  private toQueryString;
8
- fetchInstrumentsInfo(category: string, options?: {
9
- symbol?: string;
10
- }): Promise<{
11
- result: {
12
- list: Array<Record<string, unknown>>;
13
- };
14
- }>;
15
- fetchTickers(category: string, options?: {
16
- symbol?: string;
17
- }): Promise<{
18
- result: {
19
- list: Array<Record<string, unknown>>;
20
- };
21
- }>;
22
- fetchOrderBook(category: string, symbol: string, limit?: number): Promise<{
23
- result: {
24
- a: string[][];
25
- b: string[][];
26
- };
27
- }>;
28
- fetchKline(category: string, symbol: string, interval: string, options?: {
29
- startTime?: number;
30
- endTime?: number;
31
- limit?: number;
32
- }): Promise<{
33
- result: {
34
- list: string[][];
35
- };
36
- }>;
37
- fetchFundingHistory(category: string, symbol: string, options?: {
38
- startTime?: number;
39
- endTime?: number;
40
- limit?: number;
41
- }): Promise<{
42
- result: {
43
- list: Array<Record<string, unknown>>;
44
- };
45
- }>;
46
- fetchOpenInterest(category: string, symbol: string, options?: {
47
- period?: string;
48
- limit?: number;
49
- }): Promise<{
50
- result: {
51
- list: Array<Record<string, unknown>>;
52
- };
53
- }>;
54
- fetchRecentTrades(category: string, symbol: string, limit?: number): Promise<{
55
- result: {
56
- list: Array<Record<string, unknown>>;
57
- };
58
- }>;
59
- createOrder(params: Record<string, unknown>): Promise<{
60
- result: {
61
- orderId: string;
62
- };
63
- }>;
64
- amendOrder(params: Record<string, unknown>): Promise<{
65
- result: Record<string, unknown>;
66
- }>;
67
- cancelOrder(params: Record<string, unknown>): Promise<{
68
- result: Record<string, unknown>;
69
- }>;
70
- cancelAllOrders(category: string, symbol?: string): Promise<{
71
- result: {
72
- list: Array<Record<string, unknown>>;
73
- };
74
- }>;
75
- getOpenOrders(category: string, options?: {
76
- symbol?: string;
77
- limit?: number;
78
- }): Promise<{
79
- result: {
80
- list: Array<Record<string, unknown>>;
81
- };
82
- }>;
83
- getOrderHistory(category: string, options?: {
84
- symbol?: string;
85
- limit?: number;
86
- }): Promise<{
87
- result: {
88
- list: Array<Record<string, unknown>>;
89
- };
90
- }>;
91
- createBatchOrders(category: string, requestList: Array<Record<string, unknown>>): Promise<{
92
- result: {
93
- list: Array<Record<string, unknown>>;
94
- };
95
- }>;
96
- cancelBatchOrders(category: string, requestList: Array<Record<string, unknown>>): Promise<{
97
- result: {
98
- list: Array<Record<string, unknown>>;
99
- };
100
- }>;
101
- getPositionList(category: string, options?: {
102
- symbol?: string;
103
- limit?: number;
104
- }): Promise<{
105
- result: {
106
- list: Array<Record<string, unknown>>;
107
- };
108
- }>;
109
- setLeverage(category: string, symbol: string, buyLeverage: number, sellLeverage: number): Promise<Record<string, unknown>>;
110
- switchIsolated(category: string, symbol: string, tradeMode: number, buyLeverage: number, sellLeverage: number): Promise<Record<string, unknown>>;
62
+ private authenticatedGet;
63
+ private authenticatedPost;
64
+ fetchInstrumentsInfo(category: string, options?: SymbolFilterArgs): Promise<BybitListResponse<BybitInstrumentInfoRaw>>;
65
+ fetchTickers(category: string, options?: SymbolFilterArgs): Promise<BybitListResponse<BybitTickerRaw>>;
66
+ fetchOrderBook(category: string, symbol: string, limit?: number): Promise<BybitResponse<BybitOrderBookRaw>>;
67
+ fetchKline(args: FetchBybitKlineArgs): Promise<BybitListResponse<string[]>>;
68
+ fetchFundingHistory(category: string, symbol: string, options?: FetchPageWithLimitArgs): Promise<BybitListResponse<Record<string, unknown>>>;
69
+ fetchOpenInterest(category: string, symbol: string, options?: PeriodFilterArgs): Promise<BybitListResponse<Record<string, unknown>>>;
70
+ fetchRecentTrades(category: string, symbol: string, limit?: number): Promise<BybitListResponse<Record<string, unknown>>>;
71
+ createOrder(params: Record<string, unknown>): Promise<BybitResponse<BybitOrderResponseRaw>>;
72
+ amendOrder(params: Record<string, unknown>): Promise<BybitResponse<Record<string, unknown>>>;
73
+ cancelOrder(params: Record<string, unknown>): Promise<BybitResponse<Record<string, unknown>>>;
74
+ cancelAllOrders(category: string, symbol?: string): Promise<BybitListResponse<Record<string, unknown>>>;
75
+ getOpenOrders(category: string, options?: SymbolLimitFilterArgs): Promise<BybitListResponse<Record<string, unknown>>>;
76
+ getOrderHistory(category: string, options?: SymbolLimitFilterArgs): Promise<BybitListResponse<Record<string, unknown>>>;
77
+ createBatchOrders(category: string, requestList: Array<Record<string, unknown>>): Promise<BybitListResponse<Record<string, unknown>>>;
78
+ cancelBatchOrders(category: string, requestList: Array<Record<string, unknown>>): Promise<BybitListResponse<Record<string, unknown>>>;
79
+ getPositionList(category: string, options?: SymbolLimitFilterArgs): Promise<BybitListResponse<BybitPositionRaw>>;
80
+ setLeverage(args: SetBybitLeverageArgs): Promise<Record<string, unknown>>;
81
+ switchIsolated(args: SwitchBybitIsolatedArgs): Promise<Record<string, unknown>>;
111
82
  setTradingStop(params: Record<string, unknown>): Promise<Record<string, unknown>>;
112
- getClosedPnl(category: string, options?: {
113
- symbol?: string;
114
- limit?: number;
115
- }): Promise<{
116
- result: {
117
- list: Array<Record<string, unknown>>;
118
- };
119
- }>;
120
- fetchWalletBalance(accountType: string): Promise<{
121
- result: {
122
- list: Array<Record<string, unknown>>;
123
- };
124
- }>;
125
- fetchAccountInfo(): Promise<{
126
- result: Record<string, unknown>;
127
- }>;
128
- fetchFeeRate(category: string, options?: {
129
- symbol?: string;
130
- }): Promise<{
131
- result: Record<string, unknown>;
132
- }>;
83
+ getClosedPnl(category: string, options?: SymbolLimitFilterArgs): Promise<BybitListResponse<Record<string, unknown>>>;
84
+ fetchWalletBalance(accountType: string): Promise<BybitResponse<BybitWalletBalanceRaw>>;
85
+ fetchAccountInfo(): Promise<BybitResponse<Record<string, unknown>>>;
86
+ fetchFeeRate(category: string, options?: SymbolFilterArgs): Promise<BybitResponse<Record<string, unknown>>>;
133
87
  setMarginMode(mode: string): Promise<Record<string, unknown>>;
134
- fetchTransactionLog(options?: {
135
- category?: string;
136
- limit?: number;
137
- }): Promise<{
138
- result: {
139
- list: Array<Record<string, unknown>>;
140
- };
141
- }>;
88
+ fetchTransactionLog(options?: CategoryFilterArgs): Promise<BybitListResponse<Record<string, unknown>>>;
142
89
  }
90
+ export {};
143
91
  //# sourceMappingURL=BybitHttpClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BybitHttpClient.d.ts","sourceRoot":"","sources":["../../src/http/BybitHttpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,qBAAa,eAAgB,SAAQ,cAAc;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc;IAKlE,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,aAAa;IAQf,oBAAoB,CACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5B,OAAO,CAAC;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;IAW1D,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5B,OAAO,CAAC;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;IAW1D,cAAc,CAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,MAAM,EAAE;YAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;YAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;IAYlD,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACjE,OAAO,CAAC;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;IAoBtC,mBAAmB,CACvB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACjE,OAAO,CAAC;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;IAoB1D,iBAAiB,CACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;IAgB1D,iBAAiB,CACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;IAY1D,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAMtF,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IAMzF,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IAM1F,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;IAY1D,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;IAgB1D,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;IAgB1D,iBAAiB,CACrB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC1C,OAAO,CAAC;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;IAM1D,iBAAiB,CACrB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC1C,OAAO,CAAC;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;IAM1D,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;IAgB1D,WAAW,CACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAM7B,cAAc,CAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAY7B,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAMjF,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;IAgB1D,kBAAkB,CACtB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;IAM1D,gBAAgB,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IAMhE,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5B,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IAYzC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAM7D,mBAAmB,CACvB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9C,OAAO,CAAC;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;CAejE"}
1
+ {"version":3,"file":"BybitHttpClient.d.ts","sourceRoot":"","sources":["../../src/http/BybitHttpClient.ts"],"names":[],"mappings":"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"}