@volare.finance/nestjs.plugins 2.0.0-alpha.7 → 2.0.1

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 (181) hide show
  1. package/README.md +111 -6
  2. package/dist/aws/aws.module.d.ts +1 -1
  3. package/dist/aws/aws.module.js +1 -2
  4. package/dist/aws/aws.module.js.map +1 -1
  5. package/dist/aws/aws.service.d.ts +1 -1
  6. package/dist/aws/aws.service.js +3 -3
  7. package/dist/aws/aws.service.js.map +1 -1
  8. package/dist/coingecko/coingecko.module.d.ts +1 -1
  9. package/dist/coingecko/coingecko.module.js +1 -2
  10. package/dist/coingecko/coingecko.module.js.map +1 -1
  11. package/dist/coingecko/coingecko.service.js +3 -3
  12. package/dist/coingecko/coingecko.service.js.map +1 -1
  13. package/dist/decorators/api.empty.response.decorator.d.ts +5 -0
  14. package/dist/decorators/api.empty.response.decorator.js +27 -0
  15. package/dist/decorators/api.empty.response.decorator.js.map +1 -0
  16. package/dist/decorators/api.list.response.decorator.d.ts +6 -0
  17. package/dist/decorators/api.list.response.decorator.js +31 -0
  18. package/dist/decorators/api.list.response.decorator.js.map +1 -0
  19. package/dist/decorators/api.obj.response.decorator.d.ts +6 -0
  20. package/dist/decorators/api.obj.response.decorator.js +28 -0
  21. package/dist/decorators/api.obj.response.decorator.js.map +1 -0
  22. package/dist/decorators/index.d.ts +8 -0
  23. package/dist/decorators/index.js +12 -0
  24. package/dist/decorators/index.js.map +1 -0
  25. package/dist/decorators/response.dto.d.ts +14 -0
  26. package/dist/decorators/response.dto.js +31 -0
  27. package/dist/decorators/response.dto.js.map +1 -0
  28. package/dist/{binance → exchanges/binance}/binance.config.d.ts +2 -2
  29. package/dist/exchanges/binance/binance.config.js.map +1 -0
  30. package/dist/{binance → exchanges/binance}/binance.module.d.ts +2 -2
  31. package/dist/{binance → exchanges/binance}/binance.module.js +2 -3
  32. package/dist/exchanges/binance/binance.module.js.map +1 -0
  33. package/dist/{binance → exchanges/binance}/binance.service.d.ts +6 -3
  34. package/dist/{binance → exchanges/binance}/binance.service.js +16 -16
  35. package/dist/exchanges/binance/binance.service.js.map +1 -0
  36. package/dist/exchanges/binance/index.js.map +1 -0
  37. package/dist/exchanges/bingx/bingx.config.d.ts +10 -0
  38. package/dist/exchanges/bingx/bingx.config.js +7 -0
  39. package/dist/exchanges/bingx/bingx.config.js.map +1 -0
  40. package/dist/exchanges/bingx/bingx.module.d.ts +9 -0
  41. package/dist/exchanges/bingx/bingx.module.js +27 -0
  42. package/dist/exchanges/bingx/bingx.module.js.map +1 -0
  43. package/dist/exchanges/bingx/bingx.service.d.ts +73 -0
  44. package/dist/exchanges/bingx/bingx.service.js +68 -0
  45. package/dist/exchanges/bingx/bingx.service.js.map +1 -0
  46. package/dist/exchanges/bingx/index.d.ts +7 -0
  47. package/dist/exchanges/bingx/index.js +11 -0
  48. package/dist/exchanges/bingx/index.js.map +1 -0
  49. package/dist/exchanges/bitget/bitget.config.d.ts +10 -0
  50. package/dist/exchanges/bitget/bitget.config.js +7 -0
  51. package/dist/exchanges/bitget/bitget.config.js.map +1 -0
  52. package/dist/exchanges/bitget/bitget.module.d.ts +9 -0
  53. package/dist/exchanges/bitget/bitget.module.js +27 -0
  54. package/dist/exchanges/bitget/bitget.module.js.map +1 -0
  55. package/dist/exchanges/bitget/bitget.service.d.ts +72 -0
  56. package/dist/exchanges/bitget/bitget.service.js +63 -0
  57. package/dist/exchanges/bitget/bitget.service.js.map +1 -0
  58. package/dist/exchanges/bitget/index.d.ts +7 -0
  59. package/dist/exchanges/bitget/index.js +11 -0
  60. package/dist/exchanges/bitget/index.js.map +1 -0
  61. package/dist/exchanges/bybit/bybit.config.d.ts +10 -0
  62. package/dist/exchanges/bybit/bybit.config.js +7 -0
  63. package/dist/exchanges/bybit/bybit.config.js.map +1 -0
  64. package/dist/exchanges/bybit/bybit.module.d.ts +9 -0
  65. package/dist/exchanges/bybit/bybit.module.js +27 -0
  66. package/dist/exchanges/bybit/bybit.module.js.map +1 -0
  67. package/dist/exchanges/bybit/bybit.service.d.ts +103 -0
  68. package/dist/exchanges/bybit/bybit.service.js +67 -0
  69. package/dist/exchanges/bybit/bybit.service.js.map +1 -0
  70. package/dist/exchanges/bybit/index.d.ts +7 -0
  71. package/dist/exchanges/bybit/index.js +11 -0
  72. package/dist/exchanges/bybit/index.js.map +1 -0
  73. package/dist/exchanges/gate.io/gate.io.config.d.ts +10 -0
  74. package/dist/exchanges/gate.io/gate.io.config.js +7 -0
  75. package/dist/exchanges/gate.io/gate.io.config.js.map +1 -0
  76. package/dist/exchanges/gate.io/gate.io.module.d.ts +9 -0
  77. package/dist/exchanges/gate.io/gate.io.module.js +27 -0
  78. package/dist/exchanges/gate.io/gate.io.module.js.map +1 -0
  79. package/dist/exchanges/gate.io/gate.io.service.d.ts +57 -0
  80. package/dist/exchanges/gate.io/gate.io.service.js +65 -0
  81. package/dist/exchanges/gate.io/gate.io.service.js.map +1 -0
  82. package/dist/exchanges/gate.io/index.d.ts +7 -0
  83. package/dist/exchanges/gate.io/index.js +11 -0
  84. package/dist/exchanges/gate.io/index.js.map +1 -0
  85. package/dist/exchanges/index.d.ts +13 -0
  86. package/dist/exchanges/index.js +17 -0
  87. package/dist/exchanges/index.js.map +1 -0
  88. package/dist/exchanges/lbank/index.js.map +1 -0
  89. package/dist/{lbank → exchanges/lbank}/lbank.config.d.ts +2 -2
  90. package/dist/exchanges/lbank/lbank.config.js.map +1 -0
  91. package/dist/{lbank → exchanges/lbank}/lbank.module.d.ts +2 -2
  92. package/dist/{lbank → exchanges/lbank}/lbank.module.js +2 -3
  93. package/dist/exchanges/lbank/lbank.module.js.map +1 -0
  94. package/dist/exchanges/lbank/lbank.service.d.ts +66 -0
  95. package/dist/exchanges/lbank/lbank.service.js +61 -0
  96. package/dist/exchanges/lbank/lbank.service.js.map +1 -0
  97. package/dist/exchanges/mexc/index.js.map +1 -0
  98. package/dist/{mexc → exchanges/mexc}/mexc.config.d.ts +2 -2
  99. package/dist/exchanges/mexc/mexc.config.js.map +1 -0
  100. package/dist/{mexc → exchanges/mexc}/mexc.module.d.ts +2 -2
  101. package/dist/{mexc → exchanges/mexc}/mexc.module.js +2 -3
  102. package/dist/exchanges/mexc/mexc.module.js.map +1 -0
  103. package/dist/{mexc → exchanges/mexc}/mexc.service.d.ts +3 -2
  104. package/dist/{mexc → exchanges/mexc}/mexc.service.js +12 -13
  105. package/dist/exchanges/mexc/mexc.service.js.map +1 -0
  106. package/dist/exchanges/okx/index.d.ts +7 -0
  107. package/dist/exchanges/okx/index.js +11 -0
  108. package/dist/exchanges/okx/index.js.map +1 -0
  109. package/dist/exchanges/okx/okx.config.d.ts +10 -0
  110. package/dist/exchanges/okx/okx.config.js +7 -0
  111. package/dist/exchanges/okx/okx.config.js.map +1 -0
  112. package/dist/exchanges/okx/okx.module.d.ts +9 -0
  113. package/dist/exchanges/okx/okx.module.js +27 -0
  114. package/dist/exchanges/okx/okx.module.js.map +1 -0
  115. package/dist/exchanges/okx/okx.service.d.ts +72 -0
  116. package/dist/exchanges/okx/okx.service.js +64 -0
  117. package/dist/exchanges/okx/okx.service.js.map +1 -0
  118. package/dist/exchanges/venkate/index.d.ts +7 -0
  119. package/dist/exchanges/venkate/index.js +11 -0
  120. package/dist/exchanges/venkate/index.js.map +1 -0
  121. package/dist/exchanges/venkate/venkate.config.d.ts +10 -0
  122. package/dist/exchanges/venkate/venkate.config.js +7 -0
  123. package/dist/exchanges/venkate/venkate.config.js.map +1 -0
  124. package/dist/exchanges/venkate/venkate.module.d.ts +9 -0
  125. package/dist/exchanges/venkate/venkate.module.js +27 -0
  126. package/dist/exchanges/venkate/venkate.module.js.map +1 -0
  127. package/dist/exchanges/venkate/venkate.service.d.ts +56 -0
  128. package/dist/exchanges/venkate/venkate.service.js +62 -0
  129. package/dist/exchanges/venkate/venkate.service.js.map +1 -0
  130. package/dist/index.d.ts +3 -3
  131. package/dist/index.js +3 -3
  132. package/dist/index.js.map +1 -1
  133. package/dist/logger/logger.module.d.ts +1 -1
  134. package/dist/logger/logger.module.js +1 -2
  135. package/dist/logger/logger.module.js.map +1 -1
  136. package/dist/logger/logger.service.d.ts +2 -4
  137. package/dist/logger/logger.service.js +4 -10
  138. package/dist/logger/logger.service.js.map +1 -1
  139. package/dist/middlewares/index.d.ts +5 -0
  140. package/dist/middlewares/index.js +9 -0
  141. package/dist/middlewares/index.js.map +1 -0
  142. package/dist/middlewares/ip.whitelist.middleware.d.ts +9 -0
  143. package/dist/middlewares/ip.whitelist.middleware.js +25 -0
  144. package/dist/middlewares/ip.whitelist.middleware.js.map +1 -0
  145. package/dist/mongo/filter.dto.js.map +1 -1
  146. package/dist/mongo/mongo.service.d.ts +5 -0
  147. package/dist/mongo/mongo.service.js +7 -3
  148. package/dist/mongo/mongo.service.js.map +1 -1
  149. package/dist/pipes/index.d.ts +0 -1
  150. package/dist/pipes/index.js +0 -1
  151. package/dist/pipes/index.js.map +1 -1
  152. package/dist/pipes/parse-bool.pipe.d.ts +0 -1
  153. package/dist/pipes/parse-bool.pipe.js +0 -1
  154. package/dist/pipes/parse-bool.pipe.js.map +1 -1
  155. package/dist/viabtc/viabtc.module.d.ts +1 -1
  156. package/dist/viabtc/viabtc.module.js +1 -2
  157. package/dist/viabtc/viabtc.module.js.map +1 -1
  158. package/package.json +20 -15
  159. package/dist/binance/binance.config.js.map +0 -1
  160. package/dist/binance/binance.module.js.map +0 -1
  161. package/dist/binance/binance.service.js.map +0 -1
  162. package/dist/binance/index.js.map +0 -1
  163. package/dist/lbank/index.js.map +0 -1
  164. package/dist/lbank/lbank.config.js.map +0 -1
  165. package/dist/lbank/lbank.module.js.map +0 -1
  166. package/dist/lbank/lbank.service.d.ts +0 -48
  167. package/dist/lbank/lbank.service.js +0 -81
  168. package/dist/lbank/lbank.service.js.map +0 -1
  169. package/dist/mexc/index.js.map +0 -1
  170. package/dist/mexc/mexc.config.js.map +0 -1
  171. package/dist/mexc/mexc.module.js.map +0 -1
  172. package/dist/mexc/mexc.service.js.map +0 -1
  173. /package/dist/{binance → exchanges/binance}/binance.config.js +0 -0
  174. /package/dist/{binance → exchanges/binance}/index.d.ts +0 -0
  175. /package/dist/{binance → exchanges/binance}/index.js +0 -0
  176. /package/dist/{lbank → exchanges/lbank}/index.d.ts +0 -0
  177. /package/dist/{lbank → exchanges/lbank}/index.js +0 -0
  178. /package/dist/{lbank → exchanges/lbank}/lbank.config.js +0 -0
  179. /package/dist/{mexc → exchanges/mexc}/index.d.ts +0 -0
  180. /package/dist/{mexc → exchanges/mexc}/index.js +0 -0
  181. /package/dist/{mexc → exchanges/mexc}/mexc.config.js +0 -0
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @file bingx.config.ts
3
+ * @date 2024
4
+ */
5
+ export interface BingxConfig {
6
+ bingx?: {
7
+ enabled: boolean;
8
+ url: string;
9
+ };
10
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * @file bingx.config.ts
4
+ * @date 2024
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=bingx.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bingx.config.js","sourceRoot":"","sources":["../../../src/exchanges/bingx/bingx.config.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @file bingx.module.ts
3
+ * @date 2024
4
+ */
5
+ import { DynamicModule } from '@nestjs/common';
6
+ import { ConfigOptions } from '../../config';
7
+ export declare class BingxModule {
8
+ static forRoot(_options?: ConfigOptions): DynamicModule;
9
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ /**
3
+ * @file bingx.module.ts
4
+ * @date 2024
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.BingxModule = void 0;
8
+ const config_1 = require("../../config");
9
+ const bingx_service_1 = require("./bingx.service");
10
+ class BingxModule {
11
+ static forRoot(_options) {
12
+ return {
13
+ module: BingxModule,
14
+ exports: [bingx_service_1.BingxService],
15
+ providers: [
16
+ {
17
+ provide: 'BingxConstant',
18
+ useFactory: (constant) => constant.config(),
19
+ inject: [config_1.ConfigService],
20
+ },
21
+ bingx_service_1.BingxService,
22
+ ],
23
+ };
24
+ }
25
+ }
26
+ exports.BingxModule = BingxModule;
27
+ //# sourceMappingURL=bingx.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bingx.module.js","sourceRoot":"","sources":["../../../src/exchanges/bingx/bingx.module.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,yCAA4D;AAE5D,mDAA+C;AAE/C,MAAa,WAAW;IACtB,MAAM,CAAC,OAAO,CAAC,QAAwB;QACrC,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,CAAC,4BAAY,CAAC;YACvB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,eAAe;oBACxB,UAAU,EAAE,CAAC,QAAoC,EAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;oBAC5E,MAAM,EAAE,CAAC,sBAAa,CAAC;iBACxB;gBACD,4BAAY;aACb;SACF,CAAC;IACJ,CAAC;CACF;AAfD,kCAeC"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * @file bingx.service.ts
3
+ * @date 2024
4
+ * @see https://bingx-api.github.io/docs/#/en-us/spot/market-api.html
5
+ */
6
+ import { BingxConfig } from './bingx.config';
7
+ export declare class BingxService {
8
+ private readonly constant;
9
+ private readonly instance;
10
+ constructor(constant: BingxConfig);
11
+ checkConstant(): void;
12
+ /**
13
+ * Get Ticker
14
+ * @param symbol There must be a hyphen "-" in the trading pair symbol. e.g. BTC-USDT
15
+ * @param timestamp Request valid time window value, Unit: milliseconds. e.g. 1702720770200
16
+ * @param recvWindow Timestamp of initiating the request, Unit: milliseconds. e.g. 1702720770200
17
+ * @see https://bingx-api.github.io/docs/#/en-us/spot/market-api.html#24hr%20Ticker%20Price%20Change%20Statistics
18
+ */
19
+ ticker(symbol: string, timestamp: string | number, recvWindow?: string | number): Promise<{
20
+ code: number;
21
+ timestamp: number;
22
+ data: {
23
+ symbol: string;
24
+ openPrice: number;
25
+ highPrice: number;
26
+ lowPrice: number;
27
+ lastPrice: number;
28
+ priceChange: number;
29
+ priceChangePercent: string;
30
+ volume: number;
31
+ quoteVolume: number;
32
+ openTime: number;
33
+ closeTime: number;
34
+ askPrice: number;
35
+ askQty: number;
36
+ bidPrice: number;
37
+ bidQty: number;
38
+ }[];
39
+ }>;
40
+ /**
41
+ * Kline/Candlestick Data
42
+ * @param symbol There must be a hyphen "-" in the trading pair symbol. e.g. BTC-USDT
43
+ * @param interval Request valid time window value, Unit: milliseconds. e.g. 1d
44
+ * @param timestamp Request valid time window value, Unit: milliseconds. e.g. 1702720770200
45
+ * @param startTime Start time, unit: millisecond. e.g. 1696089600000
46
+ * @param endTime End time, unit: millisecond. e.g. 1698918180000
47
+ * @param limit e.g. 500
48
+ * @param recvWindow Timestamp of initiating the request, Unit: milliseconds. e.g. 1702720770200
49
+ * @see https://bingx-api.github.io/docs/#/en-us/spot/market-api.html#Kline/Candlestick%20Data
50
+ */
51
+ klines(symbol: string, interval: '1m' | '3m' | '5m' | '15m' | '30m' | '1h' | '2h' | '4h' | '6h' | '8h' | '12h' | '1d' | '3d' | '1w' | '1M', timestamp: string | number, startTime?: string | number, endTime?: string | number, limit?: string | number, recvWindow?: string | number): Promise<{
52
+ code: number;
53
+ timestamp: number;
54
+ data: [number, number, number, number, number, number, number, number][];
55
+ }>;
56
+ /**
57
+ * Order Book aggregation
58
+ * @param symbol Trading pair. e.g. BTC-USDT
59
+ * @param timestamp Request valid time window value, Unit: milliseconds. e.g. 1702720770200
60
+ * @param limit Default 20, optional value:[5, 10, 20, 50, 100, 500, 1000]
61
+ * @param recvWindow Timestamp of initiating the request, Unit: milliseconds. e.g. 1702720770200
62
+ * @see https://bingx-api.github.io/docs/#/en-us/spot/market-api.html#Order%20Book%20aggregation
63
+ */
64
+ depth(symbol: string, timestamp: string | number, limit?: string | number, recvWindow?: string | number): Promise<{
65
+ code: number;
66
+ timestamp: number;
67
+ data: {
68
+ bids: [string, string][];
69
+ asks: [string, string][];
70
+ tx: number;
71
+ };
72
+ }>;
73
+ }
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ /**
3
+ * @file bingx.service.ts
4
+ * @date 2024
5
+ * @see https://bingx-api.github.io/docs/#/en-us/spot/market-api.html
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.BingxService = void 0;
9
+ const tslib_1 = require("tslib");
10
+ const common_1 = require("@nestjs/common");
11
+ const axios_1 = tslib_1.__importDefault(require("axios"));
12
+ let BingxService = class BingxService {
13
+ constructor(constant) {
14
+ this.constant = constant;
15
+ if (constant.bingx?.enabled) {
16
+ this.instance = axios_1.default.create({ baseURL: constant.bingx.url });
17
+ }
18
+ }
19
+ checkConstant() {
20
+ if (!this.constant.bingx?.enabled) {
21
+ throw new common_1.HttpException('This feature is not supported', common_1.HttpStatus.BAD_REQUEST);
22
+ }
23
+ }
24
+ /**
25
+ * Get Ticker
26
+ * @param symbol There must be a hyphen "-" in the trading pair symbol. e.g. BTC-USDT
27
+ * @param timestamp Request valid time window value, Unit: milliseconds. e.g. 1702720770200
28
+ * @param recvWindow Timestamp of initiating the request, Unit: milliseconds. e.g. 1702720770200
29
+ * @see https://bingx-api.github.io/docs/#/en-us/spot/market-api.html#24hr%20Ticker%20Price%20Change%20Statistics
30
+ */
31
+ async ticker(symbol, timestamp, recvWindow) {
32
+ this.checkConstant();
33
+ return (await this.instance.get('/openApi/spot/v1/ticker/24hr', { params: { symbol, timestamp, recvWindow } })).data;
34
+ }
35
+ /**
36
+ * Kline/Candlestick Data
37
+ * @param symbol There must be a hyphen "-" in the trading pair symbol. e.g. BTC-USDT
38
+ * @param interval Request valid time window value, Unit: milliseconds. e.g. 1d
39
+ * @param timestamp Request valid time window value, Unit: milliseconds. e.g. 1702720770200
40
+ * @param startTime Start time, unit: millisecond. e.g. 1696089600000
41
+ * @param endTime End time, unit: millisecond. e.g. 1698918180000
42
+ * @param limit e.g. 500
43
+ * @param recvWindow Timestamp of initiating the request, Unit: milliseconds. e.g. 1702720770200
44
+ * @see https://bingx-api.github.io/docs/#/en-us/spot/market-api.html#Kline/Candlestick%20Data
45
+ */
46
+ async klines(symbol, interval, timestamp, startTime, endTime, limit, recvWindow) {
47
+ this.checkConstant();
48
+ return (await this.instance.get('/openApi/spot/v2/market/kline', { params: { symbol, interval, timestamp, startTime, endTime, limit, recvWindow } })).data;
49
+ }
50
+ /**
51
+ * Order Book aggregation
52
+ * @param symbol Trading pair. e.g. BTC-USDT
53
+ * @param timestamp Request valid time window value, Unit: milliseconds. e.g. 1702720770200
54
+ * @param limit Default 20, optional value:[5, 10, 20, 50, 100, 500, 1000]
55
+ * @param recvWindow Timestamp of initiating the request, Unit: milliseconds. e.g. 1702720770200
56
+ * @see https://bingx-api.github.io/docs/#/en-us/spot/market-api.html#Order%20Book%20aggregation
57
+ */
58
+ async depth(symbol, timestamp, limit, recvWindow) {
59
+ this.checkConstant();
60
+ return (await this.instance.get('/openApi/spot/v2/market/depth', { params: { symbol, timestamp, limit, recvWindow } })).data;
61
+ }
62
+ };
63
+ exports.BingxService = BingxService;
64
+ exports.BingxService = BingxService = tslib_1.__decorate([
65
+ (0, common_1.Injectable)(),
66
+ tslib_1.__param(0, (0, common_1.Inject)('BingxConstant'))
67
+ ], BingxService);
68
+ //# sourceMappingURL=bingx.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bingx.service.js","sourceRoot":"","sources":["../../../src/exchanges/bingx/bingx.service.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;AAEH,2CAA+E;AAC/E,0DAA6C;AAItC,IAAM,YAAY,GAAlB,MAAM,YAAY;IAGvB,YAAsD,QAAqB;QAArB,aAAQ,GAAR,QAAQ,CAAa;QACzE,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,eAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,sBAAa,CAAC,+BAA+B,EAAE,mBAAU,CAAC,WAAW,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CACV,MAAc,EACd,SAA0B,EAC1B,UAA4B;QAsB5B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvH,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,MAAM,CACV,MAAc,EACd,QAAmH,EACnH,SAA0B,EAC1B,SAA2B,EAC3B,OAAyB,EACzB,KAAuB,EACvB,UAA4B;QAM5B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,CACL,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,+BAA+B,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAC7I,CAAC,IAAI,CAAC;IACT,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CACT,MAAc,EACd,SAA0B,EAC1B,KAAuB,EACvB,UAA4B;QAM5B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,+BAA+B,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/H,CAAC;CACF,CAAA;AAtGY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;IAIE,mBAAA,IAAA,eAAM,EAAC,eAAe,CAAC,CAAA;GAHzB,YAAY,CAsGxB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @file index.ts
3
+ * @date 2024
4
+ */
5
+ export * from './bingx.config';
6
+ export * from './bingx.module';
7
+ export * from './bingx.service';
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * @file index.ts
4
+ * @date 2024
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const tslib_1 = require("tslib");
8
+ tslib_1.__exportStar(require("./bingx.config"), exports);
9
+ tslib_1.__exportStar(require("./bingx.module"), exports);
10
+ tslib_1.__exportStar(require("./bingx.service"), exports);
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/exchanges/bingx/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,yDAA+B;AAC/B,yDAA+B;AAC/B,0DAAgC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @file bitget.config.ts
3
+ * @date 2024
4
+ */
5
+ export interface BitgetConfig {
6
+ bitget?: {
7
+ enabled: boolean;
8
+ url: string;
9
+ };
10
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * @file bitget.config.ts
4
+ * @date 2024
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=bitget.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitget.config.js","sourceRoot":"","sources":["../../../src/exchanges/bitget/bitget.config.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @file bitget.module.ts
3
+ * @date 2024
4
+ */
5
+ import { DynamicModule } from '@nestjs/common';
6
+ import { ConfigOptions } from '../../config';
7
+ export declare class BitgetModule {
8
+ static forRoot(_options?: ConfigOptions): DynamicModule;
9
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ /**
3
+ * @file bitget.module.ts
4
+ * @date 2024
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.BitgetModule = void 0;
8
+ const config_1 = require("../../config");
9
+ const bitget_service_1 = require("./bitget.service");
10
+ class BitgetModule {
11
+ static forRoot(_options) {
12
+ return {
13
+ module: BitgetModule,
14
+ exports: [bitget_service_1.BitgetService],
15
+ providers: [
16
+ {
17
+ provide: 'BitgetConstant',
18
+ useFactory: (constant) => constant.config(),
19
+ inject: [config_1.ConfigService],
20
+ },
21
+ bitget_service_1.BitgetService,
22
+ ],
23
+ };
24
+ }
25
+ }
26
+ exports.BitgetModule = BitgetModule;
27
+ //# sourceMappingURL=bitget.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitget.module.js","sourceRoot":"","sources":["../../../src/exchanges/bitget/bitget.module.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,yCAA4D;AAE5D,qDAAiD;AAEjD,MAAa,YAAY;IACvB,MAAM,CAAC,OAAO,CAAC,QAAwB;QACrC,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,CAAC,8BAAa,CAAC;YACxB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,gBAAgB;oBACzB,UAAU,EAAE,CAAC,QAAqC,EAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;oBAC7E,MAAM,EAAE,CAAC,sBAAa,CAAC;iBACxB;gBACD,8BAAa;aACd;SACF,CAAC;IACJ,CAAC;CACF;AAfD,oCAeC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * @file bitget.service.ts
3
+ * @date 2024
4
+ * @see https://www.bitget.com/api-doc/
5
+ */
6
+ import { BitgetConfig } from './bitget.config';
7
+ export declare class BitgetService {
8
+ private readonly constant;
9
+ private readonly instance;
10
+ constructor(constant: BitgetConfig);
11
+ checkConstant(): void;
12
+ /**
13
+ * Get Ticker Information
14
+ * @param symbol e.g. BTCUSDT
15
+ * @see https://www.bitget.com/api-doc/spot/market/Get-Tickers
16
+ */
17
+ ticker(symbol?: string): Promise<{
18
+ code: string;
19
+ msg: string;
20
+ requestTime: number;
21
+ data: {
22
+ open: string;
23
+ symbol: string;
24
+ high24h: string;
25
+ low24h: string;
26
+ lastPr: string;
27
+ quoteVolume: string;
28
+ baseVolume: string;
29
+ usdtVolume: string;
30
+ ts: string;
31
+ bidPr: string;
32
+ askPr: string;
33
+ bidSz: string;
34
+ askSz: string;
35
+ openUtc: string;
36
+ changeUtc24h: string;
37
+ change24h: string;
38
+ }[];
39
+ }>;
40
+ /**
41
+ * Get Candlestick Data
42
+ * @param symbol e.g. BTCUSDT
43
+ * @param granularity e.g. 1d
44
+ * @param startTime e.g. 1696089600000
45
+ * @param endTime e.g. 1698918180000
46
+ * @param limit e.g. 500
47
+ * @see https://www.bitget.com/api-doc/spot/market/Get-Candle-Data
48
+ */
49
+ klines(symbol: string, granularity: '1min' | '5min' | '15min' | '30min' | '1h' | '4h' | '6h' | '12h' | '1day' | '3day' | '1week' | '1M', startTime?: string | number, endTime?: string | number, limit?: string | number): Promise<{
50
+ code: string;
51
+ msg: string;
52
+ requestTime: number;
53
+ data: [string, string, string, string, string, string, string, string][];
54
+ }>;
55
+ /**
56
+ * Get OrderBook Depth
57
+ * @param symbol e.g. BTCUSDT
58
+ * @param type e.g. step0
59
+ * @param limit e.g. 100
60
+ * @see https://www.bitget.com/api-doc/spot/market/Get-Orderbook
61
+ */
62
+ depth(symbol: string, type: 'step0' | 'step1' | 'step2' | 'step3' | 'step4' | 'step5', limit?: string | number): Promise<{
63
+ code: string;
64
+ msg: string;
65
+ requestTime: number;
66
+ data: {
67
+ asks: [string, string][];
68
+ bids: [string, string][];
69
+ ts: string;
70
+ };
71
+ }>;
72
+ }
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ /**
3
+ * @file bitget.service.ts
4
+ * @date 2024
5
+ * @see https://www.bitget.com/api-doc/
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.BitgetService = void 0;
9
+ const tslib_1 = require("tslib");
10
+ const common_1 = require("@nestjs/common");
11
+ const axios_1 = tslib_1.__importDefault(require("axios"));
12
+ let BitgetService = class BitgetService {
13
+ constructor(constant) {
14
+ this.constant = constant;
15
+ if (constant.bitget?.enabled) {
16
+ this.instance = axios_1.default.create({ baseURL: constant.bitget.url });
17
+ }
18
+ }
19
+ checkConstant() {
20
+ if (!this.constant.bitget?.enabled) {
21
+ throw new common_1.HttpException('This feature is not supported', common_1.HttpStatus.BAD_REQUEST);
22
+ }
23
+ }
24
+ /**
25
+ * Get Ticker Information
26
+ * @param symbol e.g. BTCUSDT
27
+ * @see https://www.bitget.com/api-doc/spot/market/Get-Tickers
28
+ */
29
+ async ticker(symbol) {
30
+ this.checkConstant();
31
+ return (await this.instance.get('/api/v2/spot/market/tickers', { params: { symbol } })).data;
32
+ }
33
+ /**
34
+ * Get Candlestick Data
35
+ * @param symbol e.g. BTCUSDT
36
+ * @param granularity e.g. 1d
37
+ * @param startTime e.g. 1696089600000
38
+ * @param endTime e.g. 1698918180000
39
+ * @param limit e.g. 500
40
+ * @see https://www.bitget.com/api-doc/spot/market/Get-Candle-Data
41
+ */
42
+ async klines(symbol, granularity, startTime, endTime, limit) {
43
+ this.checkConstant();
44
+ return (await this.instance.get('/api/v2/spot/market/candles', { params: { symbol, granularity, startTime, endTime, limit } })).data;
45
+ }
46
+ /**
47
+ * Get OrderBook Depth
48
+ * @param symbol e.g. BTCUSDT
49
+ * @param type e.g. step0
50
+ * @param limit e.g. 100
51
+ * @see https://www.bitget.com/api-doc/spot/market/Get-Orderbook
52
+ */
53
+ async depth(symbol, type, limit) {
54
+ this.checkConstant();
55
+ return (await this.instance.get('/api/v2/spot/market/orderbook', { params: { symbol, type, limit } })).data;
56
+ }
57
+ };
58
+ exports.BitgetService = BitgetService;
59
+ exports.BitgetService = BitgetService = tslib_1.__decorate([
60
+ (0, common_1.Injectable)(),
61
+ tslib_1.__param(0, (0, common_1.Inject)('BitgetConstant'))
62
+ ], BitgetService);
63
+ //# sourceMappingURL=bitget.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitget.service.js","sourceRoot":"","sources":["../../../src/exchanges/bitget/bitget.service.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;AAEH,2CAA+E;AAC/E,0DAA6C;AAItC,IAAM,aAAa,GAAnB,MAAM,aAAa;IAGxB,YAAuD,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;QAC3E,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,eAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACnC,MAAM,IAAI,sBAAa,CAAC,+BAA+B,EAAE,mBAAU,CAAC,WAAW,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,MAAe;QAuB1B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/F,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,CACV,MAAc,EACd,WAAgH,EAChH,SAA2B,EAC3B,OAAyB,EACzB,KAAuB;QAOvB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvI,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CACT,MAAc,EACd,IAA+D,EAC/D,KAAuB;QAWvB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,+BAA+B,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9G,CAAC;CACF,CAAA;AAhGY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;IAIE,mBAAA,IAAA,eAAM,EAAC,gBAAgB,CAAC,CAAA;GAH1B,aAAa,CAgGzB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @file index.ts
3
+ * @date 2024
4
+ */
5
+ export * from './bitget.config';
6
+ export * from './bitget.module';
7
+ export * from './bitget.service';
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * @file index.ts
4
+ * @date 2024
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const tslib_1 = require("tslib");
8
+ tslib_1.__exportStar(require("./bitget.config"), exports);
9
+ tslib_1.__exportStar(require("./bitget.module"), exports);
10
+ tslib_1.__exportStar(require("./bitget.service"), exports);
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/exchanges/bitget/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,0DAAgC;AAChC,0DAAgC;AAChC,2DAAiC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @file bybit.config.ts
3
+ * @date 2024
4
+ */
5
+ export interface BybitConfig {
6
+ bybit?: {
7
+ enabled: boolean;
8
+ url: string;
9
+ };
10
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * @file bybit.config.ts
4
+ * @date 2024
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=bybit.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bybit.config.js","sourceRoot":"","sources":["../../../src/exchanges/bybit/bybit.config.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @file bybit.module.ts
3
+ * @date 2024
4
+ */
5
+ import { DynamicModule } from '@nestjs/common';
6
+ import { ConfigOptions } from '../../config';
7
+ export declare class BybitModule {
8
+ static forRoot(_options?: ConfigOptions): DynamicModule;
9
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ /**
3
+ * @file bybit.module.ts
4
+ * @date 2024
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.BybitModule = void 0;
8
+ const config_1 = require("../../config");
9
+ const bybit_service_1 = require("./bybit.service");
10
+ class BybitModule {
11
+ static forRoot(_options) {
12
+ return {
13
+ module: BybitModule,
14
+ exports: [bybit_service_1.BybitService],
15
+ providers: [
16
+ {
17
+ provide: 'BybitConstant',
18
+ useFactory: (constant) => constant.config(),
19
+ inject: [config_1.ConfigService],
20
+ },
21
+ bybit_service_1.BybitService,
22
+ ],
23
+ };
24
+ }
25
+ }
26
+ exports.BybitModule = BybitModule;
27
+ //# sourceMappingURL=bybit.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bybit.module.js","sourceRoot":"","sources":["../../../src/exchanges/bybit/bybit.module.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,yCAA4D;AAE5D,mDAA+C;AAE/C,MAAa,WAAW;IACtB,MAAM,CAAC,OAAO,CAAC,QAAwB;QACrC,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,CAAC,4BAAY,CAAC;YACvB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,eAAe;oBACxB,UAAU,EAAE,CAAC,QAAoC,EAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;oBAC5E,MAAM,EAAE,CAAC,sBAAa,CAAC;iBACxB;gBACD,4BAAY;aACb;SACF,CAAC;IACJ,CAAC;CACF;AAfD,kCAeC"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * @file bybit.service.ts
3
+ * @date 2024
4
+ * @see https://bybit-exchange.github.io/docs/v5/intro
5
+ */
6
+ import { BybitConfig } from './bybit.config';
7
+ export declare class BybitService {
8
+ private readonly constant;
9
+ private readonly instance;
10
+ constructor(constant: BybitConfig);
11
+ checkConstant(): void;
12
+ /**
13
+ * Get Tickers
14
+ * @param category Product type. e.g. linear
15
+ * @param symbol Symbol name e.g. BTCUSDT
16
+ * @param baseCoin Base coin. e.g. BTCUSDT (Apply to option only)
17
+ * @param expDate Expiry date. e.g. 25DEC22 (Apply to option only)
18
+ * @see https://bybit-exchange.github.io/docs/v5/market/tickers
19
+ */
20
+ ticker(category: 'spot' | 'linear' | 'inverse' | 'option', symbol: string, baseCoin?: string, expDate?: string): Promise<{
21
+ retCode: number;
22
+ retMsg: string;
23
+ result: {
24
+ category: string;
25
+ list: [
26
+ {
27
+ symbol: string;
28
+ lastPrice: string;
29
+ indexPrice: string;
30
+ markPrice: string;
31
+ prevPrice24h: string;
32
+ price24hPcnt: string;
33
+ highPrice24h: string;
34
+ lowPrice24h: string;
35
+ prevPrice1h: string;
36
+ openInterest: string;
37
+ openInterestValue: string;
38
+ turnover24h: string;
39
+ volume24h: string;
40
+ fundingRate: string;
41
+ nextFundingTime: string;
42
+ predictedDeliveryPrice: string;
43
+ basisRate: string;
44
+ deliveryFeeRate: string;
45
+ deliveryTime: string;
46
+ ask1Size: string;
47
+ bid1Price: string;
48
+ ask1Price: string;
49
+ bid1Size: string;
50
+ basis: string;
51
+ preOpenPrice: string;
52
+ preQty: string;
53
+ curPreListingPhase: string;
54
+ }
55
+ ];
56
+ };
57
+ retExtInfo: object;
58
+ time: number;
59
+ }>;
60
+ /**
61
+ * Get Kline
62
+ * @param category Product type. e.g. linear
63
+ * @param symbol Symbol name. e.g. BTCUSDT
64
+ * @param interval Kline interval. e.g. 1d
65
+ * @param start The start timestamp (ms). e.g. 1696089600000
66
+ * @param end The end timestamp (ms). e.g. 1698918180000
67
+ * @param limit Limit for data size per page. e.g. 200
68
+ * @see https://bybit-exchange.github.io/docs/v5/market/kline
69
+ */
70
+ klines(symbol: string, interval: '1' | '3' | '5' | '15' | '30' | '60' | '120' | '240' | '360' | '720' | 'D' | 'M' | 'W', category?: 'spot' | 'linear' | 'inverse', start?: string | number, end?: string | number, limit?: string | number): Promise<{
71
+ retCode: number;
72
+ retMsg: string;
73
+ result: {
74
+ symbol: string;
75
+ category: string;
76
+ list: [string, string, string, string, string, string, string][];
77
+ };
78
+ retExtInfo: object;
79
+ time: number;
80
+ }>;
81
+ /**
82
+ * Get Orderbook
83
+ * @param category Product type. e.g. linear
84
+ * @param symbol Symbol name. e.g. BTCUSDT
85
+ * @param limit Limit size for each bid and ask. e.g. 25
86
+ * @see https://bybit-exchange.github.io/docs/v5/market/orderbook
87
+ */
88
+ depth(category: 'spot' | 'linear' | 'inverse' | 'option', symbol: string, limit?: string | number): Promise<{
89
+ retCode: number;
90
+ retMsg: string;
91
+ result: {
92
+ s: string;
93
+ b: [string, string][];
94
+ a: [string, string][];
95
+ ts: number;
96
+ u: number;
97
+ seq: number;
98
+ cts: number;
99
+ };
100
+ retExtInfo: object;
101
+ time: number;
102
+ }>;
103
+ }